CDH5.16.1集群的搭建

一.准备⼯工作

1.离线部署主要分为三块:

a.MySQL离线部署

b.CM离线部署

c.Parcel⽂文件离线源部署

2.规划

 

 3.下载源:

CM:

Parcel

  1. CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel
  2. CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha1
  3. manifest.json

JDK

  • https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html
  • 下载jdk-8u202-linux-x64.tar.gz

 

  • 准备好百度云,下载安装包:
  • 链接:https://pan.baidu.com/s/10s-NaFLfztKuWImZTiBMjA 密码:viqp

 

在mysql的部署之前考虑到airflow支持不超过5.6的版本,所以就选择了5.6版本,你们具体用啥可以自行决定

下载:

  • mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz
  • MySQL jdbc jar mysql-connector-java-5.1.47.jar  

 具体可参考博客:https://www.cnblogs.com/xuziyu/p/10353968.html

二.集群节点初始化

1.当前笔记本或台式机配置hosts⽂文件

2.设置所有节点的hosts⽂文件

  • 节点上的hosts配置的网址一定是内网的

3.关闭所有节点的防⽕火墙及清空规则

systemctl stop firewalld
systemctl disable
firewalld iptables -F

4.关闭所有节点的selinux

vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
设置后需要重启才能⽣生效

5.设置所有节点的时区⼀致及时钟同步

 

6.1.时区

[root@test-hadoop01 ~]# date
Wed Oct 30 16:54:21 CST 2019

在所有的节点执行此命令看Time zone是否都是 Asia/Shanghai ,如果是就OK如果不是需要设置为 Asia/Shanghai

#否则所有节点设置亚洲上海时区  均执行以下命令,以此来设置Asia/Shanghai时区

timedatectl set-timezone Asia/Shanghai

所有节点同步时间

方式:在每天凌晨所有机器与test-hadoop01同步一次设置如下

所有机器执行命令

crontab -e

添加脚本

00 00 * * * /usr/sbin/ntpdate test-hadoop01

然后所有节点执行

 /usr/sbin/ntpdate test-hadoop01

7.部署集群的JDK

mkdir /usr/java
tar -xzvf jdk-8u45-linux-x64.tar.gz -C /usr/java/
#切记必须修正所属⽤用户及⽤用户组
chown -R root:root /usr/java/jdk1.8.0_45
echo "export JAVA_HOME=/usr/java/jdk1.8.0_45" >> /etc/profile
echo "export PATH=${JAVA_HOME}/bin:${PATH}" >> /etc/profile
source /etc/profile
which java
 注意:如果你的机器上本来就有java的环境看一下他是在什么目录之下

如果家目录是 JAVA_HOME=/usr/java/jdk1.8.0_45这种形式的,那么没有什么需要修改的,如果你的java的家目录不是这样的,那么你要注意了

比如我这次部署的过程中我的家目录就是/usr/local/java,但是我抱着侥幸心理并没有去修改他,然后后边部署spark的时候果然出了问题

所以在你的Java的家目录不是/usr/java/jdk1.8.0_45这种形式的时候,一定要做一个软连接到/usr/java/default  目录下

敲黑板划重点   血与泪的教训

 

 

8.test-hadoop01节点离线部署MySQL5.6

 具体可参考博客:https://www.cnblogs.com/xuziyu/p/10353968.html

 

9.创建CDH的元数据库和⽤用户、amon服务的数据库及⽤用户

create database cmf DEFAULT CHARACTER SET utf8;
create database amon DEFAULT CHARACTER SET utf8;
grant all on cmf.* TO 'cmf'@'%' IDENTIFIED BY '123456';
grant all on amon.* TO 'amon'@'%' IDENTIFIED BY '123456';
flush privileges;

10.test-hadoop01节点部署mysql jdbc jar

mkdir -p /usr/share/java/

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

三.CDH部署

1.离线部署cm server及agent

1.1.所有节点创建⽬目录及解压

mkdir /opt/cloudera-manager

tar -zxvf cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz -C /opt/cloudera-manager/

