首页 > 代码库 > Cloudera Manger CDH 安装文档

Cloudera Manger CDH 安装文档


简介:

Cloudera Manager 是 Cloudera 公司推出的 Hadoop 集群管理工具,通过该管理工具可以方便的部署、配置、监控集群。

Cloudera 公司自己发布的 Hadoop 版本叫 CDH,全称 Cloudera Distribution Hadoop。

环境介绍:

192.168.47.10 master.hadoop C6.8 x64 CPU: 1 MEM: 4GB
192.168.47.20 datanode01.hadoop C6.8 x64 CPU: 1 MEM: 1GB
192.168.47.30 datanode02.hadoop C6.8 x64 CPU: 1 MEM: 1GB

一、服务器初始化

1、配置 hostname 、修改 hosts

2、关闭 iptables 、selinux

3、配置时间同步服务器 ntp

# master.hadoop 、datanode.hadoop

shell > cp -r /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 修改时区

shell > yum -y install ntp

# master.hadoop

shell > vim /etc/ntp.conf

# 允许客户端来同步时间的网段
restrict 192.168.47.0 mask 255.255.255.0 nomodify
# 该服务器从哪里同步时间
server cn.pool.ntp.org prefer
# 当无法与上游服务器联系时,采用本地时钟
server 127.127.1.0
fudge  127.127.1.0 stratum 10

shell > chkconfig --del ntpd
shell > echo ntpdate cn.pool.ntp.org | hwclock -w >> /etc/rc.local
shell > echo /etc/init.d/ntpd start >> /etc/rc.local

shell > ntpdate cn.pool.ntp.org | hwclock -w
shell > /etc/init.d/ntpd start

shell > ntpstat 
synchronised to local net at stratum 6 
   time correct to within 7948 ms
   polling server every 64 s

# 现在是以本地时钟为主,因为还没有跟上游服务器建立连接,一般需要 15 分左右!

shell > ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 248.51-174-131. .INIT.          16 u    -   64    0    0.000    0.000   0.000
*LOCAL(0)        .LOCL.           5 l    3   64    3    0.000    0.000   0.000

# datanode.hadoop

shell > crontab -e
0 0 * * * /usr/sbin/ntpdate master.hadoop | hwclock -w > /dev/null 2>&1

# 凌晨时间同步 ( 本来想采用 ntp 的方式,但是启动时间真是太长了 )

二、安装 Cloudera-manager

# https://www.cloudera.com/documentation/enterprise/release-notes/topics/cm_vd.html 各版本地址
# https://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.6.0/RPMS/x86_64 本次实验版本地址

# master.hadoop

1、搭建 yum 本地源

shell > yum -y install httpd createrepo

shell > sed -i s/#ServerName www.example.com:80/ServerName 127.0.0.1:80/ /etc/httpd/conf/httpd.conf

shell > /etc/init.d/httpd start
shell > chkconfig --level 35 httpd on

shell > mkdir /var/www/html/clouder-manager; cd /var/www/html/clouder-manager
shell > wget -c -r -nd -A .rpm https://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.6.0/RPMS/x86_64/  # 建议使用加速下载

shell > ls -1
cloudera-manager-agent-5.6.0-1.cm560.p0.54.el6.x86_64.rpm
cloudera-manager-daemons-5.6.0-1.cm560.p0.54.el6.x86_64.rpm
cloudera-manager-server-5.6.0-1.cm560.p0.54.el6.x86_64.rpm
cloudera-manager-server-db-2-5.6.0-1.cm560.p0.54.el6.x86_64.rpm
enterprise-debuginfo-5.6.0-1.cm560.p0.54.el6.x86_64.rpm
jdk-8u111-linux-x64.rpm

# 关于 clouder-manager 的软件包就这些,jdk 是我单独下载的

shell > createrepo .  # 生成依赖

# master.hadoop 、datanode.hadoop

shell > vim /etc/yum.repos.d/local.repo
[local]
name=local cloudera manager
baseurl=http://master.hadoop/cloudera-manager
gpgcheck=0

shell > yum clean all

# 这样各节点就可以使用 yum 本地源了

2、安装 clouder-manager

# master.hadoop

shell > yum -y install jdk1.8.0_111
shell > yum -y install cloudera-manager-agent
shell > yum -y install cloudera-manager-server-db-2

