Centos7离线安装CDH5.16集群

本文详细介绍了在Centos7环境下,如何离线安装CDH5.16集群,包括JDK安装、Mysql配置、Cloudera Manager下载与配置、初始化CM数据库以及CDH组件的下载和安装。过程中提到了关键步骤和可能遇到的问题,适合没有网络连接的服务器环境参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

手里有三台服务器,每台16内存,磁盘大小100G,搭建CDH集群
版本如下:

Centos7.6.1810
Mysql5.6.50
Cloudera-manager5.16.2

本文参考了网络上的CDH安装的文章
https://blog.youkuaiyun.com/czz1141979570/article/details/86658416)
https://blog.youkuaiyun.com/weixin_40079336/article/details/86648553
https://blog.youkuaiyun.com/u012448904/article/details/103702433
https://yq.aliyun.com/articles/341408
以及自己搭建时遇到的一些问题,进行说明

搭建CDH过程:

这里前提是默认已经配置好centos的ip,关闭防火墙,ssh免疫,ntp,hosts映射和连接外网等一些配置了
因为服务器上的是最小化安装,什么都没带,自己还得安装很多东西,个人安装centos时不推荐最小化安装

安装使用的root用户来安装

安装JDK

安装jdk1.8以上版本,安装的目录必须要在/usr/java下面,因为CDH默认会从这里找
第一次安装时我安装在/opt下面,CDH会报错 检测不到jdk

查看机器是否自带jdk,进行卸载

1.创建这个文件夹,存放jdk
mkdir -p /usr/java/jdk1.8
tar -zxvf jdk-8u161-linux-x64.tar.gz -C  /usr/java/
必须存放在这个目录,否则后期机器默认找不到jdk,还得手动指定,挺麻烦的
1.配置环境变量
	vim /etc/profile
    
2./etc/profile中添加下面配置项
	export JAVA_HOME=/usr/java/jdk1.8
	export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
	export PATH=$PATH:${JAVA_HOME}/bin

3.刷新环境变量使配置立即生效
    source /etc/profile
    
4.检查JDK是否配置成功
    java -version

安装Mysql

先安装Mysql,CHD集群的初始化数据和后续的组件(hive,oozie,cm的监控器和hue)的数据都会存放到Mysql中

1、先查看linux是否带有mariadb
rpm -qa|grep -i mariadb

2、 卸载mariadb
rpm -e --nodeps mariadb-libs

3、如果之前安装过mysql,需要卸载干净
rpm -qa |grep -i mysql
yum remove  **********
find / -name mysql
rm -rf 
rm -rf /etc/my.cnf
rm -rf /var/log/mysqld.log


4、安装mysql
yum install mysql
yum install mysql-server
yum install mysql-devel
这里安装mysql-server时可能会报错
可以参考下面
https://www.cnblogs.com/yowamushi/p/8043054.html

安装完成后启动mysql服务,首次没有密码
service mysql start
mysql

5、更改密码
update user set Password = password('123456') where user='root';
   查看密码
select host, user, authentication_string, plugin from user; 
   刷新权限
flush privileges;

6、开启远程登录
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
FLUSH PRIVILEGES;

7、授权用户登录
grant all privileges on *.* to 'root'@'hadoop1' identified by 'root' with grant option;

8、创建数据库
#hive
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
 
#activity monitor
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
 
#hue
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
 
#oozie
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
  1. 安装依赖(所有机器)
    CDH安装需要python的依赖,我没有安装,之后报错了,需要提前安装
yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb httpd mod_ssl
  1. CM下载
    CM下载地址:http://archive.cloudera.com/cm5/cm/5/
    CM下载界面
    下载完毕后上传,解压到/opt下面,解压后会生成两个文件夹cloudera和cm-5.16.2
tar -zxvf /opt/software/cloudera-manager-centos7-cm5.16.2_x86_64.tar.gz  -C /opt
  1. 添加用户(所有机器)

这个用户是cm的默认用户来使用

useradd --system --home=/opt/module/cloudera-manager/cm-5.12.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
//Cloudera Manager默认用户为cloudera-scm,安装完成后,将自动使用此用户。
  1. 配置/opt/cloudera-manager/cm-5.16.2/etc/cloudera-scm-agent/ config.ini

server_host改成主节点名称,server_port不用动

