什么是AcdhCDH 架构组件 cdh框架

新闻资讯2026-04-23 17:18:16

 

    CDH,全称Cloudera's Distribution, including Apache Hadoop。是Hadoop众多分支中对应中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,提供了Hadoop的核心(可扩展存储、分布式计算),最为重要的是提供基于web的用户界面。

CDH的优点:版本划分清晰,更新速度快,支持Kerberos安全认证,支持多种安装方式(如Yum、rpm等)。

Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具(软件),使得安装集群从几天的时间缩短在几个小时内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率。

ClouderaManager的功能:

管理:对集群进行管理,如添加、删除节点等操作。监控:监控集群的健康情况,对设置的各种指标和系统运行情况进行全面监控。

诊断:对集群出现的问题进行诊断,对出现的问题给出建议解决方案。

集成:多组件进行整合。

       ClouderaManager的组成:

1)    Server:负责软件安装、配置,启动和停止服务,管理服务运行的群集。
2)    Agent:安装在每台主机上。负责启动和停止的过程,配置,监控主机。
3)    Management Service:由一组执行各种监控,警报和报告功能角色的服务。
4)    Database:存储配置和监视信息。
5)    Cloudera Repository:软件由Cloudera 管理分布存储库。(有点类似Maven的中心仓库)
6)    Clients:是用于与服务器进行交互的接口(API和Admin Console)

         CDH分为Cloudera Manager管理平台和CDH parcel(parcel包含各种组件的安装包)。这里采用CDH6.2.0。

  Cloudera Manger下载地址为https:///cm6/6.2.0/redhat7/yum/RPMS/x86_64/,如图:

  

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第1张

  CDH6.2.0安装包地址为:https:///cdh6/6.2.0/parcels/

  由于操作系统为CentOS7,需要下载以下文件:

  

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第2张

       下载完后都放入/opt/目录下:

       /opt/cm6/

       /opt/parcels/

       /opt/mysql/

       /opt/mysql-j/

说明:以下操作都是在root用户下进行的

2.1.1. 准备虚拟机(根据自己的系统资源分配虚拟机资源)

 

说明:manager节点还需安装mysql。

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第3张

环境确认:

1.确认每台服务器的硬件是否满足要求:

空间要求: /var: 5GB /usr : 500MB CDH安装目录: 2GB

检查命令: df -h

内存要求: 4GB(min)

检查命令: free -m

2.检查系统版本:

检查命令:cat /etc/issue

需求版本:CentOS Linux release 7.3.1611 (Core), 支持7.X

3.检查服务器数据存储空间:
CDH的安装建议在每台服务器具有相同的数据存储路径, 并具可以有多个

 

2.1.2. 静态IP设置(每个节点)

vim /etc/sysconfig/network-scripts/ifcfg-eth0

service network restart 重启网络生效

yum install -y net-tools ifconfig查看设置

2.1.3. 编辑/etc/hosts文件(每个节点)

vim /etc/hosts

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第4张

 

2.1.4. 关闭防火墙、禁止防火墙开机自启(每个节点)

systemctl stop firewalld 关闭防火墙

systemctl disable firewalld 禁止防火墙开机自启

vim /etc/selinux/config —> SELINUX=disabled (修改)

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第5张

 

2.1.5. ssh无密码登录

manager节点执行ssh-keygen -t rsa 一路回车到结束,在/root/.ssh/下面会生成一个公钥文件id_rsa.pub

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 将公钥追加到authorized_keys

chmod 600 ~/.ssh/authorized_keys 修改权限

将~/.ssh从当前节点分发到其他各个节点。如:scp -r ~/.ssh/ root@node1:~/.ssh/

ssh 各个节点互相登陆

2.1.6. 配置NTP服务(所有节点)

修改时区(改为中国标准时区)ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

安装ntp yum -y install ntp

ntp主机配置 vim /etc/ntp.conf

manager节点

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第6张

 

其余节点

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第7张

 

重新启动 ntp 服务:service ntpd restart

设置开机自启:systemctl enable ntpd.service

ntpdc -c loopinfo #查看与时间同步服务器的时间偏差

ntpq -p #查看当前同步的时间服务器

ntpstat #查看状态

配置成功状态(服务开启后前面出现*说明成功):

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第8张

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第9张

问题处理:
时钟同步是由于我恢复过一次镜像,在手动同步一下即可。
服务端启动(恢复镜像居然没启动)

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第10张

各台同步

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第11张

 

2.1.7. 修改Linux swappiness参数(所有节点)

为了避免服务器使用swap功能而影响服务器性能,一般都会把vm.swappiness修改为0(cloudera建议10以下)

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第12张

 

上述方法rhel6有效,rhel7.2中:tuned服务会动态调整系统参数

查找tuned中配置,直接修改配置

cd /usr/lib/tuned/

grep “vm.swappiness” * -R 查询出后依次修改

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第13张

修改完确认:

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第14张

参考:sysctl修改内核参数 重启不生效

 

