简介:
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 9000、19001
# 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) 刷新集群配置
# 完成
来源:https://www.cnblogs.com/wangxiaoqiangs/p/6626076.html