vim /opt/cloudera-manager/cm-5.16.2/etc/cloudera-scm-agent/ config.ini

[General]
# Hostname of the CM server.
server_host=hadoop1

# Port that the CM server is listening on.
server_port=7182

  1. 获取mysql的连接包

我这里用的是mysql5.1.28的连接包
下载地址:https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java-5.1.28.tar.gz

cp /opt/software/mysql-connector-java-5.1.28/mysql-connector-java-5.1.28-bin.jar /opt/cm-5.16.2cm/share/cmf/lib/

将mysql连接的包放到这个/cm/share/cmf/lib目录下
网上两种方案存放这个包,一种是放在/usr/java/,一种是存放在/cm-5.16.2/share/cmf/lib/

这里经过这几天,证明只用放在/cm-5.16.2/share/cmf/lib/即可

  1. 分发解压包到其他节点上
scp -r cm5.16.2 hadoop2:/opt/
scp -r cm5.16.2 hadoop3:/opt/

传过去文件确认一下你的权限

chown -R cloudera-scm:cloudera-scm /opt/cm5.16.2

  1. 初始化CM数据库
/opt/cm-5.16.2/share/cmf/schema/scm_prepare_database.sh mysql cm -h hadoop1 -u root -p 123456 --scm-host localhost scm scm scm

这是数据库初始化语句,scm用户会在mysql冲初始化一个cm的数据库

如果初始化失败,还发现本地mysql登陆不成功等问题,可以在修改/etc/my.conf文件

进入mysql后修改mysql数据库的user表

参考文档

https://blog.youkuaiyun.com/weixin_40079336/article/details/86648553
初始化cm数据库的语句含义
根据上面的意思我的语句是

如果已经增加权限还是不能登录可使用下面语句,执行完是结果是user表会增加scm用户,mysql的user表条数有12条

grant all privileges on *.* to 'root'@'localhost' identified by '123456' with grant option;

grant all privileges on *.* to 'root'@'hadoop1' identified by '123456' with grant option;

grant all privileges on *.* to 'root'@'127*.*0*.*0*.*1' identified by '123456' with grant option;

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

grant all privileges on *.* to 'scm'@'localhost' identified by 'scm' with grant option;

grant all privileges on *.* to 'scm'@'hadoop1' identified by 'scm' with grant option;

grant all privileges on *.* to 'scm'@'127*.*0*.*0*.*1' identified by 'scm' with grant option;

grant all privileges on *.* to 'scm'@'%' identified by 'scm' with grant option;
  1. CDH离线包下载
    http://archive.cloudera.com/cdh5/parcels/latest/

CDH下载内容
下载三个文件

  1. 创建Parcel-repo 目录(主节点操作)
  mkdir -p /opt/cloudera/parcel-repo
  chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/

将下载好的3个CDH文件放到parcel-repo这个目录中

SPARK2-2.4.0.cloudera2-1.cdh5.13.3.p0.1041012-el7.parcel.sha1

需要改名

SPARK2-2.4.0.cloudera2-1.cdh5.13.3.p0.1041012-el7.parcel.sha

把1去掉就行了

  1. 所有节点创建parcels目录(所有节点)
mkdir -p /opt/cloudera/parcels
chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcels
  1. 启动CM服务
hadoop1:
/opt/cloudera-manager/cm-5.16.2/etc/init.d/cloudera-scm-server start
/opt/cloudera-manager/cm-5.16.2/etc/init.d/cloudera-scm-agent start

hadoop2:
/opt/cloudera-manager/cm-5.16.2/etc/init.d/cloudera-scm-agent start

hadoop3:
/opt/cloudera-manager/cm-5.16.2/etc/init.d/cloudera-scm-agent start
  1. 访问WebUI
hadoop1:7180

启动命令后等一会,会有个启动过程,可能比较慢,到这里应该就能正常访问了,默认的用户名和密码都是admin
进去添加服务组件,配置他们的节点位置和他们的存储目录

也可以点击集群->操作->添加服务
在这里插入图片描述

到此,CDH安装完成,文章有不足之处还请告知
CDH安装遇到问题可以参考以下连接
https://blog.youkuaiyun.com/BalaBalaYi/article/details/76904274
https://blog.youkuaiyun.com/qq_39680564/article/details/100013275

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值