shell > rpm -qa | grep cloudera
cloudera-manager-server-db-2-5.6.0-1.cm560.p0.54.el6.x86_64
cloudera-manager-agent-5.6.0-1.cm560.p0.54.el6.x86_64
cloudera-manager-server-5.6.0-1.cm560.p0.54.el6.x86_64
cloudera-manager-daemons-5.6.0-1.cm560.p0.54.el6.x86_64

# 可以看到都已准备就绪 ( cloudera-manager-server 已经自动安装了 )

# datanode.hadoop

shell > yum -y install jdk1.8.0_111
shell > yum -y install cloudera-manager-agent

3、启动

# master.hadoop

shell > /etc/init.d/cloudera-manager-server-db start # TCP 7432

shell > /etc/init.d/cloudera-scm-server start # TCP 7180 web、7182 agent

# cloudera-manager-server 启动要花费比较长的时间
# 建议 tail -f /var/log/cloudera-manager-server/cloudera-manager-server.log
# 看到 Started SelectChannelConnector@0.0.0.0:7180 字样时,证明启动成功

shell > /etc/init.d/cloudera-scm-agent start # TCP 900019001

# datanode.hadoop

shell > sed -i /server_host/s/localhost/master.hadoop/ /etc/cloudera-scm-agent/config.ini # 修改 CM 地址

shell > /etc/init.d/cloudera-scm-agent start

4、访问

http://192.168.47.10:7180 admin / admin

> Yes, I accept the End User License Terms and Conditions. # 同意
> 默认,企业试用版,60 天后自动降级为免费版

# 到这里,cloudera-manager 就安装完成了,可以点击左上角logo查看状态,也可以继续配置集群
# 再点击继续就开始配置集群了,请看下面

三、Cloudera-manager 配置集群

# 这里使用的离线的安装方式,建议使用迅雷等加速器下载后传到服务器,不然太费劲了...

shell > cd /opt/cloudera/parcel-repo
shell > wget -c http://archive.cloudera.com/cdh5/parcels/5.6.0/CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel
shell > wget -c http://archive.cloudera.com/cdh5/parcels/5.6.0/CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel.sha1
shell > wget -c http://archive.cloudera.com/cdh5/parcels/5.6.0/manifest.json

# el6 可以理解为 CentOS 6.x

shell > mv CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel.sha1 CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel.sha

# 不改名,会导致 CM 去重新下载 .parcel 包,就那个 1.4G 的包

shell > ls -1
CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel
CDH-5.6.0-1.cdh5.6.0.p0.45-el6.parcel.sha
manifest.json

# 最终就是这样

shell > chown -R cloudera-scm.cloudera-scm .
shell > /etc/init.d/cloudera-manager-server restart

# 如果是在 server 启动后,下载的 CDH,那么需要重启一下 server,否则选择 CDH 版本的时候,没有该版本

1、主页点击添加集群

2、搜索主机,继续

3、选择使用 parcel ( clouder 公司提供的一种包管理方式 );也可以把 CDH5 对应的软件包全部下载后做成本地 yum 源,选择使用数据包

# 更多选项里面有一个<本地 Parcel 存储库路径>,默认就是 /opt/cloudera/parcel-repo
# 下面的选择CDH版本列表就会有下载的 CDH-5.6.0-1.cdh5.6.0.p0.45,选择 继续

4、集群安装,因为是下载好的本地包,所以需要等待的只是一个安装时间,由服务器性能决定 ( 这虚拟机让我等的好苦!)

# 可以监控 cloudera-manager-server 的日志,好多 orld gc ,内存严重不足!机器反应慢!负载也高!

5、检查主机正确性

> vm.swappiness 默认 60,建议设为 0,系统使用 swap 的喜好,0 为尽量不使用
> /sys/kernel/mm/transparent_hugepage 透明大页的问题,建议禁止

# master.hadoop 、datanode01.hadoop

shell > echo vm.swappiness = 0 >> /etc/sysctl.conf
shell > sysctl -p

shell > echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
shell > echo echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag >> /etc/rc.local

# 点击重新运行

6、安装服务,自定义服务,我这里只选择了 HDFS、YARN

7、角色分配,选择默认

8、数据库选择,选择嵌入式数据库,测试连接

# master.hadoop:7432
# rman / rman / MJ8ehj6PGN | 数据库 / 用户名 / 密码

9、集群设置,这里是一些常用参数,多关注一下