虚拟内存设置:
Cloudera 建议将 /proc/sys/vm/swappiness 设置为0-10。当前设置为 30。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf,以在重启后保存该设置。您可以继续进行安装,但 Cloudera Manager 可能会报告您的主机由于交换而运行状况不良。以下主机将受到影响:

查看详细信息
cdh[171-174]
解决:
临时解决
通过echo 10 > /proc/sys/vm/swappiness即可解决。
永久解决
sysctl -w vm.swappiness=10
echo vm.swappiness = 10 >> /etc/sysctl.conf

 

2.1.8. 禁用透明页(所有节点)

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
永久生效 在/etc/rc.local 添加上面命令

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第15张

给与可执行权限:chmod +x /etc/rc.d/rc.local

 

透明大页问题:
已启用透明大页面压缩,可能会导致重大性能问题。请运行“echo never > /sys/kernel/mm/transparent_hugepage/defrag”和“echo never > /sys/kernel/mm/transparent_hugepage/enabled”以禁用此设置,然后将同一命令添加到 /etc/rc.local 等初始化脚本中,以便在系统重启时予以设置。以下主机将受到影响:
查看详细信息
cdh[171-174]
处理:
大内存页禁用
echo never>/sys/kernel/mm/transparent_hugepage/defrag
echo never>/sys/kernel/mm/transparent_hugepage/enabled

 

2.1.9. JDK安装(所有节点)

rpm -qa | grep java # 查询已安装的java

yum remove java* # 卸载

rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm

vi /etc/profile 末尾添加

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第16张

source /etc/profile

java -version验证

2.1.10. 创建/usr/share/java目录,将mysql-jdbc包放过去(所有节点)

mkdir -p /usr/share/java

mv /opt/mysql-j/mysql-connector-java-5.1.34.jar /usr/share/java/

mysql-connector-java-5.1.34.jar 一定要命名为mysql-connector-java.jar

2.1.11. 为保证防火墙、虚拟机参数修改后生效,各节点机器需要重启

 reboot

2.1.12. Mysql安装(manager)

卸载原生的mariadb,安装mysql:
rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
cd /opt/mysql/
tar -xvf ./mysql-5.7.19-1.el7.x86_64.rpm-bundle.tar
rpm -ivh mysql-community-common-5.7.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.19-1.el7.x86_64.rpm
MYSQL配置如下:
mysqld --initialize --user=mysql # 初始化mysql使mysql目录的拥有者为mysql用户
cat /var/log/mysqld.log # 最后一行将会有随机生成的密码
systemctl start mysqld.service # 设置mysql服务自启
mysql -uroot –p 如果不能登陆
systemctl restart mysqld
#登录并修改mysql的管理者密码
    $>mysql -u root
     mysql>use mysql;
     mysql>set password = PASSWORD('root');
     mysql>exit;创建库(后续安装服务等使用)
create database cmserver default charset utf8 collate utf8_general_ci;
grant all on cmserver.* to 'cmserveruser'@'%' identified by 'root';
 
create database metastore default charset utf8 collate utf8_general_ci;
grant all on metastore.* to 'hiveuser'@'%' identified by 'root';
 
create database amon default charset utf8 collate utf8_general_ci;
grant all on amon.* to 'amonuser'@'%' identified by 'root';
 
create database rman default charset utf8 collate utf8_general_ci;
grant all on rman.* to 'rmanuser'@'%' identified by 'root';
 
create database oozie default charset utf8 collate utf8_general_ci;
grant all on oozie.* to 'oozieuser'@'%' identified by 'root';
 
create database hue default charset utf8 collate utf8_general_ci;
grant all on hue.* to 'hueuser'@'%' identified by 'root';

2.1.13. 安装Httpd服务(manager)

yum install httpd

systemctl start httpd

systemctl enable httpd.service 设置httpd服务开机自启

2.1.14. 配置Cloudera Manager包yum源(manager节点)

mkdir -p /var/www/html/cloudera-repos/

将下载的cm包文件移到此目录下:

mv cm6 /var/www/html/cloudera-repos/

cd /var/www/html/cloudera-repos/cm6/

创建repodata: createrepo .    #生成RPM元数据

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第17张

vim /etc/yum.repos.d/cloudera-manager.repo

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第18张

注意路径:http://manager/cloudera-repos/cm6/

yum clean all

yum makecache

2.1.15.导入GPG key(如果没有这步操作,很可能cloudera服务安装失败)manager节点

rpm --import http://manager/cloudera-repos/cm6/RPM-GPG-KEY-cloudera

 

2.1.16. 安装 Cloudera Manager(manager节点)

sudo yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server

将会需要很多依赖包,所以说还是有必要搭一个局域网内yum源的。

安装完CM后/opt/ 下会出现cloudera目录

