Cloudera Manager集群搭建

hostname按表格进行修改,/etc/hosts文件添加节点 Ip+hostname

hostname ip role
cdh-nn01 172.16.0.188 HadoopMaster,CM Server,Mysql,Hue,HS2
cdh-nn02 172.16.0.189 Hadoop Master,CMAgent,HS2
cdh-nn03 172.16.0.190 Hadoop Master,CMAgent,HS2,Impala
cdh-dn04 172.16.0.193 数据节点,CMAgent,
cdh-dn05 172.16.0.192 数据节点,CMAgent,
cdh-dn06 172.16.0.191 数据节点,CMAgent,Impala
172.16.0.188	cdh-nn01	namenode zkServer NodeManager JournalNode ResourceManager
172.16.0.189	cdh-nn02	namenode zkServer NodeManager JournalNode ResourceManager
172.16.0.190	cdh-nn03	namenode zkServer NodeManager JournalNode ResourceManager
172.16.0.191	cdh-dn06	datanode zkServer NodeManager JournalNode HiveServer2 
				Hive Metastore Server Oozie Server kudu
172.16.0.192	cdh-dn05	datanode zkServer NodeManager JournalNode kudu
172.16.0.193	cdh-dn04	datanode zkServer NodeManager JournalNode kudu

ssh免密

公私钥生成,将所有机器的公钥拷贝至cdh-nn03节点,对应好公钥编号。

[root@cdh-nn01 .ssh]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
文件保存路径    /root/.ssh/   
此时有两个文件   id_rsa和id_rsa.pub 

[root@cdh-nn01 .ssh]# scp id_rsa.pub root@cdh-nn03:~/.ssh/id_rsa_nn01.pub
[root@cdh-nn02 .ssh]# scp id_rsa.pub root@cdh-nn03:~/.ssh/id_rsa_nn02.pub
[root@cdh-dn04 .ssh]# scp id_rsa.pub root@cdh-nn03:~/.ssh/id_rsa_dn04.pub
[root@cdh-dn05 .ssh]# scp id_rsa.pub root@cdh-nn03:~/.ssh/id_rsa_dn05.pub
[root@cdh-dn06 .ssh]# scp id_rsa.pub root@cdh-nn03:~/.ssh/id_rsa_dn06.pub

[root@cdh-nn03 .ssh]# ll
total 28
-rw------- 1 root root    0 Jul 21 20:47 authorized_keys
-rw------- 1 root root 1675 Jul 22 15:39 id_rsa
-rw-r--r-- 1 root root  395 Jul 22 15:43 id_rsa_dn04.pub
-rw-r--r-- 1 root root  395 Jul 22 15:47 id_rsa_dn05.pub
-rw-r--r-- 1 root root  395 Jul 22 15:47 id_rsa_dn06.pub
-rw-r--r-- 1 root root  395 Jul 22 15:41 id_rsa_nn01.pub
-rw-r--r-- 1 root root  395 Jul 22 15:42 id_rsa_nn02.pub
-rw-r--r-- 1 root root  395 Jul 22 15:39 id_rsa.pub

[root@cdh-nn03 .ssh]# cat id_rsa*.pub > authorized_keys 


[root@cdh-nn03 .ssh]# scp ~/.ssh/authorized_keys root@cdh-nn01:~/.ssh/authorized_keys
[root@cdh-nn03 .ssh]# scp ~/.ssh/authorized_keys root@cdh-nn02:~/.ssh/authorized_keys
[root@cdh-nn03 .ssh]# scp ~/.ssh/authorized_keys root@cdh-dn04:~/.ssh/authorized_keys
[root@cdh-nn03 .ssh]# scp ~/.ssh/authorized_keys root@cdh-dn05:~/.ssh/authorized_keys
[root@cdh-nn03 .ssh]# scp ~/.ssh/authorized_keys root@cdh-dn06:~/.ssh/authorized_keys

