您的位置:首页 > Web前端 > HTML5

Cloudera Manager5及CDH5离线安装说明

2015-10-23 00:00 751 查看
关于技术选型 --- http://www.tuicool.com/articles/7RRrie

同时可参考: http://www.doc88.com/p-0042075356791.html
‍1. 概述
‍本文概述了在CentOS6环境下,离线安装Cloudera Manager5(以下称CM5)及CDH5的相关步骤说明。

‍至于Cloudera Manager及CDH所代表的含义属本文范围外。如果你不了解什么是Cloudera Manager及CDH,建议先进行相关知识的了解,再阅读本文。

‍本次安装的环境如下:
IP HOSTNAME Role
192.168.10.101 work01 CM5

CDH5
192.168.10.102 work02 CDH5
192.168.10.103 work03 CDH5
192.168.10.104 work04 CDH5

特别说明:
‍1.采用的安装顺序是先安装CM5,再通过CM5来安装CDH5。
‍2.之所以选择离线安装是因为国内连接国外的网速实在太慢,且一旦安装失败就会导致全部回滚从头安装,所以不得不选择离线安装。否则选择联机安装将会更简单。
3.本次安装说明里记述的CentOS6的具体版本为CentOS release 6.4 (Final),CDH5具体版本为CDH5.0.2。
‍4.全程root用户操作。
‍5.HOSTNAME不能带特殊字符,如下划线等。

‍2. 准备工作 ---这个在每个机器上都要做

对所有节点机器work0[1-4]修改主机名及hosts文件。
修改/etc/sysconfig/network文件:
NETWORKING=yes
HOSTNAME=work01
NETWORKING_IPV6=no
GATEWAY=192.168.10.1
其中HOSTNAME与主机名一致。主机名如果跟系统安装时不一致请执行hostname命令让其立即生效,否则会影响各节点互相访问。

修改/etc/hosts文件,添加:
192.168.10.101 work01
192.168.10.102 work02
192.168.10.102 work03
192.168.10.102 work04

‍2.1 所有节点打通SSH
此操作过程省略,目的只有一个,就是使所有DataNode(work0[2-4])与NameNode(work01)之间可以进行无密码SSH连接。

2.2 关闭防火墙
对所有节点机器work0[1-4]关闭防火墙。
# service iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]

永久关闭防火墙,可以使用:chkconfig iptables off

‍2.3 关闭selinux
对所有节点机器work0[1-4]关闭selinux。
修改:/etc/selinux/config
SELINUX=disabled
修改后,重启机器生效。

‍2.4 安装NTP服务
对所有节点机器work0[1-4]安装NTP服务,以同步时间。 可参考: http://blog.163.com/zhaomin_allen/blog/static/622448482012111184742965/

安装: yum install -y ntp

立刻启动: service ntpd start

配置开机启动: chkconfig ntpd on

手动找一台服务器对时,比如: ntpdate us.pool.ntp.org,一般自动即可

最后验证服务: watch ntpq -p

[b]推荐配置:也可以选择某一台机器与外部对时,集群内的其他机器与这台机器对时。 比如,在crontab中添加 cd /etc/cron.d touch ntpd chmod 644 ntpd echo "0 *  * * *  root /usr/sbin/ntpdate machine1" 1>ntpd  [/b]这样,会在每天的任意点0分,同步一次时间。ntp服务器为machine1 查看日志  tail /var/log/cron|grep ntpd 


‍2.5 安装Apache httpd web服务器
对需要安装CM5的机器(work01)安装Web服务器
检查是否存在httpd服务:
# service httpd status
如果不存在,则用下面的命令安装:
# yum install httpd
CentOS6默认安装了httpd,启动:
# service httpd start
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
[ OK ]

将httpd加入到启动列表:chkconfig httpd on

2.6 安装postgresql
在离线安装CM5时,有时会报如下的错误:
Resolving Dependencies
--> Running transaction check
---> Package cloudera-manager-server-db-2.x86_64 0:5.0.2-25px502.p0.297.el6 will be installed
--> Processing Dependency: postgresql-server >= 8.4 for package: cloudera-manager-server-db-2-5.0.2-25px502.p0.297.el6.x86_64
--> Finished Dependency Resolution
Error: Package: cloudera-manager-server-db-2-5.0.2-25px502.p0.297.el6.x86_64 (cloudera-manager)
Requires: postgresql-server >= 8.4
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
这是由于CM5依赖postgresql,需要在本机上安装postgresql,如果是在线安装,自动以Yum方式安装,由于是离线,无法自动安装postgresql。
检查是否安装了postgresql:
# rpm -qa|grep postgres
如果已经安装,但版本小于8.4,则使用rpm -e卸载。
如要要安装postgres,可选择下面[2.6.1]的在线或是[2.6.2]的离线中的任一一种方式安装。

说明:我不是用下面的2个操作的,我是直接 一键 yum -y install postgresql* 解决的。

