1.概述
本文档主要描述离线环境下,CentOS6.7操作系统部署CDH5.7.6 的过程。本安装文档主要分为3个步骤:
1.环境准备(包括hostname、关闭防火墙、关闭SELinux、时钟同步等)
2.安装Cloudera Manager Server
3.安装CDH集群
1.1.环境预置
- 操作系统:CentOS 6.7
- JDK: 1.8.0_171
- Mysql版本:5.1.73
- CM版本:CM 5.7.6
- CDH版本:CDH 5.7.6
- 使用root用户对集群进行部署,防止有权限问题!
- 已经下载好了相关CDH文件(CDH使用parcels包方式安装)
- 集群设计
IP地址 | 主机名 | 说明 |
---|---|---|
192.168.8.216 | cdh1 | namenode |
192.168.8.217 | cdh2 | datanode |
192.168.8.218 | cdh3 | datanode |
192.168.8.219 | cdh4 | datanode |
2. 环境预置
2.1.上传文件
新建相关目录<可以只传cdh1,然后scp到各个节点上>
- mkdir /home/cdh-hadoop
存放CDH-5.7.6-1.cdh5.7.6.p0.6-el6.parcel <从节点不用上传>
CDH-5.7.6-1.cdh5.7.6.p0.6-el6.parcel.sha1 <从节点不用上传>
manifest.json <从节点不用上传>
cloudera-manager-el6-cm5.7.6_x86_64.tar.gz - mkdir /home/jdk
存放jdk-8u171-linux-x64.tar.gz - mkdir /home/mysql
存放mysql-connector-java-5.1.47.tar.gz
2.2.hostname及hosts配置
集群中各个节点之间能互相通信使用静态IP地址。IP地址和主机名通过/etc/hosts配置,主机名/etc/hostname进行配置。
2.2.1.修改hostname<所有节点>
修改/etc/sysconfig/network文件
[root@cdh1 /]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=cdh1
注意:修改hostname后需要重启服务器。
检查hostname是否修改成功:
[root@cdh1 /]# hostname
cdh1
2.2.2.hosts配置<所有节点>
[root@cdh1 /]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.8.216 cdh1
192.168.8.217 cdh2
192.168.8.218 cdh3
192.168.8.219 cdh4
2.3.设置无密码登陆-ssh
这里只是为了传输文件方便,实际不配置2.3节也能正常执行的。
所有节点执行ssh-keygen -t rsa,一路回车,生成无密码的密钥对
[root@cdh1 /]# ssh-keygen -t rsa
2.3.1.cdh1节点上
将公钥添加到认证文件中:
[root@cdh1 /]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
并设置authorized_keys的访问权限
[root@cdh1 /]# chmod 600 ~/.ssh/authorized_keys
通过scp命令将各节点的认证文件拷贝到所有其他节点使得各节点能够相互访问。
[root@cdh1 /]# scp ~/.ssh/authorized_keys root@cdh2:~/.ssh/authorized_keys
[root@cdh1 /]# scp ~/.ssh/authorized_keys root@cdh3:~/.ssh/authorized_keys
[root@cdh1 /]# scp ~/.ssh/authorized_keys root@cdh4:~/.ssh/authorized_keys
2.3.2.cdh2节点上
[root@cdh2 /]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[root@cdh2 /]# chmod 600 ~/.ssh/
[root@cdh1 /]# scp ~/.ssh/authorized_keys root@cdh1:~/.ssh/authorized_keys
[root@cdh1 /]# scp ~/.ssh/authorized_keys root@cdh3:~/.ssh/authorized_keys
[root@cdh1 /]# scp ~/.ssh/authorized_keys root@cdh4:~/.ssh/authorized_keys
2.3.3.cdh3节点上
[root@cdh3 /]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[root@cdh3 /]# chmod 600 ~/.ssh/
[root@cdh1 /]# scp ~/.ssh/authorized_keys root@cdh1:~/.ssh/authorized_keys
[root@cdh1 /]# scp ~/.ssh/authorized_keys root@cdh2:~/.ssh/authorized_keys
[root@cdh1 /]# scp ~/.ssh/authorized_keys root@cdh4:~/.ssh/authorized_keys
2.3.4.cdh4节点上
[root@cdh3 /]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[root@cdh3 /]# chmod 600 ~/.ssh/
[root@cdh1 /]# scp ~/.ssh/authorized_keys root@cdh1:~/.ssh/authorized_keys
[root@cdh1 /]# scp ~/.ssh/authorized_keys root@cdh2:~/.ssh/authorized_keys
[root@cdh1 /]# scp ~/.ssh/authorized_keys root@cdh3:~/.ssh/authorized_keys
结束后最好各个节点之间scp命令传一下文件!鬼知道有啥问题呢。。。反正不需要密码就行了
2.3.4.传文件
在cdh1主机上执行
[root@cdh3 /]# scp /home/cdh-hadoop/cloudera-manage