CDH大数据平台部署
二、CDH简介
全称Cloudera’s Distribution Including Apache Hadoop。
hadoop的版本 (Apache、CDH、Hotonworks版本)
在公司中一般使用cdh多一些(收费的)、也有公司使用阿里云大数据平台、微软的大数据平台。
国内也有一些平台:星环大数据,一个朋友的公司(优刻得UCloud)
ClouderaManager : 简称 CM (CDH的管理界面) 。Cloudera Manager是用于管理CDH群集的端到端应用程序。
三、CM的安装
1、下载
1. 下载包:https://archive.cloudera.com/cdh6/6.2.1/parcels/ --cdh的地址https://archive.cloudera.com/cm6/6.2.1/redhat7/yum/RPMS/x86_64/ --CM的地址
2、安装依赖包
yum install -y cyrus-sasl-plain cyrus-sasl-gssapi portmap fuse-libs bind-utils libxslt fuseyum install -y /lib/lsb/init-functions createrepo deltarpm python-deltarpmyum install -y mod_ssl openssl-devel python-psycopg2 MySQL-python
3、 安装httpd(只需要在部署本地yum源的机器上安装即可,不用三台全部安装)
yum install httpd
yum install createrepo
4、一些其他的配置
5. 关闭防火墙
查看防火墙状态: systemctl status firewalld
绿的running表示防火墙开启
执行关闭命令: systemctl stop firewalld
再次执行查看防火墙命令:systemctl status firewalld
执行开机禁用防火墙自启命令 : systemctl disable firewalld
完成6. 关闭selinux(在配置文件中第一次设置时需要重启服务器)
setenforce 0vim /etc/selinux/config
将SELINUX=enforcing
改为SELINUX=disabledreboot 重启的意思
init 0 关机
init 6 重启
5、软件上传
systemctl start httpd 可以通过网址访问一下:http://192.168.233.132,类似于ftp服务器cd /var/www/html/
mkdir -p cm6/6.2.1/redhat7/yum/RPMS/x86_64/
cd cm6/6.2.1/redhat7/yum/RPMS/x86_64/
上传cm6中的文件到此目录
cd /var/www/html/cm6/6.2.1/
上传allkeys.asc文件到/var/www/html/cm6/6.2.1/目录下cd /var/www/html/
mkdir -p cdh6/6.2.1/parcels/
上传cdh6中的文件到此目录访问测试:http://192.168.233.132/cm6/6.2.1/redhat7/yum/RPMS/x86_64/
6、生成repodata目录
cd /var/www/html/cm6/6.2.1/redhat7/yum
createrepo .
7、配置本地yum源
cd /etc/yum.repos.d/
vim cloudera-manager.repo
填写,请修改为自己的IP
[cloudera-manager]
name=Cloudera Manager
baseurl=http://192.168.233.132/cm6/6.2.1/redhat7/yum/
gpgcheck=0
enabled=1执行命令:
yum clean all
yum list | grep cloudera --这个步骤稍微慢一些,等待即可效果如下:
[root@cdh yum.repos.d]# yum list | grep cloudera
cloudera-manager-agent.x86_64 6.2.1-1426065.el7 cloudera-manager
cloudera-manager-daemons.x86_64 6.2.1-1426065.el7 cloudera-manager
cloudera-manager-server.x86_64 6.2.1-1426065.el7 cloudera-manager
cloudera-manager-server-db-2.x86_64 6.2.1-1426065.el7 cloudera-manager
enterprise-debuginfo.x86_64 6.2.1-1426065.el7 cloudera-manager
oracle-j2sdk1.8.x86_64 1.8.0+update181-1 cloudera-manager
8、创建一个linux新用户
创建cloudera-scm用户(centos7要求必须有,centos6没有要求)
useradd cloudera-scm
passwd cloudera-scmtest123456
--免密钥登录
echo "cloudera-scm ALL=(root)NOPASSWD:ALL" >> /etc/sudoers
切换新用户试一下:
su - cloudera-scm
试玩之后,再回来
exit
9、安装mysql
第一步:下载repo,并安装mysql-server
先安装wget yum install -y wget
进入 /opt 目录
下载安装引导包:
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server假如报如下错误:
失败的软件包是:mysql-community-common-5.7.43-1.el7.x86_64GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql报错使用这个语句:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
这个步骤需要网络,并根据网速会花些时间,安装完成后会覆盖之前的mariadb。
如果提示-bash: wget: 未找到命令,则:yum -y install wget
修复完错误之后继续安装mysql:
yum -y install mysql-community-server假如还出问题,使用如下命令:sudo yum install mysql-server --nogpgcheck第二步:mysql设置
启动:
systemctl start mysqld
查看运行情况:
systemctl status mysqld第三步:登录mysql
查看mysql密码
grep "password" /var/log/mysqld.log
登录mysql
mysql -uroot -p 敲回车,粘贴密码第四步:修改密码
取消mysql密码规范限制
set global validate_password_policy=0;
set global validate_password_length=1;
重设密码
alter user 'root'@'localhost' identified by '123456';
flush privileges;第五步:卸载repo包
此时还有一个问题,因为安装了yum repository,以后每次yum都会自动更新,耗费时间,所以卸载掉:
yum -y remove mysql57-community-release-el7-10.noarch第六步:安装mysql(后续作为元数据库)
create database scm DEFAULT CHARACTER SET utf8;
grant all PRIVILEGES on *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
grant all PRIVILEGES on *.* TO 'root'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;
10、安装server服务
yum install -y oracle-j2sdk1.8-1.8.0+update181-1.x86_64
yum install -y enterprise-debuginfo-6.2.1-1426065.el7.x86_64
--最核心的语句:安装cm-server服务
yum install -y cloudera-manager-server-6.2.1-1426065.el7.x86_64
yum install -y cloudera-manager-server-db-2-6.2.1-1426065.el7.x86_64
意事项:如果没有在httpd服务下面添加新的软件,以下步骤不需要管。
注意:如果在yum源中添加了新的包时:
1.需要删除之前的repodata文件后,重新生成;
2.重启httpd服务
3.清除yum缓存 yum clean all
11、设置CM这个软件的元数据为mysql
设置元数据库为mysql--前提是安装ClouderaManager Server服务
/opt/cloudera/cm/schema/scm_prepare_database.sh -h localhost mysql scm root 123456
旧版本:/usr/share/cmf/schema/scm_prepare_database.sh -h localhost mysql scm root 123456假如报以下错误:拷贝驱动包
[ main] DbCommandExecutor INFO Unable to find JDBC driver for database type: MySQL
[ main] DbCommandExecutor ERROR JDBC Driver com.mysql.jdbc.Driver not found.
[ main] DbCommandExecutor ERROR Exiting with exit code 3
--> Error 3, giving up (use --force if you wish to ignore the error)提示ERROR JDBC Driver com.mysql.jdbc.Driver not found.
需要上传mysql驱动包jar到/opt/cloudera/cm/lib目录下。
cd /opt/cloudera/cm/lib
先拷贝5.7的驱动,试试,假如错误变为如下:
The last packet successfully received from the server was 473 milliseconds ago. The last packet sent successfully to the server was 460 milliseconds ago.请将mysql5.1的驱动包删除,然后换为8.0的驱动。
rm -rf mysql-connector-java-5.1.40.jar
此时有一个大坑,复制驱动包的时候,拷贝一个mysql8.0的才可以。
记得继续执行那句话:
/opt/cloudera/cm/schema/scm_prepare_database.sh -h localhost mysql scm root 123456
看到如下语句就说明:你的mysql中已经有cm这个系统的数据了。
All done, your SCM database is configured correctly!查看:cat /etc/cloudera-scm-server/db.properties
12、启动cm服务
启动server服务进程(查看7180端口)
systemctl start cloudera-scm-server
查看启动日志:
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
查看启动状态:
systemctl status cloudera-scm-server
查看端口
netstat -an | grep 7180
当你的日志不再打印的时候,就启动成功了,启动时间大约2分钟。
或者当你能够查看到7180端口被占用的时候,也就说明成功了。
13、登录
访问地址:http://192.168.233.200:7180/cmf/login
账号和密码:admin admin 登录即可
至此,CM安装完毕,CDH还没有安装呢。
14、设置刷新频率
点击上面的图片的Logo,或者直接输入网址:http://192.168.233.200:7180/cmf/home,进入这个界面
四、安装CDH
1、配置本地parcel包
注意:必须要在数据库初始化后,将parcel文件放置到/opt/cloudera/parcel-repo目录中
如何放置?mv /var/www/html/cdh6/6.2.1/parcels/* /opt/cloudera/parcel-repo
重命名密钥文件名
cd /opt/cloudera/parcel-repo/
mv CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel.sha1 CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel.sha
2、swappiness和透明化
临时生效:
sysctl -w vm.swappiness=10
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
永久生效:
echo "vm.swappiness=10" >> /etc/sysctl.conf
echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >> /etc/rc.local
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local
3、创建一些目录,添加分组
mkdir -p /var/lib/cloudera-host-monitor
mkdir -p /var/lib/cloudera-service-monitorchown -R cloudera-scm:cloudera-scm /var/lib/cloudera-host-monitor
chown -R cloudera-scm:cloudera-scm /var/lib/cloudera-service-monitor/
4、创建集群
给集群起个名字:
jdk不需要安装,因为我们装过了。
在哪里呢?查询一下
find / -name java
发现jdk的安装路径为:/usr/java/jdk1.8.0_181-cloudera/配置一下java home
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera/
export PATH=$PATH:$JAVA_HOME/bin保存之后刷新环境变量:
source /etc/profile
设置密码:
安装:
选择套餐:
后面的一直默认即可,直到开始安装hdfs。
点击完成,可以看到主界面了。
测试一下hdfs是否正常使用:
http://192.168.233.200:9870/
5、安装与使用hdfs
又想安装:
想安装什么服务,就选择什么服务,安装过程稍微慢一些。
假如想使用hdfs,访问 9870页面,想创建一个文件夹,发现没有权限:
如果按照以前的习惯,修改配置文件,配置相应的代码即可,使用CDH之后,所有的配置,都变成了在页面上修改。
以前修改的hdfs-site.xml ,变为在页面中修改。
修改的配置,需要重启才能生效。
重启完之后再次使用hdfs,测试是否还有权限问题。
如果你不习惯在页面修改配置文件,可以搜索,一般都在/opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774 下。
页面中可以查看hdfs集群的运行情况,也看到了集群的健康状况。
点击后面的 Suppress(抑制)。
假如你安装过程中出现了datanode启动不起来,检查 网络IP是否正确。将dhcp 修改为 static
重启网卡:systemctl restart network
接着:停止hdfs服务,删除 /dfs 目录下的三个文件。
卸载hdfs服务,重新添加hdfs 服务,这个时候会重新进行namenode 格式化。
6、安装yarn
添加服务--> 选择 yarn-- > 自动安装即可
如何使用yarn,跑一个任务
在home 下 创建一个wc.txt
里面随便输入一些需要统计的词
bigdata hadoop
bigdata hello hadoop将这个任务,上传至hdfs
首先创建一个文件夹 hdfs dfs -mkdir -p /home/input
上传文件至: hdfs dfs -put /home/wc.txt /home/input使用hadoop自带的jar包,运行任务
yarn jar /opt/cloudera/parcels/CDH/jars/hadoop-mapreduce-examples-3.0.0-cdh6.2.1.jar wordcount /home/input/* /home/output
在界面中,还可以访问到:http://192.168.233.200:8088/cluster
7、安装zookeeper
通过命令进入zk查看是否可用。
find / -name zkCli.sh
/opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/zookeeper/bin/zkCli.sh -server cdh:2181
8、hive
要想创建hive,hive需要mysql充当元数据的表服务。
mysql -uroot -p
create database hive;
安装hive服务,需要用到mysql
通过以上可以看出缺少jar包
cp /opt/cloudera/cm/lib/mysql-connector-java-8.0.26.jar /opt/cloudera/parcels/CDH/lib/hive/lib/
拷贝完成之后,记得点击 resume 一下。
测试hive的用法:
直接在黑窗口中hive 一下。
进入,编写一些简单的sql语句,比如 show databases;
select from_unixtime(1583781807, 'yyyy-MM-dd');注意:此时的metastore 以及hiveserver2 都已经启动了,但是使用datagrip 连接的时候缺少一个包。
相关文章:

CDH大数据平台部署
二、CDH简介 全称Cloudera’s Distribution Including Apache Hadoop。 hadoop的版本 (Apache、CDH、Hotonworks版本) 在公司中一般使用cdh多一些(收费的)、也有公司使用阿里云大数据平台、微软的大数据平台。 国内也有一些平台:星环大数…...

7.4、实验四:RIPv2 认证和触发式更新
源文件 一、引言:为什么要认证和采用触发式更新? 1. RIP v2 认证 RIP(Routing Information Protocol)版本 2 添加了认证功能,以提高网络的安全性。认证的作用主要包括以下几点: 防止路由欺骗 RIP v1 是不…...

【一步步开发AI运动小程序】二十一、如果将AI运动项目配置持久化到后端?
**说明:**本文所涉及的AI运动识别、计时、计数能力,都是基于云智「Ai运动识别引擎」实现。云智「Ai运动识别」插件识别引擎,可以为您的小程序或Uni APP赋于原生、本地、广覆盖、高性能的人体识别、姿态识别、10余种常见的运动计时、计数识别及…...

LED和QLED的区别
文章目录 1. 基础背光技术2. 量子点技术的引入3. 色彩表现4. 亮度和对比度5. 能效6. 寿命7. 价格总结 LED和 QLED都是基于液晶显示(LCD)技术的电视类型,但它们在显示技术、色彩表现和亮度方面有一些关键区别。以下是两者的详细区别ÿ…...

2024 年Postman 如何安装汉化中文版?
2024 年 Postman 的汉化中文版安装教程...

转化古老的Eclipse项目为使用gradle构建
很多古老的Java项目,是使用Eclipse作为IDE开发的。 那么,使用其它IDE的开发者,如何快速地进入这种古老项目的开发呢?或者说,一个Eclipse构建的古老项目,能不能转化成一个IDE无关的项目,进而所有…...

openGauss常见问题与故障处理(二)
2.网络故障定位手段 2.1 网络故障定位手段--常见网络故障引发的异常 在数据库正常工作的情况下,网络层对上层用户是透明的,但数据库在长期运行时,可能会由于各种原因导致出现网络异常或错误。 常见的因网络故障引发的异常有: 1>…...

Mysql 8迁移到达梦DM8遇到的报错
在实战迁移时,遇到两个报错。 一、列[tag]长度超出定义 在mysql中,tag字段的长度是varchar(20),在迁移到DM8后,这个长度不够用了。怎么解决? 在迁移过程中,“指定对象”时,选择转换。 在“列映…...

Android HandlerThread 基础
HandlerThread **一、HandlerThread的基本概念和用途**1. **目的**2. **与普通线程的区别** **二、HandlerThread的使用步骤**1. **创建HandlerThread对象并启动线程**2. **创建Handler并关联到HandlerThread的消息队列**3. **发送消息到HandlerThread的消息队列** **三、Handl…...

【智能算法应用】人工水母搜索算法求解二维路径规划问题
摘要 本文基于人工水母搜索算法(Jellyfish Search Algorithm, JSA),对二维路径规划问题进行了研究。JSA作为一种新兴的群体智能优化算法,模仿了水母在海洋中觅食和迁移的行为,以求解非线性、复杂的优化问题。实验结果…...

【Altium】原理图如何利用参数管理器批量修改元器件属性
【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 解决在使用AD设计原理图的时候,使用参数管理器批量修改元器件的属性。 2、 问题场景 客户在使用ad时,想大批量修改元器件的属性,类似于Cadence中,批量修改Manufactur…...

基于Spring Boot与Redis的令牌主动失效机制实现
目录 前言1. 项目结构和依赖配置1.1 项目依赖配置1.2 Redis连接配置 2. 令牌主动失效机制的实现流程2.1 登录成功后将令牌存储到Redis中2.2 使用拦截器验证令牌2.3 用户修改密码后删除旧令牌 3. Redis的配置与测试4. 可能的扩展与优化结语 前言 在现代Web系统中,用…...

深度学习之循环神经网络(RNN)
1 为什么需要RNN? 时间序列数据是指在不同时间点上收集到的数据,这类数据反映了某一事物、现象等随时间的变化状态或程度。一般的神经网络,在训练数据足够、算法模型优越的情况下,给定特定的x,就能得到期望y。其一…...

Autosar CP Network Management模块规范导读
Network Management模块的主要功能 网络管理适配:作为通信管理器和总线特定网络管理模块之间的适配层,实现不同总线网络管理功能的统一接口,确保系统中各种网络的协同工作。协调功能 网络协调关闭:使用协调算法协调多个网络的关闭,确保它们在合适的时间同步进入睡眠模式,…...

Xshell 7 偏好设置
1 Xshell7 工具——更改用户数据文件夹 就是此电脑目录下的文档 该目录下的7 Xshell下的 applog ColorScheme Files 配色方案文件目录 HighlightSet Files 突出显示集目录 Logs 日志 QuickButton Files 快速命令集 Scripts 脚本文件 Sessions 会话文件 会话文件目录就…...

云计算答案
情境一习题练习 一、选择题 1、在虚拟机VMware软件中实现联网过程,图中箭头所指的网络连接方式与下列哪个相关( C )。 A.仅主机模式 B.桥接 C.NAT D.嫁接 2、请问下图这个虚拟化架构属于什么类型( A …...

浅谈现货白银与白银td的价格差异
西方资本主义世界崇尚自由经济,而我国实行社会主义市场经济,因此二者在金融系统上存在不少差异,反映在贵金属市场中,可能直接表现为价格上的差异。如果投资者对此能有基本的了解,日后面对交易中的特殊价格波动…...

【QT常用技术讲解】任务栏图标+socket网络服务+开机自启动
前言 首先看网络编程的定义:两个不同主机设备之间的进程通信。C/S(Client-Server)是早期非常典型的软件架构,C/S架构虽然简单,但却非常适用于桌面图形化的QT项目。 本篇的QT项目是从真实的项目中简化出来,满足很多相似的场景&…...

【计算机基础——数据结构——AVL平衡二叉树】
1. BST二叉查找树 1.1 BST二叉查找树的特性 左子树上所有结点的值均小于或等于它的根结点的值。右子树上所有结点的值均大于或等于它的根结点的值。左、右子树也分别为二叉排序树。 1.2 BST二叉查找树的缺点 二叉查找树是有缺点的,在不断插入的时候,…...

体育活动赛事报名马拉松微信小程序开发
功能描述 体育活动赛事报名马拉松微信小程序,该项目是一个体育活动报名小程序,主要功能有活动报名、扫码签到、签到积分、排行奖励、积分兑换等功能。 用户端🔶登录:◻️1.微信授权登录 ◻️2.手机号码授权 🔶首页&am…...

【C++】C++基础知识
一.函数重载 1.函数重载的概念 函数重载是函数的一种特殊情况,C允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表必须不同。函数重载常用来处理实现功能类似,而数据类型不同的问题。 #include <iostream> using…...

中间件安全
IIS IIS短文件漏洞 此漏洞实际是由HTTP请求中旧DOS 8.3名称约定(SFN)的代字符(~)波浪号引起的。它允许远程攻击者在Web根目录下公开文件和文件夹名称(不应该可被访问)。攻击者可以找到通常无法从外部直接访问的重要文件,并获取有关应用程序基础结构的信息。 利用工具 https…...

Zabbix中文监控指标数据乱码
1)点击主机,选择Zabbix server 中的 图形 一项,可以看到当前显示的为乱码 2) 下载字体文件: https://gitcode.com/open-source-toolkit/4a3db/blob/main/SimHei.zip 解压unzip -x SimHei.zip 3) 替换字体文…...

【AI】AI如何赋能软件开发流程
方向一:流程与模式介绍【传统软件开发 VS AI参与的软件开发】 传统软件开发流程 传统软件开发流程一般可以分为以下几个阶段: 1. 需求分析:在这个阶段,开发团队与客户沟通,明确软件的需求和目标。团队会收集、整理和分…...

恒创科技:什么是 RAID 3 ? RAID 3、4 和5之间有什么区别?
RAID 是一种存储数据以提高性能并减少数据丢失的特定技术。您可以根据自己的需求选择多种 RAID 类型。RAID 3 是列表中比较有效的类型之一。本文将重点介绍这种特定的 RAID 技术,并比较 RAID 3、4 和 5。 RAID 3 的定义 RAID 3 是一种特定的磁盘配置,用于…...

python获取iOS最近业务日志的两种方法
当iOS UI自动化用例执行失败的时候,需要获取当时的业务日志,供后续分析使用。 现在已经把iOS沙盒目录挂载到本地,剩下的事情就是从沙盒目录中捞取当前的日志,沙盒中的日志文件较大,整体导出来也可以,但是会…...

【如何获取股票数据43】Python、Java等多种主流语言实例演示获取股票行情api接口之沪深指数历史交易数据获取实例演示及接口API说明文档
最近一两年内,股票量化分析逐渐成为热门话题。而从事这一领域工作的第一步,就是获取全面且准确的股票数据。因为无论是实时交易数据、历史交易记录、财务数据还是基本面信息,这些数据都是我们进行量化分析时不可或缺的宝贵资源。我们的主要任…...

ESLint 使用教程(一):从零配置 ESLint
前言 在现代前端开发中,代码质量和风格一致性是团队合作和项目维护的重要因素。而 ESLint 作为一款强大的 JavaScript 静态代码分析工具,能够帮助开发者发现和修复代码中的潜在问题。本文将详细介绍 ESLint 的常用规则配置,并结合实际应用场…...

openssl对称加密代码讲解实战
文章目录 一、openssl对称加密和非对称加密算法对比1. 加密原理2. 常用算法3. 加密速度4. 安全性5. 应用场景6. 优缺点对比综合分析 二、代码实战代码说明:运行输出示例代码说明:注意事项 一、openssl对称加密和非对称加密算法对比 OpenSSL 是一个广泛使…...

web前端动画按钮(附源代码)
效果图 源代码 HTML部分 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> …...