离线安装Cloudera Manager 5和CDH5

关于CDH和Cloudera Manager

CDH (Cloudera's Distribution, including Apache Hadoop),是Cloudera 彻底开源的Hadoop 分布式系统架构,为了知足企业的需求而特别构建的系统。即一个开源的企业级分布式存储系统。html

CDH是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了不少补丁,可直接用于生产环境。java

hadoop是一个开源项目,因此不少公司在这个基础进行商业化,Cloudera对hadoop作了相应的封闭改变。Cloudera公司的发行版,咱们将该版本称之为CDH。node

 

Cloudera Manager则是为了便于在集群中进行Hadoop等大数据处理相关的服务安装和监控管理的组件,对集群中主机、Hadoop、Hive、Spark等服务的安装配置管理作了极大简化。mysql

系统环境

  • 实验环境:VMware虚拟机
  • 操做系统:CentOS 6.5 x64 (至少内存2G以上)
  • Cloudera Manager:5.3.2
  • CDH: 5.3.2

相关目录说明:

CDH安装完成后,Hadoop各组件配置文件放置于 /var/run/cloudera-scm-agent/process/目录下。
例如:/var/run/cloudera-scm-agent/process/193-hdfs-NAMENODE/core-site.xml。这些配置文件是经过Cloudera Manager启动相应服务(如HDFS)时生成的,内容从数据库中得到(即经过界面配置的参数)
  • /var/log/cloudera-scm-installer : 安装日志目录。
  • /var/log/* : 相关日志文件(相关服务的及CM的)。
  • /usr/share/cmf/ : 程序安装目录。
  • /usr/lib64/cmf/ : Agent程序代码。
  • /var/lib/cloudera-scm-server-db/data : 内嵌数据库目录。
  • /usr/bin/postgres : 内嵌数据库程序。
  • /etc/cloudera-scm-agent/ : agent的配置目录。

         /etc/cloudera-scm-agent/config.ini  是agent主配置文件 linux

         vim /etc/cloudera-scm-agent/config.ini +3   web

         server_host= 主节点IPsql

  • /etc/cloudera-scm-server/ : server的配置目录。
  • /opt/cloudera/parcels/ : Hadoop相关服务安装目录。
  • /opt/cloudera/parcel-repo/ : 下载的服务软件包数据,数据格式为parcels。
  • /opt/cloudera/parcel-cache/ : 下载的服务软件包缓存数据。
  • /etc/hadoop/* : 客户端配置文件目录

安装说明

官方参考文档:
http://www.cloudera.com/content/cloudera/en/documentation/cloudera-manager/v5-latest/Cloudera-Manager-Installation-Guide/cm5ig_install_path_C.html数据库

官方共给出了3中安装方式:第一种方法必需要求全部机器都能连网,因为最近各类国外的网站被墙的厉害,我尝试了几回各类超时错误,巨耽误时间不说,一旦失败,重装很是痛苦。第二种方法下载不少包。第三种方法对系统侵入性最小,最大优势可实现全离线安装,并且重装什么的都很是方便。后期的集群统一包升级也很是好。这也是我之因此选择离线安装的缘由。json

准备工做:系统环境搭建

如下操做均用root用户操做。vim

1. 网络配置(全部节点)

vi /etc/sysconfig/network修改hostname:

NETWORKING=yes
HOSTNAME=n1

经过service network restart重启网络服务生效。

vi /etc/hosts,修改ip与主机名的对应关系

192.168.1.106   n1
192.168.1.107   n2
192.168.1.108   n3

注意:这里须要将每台机器的ip及主机名对应关系都写进去,本机的也要写进去,不然启动Agent的时候会提示hostname解析错误。

2.打通SSH,设置ssh无密码登录(全部节点)

在主节点上执行

# ssh-keygen -t rsa

# ssh-copy-id -i  /root/.ssh/id_rsa.pub  root@n2

测试:在主节点上ssh n2,正常状况下,不须要密码就能直接登录进去了。

3.安装Oracle的Java(全部节点)

CentOS,自带OpenJdk,不过运行CDH5须要使用Oracle的Jdk,须要Java 7的支持。

卸载自带的OpenJdk,使用rpm -qa | grep java查询java相关的包,使用rpm -e --nodeps 包名卸载之。

去Oracle的官网下载jdk的rpm安装包,并使用rpm -ivh 包名安装之。

因为是rpm包并不须要咱们来配置环境变量,咱们只须要配置一个全局的JAVA_HOME变量便可,执行命令:

echo "export JAVA_HOME=/usr/java/latest/" >> /etc/profile

source /etc/prfile

4.关闭防火墙和SELinux

关闭防火墙:

service iptables stop (临时关闭)  
chkconfig iptables off (重启后生效)

关闭SELINUX :

setenforce 0 (临时生效)  
修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效)

5.全部节点配置NTP服务

集群中全部主机必须保持时间同步,若是时间相差较大会引发各类问题。 具体思路以下:

master节点做为ntp服务器与外界对时中心同步时间,随后对全部datanode节点提供时间同步服务。

全部datanode节点以master节点为基础同步时间。

全部节点安装相关组件:yum install ntp。完成后,配置开机启动:chkconfig ntpd on,检查是否设置成功:chkconfig --list ntpd其中2-5为on状态就表明成功。

本博客以前有过讲解,在此再也不进行介绍。

6.进行安装以前的一些相关设置,为了不在安装过程当中出现一些错误,影响安装进度。

mv /usr/bin/host  /usr/bin/host.bak ; echo 0 > /proc/sys/vm/swappiness ; echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

 

并加入开机启动:

cat >> /etc/rc.local <<EOF

echo 0 > /proc/sys/vm/swappiness

echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

EOF

7.CM默认安装的是postgresql数据库,若是想使用mysql进行替代的话,还须要进行以下准备

yum -y install mysql-server mysql-connector-java

service mysqld start

mysqladmin -u  root  password  'rootroot'

 

能够根据须要预先建立如下数据库:

--hive数据库         create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci

--集群监控数据库   create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci

--hue数据库          create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci

 

初始化CM5服务器端的mysql数据库:

 /usr/share/cmf/schema/scm_prepare_database.sh  mysql  scm -hlocalhost -uroot -prootroot --scm-host  localhost  scm  scm  scm

 格式是:  scm_prepare_database.sh   数据库类型   数据库   服务器   用户名   密码    --scm-host   Cloudera_Manager_Server所在的机器  .......   scm   scm   scm后面三个scm未知

该初始化操做除了建立 CM server 所需的库和表外,同时还会更新CM服务器的数据库主配置文件  /etc/cloudera-scm-server/db.properties。

 

 

相关包的下载以及安装

Cloudera Manager server安装

一、下载Cloudera Manager 5.3.2所需的对应系统类型的rpm

下载网址为:

http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.3.2/RPMS/x86_64/

JDK官网下载地址:

http://www.oracle.com/technetwork/java/javase/overview/index.html

 

安装rpm文件

将下载的rpm包直接放入文件夹/var/www/html/cm/ 下,为下文搭建yum源时作好准备

mkdir -p /var/www/html/cm/

yum localinstall –-nogpgcheck  *.rpm   (注意在使用mysql做为数据库时,则不须要下载和安装 cloudera-manager-server-db-2-5.3.2-1.cm532.p0.209.el6.x86_64.rpm,此包为postgresql数据库的安装包

 

二、分别启动agent服务端和cm服务端

/etc/init.d/cloudera-manager-agent start

/etc/init.d/cloudera-manager-server start

安装完成后等待一段时间,在浏览器输入localhost:7180    初次登陆 用户名:admin 密码:admin (此时测试能够打开并顺利登录便可,先没必要进行任何操做。)

 

#三、下载Cloudera Manager 5.3.2的主安装文件并运行。(在用mysql数据库时省略此步)

http://archive.cloudera.com/cm5/installer/5.3.2/cloudera-manager-installer.bin

也能够直接从官网首页上进行下载: http://www.cloudera.com/content/cloudera/en/downloads/cloudera_manager/cm-5-3-2.html

此bin文件便可以实如今线一键安装CM和CDH,只是等待的时间有些长罢了

成功运行完毕该安装程序后,会启动cloudera-scm-server、cloudera-scm-agent、cloudera-scm-server-db这三个服务。

 

安装完成后等待一段时间,在浏览器输入localhost:7180    初次登陆 用户名:admin 密码:admin (此时测试能够打开并顺利登录便可,先没必要进行任何操做。)

本地源配置用以安装CDH5

Parcel的能够从以下网址得到,下载.parcel文件和manifest.json文件:

http://archive.cloudera.com/cdh5/parcels/5.3.2/

由于这如今环境里用的是Centos6.4,因此这里选择下载如下三个文件:

http://archive.cloudera.com/cdh5/parcels/5.3.2/CDH-5.3.2-1.cdh5.3.2.p0.10-el6.parcel

http://archive.cloudera.com/cdh5/parcels/5.3.2/CDH-5.3.2-1.cdh5.3.2.p0.10-el6.parcel.sha1

http://archive.cloudera.com/cdh5/parcels/5.3.2/manifest.json

把如下载的以上文件拷贝到/opt/cloudera/parcel-repo/文件夹下,并修改属主。在安装CDH5时会自动调用该parcel源

chown -R cloudera-scm:cloudera-scm  /opt

 

而且把下载的.sha1文件重命名为.sha ,命令以下:

mv CDH-5.3.2-1.cdh5.3.2.p0.10-el6.parcel.sha1  CDH-5.3.2-1.cdh5.3.2.p0.10-el6.parcel.sha

mv ./*.parcel  /opt/cloudera/parcel-repo/

 

注意事项:

打开manifest.json文件查看CDH-5.3.2-1.cdh5.3.2.p0.10-el6.parcel对应的编号,核对与CDH-5.0.1-1.cdh5.0.1.p0.47-el6.parcel.sha文件内容是否相同,若是不一样的话修改为找到的编号

如下是manifest.json中CDH-5.3.2-1.cdh5.3.2.p0.10-el6.parcel对应的编号,这里是:a1722a9c033d33ca4ed4558eaf6c10c803b06a16

{

           "parcelName":"CDH-5.3.2-1.cdh5.3.2.p0.10-el6.parcel",

           "components": [

                {

                   "pkg_version": "0.7.0+cdh5.0.1+0",

                   "pkg_release": "1.cdh5.0.1.p0.30",

                   "name": "bigtop-tomcat",

                   "version": "6.0.37-cdh5.0.1"

                },

                {

                   "pkg_version": "0.9.0+cdh5.0.1+23",

                    "pkg_release":"1.cdh5.0.1.p0.25",

                   "name": "crunch",

                   "version": "0.9.0-cdh5.0.1"

                },

              ............

                {

                   "pkg_version": "0.9.0+cdh5.0.1+8",

                   "pkg_release": "1.cdh5.0.1.p0.25",

                   "name": "whirr",

                   "version": "0.9.0-cdh5.0.1"

                },

                {

                   "pkg_version": "3.4.5+cdh5.0.1+30",

                    "pkg_release":"1.cdh5.0.1.p0.31",

                   "name": "zookeeper",

                   "version": "3.4.5-cdh5.0.1"

                }

            ],

           "replaces": "IMPALA, SOLR, SPARK",

            "hash":"a1722a9c033d33ca4ed4558eaf6c10c803b06a16"

        }

关于datanode节点的Agent安装

datanode集群主机比较多时,比较快捷省事的方法是在master节点搭建Yum软件源用以安装datanode节点的Agent推荐

一、yum install -y createrepo httpd ; mkdir -p  /var/www/html/cm/

二、把Cloudera Manager 5.3.2所需的对应系统类型的源rpm包下载到 /var/www/html/cm/ (此步上文已经交待进行过

    这里下载地址为 http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.3.2/RPMS/x86_64/

三、cd  /var/www/html/cm ; createrepo . (该createrepo命令执行的位置须对应 myrepo文件中的URL中的位置)

四、service httpd start

五、除在上文交待过的各节点的准备工做以外,还须要在各个datanode节点添加repo文件  vim  /etc/yum.repos.d/my.repo

[myrepo]

name=My Cloudera Manager

baseurl=http://主节点IP/cm/

gpgcheck=0

cost=300  

#cost权值默认为1000,值越小优先级越高(适用于当同版本的包位于不一样的repo中时,优先从本repo获取)

  须要注意的一点是,repo 的优先级跟 *.repo 的文件名称无关

六、登陆CM管理页面,一路next进行相关“添加新主机”的操做.

 

CDH5的安装配置

Cloudera Manager Server和Agent都启动完之后,就能够进行CDH5的安装配置了。

这时能够经过浏览器访问主节点的7180端口测试一下了(因为CM Server的启动须要花点时间,这里可能要等待一会才能访问),默认的用户名和密码均为admin:

能够看到,免费版本的CM5已经没有原来50个节点数量的限制了。

各个Agent节点正常启动后,能够在当前管理的主机列表中看到对应的节点。选择要安装的节点,点继续。

接下来,出现如下包名,说明本地Parcel包配置无误,直接点继续就能够了。

点击,继续,若是配置本地Parcel包无误,那么下图中的已下载,应该是瞬间就完成了,而后就是耐心等待分配过程就好了,大约10多分钟吧,取决于内网网速。

 

 

接下来是选择安装服务:

服务配置,通常状况下保持默认就能够了(Cloudera Manager会根据机器的配置自动进行配置,若是须要特殊调整,自行进行设置就能够了):

接下来是数据库的设置,检查经过后就能够进行下一步的操做了:

下面是集群设置的审查页面,我这里都是保持默认配置的:

 

 

服务的安装过程大约半小时内就能够完成:

安装完成后,就能够进入集群界面看一下集群的当前情况了。

这里可能会出现没法发出查询:对 Service Monitor 的请求超时的错误提示,若是各个组件安装没有问题,通常是由于服务器比较卡致使的,过一会刷新一下页面就行了

 

 

注意红色框内的部分,编辑主机模板时要勾选好具体的服务

 

 这样在添加新datanode主机节点时,可使用已建立的模板为其指定角色

添加角色实例到 单独具体的服务:
 
 
 
 
一键卸载CM5:
/usr/share/cmf/uninstall-cloudera-manager.sh    
---------------------------------------------------------------------------------------------------

FAQ:

安装时卡在正在获取安装锁时,去agent节点  yum remove cloudera-manager-agent -y ,而后从新尝试失败的主机

 

参考文档:

http://www.aboutyun.com/thread-9087-1-1.html

http://www.aboutyun.com/thread-9078-1-1.html

相关文章
相关标签/搜索