CDH6.3.1集群企业级离线部署(保姆级教程提供压缩包和详细教程)

准备工作

离线部署主要分为三块

1) MySQL离线部署
2) CM离线部署
3) Parcel文件离线源部署

集群规划

节点MySQL部署组件Parcel文件离线源CM服务进程大数据组件
masterMySQLParcelActivity MonitorNN RM DN NM
slave1Alert Publisher ,Event ServerDN NM
slave2Host Monitor ,Service MonitorDN NM

下载源

本文提供优快云免费下载,但是由于文件过大,所以附带网盘地址
https://download.youkuaiyun.com/download/qq_42147602/87852272
https://download.youkuaiyun.com/download/qq_42147602/87852279
网盘链接
链接:https://pan.baidu.com/s/1sMSERY2PpEjHVFSl99nrSQ?pwd=1234
提取码:1234
–来自百度网盘超级会员V5的分享

集群节点初始化

设置所有节点的hosts文件

换成自己的ip地址,如果使用云服务器,请使用内网地址。

192.168.28.140 master
192.168.28.141 slave1
192.168.28.142 slave2

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

systemctl stop firewalld 
systemctl disable firewalld 
iptables -F

关闭所有节点的selinux

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

设置所有节点的时区一致及时钟同步

时区

我觉得吧,如果是个人电脑虚拟机搭建,这步骤可以直接跳过,大家都会克隆镜像,用的是上海时区,不存在同步这回事,但是公司级别需要时钟同步,不然各节点会出问题。

[root@master ~]# date 
Wed Oct 23 13:51:31 CST 2019
[root@master ~]# timedatectl
Local time: Wed 2019-10-23 13:51:49 CST
Universal time: Wed 2019-10-23 05:51:49 UTC
RTC time: Wed 2019-10-23 13:51:49
Time zone: Asia/Shanghai (CST, +0800) 
NTP enabled: yes
NTP synchronized: yes 
RTC in local TZ: yes 
DST active: n/a
#查看命令帮助,学习至关重要
[root@master ~]# timedatectl --help 
timedatectl [OPTIONS...] COMMAND ...
Query or change system time and date settings.
-h --help Show this help message
--version Show package version
--no-pager Do not pipe output into a pager
--no-ask-password Do not prompt for password
-H --host=[USER@]HOST Operate on remote host
-M --machine=CONTAINER Operate on local container
--adjust-system-clock Adjust system clock when changing local RTC mode
Commands:
status Show current time settings
set-time TIME Set system time
set-timezone ZONE Set system time zone 
list-timezones Show known time zones
set-local-rtc BOOL Control whether RTC is in local time 
set-ntp BOOL Control whether NTP is enabled
#查看哪些时区
[root@master ~]# timedatectl list-timezones 
Africa/Abidjan
Africa/Accra 
Africa/Addis_Ababa 
Africa/Algiers 
Africa/Asmara 
Africa/Bamako
#所有节点设置亚洲上海时区
[root@master ~]# timedatectl set-timezone Asia/Shanghai 
[root@slave1 ~]# timedatectl set-timezone Asia/Shanghai 
[root@slave2 ~]# timedatectl set-timezone Asia/Shanghai

时间

#所有节点安装ntp
[root@master ~]# yum install -y ntp

#选取master为ntp的主节点
[root@master ~]# vi /etc/ntp.conf

#time
server 0.asia.pool.ntp.org 
server 1.asia.pool.ntp.org 
server 2.asia.pool.ntp.org 
server 3.asia.pool.ntp.org
#当外部时间不可用时,可使用本地硬件时间
server 127.127.1.0 iburst local clock 
#允许哪些网段的机器来同步时间
restrict 172.21.230.0 mask 255.255.255.0 nomodify notrap

#开启ntpd及查看状态
[root@master ~]# systemctl start ntpd 
[root@master ~]# systemctl status ntpd
● ntpd.service - Network Time Service
	Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: d 
isabled)
	Active: active (running) since Sat 2019-05-11 10:15:00 CST; 11min ago 
Main PID: 18518 (ntpd)
CGroup: /system.slice/ntpd.service
¹—18518 /usr/sbin/ntpd -u ntp:ntp -g
May 11 10:15:00 master  systemd[1]: Starting Network Time Service... 
May 11 10:15:00 master  ntpd[18518]: proto: precision = 0.088 usec
May 11 10:15:00 master  ntpd[18518]: 0.0.0.0 c01d 0d kern kernel time sync en 
abled
May 11 10:15:00 master  systemd[1]: Started Network Time Service.