# dfs.block.size, dfs.blocksize HDFS 默认块大小 128MB
# dfs.datanode.failed.volumes.tolerated DataNode 磁盘损坏数量,建议大于 1
# dfs.data.dir, dfs.datanode.data.dir DataNode 数据目录
# dfs.name.dir, dfs.namenode.name.dir NameNode 数据目录
......

10、开始启动服务啦~

# 有可能会因为服务器性能不足,导致超时,重试一般能好!该增加配置了... 主要是 Memory !!!

11、恭喜您!服务已安装、配置并在群集中运行。

四、集群调整

# 集群主页可以看到 Cluster 1 状态为 红色 !表示运行状态不良、主机状态为 黄色!表示存在隐患!等

# 这时服务器很卡,点击主机 配置问题,会发现 master.hadoop、datanode01.hadoop 内存不足!-> 关机加内存

# 关闭 Cluster 1、Cloudera Manager Service ( 标签后面都有下拉菜单,点击停止 ),然后加内存!建议 8G/2G !

# 再次启动服务器、等待 Cloudera-manager-server 启动后,web 界面启动 Cluster 1、Cloudera Manager Service

# 点击<所有运行状态问题>,列出 Cluster 1 运行中的问题列表

1、Cloudera Management Services

> Alert Publisher (master) /var/log/cloudera-scm-alertpublisher
> Event Server (master) /var/log/cloudera-scm-eventserver
> Host Monitor (master) /var/log/cloudera-scm-firehose
> Reports Manager (master) /var/log/cloudera-scm-headlamp
> Service Monitor (master) /var/log/cloudera-scm-firehose

# 分析发现:全部是由于磁盘空间不足,这种问题一般生产坏境不会出现!
# 解决方法:1、磁盘扩容 2、修改日志目录可用空间监控绝对阈值 ( 由于是实验环境,这里选择第二种解决方案 )
# 主页->配置->磁盘空间阈值->筛选器 范围 Cloudera Management Service->日志目录可用空间监控绝对阈值->警告 2 严重 1->保存更改
# 这时再点击主页,之前这些警告就都消失了 ( 可能会有一点延迟 )

> Event Server (master) /var/lib/cloudera-scm-eventserver
> Host Monitor (master) /var/lib/cloudera-host-monitor
> Reports Manager (master) /var/lib/cloudera-scm-headlamp
> Service Monitor (master) /var/lib/cloudera-service-monitor

# 还是熟悉的味道!
# Event Server Index Directory 可用空间监控绝对阈值 2 1
# Host Monitor Storage Directory 可用空间监控绝对阈值 2 1
# Reports Manager Working Directory 可用空间监控绝对阈值 2 1
# Service Monitor Storage Directory 可用空间监控绝对阈值 2 1

2、Cluster 1

> HDFS 副本不足的块

# HDFS 默认为 3 个副本,我们只有一个

> YARN (MR2 Included)
> NameNode (master) /dfs/nn
> SecondaryNameNode (master) /dfs/snn
> master.hadoop /opt/cloudera/parcels

# 还是磁盘空间问题,这次选择添加硬盘来解决问题 ( 当然也可以修改监控阈值 )

# master.hadoop、datanode01.hadoop

shell > mkfs.ext4 /dev/sdb
shell > mkdir tmp; mv /dfs/* tmp/
shell > mount -o noatime /dev/sdb /dfs
shell > mv tmp/* /dfs
shell > echo ‘/dev/sdb /dfs ext4 noatime 0 0‘ >> /etc/fstab

shell > mkfs.ext4 /dev/sdc
shell > mv /opt/* tmp/
shell > mount -o noatime /dev/sdc /opt
shell > mv tmp/* /opt
shell > echo ‘/dev/sdc /opt ext4 noatime 0 0‘ >> /etc/fstab

shell > mount -a

# 启动集群即可

五、向集群中添加节点

# 准备好的服务器,也要经过初始化阶段!( 还有内核参数 ) ( jdk、agent 都可以不用装,也可以先安装好 )

1、主机->模板->修改默认模板名称为 DataNode,应用该模板的主机将包含两个角色 DataNode、NodeManager

2、状态->向集群添加新主机

3、搜索主机 192.168.47.30 或 datanode02.hadoop ( 当前管理的主机中如有该主机直接勾选继续 )

4、安装软件到该主机、检查主机正确性

5、选择主机模板 DataNode 继续,安装、启动服务

6、YARN (MR2 Included) 刷新集群配置

# 完成

Cloudera Manger CDH 安装文档