Cloudera Manager/CDH 5.13.0 详细离线部署流程

环境约束:
OS:CentOS 7.2-1511-x86_64
JDK:jdk1.8.0_152
Cloudera Manager: centos7-cm5.13.0_x86_64
CDH:5.13.0-1.cdh5.13.0.p0.29-el7
Namenode:192.168.6.240/node100
Datanode:
192.168.6.240/node100
192.168.6.241/node101
192.168.6.242/node102
NTP server:192.168.6.132

文中所用软件下载链接:
CentOS 7.2 1511 DVD 镜像
JDK
Cloudera Manager tarball
CDH parcelsha1 filemanifest.json
(sha1 file下载后需要改后缀名为.sha)
Mysql ServerMysql ClientMysql commonMysql libs
JDBC Driver


一、基本环境准备

1. 关闭防火墙和iptables
systemctl stop firewalld.service
systemctl stop iptables.service
systemctl disable firewalld.service
systemctl disable iptables.service
2. 关闭SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
3. 配置ntp时间同步服务端

本文配置过程中并未采用集群内的节点作为服务端,实际部署中可以使用集群内的节点作为服务端。

vim /etc/ntp.conf

打开ntp配置文件,改为以下内容

driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
restrict 192.168.6.0 mask 255.255.255.0 nomodify notrap
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
server  127.127.1.0  #local clock
fudag   127.127.1.0     stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys     

或者直接在终端执行:

cat << EOF > /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
restrict 192.168.6.0 mask 255.255.255.0 nomodify notrap
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
server  127.127.1.0  #local clock
fudag   127.127.1.0     stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys  
EOF

然后启动ntp服务并加入开机自启:

service ntpd start
chkconfig ntpd on
4. 配置ntp时间同步客户端

打开 /etc/ntp.conf 文件,改为我们自己配置好的内容(以192.68.6.132为例)

driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict ::1
restrict 192.168.6.132 mask 255.255.255.0 nomodify notrap
server 192.168.6.132
server 127.127.1.0
fudge 127.127.1.0 statum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
SYNC_HWCLOCK=yes

或者直接在终端执行:

cat << EOF > /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict ::1
restrict 192.168.6.132 mask 255.255.255.0 nomodify notrap
server 192.168.6.132
server 127.127.1.0
fudge 127.127.1.0 statum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
SYNC_HWCLOCK=yes
EOF

启动ntp服务并加入开机自启:

service ntpd start
chkconfig ntpd on
5. 配置主机名
cat  << EOF >> /etc/sysconfig/network
NETWORKING=yes
HOSTNAME= node100.myexample.com
EOF
6. 在集群所有主机名规划好之后,修改hosts
cat << EOF >> /etc/hosts 
192.168.6.240 node100.myexample.com
192.168.6.241 node101.myexample.com
192.168.6.242 node102.myexample.com
EOF
7. 配置无密码登录(仅主节点)
ssh-keygen -t rsa
ssh-copy-id root@node100.myexample.com
ssh-copy-id root@node101.myexample.com
ssh-copy-id root@node102.myexample.com
8. 关闭THP服务

/etc/rc.local文件中设置开机自动关闭THP的语句,因为CentOS7默认开机是不执行rc.local的,所以还要给 /etc/rc.d/rc.local可执行权限:

cat << EOF >> /etc/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
EOF
chmod +x /etc/rc.d/rc.local
9. 安装JDK1.8

建议使用 /usr/java/jdk1.8 作为 JAVA_HOME,因为YARN等组件默认使用这个目录为 JAVA_HOME,直接配置到这里可以避免很多麻烦。
假设jdk的tarball已经拷贝到服务器的 /usr/java 目录下 :