#验证
[root@master ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
============================================================================== 
LOCAL(0) .LOCL. 10 l 726 64 0 0.000 0.000 0.000

#其他从节点停止禁用ntpd服务
[root@slave1 ~]# systemctl stop ntpd
[root@slave1 ~]# systemctl disable ntpd
Removed symlink /etc/systemd/system/multi-user.target.wants/ntpd.service. 
[root@slave1 ~]# /usr/sbin/ntpdate master
11 May 10:29:22 ntpdate[9370]: adjust time server 172.19.7.96 offset 0.000867 sec 

#每天凌晨同步master节点时间
[root@slave1 ~]# crontab -e
00 00 * * * /usr/sbin/ntpdate master

[root@slave2 ~]# systemctl stop ntpd
[root@slave2 ~]# systemctl disable ntpd
Removed symlink /etc/systemd/system/multi-user.target.wants/ntpd.service. 

#每天凌晨同步master节点时间
[root@slave2 ~]# crontab -e
00 00 * * * /usr/sbin/ntpdate master

每个节点部署JDK

这部分按照我提供的路径配置,不会出错,如果是多台节点配置,一定一定要每台JDK都要配置。

mkdir /usr/java
tar -xzvf jdk-8u181-linux-x64.gz -C /usr/java/ 
#切记必须修正所属用户及用户组
chown -R root:root /usr/java/jdk1.8.0_181
#在/etc/profile目录下面配置环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_181
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
# 刷新环境变量
source /etc/profile
which java

master主节点部署JDBC JAR

这里要特别声明一下,一定一定要按照我给的路径配置,并且要把版本号去掉!
master节点创建java目录

mkdir -p /usr/share/java/

重命名不能带版本号
去掉版本号!!!
去掉版本号!!!
去掉版本号!!!
不要踩坑!!!

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

离线部署MySQL5.7

CDH搭建采用MySQL5.7的方式,可以自行准备,或者使用我下方提供的安装教程安装。
下方链接本文原创MySQL5.7,免费提供.

https://blog.youkuaiyun.com/qq_42147602/article/details/130855738?spm=1001.2014.3001.5501

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

上Mysql安装好之后需要创建两个库 cmf 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;

CDH部署

下面就是进入紧张又刺激的核心部分了。

离线部署cm server及agent

所有节点创建目录及解压

上面有提供安装包,可以自行下载然后上传到Linux目录下。
首先创建目录

mkdir /opt/cloudera-manager

解压压缩包到指定目录

tar -xzvf cm6.3.1-redhat7.tar.gz -C /opt/cloudera-manager/

选择master为cm server,不下载依赖包直接部署

进入上面解压过后的目录

cd /opt/cloudera-manager/cm6.3.1/RPMS/x86_64

开始为主节点安装daemons 和 server,一定一定要看好是daemons 和 server rpm包,如果一旦安装错误对小白来说是致命打击。
只为主节点安装server !!!
只为主节点安装server !!!
只为主节点安装server !!!
不要踩坑!!!

rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm --nodeps --force 
rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm --nodeps --force

所有节点(包含master)为cm agent,不下载依赖包直接部署

下面是安装daemons 和agent 包,上面已经为master主节点安装过daemons,就不需要再安装,但是agent一定要所有节点都要安装。

cd /opt/cloudera-manager/cm6.3.1/RPMS/x86_64
rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm --nodeps --force 
rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm --nodeps --force

所有节点修改agent的配置,指向server的节点master

三台节点需改server_host,默认是localhost,修改成master主节点主机名。

vim /etc/cloudera-scm-agent/config.ini

主节点修改server的配置

在主节点进入db.properties 目录修改配置文件,如果上面rpm你安装失败,就不会显示这个目录。

vim /etc/cloudera-scm-server/db.properties 

修改文件如下,下面有两个坑需要注意

  1. 如果采用默认Mysql 3306端口,没问题,可以按照下面配置,如果不是默认,把hosts改成 主机名:对于端口号(master:xxx)
  2. com.cloudera.cmf.db.setupType一定一定要改成下面这种,不然就要报错喽。
com.cloudera.cmf.db.type=mysql 
com.cloudera.cmf.db.host=master
com.cloudera.cmf.db.name=cmf com.cloudera.cmf.db.user=cmf com.cloudera.cmf.db.password=www.ruozedata.com 
com.cloudera.cmf.db.setupType=EXTERNAL

master主节点部署离线parcel源

安装httpd服务

这里没啥可说的,只要yum源没问题就可以安装。

yum install -y httpd

部署离线parcel源

创建文件

mkdir -p /var/www/html/cdh6_parcel

把对应文件复制或者移动到刚才创建的目录中,因为目前官网不提供下载地址,所以需要完成离线安装组件。
第二个DH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha1,在移动过程中去掉1,一定一定要移动中修改,sha1名称文件时,重命名去掉1,不然在部署过程CM认为如上文件下载未完整,会持续下载

[root@master CDH6.3.1]# cp CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel /var/ www/html/cdh6_parcel/
[root@master  CDH6.3.1]# mv CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha1 / var/www/html/cdh6_parcel/CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha 
[root@ruozedata001 CDH6.3.1]# mv manifest.json /var/www/html/cdh6_parcel/

启动httpd,window查看

在浏览器输入 xxx.xxx.xxx.xxx/cdh6_parcel/ x改成自己的ip地址
如果出现下列这种,说明你的parcel源是正确的。

master节点启动Server

启动server

systemctl start cloudera-scm-server

查看日志,一定要查看日志,不然怎么错误都不知道,没法排查

cd /var/log/cloudera-scm-server/

$ ll total 20
-rw-r----- 1 cloudera-scm cloudera-scm 18265 Oct 23 15:37 cloudera-scm-server.log
-rw-r----- 1 cloudera-scm cloudera-scm 0 Oct 23 15:37 cmf-server-nio.log
-rw-r----- 1 cloudera-scm cloudera-scm 0 Oct 23 15:37 cmf-server-perf.log

tail -F cloudera-scm-server.log

有错误就根据错误解决,没有错误,等待1min,出现7180端口,表明是成功的。
如果是阿里云web界面,设置该master节点防火墙放开7180端口
等待1min-5min,打开 http://master:7180 账号密码:admin/admin
假如打不开,去看server的log,根据错误仔细排查错误

Web界面操作

如果能打开,恭喜你,你得CDH已经启动成功了
在这里插入图片描述
到这里就结束了,我是一名大数据开发和运维程序员,我喜欢开源大家一起共享成果,本文章我已经毫无保留的贡献出来,如果你觉得满意,请为动动手指为我点赞,如果文章不完美的地方,还请留言,我会及时修改。
如果是公司或者个人需要我远程帮助或辅导,可以加下方V并备注出处,我来提供解决方案,当然了,也是有偿的,我花时间和精力,你出¥。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小源有知识

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值