cm5.13.1 & cdh5.13.1 安装文档

CM5 & CDH(5.13.x) 离线安装

概述

CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了很多补丁,可直接用于生产环境。

Cloudera Manager则是为了便于在集群中进行Hadoop等大数据处理相关的服务安装和监控管理的组件,对集群中主机、Hadoop、Hive、Spark等服务的安装配置管理做了极大简化。

注:本文档所有操作均使用root登陆操作。

文件下载

一 环境搭建

  1. 硬件软件要求:
    我这6台机器node1,node2,node3,node4,node5,node6。node1-node5配置为8core-16G-100G,node6配置为4core-8G-100G。node1作为主节点master。master配置:16g内存,16核,如果是自己虚拟机的话master至少8g,因为装完集群(装了8个应用组件)master的内存已用了7g多。
    集群操作系统是centos7

  2. 网络配置(所有节点)
    1)修改主机名(这里建议改一个简短的名字,比如node1-node6,由于公司有名称限制,所以我就不改动前缀了):

         vi /etc/sysconfig/network修改hostname :  
         NETWORKING=yes  
         HOSTNAME=hd1-g-pre-dc-node1  
    

    2)配置ip和和主机名的对应关系(如果不想改主机名的话用域名去做对应关系也可以,但是在web界面查看主机的时候可能无法分清楚是哪台主机故障),我们可以用vi /etc/hosts来修改这个关系:

     	192.168.100.1	hd1-g-pre-dc-node1
     	192.168.100.2	hd1-g-pre-dc-node2
     	192.168.100.3	hd1-g-pre-dc-node3
     	192.168.100.4	hd1-g-pre-dc-node4
     	192.168.100.5	hd1-g-pre-dc-node5
     	192.168.100.6	hd1-g-pre-dc-node6
    

    如果想通过域名来增加关系,则可以使用此方法

     	192.168.100.1	node1	hd1-g-pre-dc-node1
     	192.168.100.2	node2	hd1-g-pre-dc-node2
     	192.168.100.3	node3	hd1-g-pre-dc-node3
     	192.168.100.4	node4	hd1-g-pre-dc-node4
     	192.168.100.5	node5	hd1-g-pre-dc-node5
     	192.168.100.6	node6	hd1-g-pre-dc-node6
    
  3. 设置SSH无密码访问(所有节点)

    1)每台生成公钥私钥

     ssh-keygen -t rsa或者 ssh-keygen -t rsa -f ~/.ssh/id_rsa
    

    2)将每台/root/.ssh/id_rsa.pub公钥内容拷贝到机器node1的authorized_keys文件中

     cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
    

    3)其他主机的id_rsa.pub拷贝到同一台机器node1的authorized_keys

     ssh-copy-id root@node1
    

    如果没有ssh-copy-id 执行

     sudo yum -y install openssh-clients
    

    4)复制机器node5的authorized_keys文件拷贝到其它主机

     scp /root/.ssh/authorized_keys root@node1:/root/.ssh
    

    如果不知道密码,则暂时无法使用scp命令,这时候可以使用copy到本地然后到其它服务器用vi命令粘贴上去

    5)如果启动无效果,需要修改ssh配置vim /etc/ssh/sshd_config

     RSAAuthentication yes                             #启用 RSA 认证
     PubkeyAuthentication yes                          #启用公钥私钥配对认证方式
     AuthorizedKeysFile      .ssh/authorized_keys      #公钥文件路径(和上面生成的文
     StrictModes no
    

    设置完之后记得重启SSH服务,才能使刚才设置有效。

     service sshd restart
    

    注意:首次ssh连接时会弹出一个(yes/no)的输入框,输入yes即可

  4. 安装Oracle Java(所有节点)

    1)前往oracle下载jdk1.8版本

    2)解压jdk

     tar zxvf jdk-8u181-linux-x64.tar.gz -C /usr/
    

    3)配置环境变量

     vi /etc/profile
    
     export JAVA_HOME=/usr/jdk1.8.0_181
     export PATH=$JAVA_HOME/bin:$PATH
    

    4)启用环境变量

     source /etc/profile
    
  5. 安装配置Mysql(主节点)

    1)下载mysql服务端5.7版本

     wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
    

    2)解压mysql安装包

     tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz -C /usr/local
     cd /usr/local
     mv mysql-5.7.23-linux-glibc2.12-x86_64 mysql
    

    3)创建用户和组

     groupadd mysql
     useradd -r -g mysql mysql
    

    4)创建mysql数据目录(新目录不存在则创建)

     mkdir -p mysql/data
    

    5)修改目录权限

     cd mysql
     chown -R mysql:mysql ./
    

    6)初始化数据库

     bin/mysqld –-initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
    

    这个可能会提示

     bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
    

    我们可以用以下命令来解决libaio.so共享库的错误

     yum install -y libaio
    

    再重新执行mysqld -initialize时,即可看见提示成功,这是我们需要记录密码(ZyBafltW,4XA)

     1 [Note] A temporary password is generated for root@localhost: ZyBafltW,4XA
    

    7)添加启动服务

     cp support-files/mysql.server /etc/init.d/mysqld
    

    8)启动mysql

     service mysqld start
    

    如果出现如下错误:

     /etc/init.d/mysqld: line 239: my_print_defaults: command not found
     /etc/init.d/mysqld: line 259: cd: /usr/local/mysql: No such file or directory
     Starting MySQLCouldn't find MySQL server (/usr/local/mysql/[FAILED]ld_safe)
    

    那么是因为我们的/etc/init.d/mysql文件里没有配置basedir=/usr/local/mysqldatadir=/usr/local/mysql/data的参数

     basedir=/usr/local/mysql
     datadir=/usr/local/mysql/data
    

    9)修改mysql密码和开启远程连接

     /usr/local/mysql/bin/mysql -u root -p
     #输入刚才生成的密码,每个人的密码都不一样
     ZyBafltW,4XA
     
     #这条语句设置mysql的密码并且允许所有机器以root帐号访问mysql,在实际情况下不建议把mysql的root用户曝光给所有机器访问
     GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;
    

    10)创建cm所需要的数据库

     #为hive建库hive
     create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
     #activity monitor
     create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
     #为oozie建库oozie
     create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
     #为hue建库hue
     create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    

    11)设置mysql开机启动

     chkconfig --add mysqld
     chkconfig --level 2345 mysqld on
    
  6. 关闭防火墙和SELinux(所有节点)

    注意: 需要在所有的节点上执行,因为涉及到的端口太多了,临时关闭防火墙是为了安装起来更方便,安装完毕后可以根据需要设置防火墙策略,保证集群安全。

    关闭防火墙:

     #临时关闭
     service iptables stop
     #重启后生效
     chkconfig iptables off
    

    关闭SELINUX(实际安装过程中发现没有关闭也是可以的,不知道会不会有问题,还需进一步进行验证):

    setenforce 0 (临时生效)
    修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效)

  7. 配置NTP服务(所有节点)

    1)安装ntpd

     yum install ntpd
     #在弹出的对话框中选择y确认安装
    

    2)在/etc/ntp.cnf配置ntp

     #local clock
     server node1
     server 0.centos.pool.ntp.org
     server 1.centos.pool.ntp.org
     server 2.centos.pool.ntp.org
    

    2)配置开机自启动

     #开启ntpd服务
     systemctl start ntpd.service
     #设置开机自启动		
     systemctl enable ntpd.service
    