JDK 1.8安装

解压到/usr/java (只需在nn01上执行,步骤5、6 激活环境变量和版本查看需要全节点执行)

#1.创建文件夹 /usr/java 
mkidr /usr/java

#2.进入/opt/software目录,解压jdk压缩包到/usr/java目录
tar -zxf jdk-8u251-linux-x64.tar.gz -C /usr/java

#3.修改/etc/profile添加jdk系统变量
vim etc/profile 
# 在文件末尾添加如下内容
# --------------- JDK ---------------------------
export JAVA_HOME=/usr/java/jdk1.8.0_251
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#4.拷贝/usr/java目录和系统变量配置文件/etc/profile至集群其他节点
scp -r /usr/java/ root@cdh-nn02:/usr/
scp -r /usr/java/ root@cdh-nn03:/usr/
scp -r /usr/java/ root@cdh-dn04:/usr/
scp -r /usr/java/ root@cdh-dn05:/usr/
scp -r /usr/java/ root@cdh-dn06:/usr/
scp /etc/profile root@cdh-nn02:/etc/profile
scp /etc/profile root@cdh-nn03:/etc/profile
scp /etc/profile root@cdh-dn04:/etc/profile
scp /etc/profile root@cdh-dn05:/etc/profile
scp /etc/profile root@cdh-dn06:/etc/profile

#5.激活系统配置
source /etc/profile

#6.测试jdk,执行以下命令能看到java版本
java -version

时间同步 chronycd

所有节点以cdh-nn01为主机同步
# 1.修改集群所有主机的 /etc/chrony.conf 文件
注释掉其他所有默认时间服务器
增加	server cdh-nn01 iburst
-------------------------------------------------------
#server ntp.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
#server ntp.aliyun.com minpoll 4 maxpoll 10 iburst
#server ntp1.aliyun.com minpoll 4 maxpoll 10 iburst
#server ntp1.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
#server ntp10.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
#server ntp11.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
#server ntp12.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
#server ntp2.aliyun.com minpoll 4 maxpoll 10 iburst
#server ntp2.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
#server ntp3.aliyun.com minpoll 4 maxpoll 10 iburst
#server ntp3.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
#server ntp4.aliyun.com minpoll 4 maxpoll 10 iburst
#server ntp4.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
#server ntp5.aliyun.com minpoll 4 maxpoll 10 iburst
#server ntp5.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
#server ntp6.aliyun.com minpoll 4 maxpoll 10 iburst
#server ntp6.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
#server ntp7.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
#server ntp8.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
#server ntp9.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server cdh-nn01 iburst



# 2.修改同步源主机 cdh-nn01  /etc/chrony.conf 文件,新增如下内容
----------------------------------
# Allow NTP client access from local network.
allow 172.16.0.0/23

local stratum 10


# 3.所有节点检查服务状态 ,以cdh-nn01以时间同步源
chronyc sources
-------------------------------------------------
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* cdh-nn01                     10  10   377  472m   -323ns[-1947ns] +/- 6173ns



Mysql安装

修改密码、设置远程登录。(只需在nn01上 )

#1.检查是否存在mysql安装包
rpm -qa|grep -i mysql
---------------------------------
mysql-community-release-el7-5.noarch
mysql-community-common-5.6.48-2.el7.x86_64
mysql-community-client-5.6.48-2.el7.x86_64
mysql-community-server-5.6.48-2.el7.x86_64
mysql-community-libs-5.6.48-2.el7.x86_64

#2.若有安装包则全部删除
rpm -ev mysql-community-client-5.6.48-2.el7.x86_64
rpm -ev mysql-community-server-5.6.48-2.el7.x86_64
rpm -ev mysql-community-release-el7-5.noarch
rpm -ev mysql-community-common-5.6.48-2.el7.x86_64
rpm -ev mysql-community-libs-5.6.48-2.el7.x86_64

