CDH6.2安装教程(详细步骤)

一.安装介绍

本文介绍CDH 安装,安装版本以当前最新版CDH 6.2为例。
本文介绍的安装方式为自建YUM源的离线安装方式

二.下载所需安装文件

CDH的离线安装需要下需以下文件:

  • CDH依赖的Python:https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
  • JDK:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  • Mysql5.7:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
  • CM:百度云文件:cloudera-repos.zip,也可参照安装步骤在线下载
  • Parcel:https://archive.cloudera.com/cdh6/6.2.0/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha1
    https://archive.cloudera.com/cdh6/6.2.0/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel
  • Mysql JDBC:http://central.maven.org/maven2/mysql/mysql-connector-java/8.0.16/mysql-connector-java-8.0.16.jar
  • 准备好安装系统的ISO包,用于在缺少依赖包时进行安装

三.确认主机安装环境

1.确认每台服务器的硬件是否满足要求:

空间要求: /var: 5GB /usr : 500MB CDH安装目录: 2GB

检查命令: df -h

内存要求: 4GB(min)

检查命令: free -m

2.检查系统版本:

检查命令:cat /etc/issue

需求版本:CentOS Linux release 7.3.1611 (Core), 支持7.X

3.检查服务器数据存储空间:
CDH的安装建议在每台服务器具有相同的数据存储路径, 并具可以有多个

四.规划集群部署

CDH建议最少3台服务器进行集群部署,本次安装采用三台服务器,规划:

主机名 IP 角色
master01 192.168.1.205 Hadoop Master,CM Server,数据节点,Mysql
slave01 192.168.1.206 数据节点,CMAgent
slave02 192.168.1.207 数据节点,CM Agent

五.修改主机名

使用命令

hostnamectl set-hostname xxx

分别修改三台主机的主机名,如:

hostnamectl set-hostname master01
hostnamectl set-hostname slave01
hostnamectl set-hostname slave02

六.更改主机HOSTS映射文件

将所有集群服务器的IP 主机名都写到/etc/hosts文件中,因为后面的安装服务器选择,都是通过主机名选择。如:在每台服务器的/etc/hosts中增加以下内容:


image.png

七.更改主机HOSTS映射文件

1.停掉系统防火墙服务命令:

systemctl disable firewalld
systemctl stop firewalld

2.停掉系统SELinux
使用以下命令查看SELinux是否开起:
如果输出为: Enable, 则SELinux为开启状态,则使用以下操作关闭:

  • 更改系统配置文件: /etc/sysconfig/selinux
    将行 SELINUX=enforcing 更改为: SELINUX=disabled
  • 重启系统: reboot

八.检查主机时间同步

  • CentOS 7默认以chronycd服务作时间同步,而不以ntpd作为同步服务
    1.所有服务器都以master01作为同步服务器,在所有服务器更改文件:


    CDH6.2安装教程(详细步骤)_第1张图片
    image.png

    a) 文件为: /etc/chrony.conf
    b) 以#注释其它所有默认时间服务器
    c) 增加行server master01 iburst

2.在master01上同时更改如下配置:

image.png

image.png

3.启动服务:

systemctl restart chronyd
systemctl enable chronyd

4.检查服务状态:

chronyc sources
image.png

九.检查主机参数配置

1.设置 vm. swappiness 核心参数:
在 /etc/sysctl.conf文件中追加行:

vm.swappiness = 0

使参数生效,执行命令:

sysctl -p

2.设置hugepage相关参数,执行以下命令:

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

并将该命令,追加到 /etc/rc.local文件中,使系统重启时生效。

十.确认Python环境

1.通过以下命令确定python是否安装以及版本:

python -V

2.Python的版本要求为: 2.6.x, 2.7.x, 如果没有安装或版本不正确,则通过以下方式安装:
a) 创建安装目录:

mkdir /usr/local/python27

b) 解压步骤 2 下载的Python-2.7.11.tgz安装文件:

tar -xvf Python-2.7.11.tgz

c) 进到解压目录里面,然后执行下以命令进行编绎安装:

cd Python-2.7.11
./configure --prefix=/usr/local/python27

更改 Modules/Setup文件

# zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

改为:

zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

去年前面的注释,增加编绎zlib模块,impala-shell命令会用到。

# make
# make install 

d) 修改老版本指向:

# mv /usr/bin/python /usr/bin/python_old
# ln -s /usr/local/python27/bin/python /usr/bin/python

e) 再次使用上面的命令确认是否安装完成

十一.安装依赖包

CDH 6.2安装需要以下依赖包:

  • Python: 2.6 或 2.7版本
  • perl
  • python-psycopg2 : 用于连接postgresql, 如果用Mysql数据库,就不用安装
  • iproute
    以上软件在安装系统时软件选择“Compute Node”时,已全部安装. 一般不用操作!如果出现差包的情况,可参考<十五.制作本地YUM源>, 先制作好YUM源后,使用YUM命令安装。

十二.安装数据库并创建用户和数据库

