CDH-Hadoop5.12.1Parcel离线安装及部署

CDH-Hadoop5.12.1Parcel离线安装及部署

简介:相比apache的hadoop、cdh版本的稳定性兼容性更好,(常见的hadoop的发行版有hdp、MapR 、EMR…)具体对比如下表:

Cloudera’s distribute Apache Hadoop(cdh)

cdhapache
版本划分清晰、版本更新快版本管理混乱、维护困难、没有监控
文档清晰部署过程繁琐、升级过程复杂
兼容性好、稳定兼容性差
kerberos安全认证安全性低

1. cdh的安装方式

cdh的安装方式有很多种:

  • cloudera manager离线安装(生产过程中的主要安装方式

  • yum 安装

  • rpm 安装

  • Tarball 安装

1.1的下载地址

​ 5.4 CDH

​ 5.4.3 cloudera manager

1.2 ntpdate时间不同步问题

server 与agent之间心跳连接超时 默认是5次心跳 包ntpdate时间不同步问题

2. cdh安装部署

2.1 系统环境准备

2.1.1 准备相应数量的服务器,并设置网络配置
1、配置好网络ip地址以及hostname vi /etc/sysconfig/network
2、修改主机名称 vi /etc/hosts
3、关闭防火墙 (可选) service iptables status(stop)|chkconfig iptable off
2.1.2 服务器之间ssh免密登陆
1、在不同节点上生成相应的私钥公钥 : ssh-keygen -t rsa
2、将生成的分发公钥: ssh-copy-id node1 ->ssh-copy-id node2 ->ssh-copy-id node3
3、验证方式如下:
分别在不同节点上 ssh hostname1 、ssh hostname2 、ssh hostname3
2.1.3 准备集群同步脚本

mkdir bin

cd bin/

vi xsync 在文件中编辑以下内容:

chmod 777 xsync

#!/bin/bash 
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`

#5 循环
for((host=103; host<105; host++)); do
        echo ------------------- hadoop$host --------------
        rsync -av $pdir/$fname $user@hadoop$host:$pdir
done
2.1.4 安装JDK并且配置环境变量
mkdir -p /opt/module
mkdir -p /opt/software

# 解压安装到module目录
tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/
# 修改文件所有者、持有者为root
chown root:root jdk1.8.0_144 /-R

vi /etc/profile
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk...
export PATH=$PATH:$JAVA_HOME/bin
# export CLASS_PATH=xxxxx

# 必须source一下 不然环境变量不生效
xsync /opt/module/jdkxx
cat /etc/profile >> ~/.bashrc
source /etc/profile
 
# 验证环境变量是否生效
java -version
2.1.5 集群整体操作

vi all.sh

chmod 777 all.sh

#!/bin/bash
for i in host1 host2 host3
do
        echo --------- $i ----------
        ssh $i "$*"
done

# 验证方式
all.sh jps
2.1.6 安装Server的database-MySQL
# 查看是否默认安装了mysql
rpm -qa|grep mysql...	

#如果安装了就卸载mysql
rpm -e --nodeps mysql....rpm 
-----------------------------------------
# 首先安装server
rpm -ivh  mysql.server.rpm
# server 安装完之后,会生成一个随机的PASSWORD
cat /root/.mysql_secret 
-> xxxxxxxx
# 安装client 并登陆
rpm -ivh mysql..client.rpm 
mysql -uroot -pxxxxxxxx
>> SET PASSWORD = PASSWORD('000000')
>> exit

# 然后修改mysql的表结构(user表)
mysql -uroot -p000000
desc user;
select Host,User,Password from user;
update user set host='%' where host='localhost';
mysql>
delete from user where Host='host1';
delete from user where Host='127.0.0.1';
delete from user where Host='::1';

# 这个是必须刷新的
flush previleges;

# 现在就可以在mysql中创建相应组件所用到的元数据库了
# 1.集群监控数据库
mysql> create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
# 2.Hive数据库 
mysql> create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
# 3.Oozie数据库
mysql> create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
# 4.Hue数据库
mysql> create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
2.1.7 关闭SELINUX
# 临时关闭
setenforce 0
# 永久关闭(推荐)
vim /etc/selinux/config
SELINUX=disable

# 分发配置
xsync /etc/selinux/config

# 重启
reboot
2.1.8 下载第三方依赖
# 依次在3台节点上执行
yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb

2.2 cloudera manager的安装

2.2.1 CM的下载地址

CM下载地址:http://archive.cloudera.com/cm5/cm/5/

离线库下载地址:http://archive.cloudera.com/cdh5/parcels

2.2.2 CM正式安装
mkdir -p /opt/module/cm
# 解压并安装到指定目录
tar -zxvf cloudera-manager-el6-cm5.12.1_x86_64.tar.gz -C /opt/module/cm

# 分别在host1、host2、host3.....创建用户cloudera-scm
useradd \
--system \
--home=/opt/module/cm/cm-5.12.1/run/cloudera-scm-server \
--no-create-home
--shell=/bin/false
--comment "Cloudera SCM User" cloudera-scm

# 参数说明:
--system 创建一个系统账户
--home 指定用户登入时的主目录,替换系统默认值/home/<用户名>
--no-create-home 不要创建用户的主目录
--shell 用户的登录 shell 名
--comment 用户的描述信息
#### 注意:Cloudera Manager默认去找用户cloudera-scm,创建完该用户后,将自动使用此用户
2.2.3 CM Agent、Server配置
# 修改初始化文件 
vi /opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.init
server_host = ?
server_port = (7182 默认通新端口)

# 配置CM的数据库
mkdir -p /usr/share/java
tar -zxvf mysql-connector-java-5.1.27.tar.gz 
cp opt/software/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar   /usr/share/java/

# 修改连接包的名字
mv mysql-connector-java-5.1.27-bin.jar   mysql-connector-java.jar   
2.2.4 用CM自带的脚本在MySQL中创建相应的库
/opt/module/cm/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hhadoop102 -uroot -p000000 --scm-host hadoop102 scm scm scm

# 参数说明
-h:Database host
-u:Database username
-p:Database Password
--scm-host:SCM server's hostname
2.2.5 分发CM的目录到其他节点
[root@ host1]>> xsync /opt/module/cm
2.2.6 创建Parcel目录
# 创建Parcel目录
Server节点
	- mkdir -p /opt/cloudera/parcel-repo
	#	修改目录的所有者、使用者为cloudera-scm
	- chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
Agent节点
	- mkdir -p /opt/cloudera/parcels
	- chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
	
# 拷贝下载文件manifest.json 、
# CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha1 、
# CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel到主节点serverhost[host1]的 /opt/cloudera/parcel-repo/目录:
[root@host1 parcel-repo]  ls
CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel  
CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha1  
manifest.json
# 修改名称
mv CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha1 CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha
=> 制作CDH本地源
	- 下载好文件CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel以及mainfest.json,将这2个节点放在
		server节点的指定目录下:/opt/cloudera/parcel-repo下
	- 打开mainfest.json文件,里面是json格式的配置,找到与下版本对应的hash码, 新建文件,文件名
		与你的parcel包名一致,并加上.sha后缀,将hash码复制到文件中保存

# 分别在host1、host2、host3上创建agent的/opt/cloudera/parcels 
[root@hadoop102 module] mkdir -p /opt/cloudera/parcels 
[root@hadoop103 module] mkdir -p /opt/cloudera/parcels 
[root@hadoop104 module] mkdir -p /opt/cloudera/parcels 
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-paecels


# 最后分发 cloudera目录到其他节点
xsync /opt/cloudera

3. 启动Cloudera Manager

注意:启动过程非常慢,Manager启动成功需要等待5分钟左右,过程中会在数据库中创建对应的表需要耗费一些时间.

# 启动server
/opt/module/cm/cm-5.12.1/etc/init.d/cloudera-scm-server start|stop
Starting cloudera-scm-server.........  

# 启动agent
[root@host1 cm] /opt/module/cm/cm-5.12.1/etc/init.d/cloudera-scm-agent start|stop

[root@host2 cm] /opt/module/cm/cm-5.12.1/etc/init.d/cloudera-scm-agent start|stop

[root@host3 cm] /opt/module/cm/cm-5.12.1/etc/init.d/cloudera-scm-agent start|stop

# 检验是否安装成功
netstat -anp | grep 7180
访问 http://hadoop102:7180
账号: admin 密码:admin

4. CM集群的部署

4.1 同意协议和条款

4.2 选择免费

1. 选择Cloudera Express 免费版本、选择继续

4.3 指定主机

1. 选择当前管理的主机
2. 宣布勾选✅
3. 选择CDH的版本 5.12.1.p0.3  点击继续
4. 等待下载、分配、解压、激活
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值