本教程搭建分三篇完成:
Centos7部署CDH5(一) https://blog.csdn.net/u014635374/article/details/105837359
Centos7部署CDH5(二) https://blog.csdn.net/u014635374/article/details/105840505
Centos7部署CDH5(三) https://blog.csdn.net/u014635374/article/details/105840582
一:版本信息:
centos7: CentOS Linux release 7.2.1511 (Core)
python: Python: 2.7.5(操作系统自带)
jdk : jdk-8u192-linux-x64.tar.gz
cm包: cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz (5.7.2)
服务器规划
本次搭建一共用了5台机器
一台master,4台agent
主机名 | IP地址 | 内存 | 省份 |
docker-01 | 192.168.227.131 | 4g | 管理节点,任务节点 |
docker-02 | 192.168.227.132 | 5g | 任务节点 |
docker-03 | 192.168.227.133 | 5g | 任务节点 |
docker-04 | 192.168.227.134 | 5g | 任务节点 |
docker-05 | 192.168.227.135 | 5g | 任务节点 |
五台电脑相互免密码登录设置
分别在五台电脑执行如下命令
ssh-keygen -t rsa
ssh-copy-id docker-01
ssh-copy-id docker-02
ssh-copy-id docker-03
ssh-copy-id docker-04
ssh-copy-id docker-05
二: 文件下载
(1)cm下载地址:http://archive.cloudera.com/cm5/cm/5/ ,找到自己需要的cm包下载,本次实战用的是cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz
(2)parcel下载地址:http://archive.cloudera.com/cdh5/parcels ,本次实战用到的是CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel,请下载下图红框中的三个文件,注意一共要下载三个文件:
三: 所有机器都要做的相同操作
以下操作需要docker-01,docker-02,docker-03,docker-04,docker-05各自做一遍:
- 本次实战在所有机器上的操作,都使用root账号;
- 确保所有机器都可以用SSH工具远程登录;
- 安装时间同步工具:
(1)安装时间同步工具
[root@docker-01 ~]# yum install -y ntpdate
(2)时间同步:
[root@docker-01 ~]# ntpdate cn.ntp.org.cn
(3)关闭和禁用防火墙:
[root@docker-01 ~]# systemctl stop firewalld && systemctl disable firewalld
(4)关闭SELINUX:打开文件/etc/selinux/config,找到SELINUX=xxx那一行,改为SELINUX=disabled,如下图红框
(5)关闭swap:打开文件/etc/fstab,找到带有swap的那一行,注释掉,如下图红框
(6)重启电脑;
(7)新建文件夹/usr/lib/jvm
(8)安装JDK,我这里下载的是jdk-8u192-linux-x64.tar.gz,解压后是个名为jdk1.8.0_192的文件夹,将此文件夹放在/usr/lib/jvm目录下;
(9)打开文件/etc/profile
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_192
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
(10)source /etc/profile
(11)CDH默认的JDK目录是 /usr/java/default,因此要创建软链接,执行以下命令:
mkdir -p /usr/java && ln -s /usr/lib/jvm/jdk1.8.0_192 /usr/java/default
(12)检查Python是否可用,如果没有还请自行安装,本次用到的是2.6或者2.7版本
[root@docker-01 ~]# python
Python 2.7.5 (default, Nov 20 2015, 02:00:19)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
(13)安装多个依赖包:
yum -y install chkconfig bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
创建目录
mkdir -p /opt/cloudera-manager
(14)把前面准备好的文件cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz上传到master,执行以下命令将该文件解压到/opt/cloudera-manager目录:
[root@docker-01 tools]# tar -zxvf cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz -C /opt/cloudera-manager/
(15)创建账号cloudera-scm
[root@docker-01 ~]# useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
(16)修改server_host的值,改为docker-01,如下图红框所示:
vi /opt/cloudera-manager/cm-5.7.2/etc/cloudera-scm-agent/config.ini
(17)新建目录 /usr/share/java/,将刚才下载的mysql-connector-java-5.1.34.jar放入该目录,并改名为mysql-connector-java.jar ----这个一定记得修改,不修改后面执行数据初始化时找不到该驱动....
mkdir -p /usr/share/java
[root@docker-01 tools]# cp mysql-connector-java.jar /usr/share/java/
至此,准备工作全部完成,请确保所有机器都做了上述操作,下一篇会用这些机器来完成部署。