#3.查询并删除mysql安装目录
#查询
find / -name mysql
----------------------------------------------
/var/lib/mysql
/var/lib/mysql/mysql
/usr/lib64/mysql
#删除
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
rm -rf /usr/lib64/mysql

#4.删除配置文件 my.cnf
rm -rf /etc/my.cnf

#5.检查是否存在mariadb
rpm -qa | grep mariadb
-----------------------------------------------
mariadb-libs-5.5.60-1.el7_5.x86_64

#6.删除mariadb文件
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

#7.安装wget下载器
yum install -y wget

#8.进入/opt/software目录,下载mysql
cd /opt/software
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

#9.安装mysql
rpm -ivh mysql-community-release-el7-5.noarch.rpm

#10.安装mysql-server
yum install mysql-server -y

#11.修改mysql用户权限
chown -R root:root /var/lib/mysql

#12.设置登录密码和远程连接用户名密码  
mysql -uroot -p (密码输入直接回车)
    1.use mysql;
	2.用户、密码登录设置
	update user set password=password('1111') where user='root';
	3.当前用户对数据库的所有操作权限赋给root用户,设置远程访问密码 1111
	GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY "1111" WITH GRANT OPTION; 
	4.flush privileges;
	5.exit;

#13.设置数据库编码utd8
vi /etc/my.cnf
追加内容:character-set-server=utf8

#14.重启mysql服务
service mysqld restart

拷贝jdbc驱动文件到/usr/share/java目录下(只需nn01节点执行)

#1.创建目标目录/usr/share/java
mkdir /usr/share/java

#2.拷贝jdbc驱动文件到该目录下,更名为mysql-connector-java.jar 
cd /opt/software/mysql-connector-java-5.1.47.jar /usr/share/java/mysql-connector-java.jar 

#3.远程拷贝目录文件/usr/share/java至其他节点
scp -r /usr/share/java/ root@cdh-nn02:/usr/share
scp -r /usr/share/java/ root@cdh-nn03:/usr/share
scp -r /usr/share/java/ root@cdh-dn04:/usr/share
scp -r /usr/share/java/ root@cdh-dn05:/usr/share
scp -r /usr/share/java/ root@cdh-dn06:/usr/share

Cloudera Manager 安装 cdh-nn01上操作即可

# cloudera-repos-6.2.0 parcel-6.2.0上传至cdh-nn01 /opt/software目录下

# 上传完毕后配置本地yum库
	1.安装httpd和createrepo
	yum -y install httpd createrepo
	2.启动httpd服务并设置开机自启动:
	systemctl start httpd
	systemctl enable httpd
	3.进入cloudera-repos-6.2.0目录,生成RPM元数据
	cd /opt/software/cloudera-repos-6.2.0
	createrepo .
	chmod 777 -R cloudera-repos
	4.然后将cloudera-repos目录移动到httpd的html目录下:
	mv cloudera-repos-6.2.0 /var/www/html/
	5.网页端可查看 http://cdh-nn01/cloudera-repos-6.2.0/ 如下图

# 创建cm6的repo文件 (此步骤每个节点都要执行)
cd /etc/yum.repos.d
vim cloudera-manager.repo
-------------------------------------
[cloudera-manager]
name=Cloudera Manager 6.2.0
baseurl=http://cdh-nn01/cloudera-repos-6.2.0/
gpgcheck=0
enabled=1

#退出执行
yum clean all && yum makecache

#安装CM Server
yum install -y cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server

# 配置本地Parcel存储库
# 移动parcel下文件到/opt/cloudera/parcel-repo中
cd /opt/software/parcel-repo
cp * /opt/cloudera/parcel-repo
# 修改文件所有者
chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo

