CDH 5.13.1 安装文档

CDH 5.13.1 安装文档

目录

CDH 5.13.1 安装文档

1. 安装介绍

2. 下载所需安装文件

3. 确认主机安装环境

4. 规划集群部署

5. 修改主机名

6. 更改主机 HOSTS 映射文件

7. 检查主机服务

8. 检查主机 NTP 服务配置

9. 检查主机参数配置:

10. 确认 Python 环境

11. 安装依赖包

12. 安装集群所需配置数据库并创建用户和数据库

13. 创建所需系统用户

14. 创建目录

15. 安装 Clouder Manger

16. 安装 JDK

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

 18. 配置 Clouder Managerp Agent

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

20. 启动 CM Server/ Agen

21. 登陆 CM Server 完成集群安装


1. 安装介绍

本文介绍 CDH 安装,安装版本以当前最新版 CDH 5.13.1 为例。

CDH 提供了自动在线安装,手动离线安装的方式,本文介绍的安装方式为完全离线

安装。是同时适用于测试环境、生产环境的安装方式,对应官方安装文档章节为:

Installation Path C - Manual Installation Using Cloudera Manager Tarballs

2. 下载所需安装文件

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

CDH 依赖的 Python: https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz

http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.38/mysql-connecto

准备好安装系统的 ISO 包,用于在缺少依赖包时进行安装。

3. 确认主机安装环境

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

空间要求:

/var: 5GB

/usr : 500MB

CDH 安装目录: 2GB

检查命令: df -h

内存要求: 4GB

检查命令: free -m

2)检查系统版本:

检查命令: cat /etc/issue, 需求版本:Red Hat Enterprise Linux Server release 6.x

3)检查服务器数据存储空间:

CDH 的安装建议在每台服务器具有相同的数据存储路径, 并具可以有多个。

4. 规划集群部署

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

主机名

角色

ip

Master

Hadoop Master, CM Server, 数据节点

xxxxx

Slave1

数据节点, Mysql, CMAgent

xxxxx

Slave2

数据节点, CM Agent

xxxxx

Slave3

数据节点, CM Agent

xxxxx

Slave4

数据节点, CM Agent

xxxxx

Slave5

数据节点, CM Agent

xxxxx

5. 修改主机名

按要求更改各主机的主机名,更改方式为:

1)使用命令动态更改主机名:  hostname 新名字, 如: hostname master

2)更改系统文件,使系统重起同样有效:

更改文件:/etc/sysconfig/network

将行:HOSTNAME=***,更改为: HOSTNAME=master 并保存:

 以同样方式更改其它所有主机的主机名

6. 更改主机 HOSTS 映射文件

将所有集群服务器的 IP 主机名都写到/etc/hosts 文件中,因为后面的安装服务器选

择,都是通过主机名选择。如:在每台服务器的/etc/hosts 中增加以下内容:

7. 检查主机服务

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

# service iptables stop

# chkconfig iptables off
2)停掉系统 SELinux

使用以下命令查看 SELinux 是否开起:

 如果输出为: Enable, 则 SELinux 为开启状态,则使用以下操作关闭:

a)更改系统配置文件: /etc/sysconfig/selinux

将行 SELINUX=enforcing更改为: SELINUX=disabled

b)重启系统: reboot

8. 检查主机 NTP 服务配置

1)分布式集群的运行,要求各服务器的时间同步, 检查 ntpd 服务是否已经启动:

a)# service ntpd status

b)# ntpq -p 使用该命令检查 NTP 是否有配置正确的时间服务器

2)如果 ntpd 服务没有启动或配置,则通过以下方式,增加时间同步服务:

a)增加行 “server 时间服务器 IP” 到 /etc/ntp.conf 如:

b)重启 ntp 服务:

# service ntpd restart

9. 检查主机参数配置:

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 文件中,使系统重启时生效。

10. 确认 Python 环境

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

# python -V :

 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)再次使用上面的命令难是否安装完成

11. 安装依赖包

使用以下命令检查依赖的系统包是否安装完成:

# rpm -q chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi

fuse fuse-libs redhat-lsb

对没有安装的包,可以采用 yum 安装或采用 rpm 手动安装的方式进行安装, 如以下采用本地

yum 的方式安装:

a)挂载系统 iso 包成虚拟设备:

# mount -o loop rhel-server-6.3-x86_64-dvd.iso /iso

b)将 iso 制作为本地 YUM 源

删除 YUM 的其它源:

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

增加源, 增加以下内容(黄行不是)到文件: /etc/yum.repos.d/rhel-source.repo

[root@localhost Packages]# cat /etc/yum.repos.d/rhel-source.repo

[rhel-source]

name=Red Hat Enterprise Linux $releasever - $basearch - Source

baseurl=file:///iso

enabled=1

gpgcheck=0

安装缺失的依赖包,如:

12. 安装集群所需配置数据库并创建用户和数据库

集群的安装需要一个关系型数据库进行配置数据的存储,CDH 支持 Oracle , Mysql,

Postgrest, 以及一个内置数据库。本将安装采用 mysql 进行存储,安装过程为:

a)解压下载的 MYSQL 安装文件:

# tar -xvf MySQL-5.6.29-1.el6.x86_64.rpm-bundle.tar

b)卸载已安装的 MYSQL 软件:

c)安装 MYSQL

d)MySQL root 用户的初始密码存在文件 /root/.mysql_secret 里面。

e)使用以下命令先启动 MYSQL:

# /usr/bin/mysqld_safe &

f)更改 root 用户初始密码:

 提示输入的密码就是 /root/.mysql_secret 文件中的密码

g)在 MYSQL 中创建需要用到的数据库:

