本帖最后由 pig2 于 2014-9-25 19:02 编辑
问题导读:
1.Cloudera Manager5安装需要哪些环境要求?
2.哪些Linux系统上,可以安装Cloudera Manager5?
3.在安装cdh的过程中,该如何选择版本?
安装环境要求
集群中的四台主机必须满足以下要求:
主机必须至少有10 GB的RAM
对于RAM,我们或许没有太多的概念,下面可以参考
RAM容量是运行中的程序所占用的空间,他运行需要的空间、
ROM容量是你的系统可以存放,占用的空间,你的所有系统文件,程序都在这里存放
必须使用root用户,或则使用sudo无密码访问
(也就是说当你使用其它用户,使用sudo的时候,不能输入密码)
如果使用root用户,必须使用相同的密码
主机必须能上网,允许安装向导访问 archive.cloudera.com
可以从下面选择一个系统
RHEL-兼容系统
Red Hat Enterprise Linux and CentOS 5.7, 64-bit Red Hat Enterprise Linux and CentOS 6.4, 64-bit Red Hat Enterprise Linux and CentOS 6.4 in SE Linux Mode Red Hat Enterprise Linux and CentOS 6.5, 64-bit Oracle Enterprise Linux 5.6 (UEK R2), 64-bit Oracle Enterprise Linux 6.4 (UEK R2), 64-bit Oracle Enterprise Linux 6.5 (UEK R2, UEK R3), 64-bit
SLES - SUSE Linux Enterprise Server 11, 64-bit. Service Pack 2或则更高版本. 更新存储库必须是激活的和 SUSE Linux Enterprise 软件开发包11 SP1 . Debian - Debian 7.0 and 7.1, 64-bit Ubuntu - Ubuntu 12.04, 64-bit
如果要求不能上面满足,安装会不成功。关于Cloudera Manager安装选项和安装要求的详细信息可以查看Cloudera Manager安装向导 (英文版)
补充和强调一些内容
1.关闭防火墙
2.配置host,如下形式
172.16.77.12 master master.aboutyun.com 复制代码
下载和运行Cloudera Manager Server 安装向导
1.从 Cloudera Manager 5.1.1 Downloads 下载二进制安装包,选择你想安装的Cloudera Manager Server。
由于是英文的,下面给大家贴出图
单击下载 Cloudera Express 或则 Download Cloudera Enterprise . 查看 Cloudera Express and Cloudera Enterprise Features .
选择注册和单击Submit 或则直接单击下载页链接( download page ),下载 cloudera-manager-installer.bin文件
2.改变 cloudera-manager-installer.bin 的执行权限
$ chmod u+x cloudera-manager-installer.bin
复制代码
3.执行 cloudera-manager-installer.bin
$ sudo ./cloudera-manager-installer.bin 复制代码
4.按照cloudera-manager的README 来安装
5.阅读Cloudera Manager Express License,然后按照提示选择YES来确定接受授权(license)
6.读取 Oracle 二进制 Code 授权许可协议,然后安装
7.当安装完成, Cloudera Manager 管理控制台会提供一个完成的url包括默认端口7180
(这个安装过程可能持续很长时间,网速较慢,可能会持续一上午,甚至一天)
这时候把这个地址输入浏览器地址栏,就能看到页面了。默认用户名和密码都为admin .
在RHEL 5和CentOS 5,安装Python 2.6或2.7。 下载合适的RPM包到Cloudera Manager 服务器主机然后 用yum 安装Python。
举例,使用下面命令
$ su -c 'rpm -Uvh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm'
...
$ yum install python26 复制代码
注意:如果安装因为网络等原因终止了, 在你重新安装前需要清理,可以查看卸载 Cloudera Manager 5.1.x.和 相关软件【官网翻译:高可用】
启动 the Cloudera Manager Admin 控制台
一会Cloudera Manager Server 完全启动。 如果想观察主机的启动过程,在 the Cloudera Manager Server 主机上,可以执行
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log 复制代码
如果 Cloudera Manager Server没有启动成功。可以查看 Troubleshooting Installation and Upgrade Problems .
在浏览器中输入
复制代码
server可以是hostname,也可以是Cloudera Manager Server的 ip地址。这样就能看到登录页面了。
登录Cloudera Manager Admin 控制
Username: admin
Password: admin .
使用Cloudera Manager 向导安装和配置软件
在集群主机上安装和配置Cloudera Manager ,CDH,和管理服务软件包括以下三个主要步骤
选择 Cloudera Manager 版本 和指定主机
1.选择版本
如上三个版本:
Clouder Express:
免费版,长期使用
Clouder Enterprise试用版:
试用60天
Clouder Enterprise:
需要上传授权许可
如上我们选择的是Clouder Express版
2.显示的是安装Cloudera Manager后面可以安装的服务的软件包
3.为CDH安装指定主机
这里需要说明的是指定主机安装有多种方式:
1.直接列出ip或则host,多台以逗号、分号、制表符、空格或放置在单独的行。
2.指定ip的地址范围例如:10.1.1.[1-4] 或则 host[1-3].company.com.3.记得指定的主机需要关闭防火墙,(如果遇到不能安装,最好使用安装cloudera manager虚拟机进行复制 )
4.为CDH安装指定主机
单击搜索 ,一下是给大家一个演示,(下面是你填写ip地址后,搜索的主机,如果以前安装失败的,下图虽然显示,但是不会让你选择,也就是不能打上对号)。
我们选择安装的主机后,进入下一步
安装CDH
选择安装方式
当我们选择安装的host之后,我们需要选择CDH的安装方式(方法),如下图所示
然后我们单击继续,系统开始安装
指定主机的 SSH 登录方式
一种通过root用户,密码需要一致
也可以使用非root用户,但是需要保证sudo无密码访问
实现方法如下
给aboutyun用户设置无密码sudo权限:
chmod u+w /etc/sudoers
aboutyun ALL=(root)NOPASSWD:ALL
chmod u-w /etc/sudoers
测试:sudo ifconfig
来自创建sudo无密码登陆
这里采用的是root用户
单击继续,我们看到下面界面
注意:
这里安装的时候,相信你会碰到下面问题,解决办法:
mv /usr/bin/host /usr/bin/host.bak 复制代码
出现问题
Detecting Cloudera Manager Server...
Detecting Cloudera Manager Server...
BEGIN host -t PTR 192.168.1.198
198.1.168.192.in-addr.arpa domain name pointer localhost.
END (0)
using localhost as scm server hostname
BEGIN which python
/usr/bin/python
END (0)
BEGIN python -c 'import socket; import sys; s = socket.socket(socket.AF_INET); s.settimeout(5.0); s.connect((sys.argv[1], int(sys.argv[2]))); s.close();' localhost 7182
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "<string>", line 1, in connect
socket.error: [Errno 111] Connection refused
END (1)
could not contact scm server at localhost:7182, giving up
waiting for rollback request
安装过程中是下载与安装,我们看到下图,表示安装成功了。
群集安装
下面的步骤还包括,但是这些只要懂hadoop没有问题的,后面在补充
检查主机正确性
选择需要安装的服务,然后点击 检查角色分配 检查并确认角色分配,然后点击 继续
审核配置
启动集群结束后点击 继续
说明: 上面内容一步步安装即可,但是这个在线安装的
优点:
直接安装向导安装即可,省力
缺点:
网络一旦中断、或则安装过程中中断向导,可能会造成下次不能正确安装
同时可以参考
Cloudera Manager 5 和 CDH5 本地(离线)安装指南
适合国内网速的CM5、CDH5安装(CDH5半自动离线安装)
由于一些同学的要求,这里再补充一些细节:首先这个集群是二次安装集群,所以和上面截图有所不同。同时又由于安装中被中断了,问题得到解决,为了减少内存的消耗,不得不在宿主机上重新访问。有趣的是,在firefox和谷歌浏览器是两个不同的版本,firefox是英文版,chrome是中文版。
(由于内存)
那就接着从
集群安装开始: 这里还是比较耗费时间的
在这个过程中还发生些问题,就是安装完毕和cloudera-scm-agent通信异常,不能检测到心跳。
具体解决办法,参考:Cloudera Manager5 在线bin安装遇到No socket could be created on[Errno 99] 总结
集群安装
图1
图2
这是一个很漫长的过程,不幸的是在下载完毕,执行分发 的时候,这个过程被打断,安装被终止 。导致回不到图2,这个该如何解决?
难道真的要重装吗?花费了大半天功夫,又不得不重来。
这里面的问题是找不到cloudera manager5所管理的节点了?
记得about云有这篇文章卸载 Cloudera Manager 5.1.x.和 相关软件【官网翻译:高可用】
但是这篇文章是卸载Cloudera Manager以及CDH的,由于cloudera-scm-server和cloudera-scm-agent查看都是运行正常的,如何查看状态,可以参考:
Cloudera Manager Server5及Cloudera Manager Agents5命令整理(about云) ,所以cloudera manager不需要卸载,卸载的是CDH的相关内容。
于是执行下面命令:
sudo apt-update remove avro-tools crunch flume-ng hadoop-hdfs-fuse hadoop-hdfs-nfs3 hadoop-httpfs hbase-solr hive-hbase hive-webhcat hue-beeswax hue-hbase hue-impala hue-pig hue-plugins hue-rdbms hue-search hue-spark hue-sqoop hue-zookeeper impala impala-shell kite llama mahout oozie pig pig-udf-datafu search sentry solr-mapreduce spark-python sqoop sqoop2 whirr 复制代码
复制代码
sudo rm -Rf /var/lib/flume-ng /var/lib/hadoop* /var/lib/hue /var/lib/navigator /var/lib/oozie /var/lib/solr /var/lib/sqoop* /var/lib/zookeeper 复制代码
sudo rm -Rf /dfs /mapred /yarn 复制代码
通过上面终于找到所管理的三个节点。然后从新登录,选择三个主机,然后继续继续,最后终于进入了这个界面。但是细心的同学会发现这里已经更换为中文版本。因为这是通过宿主主机访问的。而前面是在虚拟机里使用firefox访问的。
总算没有重新安装,但是
主机正确性检测
这里可能会遇到如下问题:
Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。您可以继续进行安装,但可能会遇到问题,Cloudera Manager 报告您的主机由于交换运行状况不佳。以下主机受到影响: 复制代码
解决办法:执行下面即可
echo 0 > /proc/sys/vm/swappiness 复制代码
选择服务
由于内存紧张,所以这里安装了最少的服务
单击继续即可
数据库设置:
这里使用默认设置,然后单击测试连接即可
审核更改
同样这里采用的是默认设置
创建服务
这里是一个关键点,很多人会遇到错误。
并且有的服务创建成功,有的创建失败,于是我们点击重试 ,那么对于成功的服务,他就不会再次出现, 这就就是为什么,加入有19 个服务,在此重试的时候,你可能会看到2 个服务。
在这里遇到的错误是内存不够用,所以我们server最好是5个G,另外两个节点是3G,至少2G。我这里的内存分布是:有一个master,三个datanode.
server节点有namenode和datanode两个节点。
因为内存少,所以就遇到了下面问题:
Command aborted because of exception: Command timed-out after 90 seconds
程序: hdfs/hdfs.sh ["mkdir","/tmp","hdfs","supergroup","1777"] 复制代码
上面是命令超时。
解决办法:
再次重试,相信能过的。
假如这里你遇到了其它的问题,那么可以通过上图中的角色日志查看问题原因。
由于上面两个服务安装失败,所以在此点击重试的时候,剩下两个服务,创建成功
最后集群创建成功