CM-CDH集群增节点
一、虚拟机配置
1.克隆一个虚拟机
可以在之前安装好的CentOS上再克隆一个虚拟机
注意这几步:
选择一个较为干净的CentOS虚拟机快照:




从节点大小至少4G

再次做检查:

2.开启虚拟机并作相应修改
1)修改主机名

2)修改IP
vi /etc/sysconfig/network-scripts/ifcfg-eno16777736(要按Tab自动补全,双击Tab可查看含有打入字母的所有的文件的全名)

3)重启网卡
service network restart
4)检测是否ping通
接下来可以尝试着输入命令行:ping www.baidu.com,拼成功即可(CTRL+c 关闭)
再输入命令行:ping 192.168.212.2 如果这两个都拼通,就证明网没问题了。
5)连接Xshell

新建立连接-》命名为cdh-》主机:192.168.212.11-》连接-》接下来输入用户名、密码(记住此用户名、密码)
6)yum下载工具包
查看rz命令所在的工具包:
[root@cdh module]# yum search rz
下载工具包:
[root@cdh module]# yum -y install lrzsz
这样直接拖进去就可以上传了(适用于小文件上传)
大文件用WinSCP上传更快
7)更改Yum源
在三台节点(所有agent的节点)上执行下载第三方依赖
将yum源更改成阿里的下载啥的会比较快。
|
更改为阿里yum源 这里需要先安装上wget工具包: [root@cdh software]# yum search wget [root@cdh software]# yum -y install wget 然后更改yum源: wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum clean all yum makecache |
8) 关闭SELINUX和防火墙-三台同时
临时关闭---这样就不用重启虚拟机了:
|
setenforce 0 |
然后修改配置文件/etc/selinux/config(重启生效)
|
#将SELINUX=enforcing 改为 SELINUX=disabled #关闭防火墙 systemctl stop firewalld #禁用防火墙 systemctl disable firewalld #查看防火墙是否关闭 systemctl status firewalld |
到此可以将这里的虚拟机进行一次快照,方便后续为集群增加节点和学习操作。
二、安装CM工具所需的操作
1.安装JDK
|
#建议放在/usr/java/这个目录下 tar -zxvf jdk-8u144-linux-x64.tar.gz -C /usr/java/ java目录是后创建的 #有时候会有权限问题的坑 修改权限: 属主:属组-->root:root chown -R root:root /usr/java/ |
2.配置环境变量-三台同时
[root@cdh module]# vi /etc/profile
#JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.8.0_144/
export PATH=$PATH:$JAVA_HOME/bin
生效环境变量:
[root@cdh module]# source /etc/profile
接下来-验证,回车后没问题即可:
[root@cdh module]# javac
3.主机名和hosts映射
|
vi /etc/hosts 将集群的各个主机的IP、名字都写进去。比如: 192.168.212.11 cdh1 192.168.212.12 cdh2 192.168.212.13 cdh3 |
检查主机名-写上该台主机的名字:
[root@cdh software]# vi /etc/hostname
4.下载第三方依赖
通过yum下载-根据网络快慢
|
yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb |
5.ssh免密登录
注:企业中不设置免密-如果是对外开放的话
|
#生成公钥 ssh-keygen -t rsa 过程中询问问题都不回答,直接回车(三次) #拷贝公钥到其他节点(如果是集群的话需要九遍),比如: ssh-copy-id cdh1 ssh-copy-id cdh2 ssh-copy-id cdh3
接下来检测到各个节点: [root@cdh software]# ssh cdh |
6.NTP时间和时钟同步服务
参考:
https://www.cnblogs.com/liuxinrong/articles/12818431.html
三、CM部署
CM下载地址:http://archive.cloudera.com/cm5/cm/5/
注:以下所有操作均使用root用户
1.解压cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz-所有节点
CDH默认的目录就是/opt
|
tar -zxvf cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz -C /opt |

2.创建用户cloudera-scm--所有节点
|
[root@cdh opt]# useradd --system --home=/opt/cm-5.12.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm |
--system 创建一个系统账户
--home 指定用户登入时的主目录,替换系统默认值/home/<用户名>
--no-create-home 不要创建用户的主目录
--shell 用户的登录 shell 名
--comment 用户的描述信息
注意:Cloudera Manager默认用户为cloudera-scm,创建具有此名称的用户是最简单的方法。 安装完成后,将自动使用此用户。
3.配置CM Agent--所有节点
|
vi /opt/cm-5.12.1/etc/cloudera-scm-agent/config.ini #修改CM所在地址(所有节点) server_host=cdh #像这里cdh就是主节点的名称 |

4.在Agent 节点(bigdata111,bigdata112,bigdata113)创建目录/opt/cloudera/parcels
这步操作就是要让从节点有这个目录然后再修改下权限就可以了。
[root@bigdata111 module]# mkdir -p /opt/cloudera/parcels
[root@bigdata111 module]# chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
这样的话,如果是集群的形式,主机点到Web页面就会完成自动的分发。
5.关闭交换空间 & 大页面空间-各个节点
#Cloudera建议将交换空间设置为0,过多的交换空间会引起GC-Garbage Collection耗时的激增,所以还是关闭的为好.
各个节点同时运行:
echo "vm.swappiness = 0" >> /etc/sysctl.conf
echo "10" > /proc/sys/vm/swappiness
#关闭大页面压缩
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
6.Web页面操作
之后在CHD集群Web页面里选择 :主机--》所有主机--》点击"添加集群新主机"就可以了。
到此只是将新增的机器加入到集群之中,下面需要为新增节点添加角色:
1) HDFS


对于新增的两个节点cdh2和cdh3,新增DataNode角色


启动后加的这两个角色

2)Yarn
对于新增的两个节点cdh2和cdh3,新增NodeManager角色

启动即可
3)之后再查看“主机”--》“所有主机”即可看到下面的各个主机的角色状态:






浙公网安备 33010602011771号