CDH离线安装

    技术2023-08-02  114

    cloudera manager和CDH安装(离线安装)

    一:所需组件的下载

    1:选择适合操作系统的cloudera manager和CDH连接:

    首先需要查看自己linux的版本比如:

     

    根据自己系统的版本选择适合自己系统的cloudera manager和parcel:下边连接为官网版本之间对照要求:

    https://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html

    2:下载cloudera manager

    下载cloudera manager连接:http://archive.cloudera.com/cm5/cm/5/,

    解释说明(举例): cloudera-manager-centos7-cm5.11.0_x86_64.tar.gz,

    这个下载包里面的centos7所指为具体的操作系统的版本,centos7,centos6,centos5等,cm5.11.0指的是cloudera manager的版本,后面32,64为操作系统。

    3:下载parcel

    parcel连接:http://archive.cloudera.com/cdh5/parcels/5.11/,需要下载三个文件:

    CDH-5.11.0-1.cdh5.11.0.p0.34-el7.parcel,CDH-5.11.0-1.cdh5.11.0.p0.34-el7.parcel.sha1

    manifest.json

    解释说明(举例):这里面的CDH-5.11.0-1对应前面的cloudera manager版本,后面的el7指的是centos7,同样也有centos7,centos6,centos5等,选择下载的时候注意版本的对应。(Cloudera Manager小版本必须始终等于或大于CDH次要版本 )即可。

    4:下载JDK

    jdk连接:

    http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    选择对应的jdk版本jdk-8u131-linux-x64.tar.gz注意版本。

    5:下载数据库的驱动jar

    选择需要安装对应的数据库的驱动jar即可

    mysql-connector-java-5.1.22-bin.jar。

    二:配置基本环境

    1:修改本机固定IP地址(每个节点都要配置)

    (如果centos系统是最小化安装,会有ifconfig命令无效问题,解决办法:

    yum provides ifconfig

    yum install net-tools)

    然后修改固定IP:

    vi /etc/sysconfig/network-scripts/ifcfg-*

     

    BOOTPROTO="static" #dhcp改为static

    ONBOOT="yes" #开机启用本配置

    IPADDR=192.168.122.203 #静态IP

    GATEWAY=192.168.122.254 #默认网关

    NETMASK=255.255.255.0 #子网掩码

    DNS1=114.114.114.114 #DNS 配置

    2:修改主机名和hosts(每个节点都要配置)

    hostnamectl set-hostname n1

    vi /etc/hosts

     

    前边为ip地址,后边为对应的hostname

    重启系统(所有节点)

    3:配置jdk,根据下载的jdk进行配置(每个节点都要配置)

    解压到/usr/local的下面

    tar -zvxf jdk-8u131-linux-x64.tar.gz -C /usr/local

     

    配置环境变量

    vi /etc/profile

     

    source /etc/profile生效环境变量

    4:安装NTP服务(每个节点都要配置)(有的系统默认已经安装)

    如果没有安装yum install -y ntp(centos命令)

    vi /etc/ntp.conf

     

    (主节点)注释前面的server,添加一个自己选择的时间同步服务

     

    (节点)注释前面的server,添加server的ip地址指向主节点。

    启动systemctl start ntpd(启动命令可能不一样,根据具体的系统);

    5:SSH无密码登陆(每个节点都要配置)

    ssh-keygen -t rsa一直回车

    进入查看cd ~/.ssh/ 然后ls查看生公钥私钥

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys(本地ssh,每个节点都要执行)

    把主节点的公钥复制到其他节点

    scp ~/.ssh/id_rsa.pub n1:/root/id_rsa.pub

    scp ~/.ssh/id_rsa.pub n2:/root/id_rsa.pub......等等

    把主节点传过来的公钥追加到~/.ssh/authorized_keys

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

    在主节点进行测试ssh n1,ssh n2......等等

    每个节点可以ssh localhost,主节点可以ssh节点,配置完成。

    6:配置数据库(只需要在主节点安装即可)

    本次使用的yum库安装(可以根据情况,选择适合的安装方式);

    (1)下载yum库:

    wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

    (如果wget命令找不到,就先安装wget:yum -y install wget)

    安装yum库:

    yum localinstall -y mysql57-community-release-el7-7.noarch.rpm

    (3)安装数据库:

    yum install -y mysql-community-server

    (4):vi /etc/my.cof末尾添加skip-grant-tables配置

       重启mysql服务:systemctl restart mysqld.service

    (5)mysql直接进入mysql -uroot

    update mysql.user set authentication_string=password("yourpassword") where user="root";设置自己的登陆密码;quit退出,vi /etc/my.cof,去掉配置skip-grant-tables配置重启mysql。

    (6)mysql -uroot -p输入密码登陆mysql,如果提示设置密码,set password = password('yourpassword');即可。

    (7):创建scm用户数据库:

    (如果创建数据库不成功就执行:alter user 'root'@'localhost' identified by 'YEdongsheng123456..';)

    create database scm default character set utf8;

    grant all on scm.* to root@'%' identified by 'ZHUhuanyu005..';

    同样假如若是安装所有服务,则要创建hive,oozie,hue等源数据库,授权也可这样配置

    grant all on *.* to root@"%" Identified by 'yourpassword';

    7:关闭防火墙和SELinux;(每个节点都要配置)

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

    关闭防火墙systemctl stop firewalld.service

    如果需求具体配置防火墙端口:例如配置hadoop的端口:

    #添加hdfs管理界面端口

      firewall-cmd --zone=public --add-port=50070/tcp --permanent

      #hdfs的文件系统端口

      firewall-cmd --zone=public --add-port=50075/tcp --permanent

      #添加yarn管理界面的端口

      firewall-cmd --zone=public --add-port=8088/tcp --permanent

      #重启防火墙

      firewall-cmd --reload

    官网端口对照连接:

    https://www.cloudera.com/documentation/cdh/5-1-x/CDH5-Installation-Guide/cdh5ig_ports_cdh5.html如果使用防火墙则需要配置主从节点所有所用服务的端口,否则将出现无法连接的异常。

    三:安装cloudera manager和CDH

    1:安装cloudera-manager(只需要在主节点安装即可)

    解压到/opt/下面(必须解压到/opt/下)

    tar -zxvf cloudera-manager-centos7-cm5.11.0_x86_64.tar.gz  -C /opt/

    将下载好的

    mysql-connector-java-5.1.22-bin.jar 放到/opt/cm-5.11.0/share/cmf/lib/

    2:创建用户(主节点)

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

    3:初始化本地数据scm(主节点)

    /opt/cm-5.11.0/share/cmf/schema/scm_prepare_database.sh mysql scm scm yourpassword

    4:配置节点(主节点复制到节点)

    修改/opt/cm-5.11.0/etc/cloudera-scm-agent/config.ini中server_host改为主节点ip或名称

     

    通过scp:scp -r /opt/cm-5.11.0 slave1:/opt/.....复制到每个节点

    5:创建用户(其他节点)

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

    6:准备Parcels,用以安装CDH(每个节点都要配置)

    创建Parcle的存放目录/opt/cloudera/parcel-repo/,然后将前面下载的三个文件:

    CDH-5.11.0-1.cdh5.11.0.p0.34-el7.parcel

    CDH-5.11.0-1.cdh5.11.0.p0.34-el7.parcel.sha1(修改名称为

    CDH-5.11.0-1.cdh5.11.0.p0.34-el7.parcel.sha)

    Manifest.json

     

    (CDH-5.11.0-1.cdh5.11.0.p0.34-el7.parcel.torrent为后期自动生成的)

    7:启动服务

    检查ntp(所有节点),防火墙(所有节点),SELinux(所有节点),mysql数据库(主节点)状态。

    主节点执行/opt/cm-5.11.0/etc/init.d/cloudera-scm-server start(访问webip为本机ip)

    所有节点/opt/cm-5.11.0/etc/init.d/cloudera-scm-agent start

     

    8: CDH安装

    安装前操作:

    (1)设置vm.swqppiness大小为10

        临时改变:

         echo 10 > /proc/sys/vm/swappiness    

        永久改变:

         vim /etc/sysctl.conf

         vm.swappiness=10

    (2)解决其中一个警告“透明大页面”,如果还有警告,可忽略。

        echo never>/sys/kernel/mm/transparent_hugepage/defrag

        echo never>/sys/kernel/mm/transparent_hugepage/enabled

    (3)如果centos是最小化安装,那么安装过程中hue是连不上的,缺个东西:

           yum install -y python-lxml

    (4)日志中可能会显示没装perl,那就装一下(所有节点)

           yum install -y perl

    (5)日志中显示JAVA_HOME找到的,解决办法:

         find / -type f -name "*.sh" | xargs grep "as ALT_NAME"  找到deploy-cc.sh

         比如我的是定位到/opt/cm/lib64/cmf/service/client/deploy-cc.sh

         然后直接在上面加上

         JAVA_HOME=/opt/java

         export JAVA_HOME=/opt/java

         建议放在echo "using $JAVA_HOME as JAVA_HOME"语句上面

         最后scp到每个节点

        scp /opt/cm/lib64/cmf/service/client/deploy-cc.sh n1:/opt/cm/lib64/cmf/service/client/ ...

        然后执行命令:cat /etc/environment (每个节点)

        安装页面点“重试”应该就好了

    (6)如果要安装hive,就把mysql的JDBC放到如下目录里(如果不放,hive启动时会出错)

         cp mysql-connector-java-5.1.40-bin.jar /opt/cloudera/parcels/CDH-5.9.0-1.cdh5.9.0.p0.23/lib/hive/lib/

    (7)如果要安装oozie,就把mysql的JDBC放到如下目录里(如果不放,oozie启动时会出错)

        cp mysql-connector-java-5.1.40-bin.jar /var/lib/oozie/

    安装前所有步骤做完之后,就可以访问页面(ip:7180)开始安装CDH服务。首次进入时用户名和密码都是admin。

    9:安装CDH过程中出现异常如何重装?

    1:对于启动Agent服务的节点,会在/opt/cm-5.11.0/lib/cloudera-scm-agent/产生uuid,需要将该目录下的文件全部删除:rm -rf /opt/cm-5.11.0/lib/cloudera-scm-agent/*。

    如果该节点为新增节点,节点内容为从其他节点拷贝过来的,则需要在首次启动节点的时候也将该目录下uuid等内容删除。

    2:清空Mysql中SCM对应的数据库。

    进入mysql,drop database scm;新建数据库

    新建数据库:create database scm default character set utf8;

    给权限:grant all on scm.* to root@'%' identified by 'ZHUhuanyu005..';

    格式化:scm:/opt/cm-5.11.0 /share/cmf/schema/scm_prepare_database.sh mysql scm scm yourpassword

    3:重新启动服务

    Processed: 0.009, SQL: 9