Cloudera Manager5及CDH5离线安装说明

 

 

 

 

 

 

 

关于技术选型 --- http://www.tuicool.com/articles/7RRriehtml

 同时可参考: http://www.doc88.com/p-0042075356791.htmllinux

‍1. 概述
‍本文概述了在CentOS6环境下,离线安装Cloudera Manager5(如下称CM5)及CDH5的相关步骤说明。web

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

‍本次安装的环境以下:
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             CDH5json

 

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

 

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

对全部节点机器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 work04dom

 

 

‍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

推荐配置:也能够选择某一台机器与外部对时,集群内的其余机器与这台机器对时。 好比,在crontab中添加 cd /etc/cron.d touch ntpd chmod 644 ntpd echo "0 *  * * *  root /usr/sbin/ntpdate machine1" 1>ntpd  这样,会在天天的任意点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服务器里。

相关文章
相关标签/搜索