2.6.1 [在线]添加PostgreSQL Yum Repository并通过yum安装
访问 http://yum.pgrpms.org/reporpms/repoview/letter_p.group.html
下载并安装和当前系统对应的rpm文件。
# wget http://yum.pgrpms.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm
# rpm -ivh pgdg-centos93-9.3-1.noarch.rpm

修改原始的yum仓库配置,在[base]和[updates]部分的尾部追加exclude=postgresql*用以取消从默认仓库安装和更新PostgreSQL。
# cd /etc/yum.repos.d
# vi CentOS-Base.repo
安装或者升级postgresql-libs
# yum upgrade postgresql-libs
安装PostgreSQL Server
# yum install postgresql93-server

2.6.2 [离线]下载安装用的RPM包并通过rpm命令安装
http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/repoview/postgresqldbserver93.group.html 下载:

postgresql93-libs-9.3.5-1PGDG.rhel6.x86_64.rpm
postgresql93-9.3.5-1PGDG.rhel6.x86_64.rpm
postgresql93-server-9.3.5-1PGDG.rhel6.x86_64.rpm

依次通过下面的命令安装:
rpm –ivh xxxx.rpm

3. CM5安装 ---只需要在一台机器上操作

3.1 CM5离线安装资源包
‍到CM资源页面: http://archive-primary.cloudera.com/cm5/repo-as-tarball/你的版本号,比如5.4.7/
下载资源包,对应CentOS6的资源包为: cm版本号-centos6.tar.gz 11-Jun-1014 18:12 517M
这是压缩包,解压后包含CM安装过程中需要的RPM文件,除了 postgresql 数据库安装文件。



3.2 本地发布CM5安装资源包
在需要安装CM5的机器(work01)进行以下操作。发布本地资源文件的目的是使在安装过程中,本来应该联机下载的部分改从本地下载。

解压下载的[CM5离线安装资源包]:

# tar -zvxf cm5.4.7-centos6.tar.gz

‍# ll ---以实际为准!!!
total 529080
drwxrwxr-x. 3 1106 592 4096 Jun 11 11:08 cm
-rw-r--r--. 1 root root 541768507 Jun 14 09:14 cm5.4.7-centos6.tar.gz

‍下面是讲如何在centos6中发布web工程的。

移动解压后的cm文件夹到Web目录,并设置权限:
‍# pwd
/var/www/html
‍# mkdir -p cm5/redhat/6/x86_64
# cd cm5/redhat/6/x86_64
‍# mv /xxxxxx/cm .
‍# chmod -R ugo+rX cm

‍访问 http://你的IP地址/cm5/redhat/6/x86_64/cm/ ,测试文件索引页面是否正常。
如果页面空白或者为 You don't have permission to access,请检查准备工作中的防火墙和selinux是否关闭。

实际看到的如图所示:



3.3 修改客户端配置

为了离线安装,需在本地搭建CM5的Yum软件源。

修改相关配置,使安装过程中可以找到之前在本地搭建的CM5的安装资源包。
‍新建名称为 myrepo.repo 的软件源配置文件,内容如下:
[myrepo]
name=myrepo
baseurl=http://192.168.10.101/cm5/redhat/6/x86_64/cm/5/
enabled=1
gpgcheck=0
将myrepo.repo保存到客户端机器的 /etc/yum.repos.d/目录,并删除这个目录下的其他*.repo文件,其他库有可能需要连接互联网,有可能使安装失败。‍

这时/etc/yum.repos.d目录的清单如下:
# pwd
/etc/yum.repos.d
# ll
total 4
-rw-r--r-- 1 root root 100 Jun 14 21:14 myrepo.repo

设置了软件源还不够,安装过程还会从互联网上下载一些配置文件,虽然软件源中包含了需要的所有文件,修改 /etc/hosts,在最后添加:
‍192.168.10.101 archive.cloudera.com

特别说明:
在后面CDH5安装时,由于CM5要给work0[2-4]这几台机器安装cloudera-manager-agent、cloudera-manager-daemons等组件,所以给work0[2-4]也进行以上的配置修改。

完成了以上步骤,可以开始正式安装CM5了。

3.4 CM5安装引导文件
http://archive-primary.cloudera.com/cm5/installer,选择自己需要的版本下载即可:

‍或者干脆直接去 http://archive-primary.cloudera.com/cm5/installer/latest/下载最新版( 当前是 5.4.7 )

‍wget http://archive-primary.cloudera.com/cm5/installer/latest/cloudera-manager-installer.bin
结果如下:

100%[===========================================================================================>] 514,296 165K/s in 3.0s

2015-10-26 09:47:32 (165 KB/s) - “cloudera-manager-installer.bin” saved [514296/514296]

‍实际上是安装引导文件,在安装过程中动态下载安装中需要的rpm包。

既然是离线安装,所以先不要急着执行下载的bin文件,先进行下面一步。

‍给CM5安装引导文件: cloudera-manager-installer.bin 添加可执行权限:
# chmod +x cloudera-manager-installer.bin
‍进行安装:
# ./cloudera-manager-installer.bin
弹出安装图形界面,



