美文网首页
CM 6.0.1云平台离线部署及优化

CM 6.0.1云平台离线部署及优化

作者: 爱斯基摩白 | 来源:发表于2019-01-31 11:46 被阅读0次

    1.1.1 查看操作系统

    uname -a

    cat /etc/redhat-release

    rpm -q centos-release

    cat /proc/version

    实际配置

    总物理内存116.7G

    逻辑CPU 60

    xx.xx.xx.73 4

    xx.xx.xx.74 4

    xx.xx.xx.77 8

    xx.xx.xx.78 8

    xx.xx.xx.80 4

    xx.xx.xx.84 8

    xx.xx.xx.85 8

    xx.xx.xx.86 8

    xx.xx.xx.87 8

    1.1.3 主机名

    1. 修改 配置文件

    vi /etc/sysconfig/network

    HOSTNAME=mgt01

    1. 修改系统内核

    hostname mgt01

    三种方式

    a) hostname DB-Server

    b) echo DB-Server > /proc/sys/kernel/hostname

    1.1.4 Host配置

    /etc/hosts

    9台机器分别对应配置

    xx.xx.xx.73 nq01
    xx.xx.xx.74 nq02
    xx.xx.xx.77 mgt01
    xx.xx.xx.78 mgt02
    xx.xx.xx.80 int01
    xx.xx.xx.84 app03
    xx.xx.xx.85 app04
    xx.xx.xx.86 app05

    xx.xx.xx.87 app06

    1.1.4.1 系统资源限制查看

    ulimit –a

    关注如下

    l open files

    l max user processes

    1.1.4.2 修改limits.conf

    echo -e "\n" >> /etc/security/limits.conf

    echo -e "* soft nproc unlimited" >> /etc/security/limits.conf

    echo -e "* hard nproc unlimited" >> /etc/security/limits.conf

    echo -e "* soft nofile 655350" >> /etc/security/limits.conf 65535

    echo -e "* hard nofile 655350" >> /etc/security/limits.conf 65535 登陆会有告警

    echo -e "* soft memlock unlimited" >> /etc/security/limits.conf

    echo -e "* hard memlock unlimited" >> /etc/security/limits.conf

    echo -e "\n" >> /etc/security/limits.conf

    1.1.4.3 修改login

    echo -e "session required pam_limits.so" >> /etc/pam.d/login

    1.1.4.4 修改 90-nproc.conf

    vi /etc/security/limits.d/90-nproc.conf

    注释一下内容

    |

    * soft nproc 1024

    |

    1.1.5 内存优化(swap)

    1.1.5.1 查看swap分信息

    swapon -s

    1.1.5.2 关闭分区

    swapoff /dev/dm-1

    1.1.5.3 修改 swappiness 文件

    echo 0 > /proc/sys/vm/swappiness

    1.1.5.4 修改sysctl.conf 文件

    echo -e "\n\nvm.max_map_count = 262144" >> /etc/sysctl.conf

    echo -e "fs.file-max = 1645037" >> /etc/sysctl.conf

    echo -e "vm.swappiness = 0" >> /etc/sysctl.conf

    sysctl vm.swappiness=0

    sysctl -p

    swapoff -a

    1.1.5.5 其他

    临时修改

    sysctl -w vm.swappiness=1

    永久修改

    echo "vm.swappiness=1" >> /etc/sysctl.conf

    1.1.6 关闭透明大页面压缩

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

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

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

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

    1.1.7 禁用 IPV6

    echo " " >> /etc/modprobe.d/dist.conf

    echo "alias net-pf-10 off" >> /etc/modprobe.d/dist.conf

    echo "alias ipv6 off" >> /etc/modprobe.d/dist.conf

    1.1.8 关闭Selinux

    (1) 使用getenforce命令查看是否关闭。或者使用 getenforce 也可

    (2) 修改/etc/selinux/config 文件

    将SELINUX=enforcing改为SELINUX=disabled,执行该命令后重启机器生效

    (3) 也可以不用重启机器,临时更改的方式

    setenforce 0

    设置SELinux 成为permissive模式 setenforce 1 设置SELinux 成为enforcing模式

    1.1.9 关闭防火墙

    1.1.9.1 状态查看

    如果是running 则关闭

    service iptables status

    1.1.9.2 关闭

    service firewalld stop
    systemctl disable firewalld.service #禁止firewall开机启动 firewall-cmd --state #(关闭后显示notrunning,开启后显示running

    1.1.10 SSH免密码登录

    命令用于为“ssh”生成、管理和转换认证密钥,它支持RSA和DSA两种认证密钥。

    自己电脑和服务器都:rm -rf ~/.ssh

    1. ssh-keygen -t rsa(中间过程直接enter默认)

    ssh-copy-id asiainfo@mgt01 (除了输密码全部按回车就行了)

    这样就可以免密登录了。ssh-keygen 会在电脑上生成 ~/.ssh目录,和两个文件 , 而ssh-copy-id 会将自己电脑下的/.ssh/id_rsa.pub公钥文件,拷到服器上的/.ssh目录下,服务器没有/.ssh目录,就会自动建立,将id_rsa.pub加到/.ssh/authorized_keys中,ssh-copy-id是很不错,省了scp 和 cat两个命令。

    2. ~/.ssh/生成2个文件:

    id_rsa - 私钥

    id_rsa.pub - 公钥

    3.将生成的公钥文件,复制到远程服务器上

    scp ~/.ssh/id_rsa.pub root@ip:

    4.得将公钥内容保存到远程服务器的用户家目录/.ssh/authorized_keys文件,该文件不存在,我们可先建立

    cd

    mkdir .ssh

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

    5.权限设置:(root用户可不用设置)

    chmod 700 hadoop

    chmod 700 .ssh

    chmod 600 .ssh/*

    6. host 表中配置

    添加对应的主机名配置

    1.1.11 给普通用户root权限

    chmod u+w /etc/sudoers

    vi /etc/sudoers

    asiainfo ALL ALL

    chmod u-w /etc/sudoers

    1.1.12 时钟同步

    1.1.12.1 服务端

    1. 安装

    sudo -u root rpm -ivh chrony-2.1.1-2.el6_8.x86_64.rpm

    1. 查看服务状态

    service chronyd status

    1. 开机自启动

    sudo -u root chkconfig chronyd on

    1. 修改配置文件

    vi /etc/chrony.conf

    local stratum 10 --该行取消注释

    allow 192.168.31.0/24 --允许哪些服务器到这台服务器来同步时间

    1. 重启服务

    service chronyd restart

    1. 设置上海时区

    2. tzselect

    3. 执行tzselect命令-->选择Asia-->选择China-->选择east China - Beijing, Guangdong, Shanghai, etc-->然后输入1

    4. 选择(5)Asia时区

    5. Please identify a location so that time zone rules can be set correctly.

    6. Please select a continent or ocean.

      1. Africa
      1. Americas
      1. Antarctica
      1. Arctic Ocean
      1. Asia
      1. Atlantic Ocean
      1. Australia
      1. Europe
      1. Indian Ocean
      1. Pacific Ocean
      1. none - I want to specify the time zone using the Posix TZ format.
    7. ? 5

    8. 选择国家(9)China

    9. Please select a country.

      1. Afghanistan 18) Israel 35) Palestine
      1. Armenia 19) Japan 36) Philippines
      1. Azerbaijan 20) Jordan 37) Qatar
      1. Bahrain 21) Kazakhstan 38) Russia
      1. Bangladesh 22) Korea (North) 39) Saudi Arabia
      1. Bhutan 23) Korea (South) 40) Singapore
      1. Brunei 24) Kuwait 41) Sri Lanka
      1. Cambodia 25) Kyrgyzstan 42) Syria
      1. China 26) Laos 43) Taiwan
      1. Cyprus 27) Lebanon 44) Tajikistan
      1. East Timor 28) Macau 45) Thailand
      1. Georgia 29) Malaysia 46) Turkmenistan
      1. Hong Kong 30) Mongolia 47) United Arab Emirates
      1. India 31) Myanmar (Burma) 48) Uzbekistan
      1. Indonesia 32) Nepal 49) Vietnam
      1. Iran 33) Oman 50) Yemen
      1. Iraq 34) Pakistan
    10. ? 9

    11. 选择(1)Shanghai当前时区

    12. Please select one of the following time zone regions.

      1. east China - Beijing, Guangdong, Shanghai, etc.
      1. Heilongjiang (except Mohe), Jilin
      1. central China - Sichuan, Yunnan, Guangxi, Shaanxi, Guizhou, etc.
      1. most of Tibet & Xinjiang
      1. west Tibet & Xinjiang
    13. ? 1

    14. 保存(1)Yes 时区

    15. The following information has been given:

    16. China
      
    17. east China - Beijing, Guangdong, Shanghai, etc.
      
    18. Therefore TZ='Asia/Shanghai' will be used.

    19. Local time is now: Wed May 4 14:29:25 CST 2016.

    20. Universal Time is now: Wed May 4 06:29:25 UTC 2016.

    21. Is the above information OK?

      1. Yes
      1. No
    22. ? 1

    23. 执行完tzselect命令选择时区后,时区并没有更改,只是在命令最后提示你可以执行

    24. TZ='Asia/Shanghai'; export TZ

    25. 修改时区配置文件

    26. vi /etc/sysconfig/clock

    27. ZONE="Asia/Shanghai"

    28. 链接到上海时区

    29. rm -rf /etc/localtime

    30. ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    31. 查看时区已经更改

    32. cat /etc/sysconfig/clock

    33. The time zone of the system is defined by the contents of /etc/localtime.

    34. This file is only for evaluation by system-config-date, do not rely on its

    35. contents elsewhere.

    36. ZONE="Asia/Shanghai"

    37. 查看事件源信息

    chronyc sources

    1.1.12.2 客户端

    客户端机器上都要执行

    1. 安装

    sudo -u root rpm -ivh chrony-2.1.1-2.el6_8.x86_64.rpm

    1. 修改配置文件

    sudo -u root vi /etc/chrony.conf

    server 0.centos.pool.ntp.org iburst

    server 1.centos.pool.ntp.org iburst

    server 2.centos.pool.ntp.org iburst

    server 3.centos.pool.ntp.org iburst

    server xx.xx.xx.77 iburst

    local stratum 10

    1. 重启服务

    sudo -u root service chronyd start

    1. 设置上海时区

    tzselect 查看时间同步源:# chronyc sources -v

    测试修改时间

    改服务器时间 date -s 19:11:11

    ntpdate xx.xx.xx.77

    1.2 JDK 安装配置

    参考文章 https://www.linuxidc.com/Linux/2016-09/134941.htm

    方法一:手动解压JDK的压缩包,然后设置环境变量

    1.2.1 创建目录

    1.在/usr/目录下创建java目录

    [root@localhost ~]# sudo -u root mkdir /usr/java

    [root@localhost ~]# cd /usr/java

    1.2.2 下载包

    [root@localhost java]

    curl -O http://download.Oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz

    [root@localhost java]# tar -zxvf jdk-7u79-linux-x64.tar.gz

    1.2.3 设置环境变量

    vi ~/.bash_profile

    |

    JAVA_HOME=/usr/java/jdk1.8.0_161

    JRE_HOME=/usr/java/jdk1.8.0_161/jre

    CLASS_PATH=JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

    PATH=JAVA_HOME/bin:JRE_HOME/bin:PATH:HOME/.local/bin:$HOME/bin

    export JAVA_HOME JRE_HOME CLASS_PATH PATH

    |

    1.2.4 变量生效

    source ~/.bash_profile

    1.2.5 验证

    [root@localhost java]# java -version

    java version "1.8.0_161"

    Java(TM) SE Runtime Environment (build 1.8.0_161-b12)

    Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

    1.3 Mysql安装

    安装环境:RedHat6.5

    第一步:下载

    下载MySQL5.7:

    http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.12-1.el6.x86_64.rpm-bundle.tar

    第二步:安装

    安装前检查服务器是否已安装MySQL,如已安装则将其卸载:

    [root@worker1 tmp]# rpm -qa|grep mysql

    mysql-libs-5.1.71-1.el6.x86_64

    [root@worker1 tmp]# rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64 //卸载

    将下载的文件进行解压:

    [root@worker1 tmp]# tar -xf mysql-5.7.12-1.el6.x86_64.rpm-bundle.tar

    按顺序依次安装:

    rpm -ivh

    mysql-community-common-5.7.24-1.el6.x86_64.rpm mysql-community-libs-5.7.24-1.el6.x86_64.rpm mysql-community-devel-5.7.24-1.el6.x86_64.rpm mysql-community-client-5.7.24-1.el6.x86_64.rpm mysql-community-server-5.7.24-1.el6.x86_64.rpm

    不出意外,MySQL应该已经安装成功。

    第三步:环境变量设置

    启动MySQL:service mysqld start

    登录:mysql -u root -p,初次登录密码为空,直接回车:

    为什么会出现这个错误,原因是因为MySQL5.7中的mysql.user 表中没有Password字段,所以要以安全方式登录,然后修改密码。

    解决方法如下:

    修改MySQL配置文件:vim /etc/my.cnf,在文件末尾加上:skip-grant-tables,保存后重启MySQL服务:service mysqld restart,然后重新登录。

    修改密码,用户密码是在名为mysql的database下面:

    依次执行以下指令:

    mysql> use mysql

    mysql> update user set password_expired='N' where user='root’;

    mysql> update user set authentication_string=password('123456') where user=‘root’;

    mysql> flush privileges;

    注意:一定要将my.cnf配置文件之前加的跳过密码检测内容去掉,重启服务;

    其他:

    编码设置:vim /etc/my.cnf,文件末尾加上编码内容default-character-set=utf8

    允许远程访问MySQL:

    赋予任何主机访问数据的权限

    mysql>grant all privileges on . to ‘root’@’%’with grant option;

    会报错:ERROR 1133 (42000): Can’t find any matching row in the user table

    其实如果事先在mysql.user表中存在root用户就正常了,或,将这句末尾加上identified by ‘密码’ 也就正常了。如下面的命令行

    mysql>grant all privileges on . to ‘root’@’%’identified by ‘123456’ with grant option;

    更改密码策略:

    mysql> set global validate_password_length=0; --更改密码长度

    mysql> set global validate_password_policy=0; --更改密码策略为LOW

    grant all privileges on .to 'root'@'%' with grant option;

    grant all privileges on . to 'root'@'%' identified by '123456' with grant option;

    echo " " >> /etc/modprobe.d/dist.conf

    echo "alias net-pf-10 off" >> /etc/modprobe.d/dist.conf

    echo "alias ipv6 off" >> /etc/modprobe.d/dist.conf

    创建cloudera所需数据库及用户并赋权限

    create database scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    grant all on scm.* TO 'scm'@'%' IDENTIFIED BY 'xxx';

    grant all on scm.* TO 'scm'@' mgt01' IDENTIFIED BY 'xxx';

    grant all on scm.* TO 'scm'@'localhost' IDENTIFIED BY 'xxx';

    create database amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    grant all on amon.* TO 'amon'@'%' IDENTIFIED BY 'xxx';

    grant all on amon.* TO 'amon'@' xxx' IDENTIFIED BY 'xxx';

    grant all on amon.* TO 'amon'@'localhost' IDENTIFIED BY 'xxx';

    create database rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    grant all on rman.* TO 'rman'@'%' IDENTIFIED BY 'xxx';

    grant all on rman.* TO 'rman'@' mgt01' IDENTIFIED BY 'xxx';

    grant all on rman.* TO 'rman'@'localhost' IDENTIFIED BY 'xxx';

    create database metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'xxx';

    grant all on hive.* TO 'hive'@' mgt01' IDENTIFIED BY 'xxx';

    grant all on hive.* TO 'hive'@'localhost' IDENTIFIED BY 'xxx';

    ************由于主机规划调整**********由mgt01为主节点调整为nq01为主节点

    grant all on hive.* TO 'hive'@' nq01' IDENTIFIED BY 'xxx';

    grant all privileges on metastore.* to ' hive '@' xxx';

    grant all privileges on metastore.* to ' hive '@' xxx';


    create database nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    grant all on nav.* TO 'nav'@'%' IDENTIFIED BY 'xxx';

    grant all on nav.* TO 'nav'@' mgt01' IDENTIFIED BY 'xxx';

    grant all on nav.* TO 'nav'@'localhost' IDENTIFIED BY 'xxx';

    create database navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    grant all on navms.* TO 'navms'@'%' IDENTIFIED BY 'xxx';

    grant all on navms.* TO 'navms'@' mgt01' IDENTIFIED BY 'xxx';

    grant all on navms.* TO 'navms'@'localhost' IDENTIFIED BY 'xxx';

    flush privileges;

    exit

    登陆验证

    mysql -unavms -pxxx

    执行成功就表示可以登陆

    注 :安装之前先查看是否安装有其他版本的postgresql,如果有要进行删除

    rpm -qa

    1.4 安装配置数据库scm_prepare_database.sh

    find -name "scm_prepare_database.sh"

    /opt/cloudera/cm/schema/scm_prepare_database.sh mysql -hmgt01 scm scm

    输入密码

    xxx

    1.5 创建软链接

    ln -s -f

    /usr/share/java/mysql-connector-java.jar /usr/share/java/mysql-connector-java-5.1.46-bin.jar

    /etc/profile

    CLASSPATH=xxxxxxx: /usr/share/java/mysql-connector-java-5.1.46-bin.jar

    1.6 Cloudera Manager6.0.1 安装

    1.6.1 安装用户

    要求:cloudera-manager使用root用户进行安装。

    1.6.2 数据库

    使用 mysql数据库 (xx.xx.xx.77)

    1.6.3 主机规划

    服务端:xx.xx.xx.77 (主节点)

    Agent端:xx.xx.xx.73、xx.xx.xx.74、xx.xx.xx.78、xx.xx.xx.84、xx.xx.xx.85 、xx.xx.xx.86、xx.xx.xx.87

    1.6.4 版本准备

    主节点Server :

    cloudera-manager-agent-5.10.2-1.cm5102.p0.9.el7.x86_64.rpm

    cloudera-manager-daemons-5.10.2-1.cm5102.p0.9.el7.x86_64.rpm

    cloudera-manager-server-5.10.2-1.cm5102.p0.9.el7.x86_64.rpm

    从节点agent :

    cloudera-manager-daemons-5.10.2-1.cm5102.p0.9.el7.x86_64.rpm

    cloudera-manager-agent-5.10.2-1.cm5102.p0.9.el7.x86_64.rpm

    1.6.5 CM 安装配置

    1.6.5.1 CM安装

    1.6.5.1.1 主节点

    xx.xx.xx.77 (server&agent):注意顺序不能乱

    rpm -ivh cloudera-manager-daemons-5.10.2-1.cm5102.p0.9.el7.x86_64.rpm

    rpm -ivh cloudera-manager-agent-5.10.2-1.cm5102.p0.9.el7.x86_64.rpm

    rpm -ivh cloudera-manager-server-5.10.2-1.cm5102.p0.9.el7.x86_64.rpm

    安装 agent时可能会会提示系统缺少包 : 例如

    |

    安装过程中如果出现

    Requires: libmysqlclient.so.18(libmysqlclient_18)(64bit)

    wget http://www.percona.com/redir/downloads/Percona-XtraDB-Cluster/5.5.37-25.10/RPM/rhel6/x86_64/Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm

    rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm

    |

    1.6.5.1.2 从节点

    sudo -u root rpm -ivh cloudera-manager-daemons-6.0.1-610811.el6.x86_64.rpm

    rpm -ivh cloudera-manager-agent-6.0.1-610811.el6.x86_64.rpm

    cloudera-manager-agent-6.0.1-610811.el6.x86_64.rpm

    依赖包

    [图片上传失败...(image-523fae-1548905046625)]

    sudo -u root rpm -e --nodeps httpd-tools-2.2.15-53.el6.x86_64

    sudo -u root rpm -Uvh httpd-tools-2.2.15-69.el6.centos.x86_64.rpm

    sudo -u root rpm -e --nodeps httpd-2.2.15-53.el6.x86_64

    sudo -u root rpm -ivh httpd-2.2.15-69.el6.centos.x86_64.rpm

    sudo -u root rpm -ivh mod_ssl-2.2.15-69.el6.centos.x86_64.rpm

    sudo -u root rpm -ivh keyutils-libs-devel-1.4-5.el6.x86_64.rpm

    sudo -u root rpm -e --nodeps libcom_err-1.41.12-22.el6.x86_64

    sudo -u root rpm -ivh libcom_err-1.41.12-24.el6.x86_64.rpm

    sudo -u root rpm -ivh libsepol-devel-2.0.41-4.el6.x86_64.rpm

    如果出现版本冲突,先卸载旧版本再安装新版本

    sudo -u root rpm -ivh libcom_err-devel-1.41.12-24.el6.x86_64.rpm

    sudo -u root rpm -e --nodeps krb5-libs-1.10.3-57.el6.x86_64

    sudo -u root rpm -Uvh krb5-libs-1.10.3-65.el6.x86_64.rpm

    sudo -u root rpm -ivh libkadm5-1.10.3-65.el6.x86_64.rpm

    sudo -u root rpm -ivh libselinux-devel-2.0.94-7.el6.x86_64.rpm

    sudo -u root rpm -Uvh krb5-devel-1.10.3-65.el6.x86_64.rpm

    sudo -u root rpm -e --nodeps openssl-1.0.1e-48.el6.x86_64

    sudo -u root rpm -ivh openssl-1.0.1e-57.el6.x86_64.rpm

    sudo -u root rpm -Uvh openssl-devel-1.0.1e-57.el6.x86_64.rpm

    sudo -u root rpm -ivh python-psycopg2-2.0.14-2.el6.x86_64.rpm

    *****mysql库特有的***********

    sudo -u root rpm -ivh mysql-libs-5.1.73-8.el6_8.x86_64.rpm

    sudo -u root rpm -e --nodeps mysql-community-server-5.7.24-1.el6.x86_64


    sudo -u root rpm -Uvh MySQL-python-1.2.3-0.3.c1.1.el6.x86_64.rpm

    sudo -u root rpm -ivh cloudera-manager-daemons-6.0.1-610811.el6.x86_64.rpm

    sudo -u root rpm -ivh cloudera-manager-agent-6.0.1-610811.el6.x86_64.rpm

    vi /etc/cloudera-scm-agent/config.ini

    修改 server_host=mgt01

    sudo -u root service cloudera-scm-agent start

    1.6.5.2 CM配置

    1.6.5.2.1 主节点

    vi /etc/cloudera-scm-agent/config.ini

    修改 server_host=mgt01

    1.6.5.2.2 从节点

    和主节点一样

    1.6.5.3 CM启动

    1.6.5.3.1 主节点

    service cloudera-scm-server start

    service cloudera-scm-agent start

    1.6.5.3.2 从节点

    service cloudera-scm-agent start

    1.6.5.4 CM停止

    Server停止:

    service cloudera-scm-server stop

    service mysqld stop

    Agent停止:

    service cloudera-scm-agent stop

    1.6.6 CDH6.0.1安装配置

    1.6.6.1 安装

    1.6.6.1.1 上传包

    CDH的包上传到/opt/cloudera/parcel-repo/目录

    |

    CDH-6.0.1-1.cdh6.0.1.p0.590678-el6.parcel

    CDH-6.0.1-1.cdh6.0.1.p0.590678-el6.parcel.sha256

    manifest.json

    |

    1.6.6.1.2 改名

    改名. sha256 为 .sha

    mv CDH-6.0.1-1.cdh6.0.1.p0.590678-el6.parcel.sha256

    CDH-6.0.1-1.cdh6.0.1.p0.590678-el6.parcel.sha

    或者创建一个后缀名为.sha的文本文件,名字与下载的parcel同名,我下载的为CDH-6.0.1-1.cdh6.0.1.p0.590678-el6.parcel

    ,所以sha文件CDH-6.0.1-1.cdh6.0.1.p0.590678-el6.parcel.sha。然后执行如下命令将hash码写到sha文件中。

    cat > CDH-4.3.0-1.cdh4.3.0.p0.22-el6.parcel.sha

    df5cc61b2d257aaf625341f709a4f8e09754038a

    1.6.6.1.3 重启服务

    service cloudera-scm-server stop

    service cloudera-scm-agent stop

    service cloudera-scm-server start

    service cloudera-scm-agent start

    1.6.6.1.4 登录页面

    启动需要等待一段时间,大约3分钟

    使用默认用户名和密码都为admin登录 http://xx.xx.xx.77:7180/cmf/,界面如下:

    [图片上传失败...(image-77cc86-1548905046625)]

    [图片上传失败...(image-606b79-1548905046625)]

    [图片上传失败...(image-19e60a-1548905046625)]

    然后选择Cloudera Express免费版就可以

    [图片上传失败...(image-caf374-1548905046625)]

    继续进行下一步

    [图片上传失败...(image-814f54-1548905046625)]

    [图片上传失败...(image-1c77ef-1548905046625)]

    选择主机和软件包

    [图片上传失败...(image-96860b-1548905046625)]

    选择软件包(此步骤有没有CDH软件包与CDHparcel包配置有密切关系)

    [图片上传失败...(image-50161e-1548905046625)]

    等待完成进行下一步

    [图片上传失败...(image-48b37d-1548905046625)]

    主机检查

    进行一段时间的主机检查,检查是否有不符合条件的项目

    [图片上传失败...(image-50b1ab-1548905046625)]

    检查完成后得到如下结果为正常

    [图片上传失败...(image-b25427-1548905046625)]

    1.6.6.1.5 主机规划

    服务主机规划:

    zookeeper:

    mgt01、mgt02、 app03、 app04

    hive:

    Gateway mgt01、mgt02、 app03、 app04 HiveMetastoreServer nq01

    HiveServer2 nq01

    Yarn

    ResourceManager nq01 nq02

    JobHistory mgt01

    NodeManager mgt01 mgt02 app03 app04

    spark

    app05 app06

    HDFS

    namenode nq01主节点

    Secondnamenode nq02备节点

    datanode mgt01 mgt02 app03 app04

    HDFSGateway app05 app06 int01

    应用服务

    app05 app06

    1.6.6.1.6 自定义角色分配

    [图片上传失败...(image-e05bcd-1548905046625)]

    [图片上传失败...(image-c60711-1548905046625)]

    [图片上传失败...(image-d49287-1548905046625)]

    [图片上传失败...(image-97878a-1548905046625)]

    [图片上传失败...(image-f81f76-1548905046625)]

    1.6.7 更改角色分配(由于主机规划变更需要更改角色)

    [图片上传失败...(image-70a764-1548905046625)]

    点击需要更改服务器角色的组件

    [图片上传失败...(image-a8b6fa-1548905046625)]

    点击实例

    [图片上传失败...(image-d46f58-1548905046625)]

    [图片上传失败...(image-7755e5-1548905046625)]

    勾选需要更改角色的服务器,点击已选定的操作,可以删除或更改该角色

    如果出现一个 hdfs 创建 /tmp 错误,则是因为一个文件的权限

    /run/cloudera-scm-agent/process/21-hdfs-NAMENODE-createtmp/

    chmod 777 supervisor.conf

    1.6.8 Hive数据库配置

    数据库主机为mgt01

    主节点nq01,由于规划调整,现将mysql客户端装在nq01上,在nq01上连接mgt01mysql服务,最佳方案是在主节点即nq01上安装mysql服务及客户端。

    [图片上传失败...(image-95f2f2-1548905046625)]

    Hive 仓库目录

    /user/hive/warehouse

    Hive Metastore 服务器端口

    9083

    1.6.8.1.1 测试hive是否安装成功

    vi data.txt

    1,sss

    2,dfdf

    3,dfdf

    4,changqun

    data.txt中不要有空行,空行也是一条数据. $ hive 创建一个表 hive>create table test(id int,name string) row format delimited fields terminated by ','; 加载数据 hive>LOAD DATA LOCAL INPATH 'data.txt' OVERWRITE INTO TABLE test;

    查询即可看到结果 hive> select count(*) from test;
    [图片上传失败...(image-68230e-1548905046620)]
    Time taken: 2.701 seconds

    即hive安装成功

    1.6.9 SPARK2.1.3配置

    ①解压

    创建软链接

    ln -s -f spark-2.1.3-bin-hadoop2.6 latest

    ln -s -f latest default

    chmod u+w /etc/sudoers

    sudo给普通用户加root权限

    ②修改配置

    vi ~/.bash_profile

    增加

    SPARK START

    export SPARK_HOME=/home/tools/spark/default

    export PATH=SPARK_HOME/bin:PATH

    SPARK END

    ③赋权限

    sudo hdfs hdfs dfs -chown asiainfo /

    ④拷贝文件

    hdfs dfs -put spark-assembly-2.1.3-hadoop2.6.zip /spark/

    ⑤创建目录

    hdfs dfs -mkdir /spark/ applicationHistory

    ⑥修改配置文件

    conf/spark-defaults.conf

    去除hdfs://ns

    1.6.10 向群集中添加新的主机

    [图片上传失败...(image-13245e-1548905046624)]

    点击"添加群集"-点击"当前管理的主机"-点击"继续"

    [图片上传失败...(image-c01b85-1548905046624)]

    [图片上传失败...(image-a49c36-1548905046624)]

    完成记得要重新部署客户端

    1.6.11 优化

    Q:每个周期的文件量大了很多,有600多MB,备份策略,从1备3,调成1备2

    A:

    [图片上传失败...(image-98539a-1548905046624)]

    1.6.12 卸载

    卸载已安装的cloudera服务端、客户端

    rpm -e --nodeps cloudera-manager-server

    rpm -e --nodeps cloudera-manager-agent

    卸载相关残留文件

    rm -rf /var/log/cloudera-scm-*

    rm -rf /var/lib/cloudera-scm-*

    rm -rf /var/run/cloudera-scm-*

    rm -rf /etc/cloudera-scm*

    查看是否已卸载成功

    rpm -qa | grep cloudera

    如果无返回表示已清除成功否则重回上面几步

    Cloudera 服务端安装

    cloudera-manager-agent-5.10.2-1.cm5102.p0.9.el7.x86_64.rpm

    cloudera-manager-daemons-5.10.2-1.cm5102.p0.9.el7.x86_64.rpm

    cloudera-manager-server-5.10.2-1.cm5102.p0.9.el7.x86_64.rpm

    详见1.5.5

    Cloudera 客户端安装

    cloudera-manager-agent-5.10.2-1.cm5102.p0.9.el7.x86_64.rpm

    cloudera-manager-daemons-5.10.2-1.cm5102.p0.9.el7.x86_64.rpm

    详见1.5.5

    配置客户端服务主机地址

    vim /etc/cloudera-manager-agent/config.ini

    [图片上传失败...(image-5b9a84-1548905046624)]

    其中server_host=服务端ip

    此篇文档是改为server_host=cm-0

    <pre style="mso-pagination:widow-orphan">启动cloudera-manager-server服务</pre>

    <pre style="mso-pagination:widow-orphan">service cloudera-manager-server start</pre>

    <pre style="mso-pagination:
    widow-orphan">查看日志</pre>

    <pre style="mso-pagination:widow-orphan">tail -500f /var/log/cloudera-manager-server/cloudera-manager-server.log</pre>

    <pre style="mso-pagination:widow-orphan">如果看到 start jetty server 表示启动成功</pre>

    调整服务器配置:大文件

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

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

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

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

    离线安装cdh parcel

    mv CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel /opt/cloudera/parcel-repo

    sha1sum CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel | awk '{ print $1 }' > CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel.sha

    chown -R cloudera-scm:cloudera-scm /opt/cloudera

    web->host->parcels->check for new Parcels

    click Distribute

    <pre style="mso-pagination:
    widow-orphan">记住一定要关闭防火墙否则会导致访问不了</pre>

    <pre style="mso-pagination:widow-orphan">systemctl stop firewalld </pre>

    <pre style="mso-pagination:
    widow-orphan">访问服务端地址</pre>

    <pre style="mso-pagination:widow-orphan">http://xx.xx.xx.123:7180/cmf/</pre>

    <pre style="mso-pagination:widow-orphan">[图片上传失败...(image-fbc04a-1548905046624)] </pre>

    <pre style="mso-pagination:
    widow-orphan">默认用户名admin</pre>

    <pre style="mso-pagination:widow-orphan">默认密码admin</pre>

    1.6.13 遇到问题

    1.6.13.1 重新安装HDFS格式化问题

    如果在CM管理控制台删除HDFS然后重装,可能会出现以下问题

    [图片上传失败...(image-8868b1-1548905046624)]

    删除 /DB/dfs/nn 接口 (具体目录以日志为主)

    1.6.13.2 安装 HDFS创建 /tmp 异常

    安装 HDFS时在启动HDFS和创建 /tmp目录时出现异常。异常信息如下

    |

    Wed Mar 14 14:56:25 CST 2018

    Current working directory: /run/cloudera-scm-agent/process/47-hdfs-NAMENODE-format

    Launching one-off process: /usr/lib64/cmf/service/hdfs/hdfs.sh format-namenode cluster8

    Wed Mar 14 14:56:25 CST 2018

    JAVA_HOME=/usr/java/jdk1.8.0_161

    using /usr/java/jdk1.8.0_161 as JAVA_HOME

    using 5 as CDH_VERSION

    using /run/cloudera-scm-agent/process/47-hdfs-NAMENODE-format as CONF_DIR

    using as SECURE_USER

    using as SECURE_GROUP

    CONF_DIR=/run/cloudera-scm-agent/process/47-hdfs-NAMENODE-format

    CMF_CONF_DIR=/etc/cloudera-scm-agent

    unlimited

    Formatting using clusterid: cluster8

    Exit code: 1

    |

    错误原因 :

    CDH parcel 包的权限本来是root权限,结果被更改了。所以导致目中的有些文件无法读取。

    1.6.13.3 主机运行状况不良

    [图片上传失败...(image-8bc8e-1548905046624)] 解决

    参考 http://blog.csdn.net/post_yuan/article/details/79101618

    删除agent目录下面的cm_guid文件,并重启失败节点的agent服务恢复。

    cd /var/lib/cloudera-scm-agent/

    rm -rf cm_guid

    service cloudera-scm-agent restart

    1.6.13.4 副本不足的块

    [图片上传失败...(image-3ac986-1548905046623)]

    DataNode节点只有2个,而安装过程中采用的都是默认配置,dfs.replication 设置的为3,所以导致次报警。通过使用hadoop fsck /命令检查hdfs块信息会提示安装hbase的时候写入的数据块 Target replica is 3 but found 2 replica(s)。解决办法:配置dfs.replication值为2并执行以下命令:

    su hdfs

    hadoop fs -setrep 2/

    或者在页面上更改

    [图片上传失败...(image-4441c0-1548905046623)]

    1.6.13.5 找不到文件3.0.0-cdh6.0.1-mr-framework.tar.gz

    [图片上传失败...(image-1e8d28-1548905046623)]

    9.从Cloudera Manager页面启动YARN服务,步骤略。

    [图片上传失败...(image-5344ac-1548905046623)]

    10.进入YARN服务,点击“安装YARN MapReduce框架jar”

    [图片上传失败...(image-63220b-1548905046623)]

    [图片上传失败...(image-7e0071-1548905046623)]

    [图片上传失败...(image-bd9a3f-1548905046623)]

    11.再次运行Hive的MapReduce任务,这回执行成功

    [图片上传失败...(image-6a367e-1548905046623)]

    相关文章

      网友评论

          本文标题:CM 6.0.1云平台离线部署及优化

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