美文网首页我爱编程
CDH安装4-具体安装

CDH安装4-具体安装

作者: nightwish夜愿 | 来源:发表于2018-04-03 17:12 被阅读0次

    service cloudera-scm-server status

    /opt/cloudera/cm/lib    下添加mysql驱动

    CDH 添加监控

    http://cdh-dev1:7180/cmf/home

    选择 添加 Cloudera Management Service

    JAVA环境变量配置好,但是CDH无法识别,报错NO JDK

    find / -name cloudera-config.sh

    配置在这里: cat  /opt/cm-5.13.2/lib64/cmf/service/common/cloudera-config.sh

    其中可以看到:

    local JAVA8_HOME_CANDIDATES=(

    '/usr/java/jdk1.8'

    '/usr/java/jre1.8'

    '/usr/lib/jvm/j2sdk1.8-oracle'

    '/usr/lib/jvm/j2sdk1.8-oracle/jre'

    '/usr/lib/jvm/java-8-oracle'

    )

    于是,建立一个已经有的JAVA_HOME  链接到 /usr/java/jdk1.8 就好了!  jdk实际安装在/usr/local/java/jdk1.8.0_111/下

    ln -s /usr/java/jdk1.8/ /usr/local/java/jdk1.8.0_111/

    安装中遇到的问题1:CDH5.13.0的hue的load balance红色警报,无法启动

    查看日志根本没有生成

    解决方案:

    yum install httpd 

    yum install mod_ssl

    安装中遇到的问题1:安装hue时报错

    查看cm-server的log信息,报错如下

    django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb

    module: libmysqlclient.so.18: cannot open shared object file: No such

    file or directory

    解决方案:

    因为centos7自带mariaDB,需要删除,在删除mariaDB的时候,只需要在一台机器上删除即可。

    从未删除mariaDB的机器上的 /usr/lib64/mysql文件夹下拷贝libmysqlclient.so.18到安装了mysql的机器上的

    /usr/lib64/mysql文件夹下, 然后做软连接

    ln -s /usr/lib64/mysql/libmysqlclient.so.18.0.0 /usr/lib64/libmysqlclient.so.18

    一、前期准备

    安装环境

    系统配置:

    系统:centos 7 最小安装版 64位

    内存:10G 10G 10G 8G

    四台机器组成小集群(物理机)

    CDH-DEV1 CDH-DEV2 CDH-DEV3 CDH-DEV4

    需要下载的安装包

    cloudera-manager-centos7-cm5.13.0_x86_64.tar.gz

    CDH相关

    注意下载相应系统的安装包

    CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel

    CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha1

    manifest.json

    jdk-8u144-linux-x64.tar.gz

    mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar

    mysql-connector-java-5.1.44-bin.jar

    Installing Cloudera Manager and CDH

    二、环境配置

    注意所有操作都需要使用root权限操作

    基本配置(所有节点)

    修改 /etc/hostname

    CDH-DEV1

    修改 /etc/hosts,此处一定要注意,不要按照网上有的说明,将127.0.0.1那一行里的localhost.localdomain改成主机名称,在安装Cloudera Agent的时候会识别不出名称和IP

    修改 /etc/sysconfig/network

    NETWORKING=yes

    HOSTNAME=CDH-DEV1

    Java环境(所有节点)

    下载jdk-8u144-linux-x64.tar.gz

    解压到/usr/java(可根据个人习惯创建目录)

    tar xzvf jdk-8u144-linux-x64.tar.gz

    配置环境变量

    [root@CDH-DEV1 .ssh]# vim /etc/profile #在文件末尾添加下面三行

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

    export PATH=$JAVA_HOME/bin:$PATH

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

    [root@CDH-DEV1 .ssh]# source /etc/profile #使生效

    SSH无密码登录(集群内节点能够互相无密码访问)

    思路:第一台机器配置authorized_keys,scp到第二台机器,将第二台机器的公钥添加到authorized_keys,然后将其scp到第三台,以此类推,直到配置到最后一台机器,将最后一台机器的authorized_keys scp到所有节点,如下

    1)在主节点(CDH-DEV1)执行  免密登录步骤错误 待改

    [root@CDH-DEV1 .ssh]# ssh-keygen -t rsa

    [root@CDH-DEV1 .ssh]# cat id_rsa.pub >> authorized_keys

    [root@CDH-DEV1 .ssh]# chmod 600 authorized_keys

    [root@CDH-DEV1 .ssh]# scp authorized_keys root@CDH-DEV2:~/.ssh

    2)在CDH-DEV2执行

    [root@CDH-DEV2 .ssh]# ssh-keygen -t rsa

    [root@CDH-DEV2 .ssh]# cat id_rsa.pub >> authorized_keys

    [root@CDH-DEV2 .ssh]# chmod 600 authorized_keys

    [root@CDH-DEV2 .ssh]# scp authorized_keys root@CDH-DEV3:~/.ssh

    3)在CDH-DEV3执行

    [root@CDH-DEV3 .ssh]# ssh-keygen -t rsa

    [root@CDH-DEV3 .ssh]# cat id_rsa.pub >> authorized_keys

    [root@CDH-DEV3 .ssh]# chmod 600 authorized_keys

    [root@CDH-DEV3 .ssh]# scp authorized_keys root@CDH-DEV4:~/.ssh

    4)在CDH-DEV4执行

    [root@CDH-DEV4 .ssh]# ssh-keygen -t rsa

    [root@CDH-DEV4 .ssh]# cat id_rsa.pub >> authorized_keys

    [root@CDH-DEV4 .ssh]# chmod 600 authorized_keys

    [root@CDH-DEV4 .ssh]# scp authorized_keys root@CDH-DEV1:~/.ssh

    [root@CDH-DEV4 .ssh]# scp authorized_keys root@CDH-DEV2:~/.ssh

    [root@CDH-DEV4 .ssh]# scp authorized_keys root@CDH-DEV3:~/.ssh

    安装MySQL(主节点安装即可)

    安装步骤:

    (1)此处需要注意的是centos 7 默认安装的是mariadb,如果不卸载直接安装的话会报错,报错信息mariadb-libs is obsoleted by mysql-community-libs-5.7.9-1.el7.x86_64

    rpm -qa | grep mariadb #查看安装信息

    rpm -e mariadb-libs* --nodeps #根据查找到的软件包信息卸载

    (2)安装MySQL(必须按以下顺序安装) 按照此法无法安装

    rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm

    rpm -ivh mysql-community-libs-5.7.9-1.el7.x86_64.rpm

    rpm -ivh mysql-community-client-5.7.9-1.el7.x86_64.rpm

    rpm -ivh mysql-community-server-5.7.9-1.el7.x86_64.rpm

    (3)基本设置

    service mysqld start #启动服务

    vim /var/log/mysqld.log  #查看初始密码

    mysql -uroot -p  #登录

    set password = password('test01.') #设置密码  密码要

    #授权用户root使用密码passwd从任意主机连接到mysql服务器

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'passwd' WITH GRANT OPTION;

    flush privileges;

    MYSQL 5.7 密码要复杂

    GRANT ALL PRIVILEGES ON *.* TO 'scm'@'%' IDENTIFIED BY 'passwd' WITH GRANT OPTION;

    GRANT ALL PRIVILEGES ON *.* TO 'scm'@'localhost' IDENTIFIED BY 'passwd' WITH GRANT OPTION;

    flush privileges;

    (4)建数据库(用于后边组件安装)

    create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

    create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

    create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

    关闭防火墙(所有节点)

    centos 7 默认使用的是firewall,不是iptables

    systemctl stop firewalld.service

    systemctl stop firewalld.service #停止firewall

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

    systemctl mask firewalld.service  #

    关闭SELinux(所有节点)

    [root@CDH-DEV1 .ssh]# vim /etc/selinux/config

    设置SELINUX=disabled

    配置NTP服务(所有节点)

    安装

    [root@CDH-DEV1 .ssh]# yum install ntp

    设置开机启动

    [root@CDH-DEV1 .ssh]# chkconfig ntpd on

    同步时间

    ntpdate pool.ntp.org

    服务启动

    [root@CDH-DEV1 .ssh]# service ntpd start

    查看时间同步状态

    ntpstat

    所有节点上创建用户

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

    三、安装

    安装Cloudera Manager Server 和Agent

    (1)将下载好的cloudera-manager-centos7-cm5.13.0_x86_64.tar.gz解压到主节点的/opt/,解压出来的文件夹为cloudera与cm-4.13.0

    (2)为Cloudera Manager建立数据库,此处需要前边下载好的mysql-connector-java-5.1.44-bin.jar

    scp mysql-connector-java-5.1.44-bin.jar root@CDH-DEV1:/opt/cm-5.13.0/share/cmf/lib/

    scp mysql-connector-java-5.1.44-bin.jar root@CDH-DEV1:/usr/share/java/

    /opt/cm-5.13.0/share/cmf/schema/scm_prepare_database.sh mysql -uroot -p scm scm

    (3)配置Agent

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

    server_host=CDH-DEV1

    #拷贝到其他节点

    [root@CDH-DEV1 parcel-repo]# scp -r /opt/cm-5.13.0/ root@cdh-dev2:/opt/

    [root@CDH-DEV1 parcel-repo]# scp -r /opt/cm-5.13.0/ root@cdh-dev3:/opt/

    [root@CDH-DEV1 parcel-repo]# scp -r /opt/cm-5.13.0/ root@cdh-dev4:/opt/

    (4)准备parcels,将CDH相关文件拷贝到主节点/opt/cloudera/parcel-repo/

    #相关文件 

    CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel

    CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha1

    manifest.json

    #操作

    scp mysql-connector-java-5.1.44-bin.jar root@CDH-DEV1:/opt/cm-5.13.0/share/cmf/lib/

    scp mysql-connector-java-5.1.44-bin.jar root@CDH-DEV1:/usr/share/java/

    需要将CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha1改成CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha,否则安装时会重新下载,很重要!!

    [root@CDH-DEV1 parcel-repo]# mv CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha1 CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha

    (5)启动

    #主节点

    /opt/cm-5.13.0/etc/init.d/cloudera-scm-server start

    #主节点及其他节点

    /opt/cm-5.13.0/etc/init.d/cloudera-scm-agent start

    启动需要点时间,可以查看数据库scm中的hosts表,如果里面出现节点信息表示server启动完成

    2. 开始安装Hadoop集群

    登录界面,默认登录用户名和密码都是admin

    选择安装版本

    为CDH群集安装指定主机

    此处是在当前管理的主机里选择机器,不要在新主机里查找,另外这个地方显示的主机信息一定要对,我开始的时候因为主机名配置出问题,导致无法识别主机名称和IP,虽然agent的uuid是分配到了四台机器上,但是后边的安装无法进行。

    群集安装

    群集安装--安装指定parcel

    分配时间受带宽影响,我的是千兆交换机组成的局域网,速度还可以,应该不到十分钟

    检查主机正确性

    第一个警告直接在所有节点上执行echo 10 > /proc/sys/vm/swappiness

    第二个警告按照上面的说明,在所有节点上执行这两条命令

    echo never > /sys/kernel/mm/transparent_hugepage/defrag >> /etc/rc.local

    echo never > /sys/kernel/mm/transparent_hugepage/enabled >> /etc/rc.local

    群集设置--选择安装服务--按需选择

    群集设置--自定义角色--默认即可

    群集设置--数据库设置

    此处hue老出问题,一直解决不了,为了整条线走下去,而且目测hue基本用不到,所以选择了放弃安装hue.

    贴一下网上找的几个解决方法,我都试了,没有解决,不知道什么问题,以后研究研究

    缺少mysql-community-libs-compat-5.7.20-1.el7.x86_64.rpm

    缺少python-lxml,yum install python-lxml

    群集设置--审查--默认即可

    群集设置--首次设置--默认即可

    开始安装服务

    此处hive ,oozie会安装失败,失败信息如下。因为我们使用了MySQL作为hive元数据存储,需要将mysql驱动拷贝到hive和oozie目录下

    解决方法(需要在所有节点上执行)

    cp /opt/cm-5.13.0/share/cmf/lib/mysql-connector-java-5.1.44-bin.jar /opt/cloudera/parcels/CDH-5.13.0-1.cdh5.13.0.p0.29/lib/hive/lib/

    cp /opt/cm-5.13.0/share/cmf/lib/mysql-connector-java-5.1.44-bin.jar /var/lib/oozie/     

    安装完成

    四、踩过的坑

    数据库配置

    问题描述:开始给Cloudera Manager配置数据库的时候,找的是网上的命令,/opt/cm-5.13.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p --scm-host localhost scm scm scm,一直报错,不知道什么问题,报错信息java.sql.SQLException: Your password does not satisfy the current policy requirements,各种改密码复杂度及降低数据库密码复杂度要求都不行,怀疑是CDH版本更新命令参数发生了变化

    解决方法,去掉部分参数,

    /opt/cm-5.13.0/share/cmf/schema/scm_prepare_database.sh mysql -uroot -p scm scm

    cloudera-scm-server启动,cm-5.13.0/etc/init.d/cloudera-scm-server:行109: pstree: 未找到命令,centos最小安装版缺少软件包,安装即可,yum install psmisc

    中途安装失败,重新安装

    关闭所有服务

    #主节点

    [root@CDH-DEV1 opt]# /opt/cm-5.13.0/etc/init.d/cloudera-scm-server stop

    #主节点及其他节点

    [root@CDH-DEV1 opt]# /opt/cm-5.13.0/etc/init.d/cloudera-scm-agent stop

    删除agent uuid

    rm -rf /opt/cm-5.13.0/lib/cloudera-scm-agent/*

    删除数据库scm

    重新配置数据库

    /opt/cm-5.13.0/share/cmf/schema/scm_prepare_database.sh mysql -hlocalhost -uroot -p scm scm

    启动Cloudera server和agent,按照之前步骤安装即可

    五、参考网站

    Installing Cloudera Manager and CDH

    Cloudera Manager 5和CDH5离线安装,CDH-5.7.1

    离线安装Cloudera Manager 5和CDH5(最新版5.1.3) 完全教程

    相关文章

      网友评论

        本文标题:CDH安装4-具体安装

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