二 Cloudera Manager安装与集群配置

  1. 把cm拷贝到其它5个节点

     #拷贝cm
     scp cloudera-manager-centos7-cm5.13.1_x86_64.tar.gz root@node2:/home/xccm/package/
     scp cloudera-manager-centos7-cm5.13.1_x86_64.tar.gz root@node3:/home/xccm/package/
     scp cloudera-manager-centos7-cm5.13.1_x86_64.tar.gz root@node4:/home/xccm/package/
     scp cloudera-manager-centos7-cm5.13.1_x86_64.tar.gz root@node5:/home/xccm/package/
     scp cloudera-manager-centos7-cm5.13.1_x86_64.tar.gz root@node6:/home/xccm/package/
    
     #拷贝mysql connector
     scp mysql-connector-java-5.1.47.jar root@node6:/home/xccm/package/
     scp mysql-connector-java-5.1.47.jar root@node5:/home/xccm/package/
     scp mysql-connector-java-5.1.47.jar root@node4:/home/xccm/package/
     scp mysql-connector-java-5.1.47.jar root@node3:/home/xccm/package/
     scp mysql-connector-java-5.1.47.jar root@node2:/home/xccm/package/
    
  2. 各个节点解压文件

     #解压cm
     tar -zxvf cloudera-manager-centos7-cm5.13.1_x86_64.tar.gz -C /opt
     #将mysql连接驱动放到cm包下		
     mv mysql-connector-java-5.1.47.jar /opt/cm-5.13.1/share/cmf/lib/
    
  3. 主节点初始化数据库

     #初始化数据库
     /opt/cm-5.13.1/share/cmf/schema/scm_prepare_database.sh -hnode1 -uroot -p123456 --scm-host node1 mysql scm scm scm
     #参数分别是: -h数据库主机名 -u数据库用户名 -p数据库密码--scm-host cmserver主机名 数据库类型 数据库名称 用户名 密码
    
  4. Agent配置并同步到其它服务器

    1)修改/opt/cm-5.1.3/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名,这里是node1。

    2)同步Agent到其他节点

     scp -r /opt/cm-5.1.3 root@node2:/opt/
     scp -r /opt/cm-5.1.3 root@node3:/opt/
     scp -r /opt/cm-5.1.3 root@node4:/opt/
     scp -r /opt/cm-5.1.3 root@node5:/opt/
     scp -r /opt/cm-5.1.3 root@node6:/opt/
    

    3)在所有节点服务器创建cloudera-scm用户

     useradd --system --home=/opt/cm-5.13.1/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
    

    4)准备Parcels,用以安装CDH5

    将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中(parcel-repo需要手动创建)。
    相关的文件如下:

    CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel
    CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha1
    manifest.json

    最后将CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha1,重命名为CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha,这点必须注意,否则,系统会重新下载CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel文件。

    5)启动脚本

     主节点:通过/opt/cm-5.13.1/etc/init.d/cloudera-scm-server start启动服务端。
    
     所有节点(包括主节点):通过/opt/cm-5.13.1/etc/init.d/cloudera-scm-agent start启动Agent服务。
     
     我们启动的其实是个service脚本,需要停止服务将以上的start参数改为stop就可以了,重启是restart。	
    

    6)CDH5安装配置

    浏览器输入:192.168.100.1:7180开始进入登录页面,默认用户名和密码是admin/admin
    然后按照流程一步一步的选择来安装,web安装错误参考http://blog.xumingxiang.com/259.html

参考资料:

mysql安装文档:
1. https://www.cnblogs.com/xxoome/p/5864912.html
2. http://www.cnblogs.com/achengmu/p/9558684.html

Cloudera Manager安装文档:
1. http://blog.xumingxiang.com/259.html
2. https://blog.csdn.net/HFUTLXM/article/details/77605022?locationNum=6&fps=1

posted @ 2018-09-10 11:26  shenjie2017  阅读(170)  评论(0编辑  收藏  举报