tar zxvf jdk-8u152-linux-x64.tar.gz
mkdir jdk1.8
mv jdk1.8.0_152/* jdk1.8/

配置环境变量:

cat << EOF >> /etc/profile
export JAVA_HOME=/usr/java/jdk1.8
export PATH=\$JAVA_HOME/bin:\$PATH
export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar
EOF
source /etc/profile
echo "JAVA_HOME=/usr/java/jdk1.8" >> /etc/environment

完成基本配置后需要重新启动

二、配置Cloudera Manager Server和Agent

1. 部署文件

cloudera-manager-centos7-cm5.13.0_x86_64.tar.gz复制到所有节点/opt目录下解压缩。自动生成 cloudera、cm-5.13.0两个文件夹:

tar zxvf cloudera-manager-centos7-cm5.13.0_x86_64.tar.gz

把JDBC驱动复制到以下目录:

cp mysql-connector-java-5.1.44.jar /opt/cm-5.1.3/share/cmf/lib/
cp mysql-connector-java-5.1.44.jar /usr/share/java/
2. 安装和配置mysql数据库

首先删除自带的MariaDB:

yum erase -y mariadb mariadb-libs

安装Mysql,因为依赖关系,这里必须按照这个顺序安装:

rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.9-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.9-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.9-1.el7.x86_64.rpm

设置Mysql:

systemctl enable mysqld.service
service mysqld start
grep 'temporary password' /var/log/mysqld.log

执行完毕之后会有类似如下显示(临时生成的密码会有区别):

2017-12-17T11:26:18.937718Z 1 [Note] A temporary password is generated 
for root@localhost: LgEu(D(<Y9Q?

根据上面查找到的密码登录mysql

mysql -uroot -p

以下是mysql命令行:

修改密码,必须包含大小写字母、数字和符号

alter user root@localhost identified by 'Thisis1password!';
#授权用户root使用密码passwd从任意主机连接到mysql服务器
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Thisis1password!' WITH GRANT OPTION;
flush privileges;

为ActiveMonitor和Hive创建数据库:

create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
quit;

创建用户(所有节点):

useradd --system --home=/opt/cm-5.13.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
3.安装Cloudera Manager Server

为scm建立数据库:

/opt/cm-5.13.0/share/cmf/schema/scm_prepare_database.sh mysql -uroot -p scm scm

如成功则会出现提示:

[main] DbCommandExecutor INFO  Successfully connected to database.
All done, your SCM database is configured correctly!
4. 部署CDH的parcel:

CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel
CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha
manifest.json

三个文件复制到 /opt/cloudera/parcel-repo/ 目录下。

5. 启动Cloudera Manager Server

执行启动脚本:

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

过程非常慢,需要耐心等待5分钟左右,此间可以执行:

watch netstat -lntp

来观察启动情况,如出现7180端口的服务启动,则说明启动完成。
执行启动脚本的时候可能会提示:

/opt/cm-5.13.0/etc/init.d/cloudera-scm-server:行109: pstree: 未找到命令

需要安装psmisc:

yum install -y psmisc
6. 配置和启动Cloudera Manager Agent

在每个Agent节点上修改config.ini文件:

sed -i 's/server_host=localhost/server_host=node100.myexample.com/g' /opt/cm-5.13.0/etc/cloudera-scm-agent/config.ini

主机名"node100.myexample.com"根据实际需求更换成对应的Server's hostname。

启动agent:

/opt/cm-5.13.0/etc/init.d/cloudera-scm-agent start
7. 把Cloudera Manager Server/Agent添加到系统服务进行管理

/lib/systemd/system新建 cmserver.service文件,添加系统服务配置(仅server节点)

cat << EOF >> /lib/systemd/system/cmserver.service
[Unit]
Description=Cloudera Manager Server
After=network.target

[Service]
Type=forking
ExecStart=/opt/cm-5.13.0/etc/init.d/cloudera-scm-server start
ExecReload=/opt/cm-5.13.0/etc/init.d/cloudera-scm-server restart
ExecStop=/opt/cm-5.13.0/etc/init.d/cloudera-scm-server stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF

新建 cmagent.service文件,添加系统服务配置(所有节点)

cat << EOF >> /lib/systemd/system/cmagent.service
[Unit]
Description=Cloudera Manager Agent
After=network.target

[Service]
Type=forking
ExecStart=/opt/cm-5.13.0/etc/init.d/cloudera-scm-agent start
ExecReload=/opt/cm-5.13.0/etc/init.d/cloudera-scm-agent restart
ExecStop=/opt/cm-5.13.0/etc/init.d/cloudera-scm-agent stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF

更改配置文件的权限为745:

chmod 745 /lib/systemd/system/cmserver.service
chmod 745 /lib/systemd/system/cmagent.service

添加到开机自启动:

systemctl enable cmserver.service
systemctl enable cmagent.service

然后启动、重启、停止服务就和其它系统服务一样了。

三、部署安装CDH 5.13.0.29

1. 建立集群

用浏览器访问server:7180

TOC打钩

实验环境就选个免费版

继续下一步

如果之前配置都正确的话,就直接选择当前管理的主机。

继续下一步

然后就开始较为漫长的安装了

集群安装好之后还要验证一下

这里会将一些检查发现的问题汇总起来,不严重的问题可以先不管,图中提示THP没有关闭是因为我截图的时候忘记把主机的THP关闭了,如果按照基础环境准备的步骤做,是不会提示这个警告的。swapness我也没有管,不过建议搭建的时候如果物理内存足够的话,还是把swapness调小一些,否则真的很卡顿。

然后就可以开始选择安装服务了。

2. 安装服务

首先点击“群集”,选择我们装好的cluster(这里我预先装好了HDFS和Zookeeper)

进入cluster控制台,选择添加服务

在这里可以选择安装需要的服务

3. 安装Hive时的注意事项

安装Hive时,除了预先要建立Hive的数据库之外,在安装过程中还会遇到无法连接数据库的错误,此时需要把JDBC的jar包拷贝到 $HIVE_HOME/lib/ 下面。
在此版本约束下,$HIVE_HOME/lib/一般为:

/opt/cloudera/parcels/CDH-5.13.0-1.cdh5.13.0.p0.29/lib/hive/lib/
4. 安装失败后,全新重装之前的清理
  • 先停止server和agent的服务
/opt/cm-5.13.0/etc/init.d/cloudera-scm-server stop
/opt/cm-5.13.0/etc/init.d/cloudera-scm-agent stop
  • 删除scm等相关的数据库
drop database scm;
drop database amon;
drop database hive;
……
  • 删除agent的部署文件
rm -rf /opt/cm-5.13.0/lib/cloudera-scm-agent/*
  • 删除临时文件
rm -rf /tmp/*
  • 如果之前部署了HDFS服务,还要在每个节点删除dfs的文件
rm -rf /dfs/*
  • 最后重启服务器

四、Trouble shooting

1. 各种状态图不显示,状态图表为灰色小问号,但服务运行状态正常:

solution:
一般这种情况的原因就是运行Host Monitor、Activity Monitor、Service Monitor的主机内存不足,或者这三个服务没有启动,到Cloudera Manager Service控制台进行调整即可。

2. “无法找到主机的 NTP 服务,或该服务未响应时钟偏差请求。”:

solution:
这种情况的原因是NTP服务没有启动或者配置好,需要手动启动NTP服务,然后手动与服务器进行对时:

ntpdate -u ntp.server.com

然后重新启动一下agent服务。

/opt/cm-5.13.0/etc/init.d/cloudera-scm-agent restart

欢迎转载,转载请联系我并注明文章来源。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容