```sql
# 进入mysql创建CDH所需要的数据库用户名和密码

# scm
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm';

# amon
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'amon';

# rman
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'rman';

# hue
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; 
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'hue';

# hive
CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';

# sentry
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;   
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY 'sentry';

# navms
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'navms';

# oozie
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';

# flush
FLUSH PRIVILEGES;

初始化CM数据库

/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm root 1111

在这里插入图片描述

修改agent连接的服务主机

vim /etc/cloudera-scm-agent/config.ini
----------------------------------------------
server_host=cdh-nn01  #cloudera-scm-server 所在的主机名

启动CM Server 服务

-- 启动服务命令
systemctl start cloudera-scm-server
systemctl enable cloudera-scm-server
-- 停止服务命令
systemctl stop cloudera-scm-server
systemctl disable cloudera-scm-server

监控服务启动日志 (启动问题看这个日志)

tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log

当看到INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.
日志打印出来后,说明服务启动成功,可以通过浏览器访问Cloudera Manager WEB界面了。

报错ParcelUpdateService:com.cloudera.parcel.components.ParcelDownloaderImpl: 
Unable to retrieve remote parcel repository manifest 这个问题可以忽略

查看服务是否启动,看到7180端口出现及成功

netstat -nultap
---------------------------------

创建对应的数据库以及数据库用户

服务名 数据库名 用户名
Cloudera Manager Server scm scm
Activity Monitor amon amon
Reports Manager rman rman
Hue hue hue
Hive Metastore Server hive hive
Sentry Server sentry sentry
Cloudera Navigator Audit Server nav nav
Cloudera Navigator Metadata Server navms navms
Oozie oozie oozie

CM Agnet 安装

启动CM Agent

yum install -y cloudera-manager-agent cloudera-manager-daemons

systemctl start cloudera-scm-agent
systemctl enable cloudera-scm-agent

systemctl stop cloudera-scm-agent
systemctl disable cloudera-scm-agent

监控服务启动状态

tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log

tail -f /var/log/cloudera-scm-agent/cloudera-scm-agent.log
#当看到 Started Jetty server 说明服务启动成功,可以浏览器访问Cloudera Manager WEB界面

# CM页面
http:cdh-nn01:7180

# 
netstat -nultap

rm -Rf /usr/share/cmf /var/lib/cloudera* /var/cache/yum/cloudera* /var/log/cloudera* /var/run/cloudera*

rpm -qa | grep cloudera
rpm -ev 
systemctl start mysqld
systemctl enable mysqld

时间同步

vim /etc/chrony.conf

systemctl restart chronyd
systemctl enable chronyd

输入网址http://(ip或主机名 ip为公网ip):7180 ,账号密码都为admin

img

进入欢迎页面,继续。

img

接受条款,继续。

img

版本选择免费版,继续。

img
等待页面刷新,进入集群安装页面。
img
自定义集群名称。
在这里插入图片描述

选择集群组件可选主机。
在这里插入图片描述

设置Cloudera服务数据包。
在这里插入图片描述
JDK环境集群主机已进行安装,此处可以取消勾选。
在这里插入图片描述
SSH免密登录已设置完毕,此处进行登录凭证设置。
在这里插入图片描述
Agent安装。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

集群服务安装。
在这里插入图片描述
在这里插入图片描述
选择自定义安装服务,我这里选择HDFS,Hive,Hue,Impala,Kudu,Oozie,Spark,YARN,Zookeeper。
在这里插入图片描述
角色分配:将所要安装的服务角色分配到集群各节点。

在这里插入图片描述
服务组件元数据信息存储:各个组件绑定到对应的mysql数据库表进行存储。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Clouder Manager集群安装完成,可访问主节点7180端口进行访问,集群主界面如下。
在这里插入图片描述

可选:配置数据安装目录,数据存储到数据盘挂载目录。
在这里插入图片描述

至此集群安装完毕。

参考资料:
CentOS7 Cloudera Manager6 完全离线安装 CDH6 集群(https://www.cnblogs.com/songxitang/p/12344964.html)
CDH6.2安装教程(https://www.jianshu.com/p/610cce9f9026

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