一  系统配置

系统版本主机名主机 ip 配置说明
Centos 7.3CDH-masterXXXX4核16G安装主节点(master)
CDH-slave安装从节点(slave)
CDH-slave安装从节点(slave)
CDH-slave安装从节点(slave)

二 相关依赖


软件名字软件安装版本用途说明
JDK 1.8jdk-8u101-linux-x64.rpmOpenjdk
MYSQL5.5(yum 和源码安装都可以)存放cloudera manager配置文件
mysql-connector-java5.1.47(各种版本都有)
https://mvnrepository.com/artifact/mysql/mysql-connector-java
JDBC(链接数据库)
cloudera managercloudera-manager-centos7-cm5.15.1_x86_64.tar.gz
http://archive.cloudera.com/cm5/cm/5/
CDH 平台安装包
CDH parcel 包CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel
http://archive.cloudera.com/cdh5/parcels/5.15.1/
集群各软件压缩包
CDH parcel.sha包CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1压缩包对于哈希码
manifest.json要和 parcel和parcel.sha版本一致版本说明json文件



三 系统环境准

   安装需要注意事项

         不要修改ssh 端口,cdh 通讯默认走的是ssh 端口

         jdk 一定要安装  1.8

         mysql 数据库密码  大小写加特殊符号 添加特殊符号的时候 @ 这样的特殊符号不要添加 

  1 防火墙关闭

          所有机器上面都要执行

              firewall-cmd  --state   查看防火墙状态

              systemctl stop firewalld.service 停止firewall 

              systemctl disable firewalld.service  禁止firewall开机启动

             关闭 selinux

              vi /etc/selinux/config   将SELINUX=enforcing改为SELINUX=disabled  重启机器  永久性关闭

  2 卸载mysql  是为后面安装mysql 做好基础

         CentOS 7 已经不支持mysql,因为收费了,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb:

         只需要在安装 msyql 机器上面 做如下操作 :   

         卸载 mariadb 

                    查看安装的 mariadb

                            rpm -qa |grep mariadb

                    强制删除 mariadb

                           rpm -e --nodeps 卸载查看到的mariadb

           卸载 mysql 

                   查看安装的 mysql

                            rpm -qa |grep mysql

                  强制删除 mysql

                           rpm -e --nodeps 卸载查看到的mysql

        删除已存在的配置文件

                  whereis mysql  查看具体的安装位置

                  使用 rm -rf  删除

  3 修改主机名称

         所有的机器都要修改hosts 为了方便配置地址

          vim /etc/hosts

                127.0.0.1 localhost. master

                XXXXXXX cdh1

                XXXXXXX cdh2

                XXXXXXX cdh3

                XXXXXXX cdh4

   4 免秘钥设置

        在主节点master上执行如下操作

               ssh-keygen -t rsa -P ''    一直回车就可以

               将master上的公钥id_rsa.pub 放到自己的认证文件中 authorized_keys

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

               chmod 600  /root/.ssh//authorized_keys

               for a in {1..4}; do ssh scp /root/.ssh/authorized_keys root@cdh$a:/root/.ssh/authorized_keys ; done     拷贝到四个从节点 agent 上

  5  yum 安装依赖包

        yum  install httpd mod_ssl libxml2-python psmisc  bind-utils libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs redhat-lsb -y 

  6  JDK 安装

      在所有服务器上都安装

               将下载好的jdk-8u101-linux-x64.rpm  上传至服务器上

                        执行 rpm -ivh    jdk-8u101-linux-x64.rpm

      配置环境变量

          vim /etc/profile

                        export JAVA_HOME=/usr/java/jdk1.8.0_101

                        export JAVA_BIN=/usr/java/jdk1.8.0_101/bin

                        export PATH=$PATH:$JAVA_HOME/bin

                        export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

                        export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

          执行 source /etc/profile   文件生效

四  安装mysql 

      1 安装 5.5 rpm 源

           wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm     下载 配置mysql rpm 源
           yum localinstall mysql-community-release-el7-5.noarch.rpm   安装源

               yum repolist enabled | grep "mysql.*-community.*"  查看是否添加成功,下图是已经安装调换成为 5.5 的版本,正常情况这个地方默认是 5.6 版本

               image.png

          由于默认mysql 版本是 5.6 版本需要修改成启动 5.5 版本(根据需求选择,这里有 5.5 5.6  5.7)

          修改 /etc/yum.repos.d/mysql-community.repo 文件,enabled=0 是指禁用,enabled=1 指启用

               vim  /etc/yum.repos.d/mysql-community.repo 

                将 mysql 5.5 或者 5.7 的 enable 改为 1,将 mysql 5.6 的 enable 改为 0,然后执行第6个步骤,查看启用的 mysql 版本,查看命令还是 yum repolist enabled | grep "mysql.*-community.*"

      2 安装mysql 

         yum install mysql-community-server

     3  启动mysql

         systemctl start(restart|stop|status)  mysqld 

     4  修改mysql 账号密码

            mysql -u root -p   登录进去

            SET PASSWORD = PASSWORD('your new password');   修改密码

            grant all privileges on *.*  to  'root'@'%'  identified by 'your new password'  with grant option;  开启远程能访问

               create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;     创建  hive 数据库 

            create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;      创建  amon 数据库

            create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;创建  hue 数据库

            create database monitor DEFAULT CHARSET utf8 COLLATE utf8_general_ci;   创建  monitor 数据库

            create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;     创建  oozie 数据库

            flush privileges;  保存刷新

    5 修改mysql 字符集

       vim /etc/my.cnf

           添加如下配置

                    [mysqld]   

                    character_set_server = utf8

                    [mysql]

                    default-character-set = utf8

       保存重启mysql  systemctl restart mysqld

