JavaCentos 7 离线安装Cloudera Manager5 和CDH5.13.0

序言

记录下Hadoop集群的搭建过程及旅途踩过的坑,希望能对正值攻读的同班有个帮助,少走点弯路~

PS:为了便于个人博客管理,此文从CSDN迁移过来,属于民用实际操作纪录的笔记,持续更新~

PPS:本文集群搭建为四台机械,不指出大家这么弄,因为zookeeper发挥最大功能的部署是大于2
的奇数台机器。

PPPS:有问题请下方留言,我们竞相互换,分享使自身洋洋得意~~

一、先前时期准备

  1. 设置环境
    系统安排:

     系统:centos 7 最小安装版 64位
     内存:10G 10G 10G 8G
    

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

     CDH-DEV1 CDH-DEV2 CDH-DEV3 CDH-DEV4
    
  2. 亟需下载的安装包

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

         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
    
  3. Installing Cloudera Manager and
    CDH

二、环境布置

小心有所操作都需要动用root权限操作

  1. 中心配置(所有节点)

    修改 /etc/hostname

     CDH-DEV1
    

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

    image.png

修改 /etc/sysconfig/network

    NETWORKING=yes
    HOSTNAME=CDH-DEV1
  1. 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 #使生效
    
  2. 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-DEV2执行

     [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-DEV2执行

     [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
    
  3. 安装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;
    

    (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;
    
  4. 关门防火墙(所有节点)
    centos 7 默认使用的是firewall,不是iptables

     systemctl stop firewalld.service
     systemctl mask firewalld.service
    
  5. 闭馆SELinux(所有节点)

     [root@CDH-DEV1 .ssh]# vim /etc/selinux/config
    
     设置SELINUX=disabled
    
  6. 部署NTP服务(所有节点)

     安装
     [root@CDH-DEV1 .ssh]# yum install ntp
     设置开机启动
     [root@CDH-DEV1 .ssh]# chkconfig ntpd on
     服务启动
     [root@CDH-DEV1 .ssh]# service ntpd start
    
  7. 负有节点上创办用户

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

三、安装

  1. 安装Cloudera Manager Server 和Agent

(1)将下载好的cloudera-manager-centos7-cm5.13.0_x86_64.tar.gz解压到主节点的/opt/,解压出来的文书夹为clouderacm-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启动完成

  1. 始于设置Hadoop集群

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

image.png

慎选设置版本

image.png

为CDH群集安装指定主机

这边是在脚下保管的主机里挑选机器,不要在新主机里摸索,此外这么些地点显得的主机音讯一定要对,我起始的时候因为主机名配置出问题,导致力不从心甄别主机名称和IP,尽管agent的uuid是分配到了四台机械上,不过后边的安装不可能开展。

image.png

群集安装

image.png

群集安装–安装指定parcel

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

image.png

自我批评主机正确性

image.png

先是个警示直接在装有节点上进行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

群集设置–选取设置服务–按需采取
群集设置–自定义角色–默认即可
群集设置–数据库设置

image.png

此地hue老出问题,一向解决不了,为了整条线走下来,而且目测hue基本用不到,所以接纳了遗弃安装hue.
贴一下网上找的多少个缓解模式,我都试了,没有解决,不精通什么样问题,未来研商探讨

群集设置–审查–默认即可
群集设置–第一次设置–默认即可

起来设置服务
那里hive
,oozie会安装失败,失利音讯如下。因为我们运用了MySQL作为hive元数据存储,需要将mysql驱动拷贝到hive和oozie目录下

image.png

image.png

釜底抽薪办法(需要在拥有节点上执行)

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/        

设置到位

image.png

四、踩过的坑

  1. 数据库配置
    题目讲述:起头给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

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

  3. 半路安装失利,重新安装

    闭馆所有服务

     #主节点
     [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)
完全教程

写在末端

码字不易,觉得好点个赞哈~~

相关文章