CDH (Cloudera’s Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了很多补丁,可直接用于生产环境。 
Cloudera Manager则是为了便于在集群中进行Hadoop等大数据处理相关的服务安装和监控管理的组件,对集群中主机、Hadoop、Hive、Spark等服务的安装配置管理做了极大简化。 
相关包的下载地址: 
Cloudera Manager地址:http://archive.cloudera.com/cm5/cm/5/ 
CDH安装包地址:http://archive.cloudera.com/cdh5/parcels/latest/ 
由于我们的操作系统为CentOS6.5,需要下载以下文件: 
CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel 
CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1 
manifest.json 
JDBC:http://download.softagency.net/MySQL/Downloads/Connector-J/

准备工作:系统环境搭建(阿里云平台)

以下操作均需要(root)管理员权限 
1.网络配置(所有节点) 
修改主机名:vim /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=cdh1
NETWORKING_IPV6=no
PEERNTP=no
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

通过service network restart重启网络服务 
修改ip与主机名的对应关系:vim /etc/hosts

192.168.1.101   cdh1
192.168.1.102 cdh2
192.168.1.103 cdh3
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

2.打通SSH,设置ssh无密码登陆(所有节点) 
执行ssh-keygen -t rsa,一路回车,生成无密码的密钥对。 
将公钥添加到认证文件中:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,并设置authorized_keys的访问权限:chmod 600 ~/.ssh/authorized_keys。 
通过scp命令将各节点的认证文件拷贝到所有其他节点使得各节点能够相互访问。 
3.安装Oracle的Java(所有节点) 
CentOS自带OpenJdk,不过运行CDH5需要使用Oracle的JDK,需要Java 7的支持。 
卸载自带的OpenJdk,使用rpm -qa | grep java查询java相关的包,使用rpm -e --nodeps 包名卸载之。 
去Oracle的官网下载jdk的rpm安装包,并使用rpm -ivh 包名安装,最后配置环境变量。 
4.安装配置MySQL(主节点) 
通过yum install mysql-server安装mysql服务器。chkconfig mysqld on设置开机启动,并service mysqld start启动mysql服务,并根据提示设置root的初试密码:mysqladmin -u root password 'xxxx'。 
mysql -uroot -pxxxx进入mysql命令行,创建以下数据库

#hive
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity monitor
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

设置root授权访问以上所有的数据库:

#授权root用户在主节点拥有所有数据库的访问权限
grant all privileges on *.* to 'root'@'cdh1' identified by 'xxxx' with grant option;flush privileges;
  • 1
  • 2
  • 1
  • 2

5.关闭防火墙和SELinux 
注意: 需要在所有的节点上执行,因为涉及到的端口太多了,临时关闭防火墙是为了安装起来更方便,安装完毕后可以根据需要设置防火墙策略,保证集群安全。 
关闭防火墙:

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

关闭SELINUX(实际安装过程中发现没有关闭也是可以的,不知道会不会有问题,还需进一步进行验证):

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

6.所有节点配置NTP服务 
集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。 具体思路如下: 
master节点作为ntp服务器与外界对时中心同步时间,随后对所有datanode节点提供时间同步服务。 
所有datanode节点以master节点为基础同步时间。 
所有节点安装相关组件:yum install ntp。完成后,配置开机启动:chkconfig ntpd on,检查是否设置成功:chkconfig --list ntpd其中2-5为on状态就代表成功。 
主节点配置 
在配置之前,先使用ntpdate手动同步一下时间,免得本机与对时中心时间差距太大,使得ntpd不能正常同步。这里选用65.55.56.206作为对时中心,ntpdate -u 65.55.56.206。 
ntp服务只有一个配置文件,配置好了就OK。 这里只给出有用的配置,不需要的配置都用#注掉,这里就不在给出:

driftfile /var/lib/ntp/drift
restrict 127.0.0.1restrict -6 ::1
restrict default nomodify notrap
server 65.55.56.206 prefer
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

配置文件完成,保存退出,启动服务,执行如下命令:service ntpd start 
检查是否成功,用ntpstat命令查看同步状态,出现以下状态代表启动成功:

synchronised to NTP server () at stratum 2time correct to within 74 mspolling server every 128 s
  • 1
  • 1

如果出现异常请等待几分钟,一般等待5-10分钟才能同步。 
配置ntp客户端(所有datanode节点)

driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
#这里是主节点的主机名或者ip
server cdh1
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

ok保存退出,请求服务器前,请先使用ntpdate手动同步一下时间:ntpdate -u cdh1 (主节点ntp服务器) 
这里可能出现同步失败的情况,请不要着急,一般是本地的ntp服务器还没有正常启动,一般需要等待5-10分钟才可以正常同步。启动服务:service ntpd start 
因为是连接内网,这次启动等待的时间会比master节点快一些,但是也需要耐心等待一会儿。

正式开工

安装Cloudera Manager Server 和Agent 
主节点解压安装 
cloudera manager的目录默认位置在/opt下,解压:tar xzvf cloudera-manager*.tar.gz将解压后的cm-5.3.3和cloudera目录放到/opt目录下。 
为Cloudera Manager 5建立数据库 
首先需要去MySql的官网下载JDBC驱动,http://dev.mysql.com/downloads/connector/j/,解压后,找到mysql-connector-java-5.1.35-bin.jar,放到/opt/cm-5.3.3/share/cmf/lib/中。 
在主节点初始化CM5的数据库:

/opt/cm-5.3.3/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -pxxxx --scm-host localhost scm scm scm
  • 1
  • 1

Agent配置 
修改/opt/cm-5.3.3/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。 
同步Agent到其他节点

scp -r /opt/cm-5.3.3 root@n2:/opt/
  • 1
  • 1

在所有节点创建cloudera-scm用户

useradd --system --home=/opt/cm-5.3.3/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
  • 1
  • 1

准备Parcels,用以安装CDH5 
将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中(parcel-repo需要手动创建)。 
相关的文件如下:

CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel
CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1
manifest.json
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

最后将CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1,重命名为CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha,这点必须注意,否则,系统会重新下载CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1文件。 
相关启动脚本 
通过/opt/cm-5.3.3/etc/init.d/cloudera-scm-server start启动服务端。 
通过/opt/cm-5.3.3/etc/init.d/cloudera-scm-agent start启动Agent服务。 
我们启动的其实是个service脚本,需要停止服务将以上的start参数改为stop就可以了,重启是restart。 
CDH5的安装配置 
Cloudera Manager Server和Agent都启动以后,就可以进行CDH5的安装配置了。 
这时可以通过浏览器访问主节点的7180端口测试一下了(由于CM Server的启动需要花点时间,这里可能要等待一会才能访问),默认的用户名和密码均为admin:

 
 

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

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

点击,继续,如果配置本地Parcel包无误,那么下图中的已下载,应该是瞬间就完成了,然后就是耐心等待分配过程就行了。

接下来是服务器检查,可能会遇到以下问题: 
Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。您可以继续进行安装,但可能会遇到问题,Cloudera Manager 报告您的主机由于交换运行状况不佳。以下主机受到影响: 
通过echo 0 > /proc/sys/vm/swappiness即可解决。

接下来是选择安装服务:

服务配置,一般情况下保持默认就可以了(Cloudera Manager会根据机器的配置自动进行配置,如果需要特殊调整,自行进行设置就可以了):

接下来是数据库的设置,检查通过后就可以进行下一步的操作了:

下面是集群设置的审查页面,全部保持默认配置即可:

终于到安装各个服务的地方了,注意,这里安装Hive的时候可能会报错,因为我们使用了MySql作为hive的元数据存储,hive默认没有带mysql的驱动,通过以下命令拷贝一个就行了:

cp /opt/cm-5.3.3/share/cmf/lib/mysql-connector-java-5.1.35-bin.jar /opt/cloudera/parcels/CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel/lib/hive/lib/
  • 1
  • 1

接下静静地等待即可。

安装完成后,就可以进入集群界面看一下集群的当前状况了。 
这里可能会出现无法发出查询:对 Service Monitor 的请求超时的错误提示,如果各个组件安装没有问题,一般是因为服务器比较卡导致的,过一会刷新一下页面就好了:

参考资料如下: 
http://www.cnblogs.com/jasondan/p/4011153.html 
http://www.wangyongkui.com/hadoop-cdh5/ 
http://snglw.blog.51cto.com/5832405/1600475

Cloudera Manager 5和CDH5离线安装的更多相关文章

  1. 离线安装Cloudera Manager 5和CDH5(最新版5.1.3) 完全教程

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...

  2. 离线安装 Cloudera Manager 5 和 CDH5.10

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...

  3. 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(六)CM的安装

    一.角色分配 Cloudera Manager Agent:向server端报告当前机器服务状态. Cloudera Manager Server:接受agent角色报告服务状态,以视图界面展现,方便 ...

  4. 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(一)环境说明

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...

  5. 离线安装Cloudera Manager 5和CDH5

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Cloudera 完全开源的Hadoop  ...

  6. 【原创】大数据基础之CM5(Cloudera Manager)+CDH5离线安装

    CM/CDH 5.16.1 CM官方:https://www.cloudera.com/products/product-components/cloudera-manager.html CDH官方: ...

  7. Cloudera Manager 和 CDH 4 终极安装

    转载请注明出处:http://www.cnblogs.com/thinkCoding/p/3567408.html 系统环境 操作系统:CentOS 6.5 Cloudera Manager 版本:4 ...

  8. Cloudera Hadoop 环境搭建(离线安装)

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...

  9. Cloudera Manager及CDH最新版本安装全程记录

    大家都知道,Apache Hadoop的配置很繁琐,而且很零散,为此Cloudera公司提供了Clouder Manager工具,而且还封装了Apache Hadoop,flume,spark,hiv ...

随机推荐

  1. Eclipse·如何关联Git库文件和添加JUint库

    Eclipse创建工程并关联到文件(SVN或Git管理的代码文件) 新建java工程,用于存放工程的一些信息,默认存放地址. 工程相关的信息是不需要提交到(SVN或Git)版本库的,所以工程存放到本地 ...

  2. AndroidStudio里面怎么取消与SVN的关联

    在公司做项目 遇到SVN解除关联的问题 后经过解决: 1.解除文件的关联方法: 1.1. 创建一个reg文件 如下 1.2 在文件中填入如下内容并保存: Windows Registry Editor ...

  3. LoadRunner 场景运行error的几种情况

    一. Error -27727: Step download timeout (120 seconds)has expired when downloading resource(s). Set th ...

  4. 【jackson 异常】com.fasterxml.jackson.databind.JsonMappingException异常处理

    项目中,父层是Gene.java[基因实体]  子层是Corlib.java[文集库实体],一种基因对用多个文集库文章 但是在查询文集库这个实体的时候报错:[com.fasterxml.jackson ...

  5. An easy problem

    An easy problem Time Limit:3000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Sub ...

  6. 领域模型(domain model)&贫血模型(anaemic domain model)&充血模型(rich domain model)

    领域模型是领域内的概念类或现实世界中对象的可视化表示,又称为概念模型或分析对象模型,它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系. 贫血模型是指使用的领域对象中只有s ...

  7. loopback 02

    数据库连接操作,以mongodb为例 安装loopback-connector-mongodb 修改datasources.json //例子 { "db": { "na ...

  8. 记一次mybatis的classpath踩坑记录

    http://blog.csdn.net/jinzhencs/article/details/50595476

  9. 如何在UMG中上显示3D物体

    http://www.unrealchina.net/forum.php?mod=viewthread&tid=101548 个人认为可以使用关卡系统,搞个空关卡来做渲染比较好

  10. Codeforces 343D Water Tree(DFS序 + 线段树)

    题目大概说给一棵树,进行以下3个操作:把某结点为根的子树中各个结点值设为1.把某结点以及其各个祖先值设为0.询问某结点的值. 对于第一个操作就是经典的DFS序+线段树了.而对于第二个操作,考虑再维护一 ...