mv /opt/parcels/* /opt/cloudera/parcel-repo  #将parcel包移动到指定位置

在/opt/cloudera/parcel-repo执行以下命令:

sha1sum CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel | awk ‘{ print $1 }’ > CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第19张

执行初始化脚本:

/opt/cloudera/cm/schema/scm_prepare_database.sh mysql cmserver cmserveruser password

 

2.1.16.设置开机启动(所有节点)

在manager节点上:

systemctl enable cloudera-scm-server

在所有节点上

systemctl enable cloudera-scm-agent

 

2.1.16.启动CM(manager)

打开server服务:

service cloudera-scm-server start 或者 systemctl start cloudera-scm-server

可以通过命令tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log去监控服务启动状态。

静候几分钟,打开http://manager:7180    (admin/admin)

 

2.2.1 登录cm WEB界面

http://主机ip:7180/cmf/login 访问CM
用户名admin
密码admin
遇到问题:7180服务没有启动
解决方法:

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第20张

查看端口服务,未启动

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第21张

cm服务启动显示正常。
我在刚启动服务后7180没有启动,没找到什么原因,后来 晾了它一晚上,第二天一查端口,居然启动了,可能是cm服务要启动的东西太多,主机一时没启动。

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第22张

启动成功!

备注:
linux查看端口:

2.2.2 具体安装步骤

WELCOME

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第23张

 

 Accept License

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第24张

 

Select Edition

版本选择免费版,已经够用。

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第25张

Welcome (Add Cluster - Installation)

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第26张

Specify Hosts

主机是自己规划安装agent的主机

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第27张

Select Repository

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第28张

JDK 安装选项

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第29张

Enter Login Credentials

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第30张

Install Agents

最到考验网速的时候了,该页面使用js进行刷新,千万别手动刷新,手动刷新的话安装列表中之前已经功成的会消失,未成功的显示,未成功即使安装成功了,cm会管理不到之前已经成功但刷新后未显示的主机,在安装集群时只能选择本次显示的(原因未知)。网速过慢的话安装会失败,一定要耐心等待,别做无关操作。

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第31张

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第32张

失败重试直到成功,再次说明,耐心等待。

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第33张

n次失败之后终于安装成功!

Install Parcels

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第34张

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第35张

安装成功!等了有将近半天的时候。。。

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第36张

Inspect Hosts

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第37张

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第38张

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第39张

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第40张

问题处理:
时钟同步是由于我恢复过一次镜像,在手动同步一下即可。
服务端启动(恢复镜像居然没启动)

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第41张

各台同步

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第42张

虚拟内存设置:
Cloudera 建议将 /proc/sys/vm/swappiness 设置为0-10。当前设置为 30。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf,以在重启后保存该设置。您可以继续进行安装,但 Cloudera Manager 可能会报告您的主机由于交换而运行状况不良。以下主机将受到影响:

查看详细信息
cdh[171-174]
解决:
临时解决
通过echo 10 > /proc/sys/vm/swappiness即可解决。
永久解决
sysctl -w vm.swappiness=10
echo vm.swappiness = 10 >> /etc/sysctl.conf

透明大页问题:
已启用透明大页面压缩,可能会导致重大性能问题。请运行“echo never > /sys/kernel/mm/transparent_hugepage/defrag”和“echo never > /sys/kernel/mm/transparent_hugepage/enabled”以禁用此设置,然后将同一命令添加到 /etc/rc.local 等初始化脚本中,以便在系统重启时予以设置。以下主机将受到影响:
查看详细信息
cdh[171-174]
处理:
大内存页禁用
echo never>/sys/kernel/mm/transparent_hugepage/defrag
echo never>/sys/kernel/mm/transparent_hugepage/enabled

升级软件依赖版本
Starting with CDH 6, PostgreSQL-backed Hue requires the Psycopg2 version to be at least 2.5.4, see the documentation for more information. This warning can be ignored if hosts will not run CDH 6, or will not run Hue with PostgreSQL. The following hosts have an incompatible Psycopg2 version of ‘2.5.1’:
查看详细信息
cdh[171-174]
本次忽略
处理完成:

 

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第43张

 

正式安装前拍个快照

Select Services

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第44张

自定义角色分配

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第45张

数据库设置

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第46张

这里测试了一晚上。。。

审核更改(可以自己更改目录,我使用的是默认)

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第47张

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第48张

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第49张

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第50张

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第51张

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第52张

cdh管理界面,大功告成:

什么是AcdhCDH 架构组件 cdh框架_https://www.jmylbn.com_新闻资讯_第53张

第一次进入后,许多服务标红,查看后是agent与cm失去连接。
#ntpstat(所有节点)
只有cm启动,其余莫名停止。
#systemctl start ntpd(停止节点)
#ntpdate -u cdh1(ntp服务端)
在失去的节点 执行
service cloudera-scm-agent restart(停止节点)
重启 正常启动不报错
注service cloudera-scm-agent status(查看 agent 状态)

 

cd /opt/cloudera/parcels/CDH-6.1.0-1.cdh6.1.0.p0.770702/lib/hadoop-mapreduce
 sh /opt/cloudera/parcels/CDH-6.1.0-1.cdh6.1.0.p0.770702/bin/hadoop jar hadoop-mapreduce-examples-3.0.0-cdh6.1.0.jar wordcount /test/wd.txt /test/output
 sh /opt/cloudera/parcels/CDH-6.1.0-1.cdh6.1.0.p0.770702/bin/hadoop  version