1.2.所有节点修改agent的配置,指向server的节点test-hadoop01

sed -i "s/server_host=localhost/server_host=test-hadoop01/g" /opt/cloudera-manager/cm5.16.1/etc/cloudera-scm-agent/config.ini


1.3.主节点修改server的配置:

vi /opt/cloudera-manager/cm-5.16.1/etc/cloudera-scm-server/db.properties

com.cloudera.cmf.db.type=mysql

com.cloudera.cmf.db.host=test-hadoop01

com.cloudera.cmf.db.name=cmf

com.cloudera.cmf.db.user=cmf

com.cloudera.cmf.db.password=123456

com.cloudera.cmf.db.setupType=EXTERNAL


1.4.所有节点创建⽤用户

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


1.5.⽬目录修改⽤用户及⽤用户组

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

2.test-hadoop01节点部署离线parcel源

2.1.部署离线parcel源

$ mkdir -p /opt/cloudera/parcel-repo
$ cp CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel  /opt/cloudera/parcel-repo/

#切记cp时,重命名去掉1,不不然在部署过程CM认为如上⽂文件下载未完整,会持续下载

$ cp CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.1 6.1-1.cdh5.16.1.p0.3-el7.parcel.sha

$ cp manifest.json /opt/cloudera/parcel-repo/
$cd /opt/cloudera/parcel-repo

[root@test-hadoop01 parcel-repo]# ll total 3081664 -rw-r--r-- 1 root root 2127506677 May 9 18:04 CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel -rw-r--r-- 1 root root 41 May 9 18:03 CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha1 -rw-r--r-- 1 root root 841524318 May 9 18:03 cloudera-manager-centos7-cm5.16.1_x 86_64.tar.gz -rw-r--r-- 1 root root 185515842 Aug 10 2017 jdk-8u144-linux-x64.tar.gz -rw-r--r-- 1 root root 66538 May 9 18:03 manifest.json -rw-r--r-- 1 root root 989495 May 25 2017 mysql-connector-java.jar

2.2.⽬目录修改⽤用户及⽤用户组

$ chown -R cloudera-scm:cloudera-scm /opt/cloudera/

3.所有节点创建软件安装⽬目录、⽤用户及⽤用户组权限

mkdir -p /opt/cloudera/parcels chown -R cloudera-scm:cloudera-scm /opt/cloudera/

4.test-hadoop01节点启动Server

4.1.启动server

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


4.2.要确保test-hadoop01节点防⽕火墙放开7180端⼝

4.3.等待1min,打开 http://hadoop001:7180 账号密码:admin/admin

4.4.假如打不不开,去看server的log,根据错误仔细排查错误

 

5.所有节点启动Agent

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

6.接下来,全部Web界⾯面操作

http://hadoop001:7180/

账号密码:admin/admin

7.欢迎使⽤用Cloudera Manager--最终⽤用户许可条款与条件。勾选

 

 8.欢迎使⽤用Cloudera Manager--您想要部署哪个版本?选择Cloudera Express免费 版本

 

 

9.感谢您选择Cloudera Manager和CDH

 

 

10.为CDH集群安装指导主机。选择[当前管理理的主机],全部勾选

 

 11.选择存储库

 

 


12.集群安装--正在安装选定Parcel

  • 假如本地parcel离线源配置正确,则"下载"阶段瞬间完成,其余阶段视节点数与内部⽹网络情况决定。

 13.检查主机正确性

 

 

14.⾃自定义服务,选择部署Zookeeper、HDFS、Yarn服务

 

 

15.⾃自定义⻆角⾊色分配(具体如何分配,可自行决定)

 

 

 16.数据库设置

 

 

 17.审改设置,默认即可

 

 

 18.⾸首次运⾏

 

 

 19.恭喜您!

 

 到这里简单的CDH集群就搭建成功了!!!

搭建路上可能会遇到各种各样的问题,但是大坑我应经帮助各位避免了,剩下的靠你自己了!加油啊!

 

posted @ 2019-10-30 18:19  任重而道远的小蜗牛  阅读(2164)  评论(0编辑  收藏  举报