五 Cloudera Manager  安装

           在所有服务器上面执行如下操作

             1 创建主程序文件目录

              mkdir /opt/cloudera-manager   创建 服务端目录

              tar -zxvf  cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz  -C  /opt/cloudera-manager    解压到创建目录

            2 创建cloudera-scm 账号

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

             chown cloudera-scm:cloudera-scm /opt/cloudera-manager   权限修改 为 cloudera-scm 用户权限

            3 配置服务端 service 服务

             cp /opt/cloudera-manager/cm-5.15.1/etc/init.d/cloudera-scm-server  /etc/init.d/cloudera-scm-server    把服务端启动服务,拷贝到系统启动配置项中

             chkconfig cloudera-scm-server on   开启service 服务自启动

             vim /etc/init.d/cloudera-scm-server   修改启动配置文件

            CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default}改为=/opt/cloudera-manager/cm-5.15.1/etc/default

            vim /etc/rc.local  添加开机启动

            service cloudera-scm-server restart

六 Cloudera Manager agent 安装

            1 创建agent 文件目录   同 master 安装操作 1  2 步骤一样,这里就不在写安装过程

            2 修改agent 配置文件

            vim /opt/cloudera-manager/cm-5.15.1/etc/cloudera-scm-agent/config.ini

            将 server_host 参数修改为 master 主机名字,填写 ip 和 主机域名都可以

       image.png

      3 配置agent  service 服务

           cp /opt/cloudera-manager/cm-5.15.1/etc/init.d/cloudera-scm-agent  /etc/init.d/cloudera-scm-agent    把服务端启动服务,拷贝到系统启动配置项中

           chkconfig cloudera-scm-agent on   开启service 服务自启动

           vim /etc/init.d/cloudera-scm-agent   修改启动配置文件

           CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default}改为=/opt/cloudera-manager/cm-5.15.1/etc/default

           vim /etc/rc.local  添加开机启动

           service cloudera-scm-agent restart

       

七 Parcel  安装

        在 server 节点创建如下目录

                mkdir -p /opt/cloudera/parcel-repo    存储下载文件目录

                chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo     添加 cloudera-scm 权限

        在 Agent 节点创建如下目录

                mkdir -p /opt/cloudera/parcels     存储 master节点 安装到从节点软件目录

                chown cloudera-scm:cloudera-scm /opt/cloudera/parcels  添加 cloudera-scm 权限 

八 初始化 CM 脚本

              /opt/cloudera-manager/cm-5.15.1/share/cmf/schema/scm_prepare_database.sh  mysql -h ip -u root -pXXXX --scm-host ip scm scm scmdb

             说明:这个脚本是用来创建和配置CMS 需要的数据库脚本,各参数解释如下:

              mysql : 数据库用的是mysql, 这个地方就是选择你安装数据库的类型,如果安装的是oracle ,postgresql  那这个地方的参数就是 oracle ,postgresql 

              root:  我这里用的是超级管理账号创建的,普通账号也是可以的    -p  密码就是 创建数据库设置root 密码

              scm   scm   scmdb  分别意思是  数据库名,数据库用户名,数据库密码, 密码必须为大小写加特殊符号 

             

             看到如下信息说明是成功的

             [main] DbCommandExecutor              INFO  Successfully connected to database. All done, your SCM database is configured correctly!

九  CDH 制作本地源

               将下载好的 CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel  CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1 manifest.json  三个文件放到 master /opt/cloudera/parcel-repo 下

              要把CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1 重命名为 CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha

              mv CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1 CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha   为了在安装软件的时候,从本地安装,不去网上下载,这样速度比较快。

              image.png 

            打开 manifest.json文件,里面是json 格式的设置,找到对应的版本,修改为 重命名文件名字,并加上 .sha 后缀 如下图:

   image.png

 十  CDH 安装

      分别启动  master 服务  agent 服务 

      进入浏览器 输入  http://master:7180

      用户名,密码 都是  admin

      以下图片,摘抄于网络

     image.png

    image.png

image.png

image.png

    这个地方安装的时候,如果cdh 本地源配置正确,这个地方,进度条瞬间100%,如果设置不正确,会从网上下载。

     选择,需要安装的服务,我们这里选择自定义服务

     image.png

     image.png

      根据自己的需求,选择相对应的服务,这里不解释,每一个公司对应的需求都是不相同。

     

      KAFKA 安装比较特殊些,在这里讲下  KAFKA 安装

   image.png

     我这里是已经下载安装好的,新的环境,点击下载,安装完成之后,需要点击激活才可使用。

    image.png

   以下是我安装好的集群

   image.png

   

                                                                                                                                                                                                                                                                                                                  QQ: 2263260462  

                                                                                                                                                                                                                                                                                                                                      Alon