centos7离线安装cdh5.15

因工作需要,已经安装了CDH5.15.0版本的集群好几次了,一直没有时间详细地把中间过程以及遇到的一些坑记录下来。现在写下来作为一个总结,也可供小伙伴们参考。如果有问题也欢迎留言,相互交流、共同进步。

本文集群搭建为五台物理机服务器,根据zookeeper的leader竞选机制,最好为奇数台的服务器:

一:前期准备

1、服务器系统安装:

系统安装:centos7.0

共五台物理机:cdh1、cdh2、cdh3、cdh4、cdh5

2、安装包:

注意:cdh相关包要和你安装的系统匹配,我这里安装的centos7系统,则下载带el7的包,这里根据自己的系统版本选择相应的安装包,否则后期将会无法识别。

另外:将CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha1

重命名为CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha,否则也将无法识别,非常重要!!

3、其他的安装包

二、环境配置

1、主机名修改及域名映射

  • 修改主机名:

vi /etc/hostname

将主机名分别改为cdh1、cdh2、cdh3、cdh4、cdh5

  • 域名映射(五台都一样):

vi /etc/hosts

10.10.20.51 cdh1

10.10.20.52 cdh2

10.10.20.53 cdh3

10.10.20.54 cdh4

10.10.20.55 cdh5

测试相互之间是否能ping 通:ping cdh2等等

2、JDK安装(五台都需要)

将前期下载的jdk安装包解压至相应路径,这里我习惯安装至/usr/java(也可解压至其他的文件夹)

tar -xzvf jdk-8u144-linux-x64.tar.gz

配置环境变量(配置文件末尾处添加):

vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_144

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

执行:source /etc/profile 使配置文件生效

3、配置SSH免密登录

在主节点上执行:ssh-keygen -t rsa,一路回车生成秘钥

在主节点上执行:

ssh-copy-id cdh2

ssh-copy-id cdh3

ssh-copy-id cdh4

ssh-copy-id cdh5

测试是否成功:在主节点上ssh cdh2等等

如果ssh免密配置失败或者中途变更了某个节点的IP,则删除各个节点下的该文件夹:

rm -rf /root/.ssh/

再重新执行上述指令。

4、安装Mysql(主节点,将安装包放在/usr/mysql/)

(1)centos7默认安装的是mariadb,需要先卸载掉;

rpm -qa |grep mariadb#查看安装的mariadb

rpm -e mariadb-libs* --nodeps#卸载相应的软件包

(2)解压mysql安装包并安装

tar -xvf mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar

执行安装命令(必须按顺序)

rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.20-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-compat-5.7.20-1.el7.x86_64.rpm(安装compat包用于解决hue数据库连接失败问题)

(3)配置数据库访问密码,并授权root用户从任意主机访问

service mysqld start #启动服务

cat /var/log/mysqld.log|grep password #查看初始密码

mysql -uroot -p #用初始密码登录

set password = password('Mysql@123') #设置密码,大小写,特殊字符,八位以上(最好如此设置,否则会提示密码安全问题,这里我设置为Mysql@123)

#授权用户root使用密码passwd从任意主机连接到mysql服务器

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

flush privileges;#刷新

(4)建立各个组件的数据库(用于基本组件安装)

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;

5、关闭防火墙(所有节点)

systemctl stop firewalld.service#关闭防火墙

systemctl status firewalld.service#查看防火墙状态,是否已经处于indead的状态

6、关闭selinux(所有节点)

vi /etc/selinux/config

设置SELINUX=disabled

7、配置NTP服务(所有节点)

yum install ntp

chkconfig ntpd on#设置开机启动

service ntpd start

8、创建用户(所有节点)

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

三、cm安装

1、安装cloudera manager server和agent

(1)将下载好的cloudera-manager-centos7-cm5.15.0_x86_64.tar.gz解压到主节点的/opt/,解压出来的文件夹为cloudera与cm-5.15.0

(2)为cloudera manager建立数据库,先拷贝mysql连接驱动(主节点)

scp mysql-connector-java-5.1.44-bin.jar root@cdh1:/opt/cm-5.15.0/share/cmf/lib/

scp mysql-connector-java-5.1.44-bin.jar root@cdh1:/usr/share/java/

初始化scm数据库:

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

参数解释:

-hlocalhost:连接到本机

-u:用户名,此时为root

-p:密码(root用户连接到mysql的密码)

scm:需初始化的数据库

scm:scm数据库的用户(初始化为scm用户)

回车后提示输入两次密码:第一次为root用户连接mysql的密码(即之前你设定的密码)

第二次为初始化scm用户连接到scm数据库的密码,需要你此刻设置,设置格式(至少八位长度,大小写,特殊字符,否则会提示密码安全问题,初始化失败)

(3)设置主节点为cdh1

vi /opt/cm-5.15.0/etc/cloudera-scm-agent/config.ini server_host=cdh1

#然后拷贝到其他节点

scp -r /opt/cm-5.15.0/ root@cdh2:/opt/

scp -r /opt/cm-5.15.0/ root@cdh3:/opt/

scp -r /opt/cm-5.15.0/ root@cdh4:/opt/

scp -r /opt/cm-5.15.0/ root@cdh5:/opt/

(4)将parcels等文件拷贝到主节点/opt/cloudera/parcel-repo/

#相关文件

CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel

CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha1

manifest.json

记得将CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha1

重名为CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha

mv CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha1 CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha

(5)启动

#主节点 /opt/cm-5.15.0/etc/init.d/cloudera-scm-server start

#主节点及其他节点 /opt/cm-5.15.0/etc/init.d/cloudera-scm-agent start

启动后可查看各个服务的状态:

#主节点 /opt/cm-5.15.0/etc/init.d/cloudera-scm-server status

#主节点及其他节点 /opt/cm-5.15.0/etc/init.d/cloudera-scm-agent status

如果正常可查看数据库scm中的host表,如果有各个节点的IP信息,表示一切正常

2、cdh集群安装

登录:http://cdh1:7180,admin/admin

因为自己安装的时候比较匆忙,没有截图,下面的图片都是借用别人的图片。

安装版本:

勾选已受管的所有主机

选择你上传版本的parcels包

检查主机安全性,如只有下面两个问题,则可忽略

此时可能hue的数据库连接不上,则检查是否已经安装

rpm -ivh mysql-community-libs-compat-5.7.20-1.el7.x86_64.rpm(进入到mysql安装包的路径执行)

yum install python-lxml

后面没有特别的设置,一路默认设置下去,直到完成,并启动所有的服务。

3、如果中间安装失败,则做如下操作

(1)停止所有服务

#主节点 /opt/cm-5.15.0/etc/init.d/cloudera-scm-server stop

#主节点及其他节点 /opt/cm-5.15.0/etc/init.d/cloudera-scm-agent stop

(2)删除agent的uuid

rm -rf /opt/cm-5.15.0/lib/cloudera-scm-agent/*

(3)进入mysql数据库,删除scm数据库

并执行/opt/cm-5.15.0/share/cmf/schema/scm_prepare_database.sh mysql -hlocalhost -uroot -p scm scm(与之前安装时的步骤一样)

暂时就写到这里,这是安装了三遍的总结,后期还会更新spark2的安装文档。中间有一些问题因为当时没有记录,所以后期再慢慢补充了。网友遇到了也欢迎一起交流解决,一起踩坑(温馨提示一下:安装过程中如果遇到问题最好的办法是先去查看相应的日志,这样最容易发现问题)。、

如果你觉得文章好的话帮忙点个赞吧!

猜你喜欢

转载自blog.csdn.net/zengwl756649007/article/details/89737732