目录
Cloudera’s Distribution Including Apache Hadoop(CDH),就是Cloudera这个公司发行的hadoop集群环境稳定版本。
• 是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建
• 提供了Hadoop的核心
– 可扩展存储
– 分布式计算
• 基于Web的用户界面
• 解决hadoop环境搭建各组件版本及配置部署管理的问题。
2.1 linux centos
2.2 安装jdk
2.3 配置集群SSH免密码登录
2.4 同步集群各时间节点
2.5 关闭防火墙
service iptables stop
chkconfig iptables off 重启后也生效
2.5 统一hostname
2.6 所有节点修改hosts
10.10.122.522 master
10.10.122.523 slave1
10.10.122.533 slave2
10.10.122.502 slave3
2.7 安装mysql
根据不同linux版本需要下载不同的包,我的centos6 需要下载el6版本的。archive-primary.cloudera.com和archive.cloudera.com哪个速度快用哪个:
cm5:http://archive-primary.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.8.0_x86_64.tar.gz
cdh5:http://archive.cloudera.com/cdh5/parcels/5.8.0/CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel
http://archive.cloudera.com/cdh5/parcels/5.8.0/CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1
下载后解压到/opt
4.1添加cm用户
在所有节点上执行
useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
4.2配置aget
vi /opt/cm-5.8.0/etc/cloudera-scm-agent/config.ini
修改 server_host=master
把cm-5.8.0复制到其他节点
scp scp -r cm-5.8.0/ root@10.10.212.143:/opt/cm/
4.3初始化cm mysql数据库
复制mysql-connector-java-8.0.12.jar到目录/usr/share/java和/opt/cm-5.11.0/share/cmf/lib/ 注意mysql和jar的版本对应
/opt/cm-5.11.0/share/cmf/schema/scm_prepare_database.sh mysql cm -h slave2 -uroot -panjian123 --scm-host master scm scm scm
-h后是mysql的主机名
--scm-host 后是SCM server的主机名(主节点)
如果有报错,一般是msyql的权限设置没设好,root不能远程登录
4.4 主节点 将下载好的cdh 的两个文件放入/opt/cloudera/parcel-repo
cd /opt/cloudera/parcel-repo
cp /opt/cdh/CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel ./
cp /opt/cdh/CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1 ./
mv CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1 CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha
注意!!最后一定要将CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha1,重命名为CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha,去掉末尾的1,否则系统会重新下载CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel文件,也就不是纯离线安装了。
4.5 启动cm
通过/opt/cm-5.12.1/etc/init.d/cloudera-scm-server start启动服务端。
通过/opt/cm-5.12.1/etc/init.d/cloudera-scm-agent start启动Agent服务(所有Agent节点)。
以上我们是通过脚本来启动的,所以需要停止服务的时候,只需要把以上的start参数改为stop就可以啦。
service服务启动需要几分钟,取决于服务器的性能,此时我们可以使用
netstat -apn|grep 7180
查询端口被占用后,就可以用浏览器打开http://masterIP:7180/进行访问了,登录用户名与密码分别为admin。至此基本上CM的安装己经完成,接下来就可以通过WEB界面进行安装CDH了!
http://masterIP:7180
登录用户名与密码分别为admin
勾选是后继续
这里我们选择免费版本后继续
继续
各个Agent节点正常启动后,可以在当前管理的主机列表中看到对应的节点。选择要安装的节点,这里我选择全部节点,继续。
出现以下版本的包,说明本地Parcel包配置无误,直接点继续。
如果配置本地Parcel包无误,那么已下载是瞬间就完成的,因为不需要下载,然后耐心等待分配过程就行了,速度由内网网速决定。完成后点击继续。
接下来是服务器检查,如果前面严格按照步骤一步步做下来这里应该是不会出现任何问题的,全绿通过。点击完成。
接下来是选择安装服务,根据需要按需选择就好,点击继续
服务配置,一般情况下保持默认就可以了,也可以自己手动根据节点情况进行分配,点击继续
接下来是数据库的设置,部分系统会通过测试,有的则像我一样
错误原因:
hue要存元数据库,CM的服务端是用Java编写的,而CM的客户端是Python编写的,这里测试连接时是用Python去连接数据库。
掏出准备好的安装包 , rpm之
再次点击测试连接,成功,点击继续
下面是集群设置的审查页面,保持默认就可以,因为后面还需要更多详细的改动,不建议这里完成,我们首要的任务是先将集群建立起来。所以点击继续。
开始安装各个服务,安装Hive的时候可能会报错,因为我们使用了MySql作为hive的元数据存储,hive默认并没有带mysql的驱动,拷贝一个就行了:
cp mysql-connector-java-5.1.46-bin.jar /opt/cloudera/parcels/CDH-5.12.1-1.cdh5.12.1.p0.3/lib/hive/lib/
这时hive通过了oozie会出现错误,错误原理与hive雷同,通过观察日志我们发现oozie会去一个默认路径下copy mysql的驱动,所以cp一个驱动过去即可,记得驱动的名称改成日志中需要的格式,否则依旧审核不通过,这点很重要。
全部绿色通过,然后点击继续。
到此为止CDH集群就算部署完毕了
部分linux系统会因为缺少hue的相关依赖而启动不了hue的某些进程(这个东西最矫情)具体根据自己系统的情况去安装即可。