mysql> CREATE DATABASE scm;

mysql> CREATE DATABASE hive;

mysql> CREATE DATABASE rm ;

mysql> CREATE DATABASE oozie;

h)在 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)

13. 创建所需系统用户

使用以下命令在每个服务器系统中创建所需用户:

#  useradd  --system  --home=/opt/cloudera-manager/cm-5.13.1/run/cloudera-scm-server

--no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

* 注意红色字段的版本号,需要根据不同的版本更改

14. 创建目录

使用以下命令在每个服务器系统中创建所需目录,并授权:

# mkdir /opt/cloudera-manager

# mkdir -p /opt/cloudera/parcel-repo

# mkdir -p /opt/cloudera/parcels

# mkdir -p /var/log/cloudera-scm-headlamp

# mkdir -p /var/log/cloudera-scm-firehose

# mkdir -p /var/log/cloudera-scm-alertpublisher

# mkdir -p /var/log/cloudera-scm-eventserver

# mkdir -p /var/lib/cloudera-scm-headlamp

# mkdir -p /var/lib/cloudera-scm-firehose

# mkdir -p /var/lib/cloudera-scm-alertpublisher

# mkdir -p /var/lib/cloudera-scm-eventserver

# mkdir -p /var/lib/cloudera-scm-server

授权:

# chown cloudera-scm:cloudera-scm /opt/cloudera-manager

# chown -R cloudera-scm:cloudera-scm /var/log/cloudera-*

# chown -R cloudera-scm:cloudera-scm /var/lib/cloudera-*

# chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo

# chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

15. 安装 Clouder Manger

a)直接解压下载的 Clouder Manger 文件包即可:

#tar xzf cloudera-manager*.tar.gz -C /opt/cloudera-manager

# chown cloudera-scm:cloudera-scm /opt/cloudera-manager

b)拷贝 MYSQL JDBC 驱动到对应目录中:

# mkdir -p /usr/share/java

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

# mkdir -p /usr/lib/hive/lib/

# cp mysql-connector-java-5.1.38.jar /usr/lib/hive/lib/mysql-connector-java.jar

16. 安装 JDK

使用以下命令安装上面已下载的 JDK

# rpm -ivh jdk-7u80-linux-x64.rpm

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

export JAVA_HOME=/usr/java/default

export CLASS_PATH=./:$JAVA_HOME/lib

export PATH=$JAVA_HOME/bin:$PATH

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

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

进到上一步解压的 cm 对应的目录:

# cd /opt/cloudera-manager/cm-5.5.0/share/cmf/schema/    

路径:/opt/cm-5.13.1/share/cmf/schema

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

./scm_prepare_database.sh -h MysqlHost -P MysqlPort dbType dbName dbUser dbPasswd

如:

 18. 配置 Clouder Managerp Agent

配置每台服务器的 CM Agent 配置文件:

1)进到配置文件所在目录:

# cd /opt/cloudera-manager/cm-5.5.0/etc/cloudera-scm-agent

2)更改 config.inif 文件中的行:

server_host=localhost 更改对应的 cm server 所在主机, 如:

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

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

# cp CDH-5.5.0-1.cdh5.5.0.p0.8-el6.parcel /opt/cloudera/parcel-repo/

# cp manifest.json /opt/cloudera/parcel-repo/

# cp CDH-5.5.0-1.cdh5.5.0.p0.8-el6.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.5.0-1.cdh5.5.0.p0.8-el6.parcel.sha

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

20. 启动 CM Server/ Agen

启动 CM Server( 只需要在 CM Server 服务器上执行)

# /opt/cloudera-manager/cm-5.5.0/etc/init.d/cloudera-scm-server start

启动 CM Agent(需要在每台机器上执行,包括 CM Server)

# /opt/cloudera-manager/cm-5.5.0/etc/init.d/cloudera-scm-agent start

启动需要 10 分钟左右,启动完成后,可以开始下面的操作.

可以分别在:

/opt/cloudera-manager/cm-5.5.0/log/cloudera-scm-server

/opt/cloudera-manager/cm-5.5.0/log/cloudera-scm-agent

目录下找到程序启动和运行日志

21. 登陆 CM Server 完成集群安装

注:打开本地电脑的C:\Windows\System32\drivers\etc中的hosts文件中添加master对应的ip关系就可以用master访问了

登录 CM 管理界面,使用地址: http://master:7180/

默认用户密码为 admin/admin

 登陆进去后,往下拉,继续:

 下一页,选择安装 cm 版本,默认,继续即可:

 选择继续:

 选择【当前管理的主机】中可以看到所有启动了 CM Agent 的服务器,并成功连接

CM Server 的服务器, 选择需要安装的服务器,点击继续:

 选择对应的 CDH parcel 版本,点击继续:

 如果这里没有 Parcel 可供选择,请检查第 18 步,并重启 CM Server

在这一步,CM 会将 parcel 解压,并分发,安装到每一台选择的服务器中,如图:

 检查主机正确性,如有错误,按照提示更改即可, 并点击完成:

选择需要安装的组件,可根据需要自定义选择:

 选择角色分配:

按照第 4 步角色规划:HDFS DataNode 选择所有主机

ZooKeeper 按照建议(应选择大于 3 个并为单数的主机): 选择所有主机

其它根据需要更改,注意角色均衡和性能:

 集群数据库设置:

根据第 12 步创建的数据库,填写正确的数据库及用户,密码,然后测试连接:

 如果有数据库不存在的,则按第 12 步新建数据库即可

集群数据存储目录设置,根据需要设置各组件数据存储目录:

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

完成:

猜你喜欢

转载自blog.csdn.net/chunzhi128/article/details/124455241