一路next、accept就可以了,



最后出现下面的提示框,让你访问 http://localhost:7180/,说明已经安装成功了。
如果是远程通过SSH等文字终端连接安装的话,想要弹出图形界面则需使用一些相关工具,比如putty+xming等。





4. CDH5安装
‍‍由于我们通过CM5来进行CDH5的安装,以下操作也在work01上进行。 也就是跟CM5都在同一台机器上操作。

4.0 CDH5离线安装资源包下载
‍本次采用parcel包进行离线安装,所以从

http://archive-primary.cloudera.com/cdh5/parcels/版本号/ 下载,由于我们是CentOS6,所以选择以下两个文件下载。
CDH-5.0.2-1.cdh5.0.2.p0.13-el6.parcel 11-Jun-1014 17:56 1.7G (请选择自己对应的版本号的文件下载!!!!!!)
manifest.json 11-Jun-1014 17:59 32K

注意:这里是2个文件!

关于为什么要选择parcel,而不是传统的tarball,官方的说明如下:
Cloudera recommends the use of parcels for installation over packages, because parcels enable Cloudera Manager to easily manage the software on your cluster, automating the deployment and upgrade of service binaries. Electing not to use parcels will require you to manually upgrade packages on all hosts in your cluster when software updates are available, and will prevent you from using Cloudera Manager's rolling upgrade capabilities.

‍4.1 安置parcel包
将下载完成的[CDH5离线安装资源包]放到/opt/cloudera/parcel-repo下‍(目录在安装CM5时已经生成,通过CM5安装CDH5时,它会自动从这个路径下读取parcel包),

接下来打开manifest.json文件,里面是json格式的配置,我们需要的就是与我们系统版本相对应的 hash码,

因为我们用的是Centos6,所以找到如下位置:
"parcelName": "CDH-5.4.7-1.cdh5.4.7.p0.3-el6.parcel",
"components": [
‍在这个大括号的最下面找到“hash”所对应的值。
‍"hash": "8f333e6918b8141269cab9c8033fb890ff51db9c"
将“hash”的值复制下来,然后创建一个文件,文件名与你的parel包名一致,并加上.sha后缀:
#pwd

/opt/cloudera/parcel-repo

# ls
CDH-5.4.7-1.cdh5.4.7.p0.3-el6.parcel

touch CDH-5.4.7-1.cdh5.4.7.p0.3-el6.parcel.sha

manifest.json
‍这样你的目录下将有这3个文件,将“hash”的值复制到新建的sha文件中,并保存。
至此,CDH5的本地离线安装资源包完成配置。之后的操作就是控制台按照步骤安装即可。

4.2 安装CDH5
4.2.1 登录CM管理页面
用户名和密码都为admin登录 http://localhost:7180/ ,界面如下:



‍4.2.2 选择版本


‍特别说明:
以前免费版本有50节点的限制,现在没有了。



后面有一步选择是否安装新的Java,建议选中。

4.2.3 选择主机
选择要安装CDH5的主机,比如192.168.10.20[1-4],或是work0[1-4]等。



‍点击搜索按钮





‍4.2.4 选择parcel
CDH选择5.4.7,为了怕安装过程不会自动读取/opt/cloudera/parcel-repo,我在[更多选项]处添加了 http://192.168.10.101/parcel-repo

‍特别说明:
当时我在/opt/cloudera/parcel-repo下放置后,在CDH5的安装过程中并没有直接认出,所以我在 http://192.168.10.101/parcel-repo 下也放置了一份并在相应的parcel包设定环节中指定该路径。

具体来说,就是



点开“更多选项”



‍4.2.5 完成安装
后面直到安装完成,虽然还有不少步骤,但过程都较为简单,此处省略说明。



点击“继续”



最后一步:会检查主机,出现一些问题:



请依次解决。

我的最终为:

















点击“完成”后,出来如下界面:



选择自定义服务:













==============================================

错误1:



解决方案:

http://blog.csdn.net/sparkjvm/article/details/42388717

创建文件163.repo

[base]
name=CentOS-$releasever - Base - 163.com
baseurl=http://mirrors.163.com/centos/6/os/$basearch/
enabled=1
gpgcheck=0

[updates]
name=CentOS-$releasever - Updates - 163.com
baseurl=http://mirrors.163.com/centos/6/updates/$basearch/
enabled=1
gpgcheck=0

[extras]
name=CentOS-$releasever - Extras - 163.com
baseurl=http://mirrors.163.com/centos/6/extras/$basearch/
enabled=1
gpgcheck=0

然后执行 yum install redhat-lsb cyrus-sasl-gssapi portmap fuse-libs fuse -y

错误2:



这是因为之前设置了archive.cloudera.com在/etc/hosts里配置了统一的IP.但是这个机器上没有对应的/redhat/文件夹。

自己设置即可,注意:是从真实的服务器上下载文件放到本地的httpd服务器里。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  CDH