cdh5.14.X集群的安装

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_42411818/article/details/100534606

相关软件:链接:https://pan.baidu.com/s/1oCvrk6YEfEGCQeCVW6OzmQ 提取码:6jco
注意centos要下载el7的,我就因为一开始不清楚下的el5,结果提示parcels不知道redhat7,搞了好久才还原到初始重新来过

角色分配

在这里插入图片描述
以上的角色分配可以参考:
https://www.cloudera.com/documentation/enterprise/latest/topics/cm_ig_host_allocations.html#concept_f43_j4y_dw__section_icy_mgj_ndb 和https://blog.csdn.net/chenguangchun1993/article/details/79164857
两篇文章,第一篇是CDH官网推荐的角色分配、第二篇是CSDN上的博文

环境准备

从上一节的角色分配中,我们知道,我们需要准备4台虚拟机,所以我们需要准备一台内存至少为16G的主机,然后在主机上虚拟4台虚拟机、虚拟机的主机名和内存分别是:
1、cdh-cm(2核3G)
2、cdh-master(2核6G)
3、cdh-worker1(2核3G)
4、cdh-worker2(2核3G)
说明:CDH推荐的worker的数量最好是3个以及以上,但是我的本机资源有限,所以安装只配置2个worker
安装方法可以参考我之前的博文https://blog.csdn.net/weixin_42411818/article/details/95207469
环境准备环节就不多讲了

正式安装

放置mysql的jdbc的驱动jar包

先在所有的虚拟机上创建目录:
mkdir /usr/share/java

将mysql的jdbc的驱动jar包上传至cdh-master这台机器上的/user/share/java目录下,然后执行:
mv /usr/share/java/mysql-connector-java-5.1.44-bin.jar /usr/share/java/mysql-connector-java.jar

将mysql的jdbc驱动jar包重名成mysql-connector-java.jar。然后执行:
scp /usr/share/java/mysql-connector-java.jar root@cdh-cm:/usr/share/java/
scp /usr/share/java/mysql-connector-java.jar root@cdh-worker1:/usr/share/java/
scp /usr/share/java/mysql-connector-java.jar root@cdh-worker2:/usr/share/java

安装Cloudera Manager

在cdh-cm这台虚拟机上安装Cloudera Manager
1、在所有的虚拟机上执行命令:mkdir /opt/cloudera-manager

