美文网首页
006.CM大数据平台实践之集群扩容

006.CM大数据平台实践之集群扩容

作者: CoderJed | 来源:发表于2020-06-11 18:19 被阅读0次

    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环境下的一次扩容记录

    相关文章

      网友评论

          本文标题:006.CM大数据平台实践之集群扩容

          本文链接:https://www.haomeiwen.com/subject/brcitktx.html