CM自动化安装CDH5.14.0详解
CDH5.14.0版本说明
CDH最早版本只包含hadoop、hive、hbase等基础组件,CDH5.14.0版本目前已经封装了spark、impala、kudu(CDH 5.13.x开始)等众多组件,但是目前kafka和CDH还是分离的,如果需要cdh离线安装kafka,需要单独下载kafka的parcel,具体请参考:kafka的cdh安装指导
服务器规划
主机名 | IP地址 | CM角色 | 配置 |
---|---|---|---|
cm-1 | 192.168.25.130 | server | 内存2G处理器4核物理空间40G |
cm-2 | 192.168.25.131 | agent | 内存1G处理器4核物理空间40G |
cm-3 | 192.168.25.132 | agent | 内存1G处理器4核物理空间40G |
cm-4 | 192.168.25.133 | agent | 内存1G处理器4核物理空间40G |
一:环境准备
1.1 关闭防火墙(每台主机)
service iptables status
1.2 修改主机名(每台主机)
vim /etc/sysconfig/network
例如:
1.3 主机名映射(每台主机)
vim /etc/hosts
1.4 关闭selinux(每台主机)
[root@cm-1~]# vim /etc/sysconfig/selinux SELINUX=disabled 重启才能生效 重启后检查 [root@cm-1~]#sestatus -v SELinux status: disabled 表示已经关闭了
1.5 节点间时间同步(每台主机)
集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题
1.6 开启ntpd服务(每台主机)
1.7 ssh免密登录
只需要实现cm-1到cm[2-4]的免密登录
[root@cm-1 ~]# ssh-keygen -t rsa (四个回车) 执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥) 将公钥拷贝到要免密登陆的目标机器上 [root@cm-1 ~]# ssh-copy-id cm-2 [root@cm-1 ~]# ssh-copy-id cm-3 [root@cm-1 ~]# ssh-copy-id cm-4
二:配置cm本地yum源
2.1 安装http服务器(cm-1)
先查看是否有httpd服务
[root@cm-1 ~]# rpm -qa|grep httpd httpd-tools-2.2.15-39.el6.centos.x86_64 httpd-2.2.15-39.el6.centos.x86_64
如果没有则安装
yum install httpd
设置httpd开机启动
[root@cm-1 ~]# chkconfig httpd on
2.2 将cdh的parcel文件挂载到http服务器(cm-1)
创建parcels目录
[root@cm-1 ~]# cd /var/www/html [root@cm-1 html]# mkdir parcels [root@cm-1 html]# cd parcels/
下载3个文件到parcels目录
下载地址
当然你也可以选择wget在线下载
[root@cm-1 parcels]# wget archive.cloudera.com/cdh5/parcels/5.14.0/CDH-5.14.0-1.cdh5.14.0.p0.24-el6.parcel
[root@cm-1 parcels]# wget archive.cloudera.com/cdh5/parcels/5.14.0/CDH-5.14.0-1.cdh5.14.0.p0.24-el6.parcel.sha1
[root@cm-1 parcels]# wget archive.cloudera.com/cdh5/parcels/5.14.0/manifest.json
校验parcel文件是否完整
很多时候由于网络原因导致parcel文件下载失败,为了保证parcel文件的完整我们可以通过sha文件进行校验
修改校验文件的文件名
这一步必须做,否则,系统会重新下载 CDH-5.14.0-1.cdh5.14.0.p0.24-el6.parcel
[root@cm-1 parcels]# mv CDH-5.14.0-1.cdh5.14.0.p0.24-el6.parcel.sha1 CDH-5.14.0-1.cdh5.14.0.p0.24-el6.parcel.sha
2.3 将cm的rpm文件挂载到http服务器(cm-1)
下载地址:https://archive.cloudera.com/cm5/repo-as-tarball/5.14.0/
解释:为什么需要创建与官网一样的rpm路径,请看下图:
2.4 测试
http://192.168.25.130/parcels/
http://192.168.25.130/cm5/redhat/6/x86_64/cm/5.14.0/RPMS/x86_64/
2.5 配置本地yum源(每台主机)
配置yum源的目的是为了离线安装cm的服务端和客户端
[root@cm-1 yum.repos.d]# vi /etc/yum.repos.d/cloudera-manager.repo [cloudera-manager] name=Cloudera-Manager,version5.14.0 baseurl = http://192.168.25.130/cm5/redhat/6/x86_64/cm/5.14.0/ gpgcheck = 0
三:安装CM的server端
3.1 为cm安装mysql(cm-1)
参考:
安装mysql的时候一定注意:开放远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
3.2 为cm创建数据库(cm-1)
创建cmf数据库
3.3 为cm安装数据库驱动(cm-1)
3.4 安装cm服务端(cm-1)
[root@cm-1 x86_64]# cd /var/www/html/cm5/redhat/6/x86_64/cm/5.14.0/RPMS/x86_64
[root@cm-1 x86_64]# yum install -y cloudera-manager-daemons-5.14.0-1.cm5140.p0.25.el6.x86_64.rpm
[root@cm-1 x86_64]# yum install -y cloudera-manager-server-5.14.0-1.cm5140.p0.25.el6.x86_64.rpm
3.5 为设置cm数据库连接信息(cm-1)
[root@cm-1 ~]# cd /etc/cloudera-scm-server/
[root@cm-1 cloudera-scm-server]# ls
db.properties log4j.properties
[root@cm-1 cloudera-scm-server]# vi db.properties
从 5.9版本开始
db配置文件里面多了一项配置:
com.cloudera.cmf.db.setupType
EXTERNAL表示用自建的 必须得指定这个参数,或者干脆注释掉这个配置项
3.6 安装oracle jdk(每台主机)
注意了:
1:最好是oracle jdk,大家可以直接使用cm提供的配套的oracle jdk
2:每台服务器都要安装,可以先在cm-1安装,完了后copy到cm[2-4]
卸载openjdk(记得每台服务都卸载)
[root@cm-1 java]# rpm -qa|grep java
tzdata-java-2014g-1.el6.noarch
java-1.6.0-openjdk-1.6.0.0-11.1.13.4.el6.x86_64
java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el6_5.x86_64
[root@cm-1 java]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-11.1.13.4.el6.x86_64
[root@cm-1 java]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el6_5.x86_64
安装Oracle jdk
[root@cm-1 x86_64]# cd /var/www/html/cm5/redhat/6/x86_64/cm/5.14.0/RPMS/x86_64
[root@cm-1 x86_64]# rpm -ivh oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm
warning: oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID e8f86acd: NOKEY
Preparing... ########################################### [100%]
1:oracle-j2sdk1.7 ########################################### [100%]
[root@cm-1 x86_64]#
配置JAVA环境变量
[root@cm-1 etc]# vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera
export PATH=$PATH:$JAVA_HOME/bin
[root@cm-1 etc]# source /etc/profile
分发到cm[2-4]
3.7 启动cm服务(cm-1)
启动时间会有点长,请耐心等待,估计要1分钟左右
[root@cm-1 cloudera-scm-server]# service cloudera-scm-server start
3.8 测试(cm-1)
访问:http://192.168.25.130:7180/cmf/login,出现登录界面表示安装成功
登录用户名和密码都是admin
四:安装CM客户端
只要CM的服务器端安装成功,那么恭喜大家,后续的所有安装,大家都可以直接在管理页面上自动化完成,CM的客户端安装也不例外
4.1 同意license协议
admin/admin登录到CM
同意license协议,点击继续
4.2 选择免费版
4.3 选择CM客户端主机
4.4 指定cdh的parcel库和cm的rpm地址
4.5 安装cm客户端
这一步开始前,麻烦再做两件事情
第一件:每台主机都安装如下组件
yum install -y python-psycopg2 mod_ssl MySQL-python openssl-devel fuse-libs portmap /lib/lsb/init-functions fuse libxslt cyrus-sasl-gssapi
第二件:每台主机都注释掉不相关的repo文件
必须注释,要不然cm客户端的安装会变得很慢,甚至超时
4.6 安装CDH
4.7 安装大数据组件
一旦cdh安装完毕,恭喜你,接下来安装hdfs、yarn、hive、sqoop都是很简单的事情了
安装推荐:如果你要安装hdfs、yarn、hive、kudu、impala,而且impala和hive要整合,impala和kudu要整合,那么你的安装顺序是
(hdfs,yarn)=>hive==>kudu====>impala
总结
安装过程很痛苦,但是只需要你安装一次,希望你能耐心安装,祝你一路顺心,如果安装失败,需要卸载,请自行百度怎么卸载。
转自:http://www.wendaoxueyuan.com/thy-post/detail/40a90f4d-76b6-4ffb-bf89-4927fe51446b