1. 背景
原有的大数据平台分布信息如下
主机名 | 系统版本 | CDH版本 | 角色 |
---|---|---|---|
m162p122 | CentOS-6.8 | cm6.3.1-redhat6 | server |
m162p123 | CentOS-6.8 | cm6.3.1-redhat6 | agent |
m162p124 | CentOS-6.8 | cm6.3.1-redhat6 | agent |
需求:
将m162p133这台机器添加到大数据集群中,并重新规划大数据集群中各组件的角色。
主机名 | 系统版本 | CDH版本 | 角色 |
---|---|---|---|
m162p133 | CentOS-6.10 | cm6.3.1-redhat6 | agent |
2. 修改/etc/hosts文件
原有的3台服务器的hosts文件如下:
192.168.162.122 m162p122
192.168.162.123 m162p123
192.168.162.124 m162p124
修改原有的3台和新服务器的hosts文件,改为:
192.168.162.122 m162p122
192.168.162.123 m162p123
192.168.162.124 m162p124
192.168.162.133 m162p133
3. 新服务器与原有的服务器之间root用户免密钥登陆
原来的3台服务器使用root用户可以免密钥登陆,现需要配置为4台服务器两两之间使用root用户免密钥登陆。
3.1 新服务器生成公钥文件
首先检查新增的服务器的/root/.ssh
目录下有没有id_rsa.pub
文件,我这里给到的新服务器存在公钥文件,如果不存在,执行以下命令,一路回车即可生成id_rsa.pub
文件。
[root@xxx ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/melon/.ssh/id_rsa):
Created directory '/home/melon/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/melon/.ssh/id_rsa.
Your public key has been saved in /home/melon/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:abJWLmDToAMXfTqbbABv1cdbw4wa+6ygrzXAydWuqxA melon@blazers
The key's randomart image is:
+---[RSA 2048]----+
| .. . . + |
|. .o.+ + = |
|.o..oo.= o . |
| =++o+o .. |
|E.Bo+++oS |
| . +*+ *o |
|. o+.+.. |
| ... +.. |
| o+o |
+----[SHA256]-----+
3.2 配置4台服务器root用户免密钥登陆
3台老服务器执行以下命令:
ssh-copy-id m162p133
1台新服务器执行以下命令:
ssh-copy-id m162p122
ssh-copy-id m162p123
ssh-copy-id m162p124
4. 新服务器与原有服务器时间同步
4.1 确定3台旧服务器ntp服务的主从关系
查看/etc/ntp.conf
,发现m162p122服务器从外网同步时间:
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default nomodify notrap
server 0.cn.pool.ntp.org prefer
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
m162p123与m162p124服务器从m162p122同步时间:
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
server 192.168.162.122
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
4.2 配置m162p133从m162p122同步时间
# (1) 查看m162p133的ntp服务状态,发现m162p133未安装ntp服务
[root@m162p133 ~]# service ntpd status
ntpd: unrecognized service
# (2) 安装ntp服务
[root@m162p133 ~]# yum install ntp -y
# (3) 编辑/etc/ntp.conf文件,直接复制m162p123或者m162p124的ntp.conf文件中的内容即可
# (4) 手动同步一下时间
[root@m162p133 ~]# ntpdate m162p122
23 Dec 14:40:21 ntpdate[19480]: step time server 192.168.162.122 offset 76.025642 sec
# (5) 开启ntp服务
[root@m162p133 ~]# service ntpd start
Starting ntpd: [ OK ]
[root@m162p133 ~]# chkconfig ntpd on
5. 新服务器安装cloudera-manager-agent-6.3.1
5.1 安装包cm6.3.1-redhat6.tar.gz
上传到m162p133并解压
我的安装包解压到了/opt/cm6.3.1
目录下
5.2 安装Agent
# 关键命令
chown -R root:root /opt/cm6.3.1
yum install cloudera-manager-daemons-6.3.1-1466458.el6.x86_64.rpm -y
yum install cloudera-manager-agent-6.3.1-1466458.el6.x86_64.rpm -y
# 这行一定要执行
[root@m162p133 opt]# chown -R root:root cm6.3.1
[root@m162p133 opt]# cd /opt/cm6.3.1/RPMS/x86_64/
[root@m162p133 x86_64]# yum install cloudera-manager-daemons-6.3.1-1466458.el6.x86_64.rpm -y
Loaded plugins: fastestmirror
Setting up Install Process
Examining cloudera-manager-daemons-6.3.1-1466458.el6.x86_64.rpm: cloudera-manager-daemons-6.3.1-1466458.el6.x86_64
Marking cloudera-manager-daemons-6.3.1-1466458.el6.x86_64.rpm to be installed
.......
Installed:
cloudera-manager-daemons.x86_64 0:6.3.1-1466458.el6
Complete!
[root@m162p133 x86_64]# yum install cloudera-manager-agent-6.3.1-1466458.el6.x86_64.rpm -y
Loaded plugins: fastestmirror
Setting up Install Process
Examining cloudera-manager-agent-6.3.1-1466458.el6.x86_64.rpm: cloudera-manager-agent-6.3.1-1466458.el6.x86_64
Marking cloudera-manager-agent-6.3.1-1466458.el6.x86_64.rpm to be installed
......
.....
Complete!
5.3 配置Agent
# 只需要修改server_host为m162p122即可
[root@m162p133 opt]# vim /etc/cloudera-scm-agent/config.ini
server_host=192.168.162.122
5.4 启动agent
[root@m162p133 bin]# service cloudera-scm-agent start
Starting cloudera-scm-agent: [ OK ]
# 查看日志,查看有没有报错信息
vim /var/log/cloudera-scm-agent/cloudera-scm-agent.log
[root@m162p133 bin]# service cloudera-scm-agent status
cloudera-scm-agent (pid 23870) is running...
6. 页面操作
6.1 添加新主机到集群中
Agent已成功启动,且被Cloudera Manager识别,但还未加入集群并分配各组件的角色。
添加主机到集群:
检查完之后发现有不少警告信息,大部分是原有的三台机器的问题,我们不再处理,因为原来的大数据集群使用正常,关于新加机器的警告只有一个,Supervisord版本不兼容,注意到原来的机器也有这个警告,但大数据集群还是运行正常,于是我选择忽略这里的全部警告。
6.2 大数据组件的角色迁移
原有的服务分布如下:
迁移原则:所有的管理服务分配到m162p122节点,所有的存储或者计算节点分配到m162p123、m162p124和m162p133上
下面以zookeeper服务迁移为例来说明如何迁移各组件实例
zookeeper服务旧分布情况:
服务 | 主机 |
---|---|
zookeeper | m162p122 |
zookeeper | m162p123 |
zookeeper | m162p124 |
zookeeper服务迁移计划:
服务 | 主机 |
---|---|
zookeeper | m162p123 |
zookeeper | m162p124 |
zookeeper | m162p133 |
只需要将122的zookeeper服务迁移到133即可,先添加新服务,再卸载旧服务:
停止122上的zookeeper服务:
以上即是Cloudera Manager 6.3.1在CentOS6环境下的一次扩容记录
网友评论