2、将Cloudera Manager安装包cloudera-manager-centos7-cm5.14.3_x86_64.tar.gz上传到cdh-cm上的/opt/cloudera-manager目录下, 然后在cdh-cm机器上分别执行:
tar -avxf /opt/cloudera-manager/cloudera-manager-centos7-cm5.14.3_x86_64.tar.gz -C /opt/cloudera-manager/
rm -f /opt/cloudera-manager/cloudera-manager-centos7-cm5.14.3_x86_64.tar.gz
scp -r /opt/cloudera-manager/* root@cdh-master:/opt/cloudera-manager/
scp -r /opt/cloudera-manager/* root@cdh-worker1:/opt/cloudera-manager/
scp -r /opt/cloudera-manager/* root@cdh-worker2:/opt/cloudera-manager/

3、创建cloudera-scm用户,在所有的虚拟机上执行命令:
useradd --system --home=/opt/cloudera-manager/cm-5.14.3/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment “Cloudera SCM User” cloudera-scm

4、在机器cdh-cm上创建cloudera manager server需要的目录,并赋值权限,执行:
mkdir /var/cloudera-scm-server
chown cloudera-scm:cloudera-scm /var/cloudera-scm-server
chown cloudera-scm:cloudera-scm /opt/cloudera-manager

5、修改cdh-master、cdh-worker1、cdh-worker2上的配置,将这3台主机作为cloudera manager的agent,将server_host指向cdh-cm。在3台机器上执行:
vi /opt/cloudera-manager/cm-5.14.3/etc/cloudera-scm-agent/config.ini
然后将配置文件中的server_host改为CMS所在的主机名即cdh-cm

准备CDH parcel包

1、在cdh-cm上执行命令(创建CDH的parcel包仓储):
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo

2、将文件CDH-5.14.4-1.cdh5.14.4.p0.3-el7.parcel、CDH-5.14.4-1.cdh5.14.4.p0.3-el7.parcel.sha1以及manifest.json上传到cdh-cm上的的/opt/cloudera/parcel-repo目录下,然后执行如下命令:
mv /opt/cloudera/parcel-repo/CDH-5.14.4-1.cdh5.14.4.p0.3-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.14.4-1.cdh5.14.4.p0.3-el7.parcel.sha
使用上面的命令去掉文件/opt/cloudera/parcel-repo/CDH-5.14.4-1.cdh5.14.4.p0.3-el7.parcel.sha1最后的"1",这步一定要做

3、在cdh-master、cdh-worker1、cdh-worker2主机上执行如下命令:
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

4、在虚拟机cdh-cm上执行如下命令:
scp -r /opt/cloudera/parcel-repo/* root@cdh-master:/opt/cloudera/parcels
scp -r /opt/cloudera/parcel-repo/* root@cdh-worker1:/opt/cloudera/parcels
scp -r /opt/cloudera/parcel-repo/* root@cdh-worker2:/opt/cloudera/parcels

Mysql数据库初始化

1、在虚拟机cdh-cm上执行mysql -uroot -p 然后输入密码进入到mysql的交互界面,执行如下的sql脚本:
grant all on . to ‘root’@‘cdh-cm’ Identified by “root”;
flush privileges;
create database scmdbn;
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database monitor DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
grant all on . to root@"%" Identified by “root”;
exit; ##退出mysql交互界面

2.在cdh-cm虚拟机上执行如下shell脚本初始化scm的数据库scmdbn
/opt/cloudera-manager/cm-5.14.3/share/cmf/schema/scm_prepare_database.sh mysql -hcdh-cm --scm-host cdh-cm scmdbn root root
##参数的含义如下:
##mysql:数据库用的是mysql,如果安装过程中用的oracle,那么该参数就应该改为oracle。
##-hhadoop-utility:表示数据库所在的机器的主机名
##–scm-host hadoop-utility:CMS的主机,一般是和mysql安装的主机是在同一个主机上。
##最后三个参数是:CMS需要的数据库的名称,数据库用户名,数据库密码

配置cloudera manager的server和agent,并启动

1、在虚拟机cdh-cm上修改cloudera-scm-server的配置,并且启动cloudera-scm-server
cp /opt/cloudera-manager/cm-5.14.3/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server
vi /etc/init.d/cloudera-scm-server
##将CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default}改为CMF_DEFAULTS=/opt/cloudera-manager/cm-5.14.3/etc/default

在这里插入图片描述
##启动cloudera-scm-server:
service cloudera-scm-server start
查看日志:
tail -fn300 /opt/cloudera-manager/cm-5.14.3/log/cloudera-scm-server/cloudera-scm-server.log
在这里插入图片描述
如果报如上的错误,则执行下面的命令:
service cloudera-scm-server stop
mkdir /var/lib/cloudera-scm-server
chown -R cloudera-scm.cloudera-scm /var/lib/cloudera-scm-server
service cloudera-scm-server start
继续看日志:
tail -fn300 /opt/cloudera-manager/cm-5.14.3/log/cloudera-scm-server/cloudera-scm-server.log
报如下的错的话,我们可以忽略,因为我们采用的是离线安装
在这里插入图片描述

2.分别在cdh-master、cdh-worker1、cdh-worker2主机上修改cloudera-scm-agent的配置,且启动cloudera-scm-agent,执行如下命令:
mkdir /opt/cloudera-manager/cm-5.14.3/run/cloudera-scm-agent
cp /opt/cloudera-manager/cm-5.14.3/etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent
vi /etc/init.d/cloudera-scm-agent
##将CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default}改为CMF_DEFAULTS=/opt/cloudera-manager/cm-5.14.3/etc/default

##启动cloudera-scm-agent:
service cloudera-scm-agent start

CDH的安装

在本机的目录C:\Windows\System32\drivers\etc下打开hosts文件,添加如下内容:
192.168.126.140 cdh-cm
192.168.126.141 cdh-master
192.168.126.142 cdh-worker1
192.168.126.143 cdh-worker2

在配置过程中建议先看完整个文档

基本设置

然后在本机重新打开一个浏览器,输入http://cdh-cm:7180,进入到如下的界面:

在这里插入图片描述
输入初始用户名:admin 初始密码:admin。然后点击登陆,进入如下的界面:
在这里插入图片描述
然后进入到下面的界面,选择CDH版本,选择免费的版本(土豪的话也可以买哦)
在这里插入图片描述
然后进入到下面的页面:
在这里插入图片描述

为CDH集群选择主机

然后进入到如下的界面,为CDH集群选择主机
在这里插入图片描述
点击继续后,需要一点时间,然后进入集群的安装的存储库的选择

集群安装

选择集群安装方式,我们选择使用Parcel方式,原因如下
在这里插入图片描述
进入到如下的界面,在这个界面需要等到比较长的时间
在这里插入图片描述
等待上面的界面已激活完毕后,点击继续,进入下面的界面
在这里插入图片描述
进入到如下的完成界面:
在这里插入图片描述
点击上面的完成按钮,进入到集群设置:

集群设置

在这里插入图片描述
点击上面的继续,进入自定义角色配置界面:
在这里插入图片描述
按照默认的选择,不做任何的修改,如果你需要自定义角色安装的主机的话,就是在这个界面自定义,注意。点击继续,进入如下数据库设置界面
在这里插入图片描述
点击上图的测试连接,会报如下的错误:
在这里插入图片描述
要解决上面的问题,需要在hue安装的虚拟机cdh-master上执行如下的命令:
yum install krb5-devel cyrus-sasl-gssapi cyrus-sasl-deve libxml2-devel libxslt-devel mysql mysql-devel openldap-devel python-devel python-simplejson sqlite-devel -y

执行上面的命令后,继续点击上图的测试连接,则成功如下:
在这里插入图片描述
点击上图的继续,进入下面的界面:
在这里插入图片描述
这个界面就是一些基础的配置,如果不需要更改的话直接点击继续,进入到下面的首次运行界面:
在这里插入图片描述
在这里插入图片描述
如果在这个步骤报如上的错的话,可以通过查看错误日志:
在这里插入图片描述
需要在每一台虚拟机上执行如下命令:
yum -y install perl
安装perl(可能cdh-master和cdh-cm机器已经安装过了,就不用安装)
安装完后,等待一小会,再点击上图中”Resume”按钮,则正常运行首次命令:
在这里插入图片描述
可以变运行边看日志。如果在启动HDFS的时候报Command timed-out after 90 seconds的错的话,则多执行几次Resume。多执行几次还不行的话,可能还会报namenode format fail的错误,则返回到上一个页面修改HDFS相关的目录配置。回到下面的这个页面修改配置(修改NameNode的目录,DataNode的目录以及SecondaryNameNode的目录)
在这里插入图片描述
修改完配置之后再点继续,继续首次启动集群,如果在下面的界面还是失败的话
在这里插入图片描述
则点击左上角的cloudera MANAGER,来到如下的界面,重启相关失败的服务
在这里插入图片描述
启动Hue的时候会报如下的错:
在这里插入图片描述
在Hue的安装的虚拟机上执行如下的命令:
yum install cyrus-sasl-plain cyrus-sasl-devel cyrus-sasl-gssapi
yum -y install httpd
yum -y install mod_ssl
然后在重启Hue,界面如下:
在这里插入图片描述
在这里插入图片描述
如果看到上面的界面,则表示CDH的安装成功

异常集合

重启cloudera manager server的日志报错

1、重启过程Service Monitor服务报如下异常,我们无需关系,因为启动CM和Agent服务一段时间后自然会正常
在这里插入图片描述
2、碰到如下的错也可以忽略,因为日志级别是INFO级别的
在这里插入图片描述
3.zk启动失败
在这里插入图片描述
在这里插入图片描述
三个节点都需要这样做

mkdir /var/lib/zookeeper/version-2
chown zookeeper:zookeeper /var/lib/zookeeper/version-2 或者直接777权限,毕竟我们只是安着玩玩

Hdfs启动失败

在这里插入图片描述
手动在master执行:hdfs namenode -format
在这里插入图片描述
手动在报错目录加上相应的权限

oozie webUI 页面问题

下载一个ext-2.2然后上次上去,这次没截图,百度有很多相关文章

猜你喜欢

转载自blog.csdn.net/weixin_42411818/article/details/100534606