离线安装 Cloudera Manager 5 和 CDH5.10
关于CDH和Cloudera Manager
CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了很多补丁,可直接用于生产环境。
Cloudera Manager则是为了便于在集群中进行Hadoop等大数据处理相关的服务安装和监控管理的组件,对集群中主机、Hadoop、Hive、Spark等服务的安装配置管理做了极大简化。
环境说明
- 操作系统:Centos6.7 * 4:
bd-dev-cm1-240 172.31.217.240(主节点)
bd-dev-cm2-241 172.31.217.241
bd-dev-cm3-242 172.31.217.242
bd-dev-cm4-243 172.31.217.243
- Cloudera Manager:5.10
- CDH:5.10
安装说明
官方共给出了3中安装方式,建议使用第三种安装方式。第三种方法对系统侵入性最小,最大优点可实现全离线安装,而且重装什么的都非常方便。后期的集群统一包升级也非常好。这也是我之所以选择离线安装的原因。
相关包的下载地址
Cloudera Manager下载地址:http://archive.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.10.0_x86_64.tar.gz
CDH安装包地址:http://archive.cloudera.com/cdh5/parcels/5.10.0/,需要下载下面三个包:
- CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel
- CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel.sha1
- manifest.json
准备工作
以下操作均需要(root)管理员权限。防火墙和SELinux均已全部关闭。
1、配置hosts(所有节点)
设置hostname,以bd-dev-cm1-240为例:
# hostname bd-dev-cm1-240
并使其永久生效:
# vim /etc/sysconfig/network
修改HOSTNAME=bd-dev-cm1-240
修改hosts表:
在每个节点上都应有一份hosts表,在之后的配置中,对应节点名称使用hostname
# vim /etc/hosts
172.31.217.240 bd-dev-cm1-240
172.31.217.241 bd-dev-cm2-241
172.31.217.242 bd-dev-cm3-242
172.31.217.243 bd-dev-cm4-243
2、设置ssh无密码登陆(所有节点)
在主节点上执行ssh-keygen -t rsa一路回车,生成密钥对。
将公钥添加到认证文件中:
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,
并设置authorized_keys的访问权限:
# chmod 600 ~/.ssh/authorized_keys
scp文件到其他所有节点:
scp ~/.ssh/authorized_keys root@bd-dev-cm2-241:~/.ssh/
测试:在主节点上ssh bd-dev-cm2-241,正常情况下,不需要密码就能直接连进去了。
3、安装Oracle的Java(所有节点)
这里使用的jdk版本为1.8.0_111,我这里由于已经制作成rpm包放到了私有仓库中,直接yum安装:
# yum install es-jdk8 -y(包名是自定义的)
如果有需要建议可以去Oracle的官网下载jdk的rpm安装包,这里就不赘述了。
这里安装路径为:/opt/programs/jdk1.8.0_111,这里需要配置一个全局的JAVA_HOME变量,执行命令:
# echo "JAVA_HOME=/opt/programs/jdk1.8.0_111" >> /etc/environment
并创建软链接到:/usr/java/default
# ln -s /opt/programs/jdk1.8.0_111 /usr/java/default
验证:正常情况下通过java -version可以看到jdk的版本信息。
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;
#activity oozie 如果需要的话
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity hue 如果需要的话
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
设置root授权访问以上所有的数据库:
grant all privileges on *.* to 'root'@'bd-dev-cm1-240' identified by 'xxxx' with grant option;
flush privileges;
5、配置NTP服务(所有节点)
集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。 这里选用172.31.217.173 作为时间服务器。
参考配置如下:
# cat /etc/ntp.conf
trict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
restrict 172.31.217.0 mask 255.255.255.0 nomodify notrap
server 172.31.217.173
server 0.centos.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org
server 172.31.217.173 # local clock
fudge 172.31.217.173 stratum 10
在所有节点启动ntp服务:
# /etc/init.d/ntpd start
安装Cloudera Manager
1、主节点解压安装
cloudera manager的目录默认位置在/opt下,解压:tar xzvf cloudera-manager*.tar.gz将解压后的cm-5.10.0 和cloudera目录放到/opt目录下。
2、为Cloudera Manager 5建立数据库
首先需要去MySql的官网下载JDBC驱动,http://dev.mysql.com/downloads/connector/j/,解压后,找到mysql-connector-java-5.1.xx-bin.jar,放到/opt/cm-5.10.0/share/cmf/lib/中。
在主节点初始化CM5的数据库:
# /opt/cm-5.10.0/share/cmf/schema/scm_prepare_database.sh mysql cm -h172.31.217.240 -uroot -pxxx --scm-host 172.31.217.240 scm scm scm
3、Agent配置
修改/opt/cm-5.10.0/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名,这里即为bd-dev-cm1-240。
4、同步Agent到其他节点
# scp -r /opt/cm-5.10.0 root@ip:/opt/
5、在所有节点创建cloudera-scm用户
# useradd --system --home=/opt/cm5.10.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
6、准备Parcels,用以安装CDH5
将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中。
相关的文件如下:
- CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel
- CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel.sha1
- manifest.json
最后将CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel.sha1,重命名为CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel.sha,这点必须注意,否则,系统会重新下载CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel 文件。
7、相关启动脚本
通过/opt/cm-5.10.0/etc/init.d/cloudera-scm-server start启动服务端。
通过/opt/cm-5.10.0/etc/init.d/cloudera-scm-agent start启动Agent服务。 (所有节点都要启动Agent服务,包括主节点)
我们启动的其实是个service脚本,需要停止服务将以上的start参数改为stop就可以了,重启是restart。
CDH5的安装配置
Cloudera Manager Server和Agent都启动以后,就可以进行CDH5的安装配置了。
这时可以通过浏览器访问主节点的7180端口测试一下了,默认的用户名和密码均为admin:

这里选择免费版。可以看到,免费版本的CM5已经没有原来50个节点数量的限制了。

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

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

点击,继续,如果配置本地Parcel包无误,那么下图中的已下载,应该是瞬间就完成了,然后就是耐心等待分配过程就行了,这个过程的速度就取决于节点之间的传输速度。

假如在安装的时候出现问题,如网络连接中断,机器死机,继续安装的时候可能会出现查询不到机器,先停止所有服务。清除数据库。
1> 删除Agent节点的UUID
# rm -rf /opt/cm-5.10.0/lib/cloudera-scm-agent/*
2> 清空主节点CM数据库
进入主节点的Mysql数据库,然后drop database cm;
3> 在主节点上重新初始化CM数据库
# /opt/cm-5.10.0/share/cmf/schema/scm_prepare_database.sh mysql cm -h172.31.217.240 -uroot -pxxx --scm-host 172.31.217.240 scm scm scm
启动server和agent。等待一下,重新连接访问主节点:7180即可,并重新进行以上步骤。
接下来是主机检查,可能会遇到以下问题:

Cloudera 建议将 /proc/sys/vm/swappiness 设置为最大值 10。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf,以在重启后保存该设置。您可以继续进行安装,但 Cloudera Manager 可能会报告您的主机由于交换而运行状况不良。以下主机将受到影响。通过echo 10 > /proc/sys/vm/swappiness即可解决。
接下来是选择安装服务,我这里先选择所有服务:

服务配置,我这里选择保持默认(Cloudera Manager会根据机器的配置自动进行配置,如果需要特殊调整,自行进行设置就可以了):

接下来是数据库的设置,先对之前建的库(hive、hue、oozie)进行授权:
CREATE USER 'hive'@'172.31.217.240' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'172.31.217.240';
CREATE USER 'oozie'@'172.31.217.240' IDENTIFIED BY 'oozie';
GRANT ALL PRIVILEGES ON oozie.* TO 'oozie'@'172.31.217.240';
CREATE USER 'hue'@'172.31.217.240' IDENTIFIED BY 'hue';
GRANT ALL PRIVILEGES ON hue.* TO 'hue'@'172.31.217.240';
测试连接中,hive和oozie已经没有问题,hue的连接会有Unexpected error. Unable to verify database connection的报错,在hue安装的机器上安装一下python-lxml,即yum install -y python-lxml即可。

下面是集群设置的审查页面,这里地方可以考虑修改一些组件的数据存储目录,我这边数据的存储目录都放在opt下:

终于到安装各个服务的地方了,注意,这里安装Hive,或oozie的时候可能会报错,因为我们使用了MySql作为hive的元数据存储,hive默认没有带mysql的驱动,通过以下命令拷贝一个就行了:
# cp /opt/cm-5.10.0/share/cmf/lib/mysql-connector-java-*.jar /opt/cloudera/parcels/CDH-5.10.0-1.cdh5.10.0.p0.41/lib/hive/lib/
# cp /opt/cm-5.10.0/share/cmf/lib/mysql-connector-java-*.jar /opt/cloudera/parcels/CDH-5.10.0-1.cdh5.10.0.p0.41/lib/oozie/lib/
# cp /opt/cm-5.10.0/share/cmf/lib/mysql-connector-java-*.jar /var/lib/oozie/
等待一会儿,安装完毕:

可以看到服务已经都启动了,基本的监控也已经有了,剩余的工作就是根据自己的需求调整相关配置和阈值:

参考资料
http://www.cnblogs.com/jasondan/p/4011153.html
https://www.cloudera.com/documentation/enterprise/5-10-x/topics/cm_ig_install_path_c.htm
离线安装 Cloudera Manager 5 和 CDH5.10的更多相关文章
- 离线安装Cloudera Manager 5和CDH5(最新版5.1.3) 完全教程
关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...
- 离线安装Cloudera Manager 5和CDH5
关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Cloudera 完全开源的Hadoop ...
- 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(六)CM的安装
一.角色分配 Cloudera Manager Agent:向server端报告当前机器服务状态. Cloudera Manager Server:接受agent角色报告服务状态,以视图界面展现,方便 ...
- 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(一)环境说明
关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...
- 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(七)界面安装
一.安装过程 1.1 登录 1.2 接受许可协议 1.3 选择免费版本 1.4 选择下一步 1.5 选择当前管理的主机 1.6 选择使用Parcel安装,选择CDH版本,点击继续 1.7 等待安装 此 ...
- 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(二)基础环境安装
一.安装CentOS 6.5 x64 具体安装过程自行百度 1.1 修改IP地址 [root@master ~]# vi /etc/sysconfig/network DEVICE=eth0 TYPE ...
- 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(四)数据库安装(单节点)
一.卸载CentOS自带的MySQL 1.1 查看之前是否安装过mysql [root@master mysql]# rpm -qa|grep -i mysql mysql-libs--.el6.x8 ...
- 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(三)重新分配磁盘空间(可选)
一.查看文件系统 [root@master ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_master-lv_ ...
- 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(五)数据库安装(双节点)
一.方案选择 通过Lvs+keepalived+mysql(主主同步)实现数据库层面的高可用方案,需要两台服务器作为数据库提供业务数据的存储,应用服务器通过vip访问数据库,允许同一时间内一台数据库服 ...
随机推荐
- 基于FPGA的均值滤波算法实现
我们为了实现动态图像的滤波算法,用串口发送图像数据到FPGA开发板,经FPGA进行图像处理算法后,动态显示到VGA显示屏上,前面我们把硬件平台已经搭建完成了,后面我们将利用这个硬件基础平台上来实现基于 ...
- JSP 页面传值方法总结(转)
原文地址:http://www.cnblogs.com/java-class/p/6358964.html 阅读目录 1. URL 链接后追加参数 2. Form 3. 设置 Cookie 4. 设置 ...
- MySQL57安装教程
MySQL57安装教程... --------------------------- 首先需要下载MySQL57安装包: --------------------------------------- ...
- php Yii2使用registerJs或registerCss报错syntax error, unexpected end of file
解决方法: 注册时$js=<<<JS .....JS;//结尾处JS;应单独成行并且没有空格 JS;//这样就会报错,多了空格JS;//这样就不会
- Java web轻量级开发面试教程读书笔记:数据库方面,如何准备面试
如果在面试或与资深人事交流的过程中,你能有效合理地展示出本章所给出的一些知识点,那么对你的评价就会是"对数据库有深入了解",甚至能加上"有设计数据表的经验",即 ...
- windows7下VirtualBox COM获取对象失败
一.问题 今天在windows7系统下安装virtualbox报错:VirtualBox COM获取对象失败,应用程序将被中断.上网查了下,发现了解决办法. 环境:windows7.VirtualBo ...
- 面试技巧,如何通过索引说数据库优化能力,内容来自Java web轻量级开发面试教程
上星期写了一个篇文章,数据库方面的面试技巧,如何从建表方面展示自己能力,承蒙管理员抬举,放入首页,也承蒙各位厚爱,两天内收获了将近770个点击,也一度进入48小时热榜. 为了感谢管理员和大家的支持,再 ...
- node.js后台快速搭建在阿里云(二)(pm2和nginx篇)
前期准备 阿里云服务器 node.js pm2 express nginx linux(推荐教程:鸟哥的私房菜) 简介 嗯……我只是个前端而已 在第一部分说完了express篇. 后面继续项目的部署, ...
- jmeter系列-------脚本调试
1.调试的时候 可以只跑需要调试的接口,禁用其他的接口 2.每个接口都需要增加断言眼,保证脚本的结果的正确性 3.验证脚本的可靠性,可以切换用户(测试变量)来进行调试 4.使用Debug Sample ...
- django框架(View)
-------------------URLconf-------------------1.设置 1.在settings.py文件中通过ROOT_URLCONF指定根级url的配置 2.urlpat ...