只需要在master01主机上安装即可
集群的安装需要一个关系型数据库进行配置数据的存储,CDH支持 Oracle , Mysql, Postgrest, 以及一个内置数据库。本将安装采用mysql进行存储,安装过程为:

1.检测和卸载已安装的MYSQL软件:


image.png

image.png
  • 注意:CentOS7默认安装了mariadb库,所以mysql及mariadb都要检测

2.解压下载的MYSQL安装文件:

# tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

3.安装MYSQL(注意:命令在一行, 全部复制执行):

rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm mysql-community-common-5.7.26-1.el7.x86_64.rpm mysql-community-devel-5.7.2ommunity-devel-5.7.26-1.el7.x86_64.rpm mysql-community-libs-*.rpm mysql-community-embedded-*.rpm
CDH6.2安装教程(详细步骤)_第2张图片
image.png

4.启动MYSQL

# systemctl start mysqld
# systemctl enable mysqld

5.获取MYSQL的root初始临时密码,在日志文件 /var/log/mysqld.log

# grep 'temporary password' /var/log/mysqld.log

6.更改root用户初始密码:

# mysql -uroot -p

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=6;
Query OK, 0 rows affected (0.00 sec)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)

7.在MYSQL中创建需要用到的数据库:

mysql> CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE rmon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; 
mysql> CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

8.在MYSQL中创建集群所用的统一登陆用户授权:

mysql> CREATE USER 'cdh'@'%' IDENTIFIED BY '123456'; 
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL ON *.* TO 'cdh'@'%';
Query OK, 0 rows affected (0.00 sec)

十三.拷贝JDBC驱动包到每台服务器

将Mysql驱动包mysql-connector-java-8.0.16.jar拷贝到每台服务器下的目录: /usr/share/java/

# cp mysql-connector-java-8.0.16.jar /usr/share/java/mysql-connector-java.jar

十四.安装JDK

上传JDK安装文件: jdk-8u211-linux-x64.rpm 使用以下命令安装上面已下载的JDK:

# rpm -ivh jdk-8u211-linux-x64.rpm

配置JAVA环境变量, 在 /etc/profile中追加以下内容:

export JAVA_HOME=/usr/java/default
export CLASSPATH=./:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

如图,如用以下命令难JDK是否安装成功:

image.png

十五.制作本地YUM安装源

安装ClouderaManager需要同时制作本地系统ISO源以及CM安装文件源。
以下第 2), 3) 步除红字增加YUM源文件操作需要在每台服务器上增加,其它准备步骤只在Master01上执行即可
1.删除其它文件, 每台服务器上执行

# rm -rf /etc/yum.repos.d/*.repo

2.制作本地系统ISO源
a) 上传ISO文件并挂载系统iso包成虚拟设备:

# mkdir /iso
# mount -o loop ./CentOS-7-x86_64-DVD-1611.iso /iso

b) 启动HTTP服务

# cd /iso
#python -m SimpleHTTPServer 7900

注意:该命令会一直卡住,后面的操作需另开SHELL窗口

c) 每台服务器上增加以下内容(黄行不是)到文件: /etc/yum.repos.d/centos.repo

[root@master01 ~]# cat /etc/yum.repos.d/centos.repo 
[c7-media]
name=CentOS-$releasever - Media
baseurl= http://192.168.1.205:7900
gpgcheck=1
enabled=1
gpgkey= http://192.168.1.205:7900/RPM-GPG-KEY-CentOS-7

注意地址是否正确,可以手动在浏览器中打开地址测试

3.制作CM YUM源
a) 准备文件

# mkdir -p /var/www/html/
# unzip ./cloudera-repos.zip -d /var/www/html/
# chmod -R ugo+rX /var/www/html/cloudera-repos/cm6

如果Linux能联网也可使用以下命令直接在线下载文件:

# wget --recursive --no-parent --no-host-directories https://archive.cloudera.com/cm6/6.2.0/redhat7/ -P                   /var/www/html/cloudera-repos
# wget https://archive.cloudera.com/cm6/6.2.0/allkeys.asc -P /var/www/html/cloudera-repos/cm6/6.2.0/
# chmod -R ugo+rX /var/www/html/cloudera-repos/cm6

b) 启动HTTP服务

# cd /var/www/html
# python -m SimpleHTTPServer 8900

c) 每台服务器上增加以下内容到文件: /etc/yum.repos.d/cloudera-repo.repo

[root@master01 ~]# cat /etc/yum.repos.d/cloudera-repo.repo 
[cloudera-repo]
name=cloudera-repo
baseurl=http://192.168.1.205:8900/cloudera-repos/cm6/6.2.0/redhat7/yum
enabled=1
gpgcheck=0

十六.安装Clouder Manger

1.在master01主机上执行以下命令, 同时安装CM Server和CM Agent

# yum install -y cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server

安装需要一会时间,会安装依赖包: 
CDH6.2安装教程(详细步骤)_第3张图片
image.png

2.在每台服务器执行以下命令安装Agent:

