虚拟机三节点centos7.2安装CDH5.13.1

之前装过两次没成功,再装一遍,踩了些坑,后面有采坑经验建议看完再动手。

0. 基本条件
三台vmware虚机,都是1核2G,20G硬盘

1. 所有节点修改hostname,创建hadoop用户
hostnamectl set-hostname hadoop1

vim /etc/hosts

192.168.100.101 hadoop1
192.168.100.102 hadoop2
192.168.100.103 hadoop3

2. 主节点到从节点设免密登录
主节点:ssh-keygen -t rsa
ssh-copy-id hadoop1
ssh-copy-id hadoop2

3. 主节点安装mariadb
yum install -y mariadb
yum install -y mariadb-server
systemctl enable mariadb && systemctl start mariadb

初始化设置
mysql_secure_installation

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;flush privileges;

创建CDH用的数据库
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
4. 所有节点安装jdk
export JAVA_HOME=/usr/java/jdk1.8.0_144/
export PATH=$PATH:$JAVA_HOME/bin
. /etc/profile
java -version
5.所有节点安装启动ntp
vim ip

hadoop1
hadoop2
hadoop3

for ip in `cat ip`; do ssh $ip "yum install -y ntp"; done
for ip in `cat ip`; do ssh $ip "systemctl enable ntpd && systemctl start ntpd"; done

6. 所有节点关闭防火墙和SElinux
systemctl stop firewalld && systemctl disable firewalld
setenforce 0
sed -i 's/enforcing/disabled/g' /etc/selinux/config

7.所有节点创建cm账户
useradd --system --home=/opt/cm-5.13.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

for ip in `cat ip`; do ssh $ip "useradd --system --home=/opt/cm-5.13.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment 'Cloudera SCM User' cloudera-scm"; done

8.主节点拷贝cloudera-manager-centos7-cm5.13.1_x86_64.tar.gz到/opt/ 解压
拷贝jdbc连接器到指定目录:
cp mysql-connector-java-5.1.44-bin.jar /opt/cm-5.13.1/share/cmf/lib/
mkdir -p /usr/share/java
cp mysql-connector-java-5.1.44-bin.jar /usr/share/java/

9. 主节点修改agent的config.ini
vim /opt/cm-5.13.1/etc/cloudera-scm-agent/config.ini
server_host=hadoop1

10. 分发主节点的文件到从节点:
scp /etc/hosts hadoop2:/etc/hosts
scp /etc/profile hadoop3:/etc/hosts
scp -r /opt/cm-5.13.1/ hadoop2:/opt/

11. 主节点拷贝parcel文件
#相关文件 CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcelCDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha1
manifest.json
目标目录 /opt/cloudera/parcel-repo/
改名:mv CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha1 CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha

12. 初始化数据库:

/opt/cm-5.13.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -proot --scm-host localhost scm scm scm   

13. 启动server和agent
/opt/cm-5.13.1/etc/init.d/cloudera-scm-server start
/opt/cm-5.13.1/etc/init.d/cloudera-scm-agent start

虚机资源有限,server启动比较慢,等一会再启agent,看7180开启监听了再启动浏览器

14. 访问主节点7180开始可视化安装:

我在安装过程中CDH版本只能选择5.13.2,找了下原因是parcel文件不正确, sha1sum以后和下载的sha1文件的内容不对,重新下载了验证校验码正确。


调整交换区使用配置
临时
echo 10 > /proc/sys/vm/swappiness
开机设置
vim /etc/sysctl.conf
vm.swappiness=10

关闭透明大内存
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

CM server启动比较慢,而且web页面突然就打不开了,主节点内存已经跑满了,于是关机调整内存,主节点4G,从节点1G,关机的时候没有关CM agent
三台开机后:
server上agent log报错:
[25/Feb/2018 08:09:52 +0000] 2369 MainThread process ERROR [5-cluster-host-inspector] Failed to write out saved config: [Errno 2] No such file or directory: '/opt/cm-5.13.1/run/cloudera-scm-agent/process/5-cluster-host-inspector/proc.json'
agent上的报错信息是4-cluster-host-inspector

把server和agent都关了ps看仍然有agent的进程,而且杀了就自启,于是重启虚机好了。

再进安装界面已经纳管了三台agent节点但是找不到安装组件的功能,于是回退重装。

回退步骤:
关闭所有服务
#主节点 /opt/cm-5.13.1/etc/init.d/cloudera-scm-server stop#主节点及其他节点/opt/cm-5.13.1/etc/init.d/cloudera-scm-agent stop
删除每个agent节点agent uuid
rm -rf /opt/cm-5.13.1/lib/cloudera-scm-agent/*
删除数据库 scm
重新配置数据库
/opt/cm-5.13.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -proot --scm-host localhost scm scm scm

我还重启了虚机,保证杀掉agent进程,然后启动Cloudera server和agent,再次安装

报错Src file /opt/cloudera/parcels/.flood/CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel/CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel does not exist - hadoop1
手工把parcel文件考到指定目录继续安装还是报这个错,反复重装了几次,看日志,终于发现是磁盘空间不够了,删了些文件再试,终于成功了,看到下面的画面我快内牛满面了。
长了个记性就是一边tail着agent的log一边在web界面安装,我就是在不断往上滚动的log里面看到磁盘空间不足的报错的。


启动HDFS的时候agent出现Error sendingmessages to firehose: mgmt-HOSTMONITOR, error: [Errno 111] Connection refused,整得我又心惊肉跳的,继续等着,好像是主节点等待从节点超时重新找monitor,自己重试了几次过去了,心里一块大石头落地,然后盯着后面几块大石头,终于又等到一块



这个是因为mysql的连接器没放到hive目录下,把mysql-connector-java考到/opt/cloud/parcels/CDH-5.13.1-1.cdh5.13.1.p0.2-el7/lib/hive/lib/
然后Resume



虽然一堆红色告警,总算是全装上了,其实最主要的坑是磁盘容量不够,目前这些红色告警也主要是因为这个原因。主节点磁盘几乎用满了,内存用了3.5G+,从节点硬盘根目录用了65%,内存用了500M+。因为磁盘不够大的问题比较少见,所以也不太好查找原因,建议虚拟机安装把主节点硬盘给大些,内存建议4G。

猜你喜欢

转载自blog.csdn.net/qq_35753140/article/details/79368839