【干货】离线安装Cloudera Manager 5和CDH5(最新版5.13.0)详细过程


声明:本文转载自https://my.oschina.net/u/876354/blog/1605320,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

—— 原文发布于本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),欢迎关注。

 

Cloudera是Hadoop生态系统中,规模最大、知名度最高的公司。Cloudera对Hadoop进行了封装,简化安装过程,使用Cloudera可以快速、简单地部署集群,安装所需要的组件,并可以实现对集群的管理和监控。

Cloudera Manager主要提供了四大功能:(1)对集群进行管理,如添加、删除节点等操作;(2)监控集群的健康情况,对各种指标和系统运行情况进行全面监控;(3)对集群出现的问题进行诊断,并给出建议解决方案;(4)对Hadoop的多组件进行整合、集成。

CDH (Cloudera's Distribution, including Apache Hadoop),是由Cloudera维护的Hadoop分支,基于稳定版本的Apache Hadoop构建的,集成了很多补丁,可直接用于生产环境。

更多详细的介绍,请见 Cloudera 官网

 

在公司内部机房,由于受网络访问控制的原因,服务器无法直接连接互联网在线安装Cloudera Manager 5和CDH5。下面介绍本地离线安装Cloudera Manager 5和CDH5的过程

一、集群概况

节点 IP 主机名 操作系统
管理节点 172.17.0.1 hd1.hdsite CentOS 6.9 x86_64
工作节点 172.17.0.2 hd2.hdsite CentOS 6.9 x86_64
工作节点 172.17.0.3 hd3.hdsite CentOS 6.9 x86_64
工作节点 172.17.0.4 hd4.hdsite CentOS 6.9 x86_64

二、基础环境配置

1、配置主机IP映射关系

vi /etc/hosts  172.17.0.1	hd1.hdsite	hd1 172.17.0.2  hd2.hdsite	hd2 172.17.0.3  hd3.hdsite	hd3 172.17.0.4	hd4.hdsite	hd4

2、关闭防火墙

service iptables stop chkconfig iptables off

3、关闭SELinux,重启

vi /etc/selinux/config  SELINUX=disabled  # 将SELINUX=enforcing改为SELINUX=disabled  reboot

4、下载安装JDK 1.7,注意CDH5.13.0版本在官网中建议使用JDK1.7,未充分测试过JDK1.8及以上的版本

mkdir /usr/java cd /usr/java tar -zxvf jdk-7u75-linux-x64.gz  #在 /etc/profile 中配置环境变量 vi /etc/profile  export JAVA_HOME=/usr/java/jdk1.7.0_75 export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin

5、安装mysql数据库

(1)到MySQL官网打开MySQL 社区版下载页面,然后下载以下的MySQL rpm安装包

(2)MySQL官网有介绍MySQL rpm包的安装方法,一般需要安装 mysql-community-server, mysql-community-client, mysql-community-libs, mysql-community-common, and mysql-community-libs-compat 这些包。在MySQL服务端至少安装 mysql-community-{server,client,common,libs}-* 软件 包,在MySQL客户端至少安装 mysql-community-{client,common,libs}-* 软件包

在安装之前,先查看一下,系统之前是否有安装过mysql相关的包,如果有,则卸载掉,输入指令查询

rpm -qa|grep mysql

接下来,按顺序安装mysql 的 rpm包,由于这几个rpm包有依赖关系,因此,安装时按以下顺序逐个安装

rpm -ivh mysql-community-common-5.7.18-1.el6.x86_64.rpm rpm -ivh mysql-community-libs-5.7.18-1.el6.x86_64.rpm rpm -ivh mysql-community-libs-compat-5.7.18-1.el6.x86_64.rpm rpm -ivh mysql-community-client-5.7.18-1.el6.x86_64.rpm rpm -ivh mysql-community-devel-5.7.18-1.el6.x86_64.rpm rpm -ivh mysql-community-server-5.7.18-1.el6.x86_64.rpm 

(3)全部安装完成后,则使用 service mysqld start 启动mysql服务,首次启动时,mysql 数据库还会进行初始化,并生成root的初始密码

[root@31d48048cb1e ahadoop]# service mysqld start Initializing MySQL database:                               [  OK  ] Installing validate password plugin:                       [  OK  ] Starting mysqld:                                           [  OK  ]

(4)在日志里面获取root初始密码,使用以下命令

[root@31d48048cb1e ahadoop]# grep 'temporary password' /var/log/mysqld.log 2017-06-23T04:04:40.322567Z 1 [Note] A temporary password is generated for root@localhost: g1hK=pYBo(x9

其中,最后的 g1hK=pYBo(x9 就是初始密码(随机产生的,每次安装不一样的哦)

使用初始密码,登录mysql并修改root密码为 Test.123

mysql -u root -p  mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test.123';

【注意】MySQL 默认会开启强密码验证(MySQL's validate_password plugin is installed by default),要求密码长度至少8个字符,包含至少1个大写、1个小写、1个数字、1个特殊字符。

(5)修改数据库的字符集,查看默认的字符集

mysql> SHOW VARIABLES like 'character%';  +--------------------------+----------------------------+ | Variable_name            | Value                      | +--------------------------+----------------------------+ | character_set_client     | utf8                       | | character_set_connection | utf8                       | | character_set_database   | latin1                     | | character_set_filesystem | binary                     | | character_set_results    | utf8                       | | character_set_server     | latin1                     | | character_set_system     | utf8                       | | character_sets_dir       | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec)

可以看出,database、server的字符集为latin1,如果后面在建数据库、数据表时,没有指定utf8,输入中文会变成乱码。MySQL 官网有介绍了更改字符集的方法,修改 mysql 的配置文件

vi /etc/my.cnf  # 在 [mysqld] 下面加上这个配置 [mysqld] character-set-server=utf8  # 如果 client 默认不是 utf8,要改成 utf8 则在 [client] 中加上这个配置 [client] default-character-set=utf8

更改好配置文件后,保存退出,重启 mysql

service mysqld restart

再查看数据库的字符集,已变成utf8,如下

mysql> SHOW VARIABLES like 'character%'; +--------------------------+----------------------------+ | Variable_name            | Value                      | +--------------------------+----------------------------+ | character_set_client     | utf8                       | | character_set_connection | utf8                       | | character_set_database   | utf8                       | | character_set_filesystem | binary                     | | character_set_results    | utf8                       | | character_set_server     | utf8                       | | character_set_system     | utf8                       | | character_sets_dir       | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec)

(6)创建用于存储hive元数据库的数据库、账号密码

使用mysql的root账号进入mysql后,创建数据库和账号

#创建相关的数据库 #hive create database chivedb; #activity monitor create database camondb;  # 建账号 grant all privileges on chivedb.* to 'chadoop'@'localhost' identified by 'Test.123' with grant option; grant all privileges on chivedb.* to 'chadoop'@'%' identified by 'Test.123' with grant option; grant all privileges on camondb.* to 'chadoop'@'localhost' identified by 'Test.123' with grant option; grant all privileges on camondb.* to 'chadoop'@'%' identified by 'Test.123' with grant option; flush privileges;

三、下载安装包

1、下载 Cloudera Manager 5,下载链接为 http://archive.cloudera.com/cm5/cm/5/   根据本地操作系统(CentOS 6.9)下载 cloudera-manager-el6-cm5.13.0_x86_64.tar.gz
2、下载 CDH安装包,下载链接为 http://archive.cloudera.com/cdh5/parcels/5.13.0/ ,根据本地操作系统(CentOS 6.9)下载以下三个文件(注意:旧版本的CDH4还需要下载IMPALA、Cloudera Search(SOLR),而在CDH5中已将他们整合在一起了)

CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel

CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel.sha1

manifest.json

四、安装Cloudera Manager Server和Agent

1、主节点hd1安装Cloudera Manager Server
Cloudera Manager的目录默认位置为/opt,在/opt目录下解压安装文件

cd /opt tar -zxvf cloudera-manager-el6-cm5.13.0_x86_64.tar.gz

2、初始化Cloudera Manager 5数据库
首先在MySql的官网下载JDBC驱动,下载mysql-connector-java-5.1.45.zip,解压后,找到mysql-connector-java-5.1.45-bin.jar,放到/opt/cm-5.13.0/share/cmf/lib/中

cp mysql-connector-java-5.1.45-bin.jar /opt/cm-5.13.0/share/cmf/lib/

在主节点hd1中初始化CM5的数据库

sh /opt/cm-5.11.1/share/cmf/schema/scm_prepare_database.sh mysql -uroot -pTest.123 scm scm

如果执行出错,报错信息为:java.sql.SQLException: Your password does not satisfy the current policy requirements这是由于MySQL密码复杂度设置的原因,将MySQL的密码复杂度修改为低等级

$ mysql -uroot -p密码  mysql> select @@validate_password_policy; +----------------------------+ | @@validate_password_policy | +----------------------------+ | MEDIUM                     | +----------------------------+ 1 row in set (0.00 sec)  mysql> set global validate_password_policy=0; Query OK, 0 rows affected (0.00 sec)  mysql> exit; Bye

重新执行初始化CM5的数据库

[root@31d48048cb1e /]# sh /opt/cm-5.11.1/share/cmf/schema/scm_prepare_database.sh mysql -uroot -pTest.123 scm scm Enter SCM password:  JAVA_HOME=/usr/java/jdk1.7.0_75 Verifying that we can write to /opt/cm-5.11.1/etc/cloudera-scm-server Creating SCM configuration file in /opt/cm-5.11.1/etc/cloudera-scm-server groups: cloudera-scm: No such user Executing:  /usr/java/jdk1.7.0_75/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/opt/cm-5.11.1/share/cmf/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /opt/cm-5.11.1/etc/cloudera-scm-server/db.properties com.cloudera.cmf.db. 2017-08-26 13:17:50,669 [main] INFO  com.cloudera.enterprise.dbutil.DbCommandExecutor  - Successfully connected to database. All done, your SCM database is configured correctly! 

在初始化时要求输入SCM的密码

3、修改Agent的主节点主机

[root@31d48048cb1e /]# vi /opt/cm-5.13.0/etc/cloudera-scm-agent/config.ini   [General] # Hostname of the CM server.修改成主节点的主机名 server_host=hd1  # Port that the CM server is listening on. server_port=7182  ## It should not normally be necessary to modify these. # Port that the CM agent should listen on. # listening_port=9000

注意,server_host那个配置项前面,不能出现空格,否则会造成cloudera-scm-server能正常启动,但cloudera-scm-agent无法正常启动

4、将Agent文件同步到其它节点

[root@31d48048cb1e /]# scp -r /opt/cm-5.13.0/ root@hd2:/opt/ [root@31d48048cb1e /]# scp -r /opt/cm-5.13.0/ root@hd3:/opt/ [root@31d48048cb1e /]# scp -r /opt/cm-5.13.0/ root@hd4:/opt/ 

5、创建cloudera-scm用户(所有节点)

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

五、准备CDH5 Parcels文件

将下载的CHD5相关Parcels包放到主节点的/opt/cloudera/parcel-repo/目录中(如无该目录,则手动创建) 

[root@31d48048cb1e opt]# mv /home/chadoop/CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel  /opt/cloudera/parcel-repo/ [root@31d48048cb1e opt]# mv /home/chadoop/CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel.sha1  /home/chadoop/CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel.sha [root@31d48048cb1e opt]# mv /home/chadoop/CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel.sha  /opt/cloudera/parcel-repo/ [root@31d48048cb1e opt]# mv /home/chadoop/manifest.json /opt/cloudera/parcel-repo/ 

注意,下载的文件CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel.sha1,要重新命名为CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel.sha,否则在后面安装时,系统会重新下载CDH-5.13.0-1.cdh5.13.0.p0.29-el6.parcel.sha文件

六、启动cloudera-scm-server和cloudera-scm-agent

# hd1 启动服务端 /opt/cm-5.11.1/etc/init.d/cloudera-scm-server start  # hd1,hd2,hd3,hd4 启动Agent服务 /opt/cm-5.11.1/etc/init.d/cloudera-scm-agent start

如果需要停止服务则使用stop参数,重启则是restart参数

七、启动CDH5安装配置页面

在Cloudera Manager Server和Agent都成功启动以后,就可以进入CDH5的安装配置页面了,通过使用浏览器访问主节点的7180端口进入 http://hd1:7180

由于CM Server的启动需要一些时间,可能要等待一会才能访问,默认的用户名和密码均为admin

选择Cloudera Manager版本,这里选择Cloudera Express免费版本

选择主机

安装JDK,由于本地已安装,可点击Continue直接跳过

选择Parcels安装模式,以直接加载本地的CDH5 Parcel文件

配置安装的账号和密码

开始进行安装

安装完成后,然后选择要安装的相关服务(例如HDFS、Yarn、Hive等等),按指导一步一步地安装配置即可,只需要在页面上配置就行,就能轻松部署好一个Hadoop集群,非常地直观、方便

 

至此,Cloudera Manager 5和CDH5(最新版5.13.0)的本地离线安装就已全部完成

 

欢迎关注本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),获取更多资讯

本文发表于2018年01月11日 10:32
(c)注:本文转载自https://my.oschina.net/u/876354/blog/1605320,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 2081 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1