# yum install -y cloudera-manager-agent cloudera-manager-daemons
  1. 配置Agent文件: /etc/cloudera-scm-agent/config.ini
    将 server_host=localhost
    更改为: server_host=master01
    (Cm server所在主机)


    image.png

十七.初始化CM 的配置数据库(只在CM Server(master01)上执行)

执行脚本 scm_prepare_database.sh 进行初始化,命令格式:

# cd /opt/cloudera/cm/schema/   
# ./scm_prepare_database.sh -h master01 -P 3306 mysql scm cdh 123456

参数说明: -h MysqlHost -P MysqlPort dbType dbName dbUser dbPasswd
image.png

十八.移动Parcel文件到指标目录(只在CM Server上执行)

使用以下命令移动3个parcel文件到parcel-repo中:

# cp CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel /opt/cloudera/parcel-repo/
# cp CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-6.2.0-    1.cdh6.2.0.p0.967373-el7.parcel.sha

注意:最后一个文件将.sha1名字改成了 .sha

十九.启动CM Server/ Agent

1.在Master01上启动CM Server

# systemctl start cloudera-scm-server
# systemctl enable cloudera-scm-server

2.在所有主机上启动CM Agent

# systemctl start cloudera-scm-agent
# systemctl enable cloudera-scm-agent

enable命令是启用开始起动

3.检查日志是起起动完成


CDH6.2安装教程(详细步骤)_第4张图片
image.png
  • 出现红色日志,说明起动完成,可以登陆WEB页面开始后面的操作

二十.登陆CM Server完成集群安装

  • 登录CM管理界面,最好使用Chrome浏览器,使用地址: http://192.168.1.205:7180/
    默认用户密码为admin/admin


    CDH6.2安装教程(详细步骤)_第5张图片
    image.png
  • 登陆进去后,继续:


    CDH6.2安装教程(详细步骤)_第6张图片
    image.png
  • Accept License, 继续:


    CDH6.2安装教程(详细步骤)_第7张图片
    image.png
  • 下一页,选择安装cm版本,默认,继续即可:


    CDH6.2安装教程(详细步骤)_第8张图片
    image.png
  • 集群安装欢迎, 继续:


    CDH6.2安装教程(详细步骤)_第9张图片
    image.png
  • 集群名设置,默认即可,继续:


    CDH6.2安装教程(详细步骤)_第10张图片
    image.png
  • 选择【当前管理的主机】中可以看到所有启动了CM Agent的服务器,并成功连接CM Server的服务器, 选择需要安装的服务器,点击继续:


    CDH6.2安装教程(详细步骤)_第11张图片
    image.png
  • 选择对应的CDH parcel版本,点击继续:


    CDH6.2安装教程(详细步骤)_第12张图片
    image.png
  • 如果这里没有Parcel可供选择,请检查第18步,并重启CM Server,在这一步,CM 会将parcel解压,并分发,安装到每一台选择的服务器中,如图:


    CDH6.2安装教程(详细步骤)_第13张图片
    image.png
  • 检查主机正确性,如有错误,按照提示更改即可, 并点击完成:


    CDH6.2安装教程(详细步骤)_第14张图片
    image.png

    可以执行Hosts检查,Network Performance不需要执行, Host 显示完整结果:


    CDH6.2安装教程(详细步骤)_第15张图片
    image.png

    检查一般会有这两个警告,可以按提示修改,也可以在上面选择”I understand the risks” 忽略继续。
  • 选择需要安装的组件,可根据需要自定义选择:


    CDH6.2安装教程(详细步骤)_第16张图片
    image.png

    服务在安装完成后,还可以增删

  • 选择角色分配:
    按照第 4 步角色规划:HDFS DataNode选择所有主机
    ZooKeeper按照建议(应选择大于3个并为单数的主机): 选择所有主机
    其它根据需要更改,注意角色均衡和性能:
    一般master角色选成master01
    图中红色为我更改过的部分


    CDH6.2安装教程(详细步骤)_第17张图片
    image.png

    CDH6.2安装教程(详细步骤)_第18张图片
    image.png

    CDH6.2安装教程(详细步骤)_第19张图片
    image.png
  • 集群数据库设置:
    根据第12步创建的数据库,填写正确的数据库及用户,密码,然后测试连接:


    CDH6.2安装教程(详细步骤)_第20张图片
    image.png

    如果有数据库不存在的,则按第12步新建数据库即可, 注意建库后重新执行Grant授权语句

  • 集群数据存储目录设置,根据需要设置各组件数据存储目录(测试默认即可):


    CDH6.2安装教程(详细步骤)_第21张图片
    image.png

集群开始安装,并部署,启动服务:


CDH6.2安装教程(详细步骤)_第22张图片
image.png

CDH6.2安装教程(详细步骤)_第23张图片
image.png
  • 完成:


    CDH6.2安装教程(详细步骤)_第24张图片
    image.png

二十一.CDH集群安装检查

登陆进CM管理界面,可以检查集群各组件运行情况,如:


CDH6.2安装教程(详细步骤)_第25张图片
image.png

你可能感兴趣的:(CDH6.2安装教程(详细步骤))