大数据系列 | CDH6.2大数据平台安装部署、原理和使用介绍

本文介绍了大数据技术生态中Hadoop、Hive、Spark的关系,强调了Hadoop的存储和计算功能,以及Hive作为SQL接口的作用。接着详述了Cloudera Distribution Hadoop (CDH)集群的部署过程,包括环境准备、Cloudera Manager的安装、管理与使用,以及如何通过Cloudera Manager添加新节点。文章提供了详细的步骤和配置指导,适合大数据环境搭建和管理的学习者。

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

1. CDH介绍

2. CDN集群规划

   CDH是Cloudera的100%开源平台发行版,包括Apache Hadoop,专为满足企业需求而构建。CDH提供开箱即用的企业使用所需的一切。通过将Hadoop与十几个其他关键的开源项目集成,Cloudera创建了一个功能先进的系统。
   Cloudera Manager的功能:
   ● 管理:对集群进行管理,例如添加、删除节点等操作
   ● 监控:监控集群的健康情况,对设置的各种指标和系统的具体运行情况进行全面的监控
   ● 诊断:对集群出现的各种问题进行诊断,并且给出建议和解决方案
   ● 集成:多组件可以进行版本兼容间的整合

   服务器信息:

服务器IP地址主机名硬件配置操作系统版本角色
172.26.3.111cdh018C16G/200GCentOS 7.9.2009cm server
172.26.3.113cdh028C16G/200GCentOS 7.9.2009
172.26.3.114cdh038C16G/200GCentOS 7.9.2009

   cm-server用于部署server端(当然也可以将agent端部署在server主机上共用)

   配置检查:

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)

[root@localhost ~]# free -g
              total        used        free      shared  buff/cache   available
Mem:             15           3           0           0          11          12
Swap:             0           0           0

[root@localhost ~]# lscpu | head -4 | tail -1
CPU(s):                8

   安装包准备:
   安装包都放在cm-server那台服务器上

[root@localhost ~]# ll /root
total 3282072
-rw-r--r-- 1 root root  2093332003 Dec  6 21:55 CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel
drwxr-xr-x 2 root root        4096 Dec  6 21:52 cloudera-repos
-rw-r--r-- 1 root root       95840 Dec  6 21:52 createrepo-0.9.9-28.el7.noarch.rpm
-rwxr-xr-x 1 root root       42538 Jun  2  2021 kec-ipv6-setup-utils
-rw-r--r-- 1 root root   541163520 Dec  6 21:54 mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar
-rw-r--r-- 1 7155 31415   26463604 Jun  3  2020 mysql-community-client-5.7.31-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415     318768 Jun  3  2020 mysql-community-common-5.7.31-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415    3921992 Jun  3  2020 mysql-community-devel-5.7.31-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415   47438588 Jun  3  2020 mysql-community-embedded-5.7.31-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415   23260840 Jun  3  2020 mysql-community-embedded-compat-5.7.31-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415  130786492 Jun  3  2020 mysql-community-embedded-devel-5.7.31-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415    2461644 Jun  3  2020 mysql-community-libs-5.7.31-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415    1263812 Jun  3  2020 mysql-community-libs-compat-5.7.31-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415  181613808 Jun  3  2020 mysql-community-server-5.7.31-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415  123621160 Jun  3  2020 mysql-community-test-5.7.31-1.el7.x86_64.rpm
-rw-r--r-- 1 root root   184988341 Dec  6 21:55 oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
-rw-r--r-- 1 root root       32084 Dec  6 21:55 python-deltarpm-3.6-3.el7.x86_64.rpm

3. 部署CDH集群

3.1. 基础组件安装

   修改主机名:
   根据各节点ip地址规划更改对应的主机名,分别在各服务器上执行:

[root@vm10-1-248-248 ~]# hostnamectl set-hostname cdh01
[root@vm10-1-248-45 ~]# hostnamectl set-hostname cdh02
[root@vm10-1-248-46 ~]# hostnamectl set-hostname cdh03

   绑定集群内所有机器的主机名和ip的映射关系:

cat /etc/hosts
127.0.0.1 localhost
127.0.0.1 vm10-1-248-248.cloud.local

10.1.248.248 cdh01
10.1.248.45  cdh02
10.1.248.46  cdh03

   关闭防火墙和SELinux:
   各服务器节点均执行

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/^SELINUX=.*$/SELINUX=disabled/g' /etc/selinux/config

   配置集群内所有节点之间的互相免密码登录:

[root@cdh01 ~]# ssh-keygen -t rsa

[root@cdh01 ~]# ssh-copy-id 10.1.248.248
[root@cdh01 ~]# ssh-copy-id 10.1.248.45
[root@cdh01 ~]# ssh-copy-id 10.1.248.46

   在cdh02、cdh03中也都需要做同样的免密钥配置,都配置完成后手动全部ssh登陆一次
   在集群内搭建ntp时间服务器:

# yum install -y chrony

# 将下面四行的内容注释掉
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

#增加
server ntp.aliyun.com

# 最终效果如下
# grep -v ^# /etc/chrony.conf | grep -v ^$
server ntp.aliyun.com
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
logdir /var/log/chrony
# systemctl restart chronyd && systemctl enable chronyd
[root@cdh01 ~]# for i in cdh01 cdh02 cdh03;do echo $i && ssh  $i "chronyc sources";done
cdh01
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* 203.107.6.88                  2   6    17    16    -76us[+1922us] +/-   27ms
cdh02
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^? 203.107.6.88                  2   6     3    29  +5869us[+5869us] +/-   29ms
cdh03
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^? 203.107.6.88                  2   6     3    12  +2944us[+2944us] +/-   21ms

// 看好输出不能是^? ,结果是^*才是正确的

   调优系统swappiness参数:

   vm.swappiness 参数可以调整机器使用内存、交互分区的比例。vm.swappiness 的取值范围在 0-100 之间,当 vm.swappiness 为 0 时,表示最大限度地使用物理内存,而后使用swap空间;当swappiness为 100 时,表示最大限度地使用swap空间,把内存中的数据及时搬运到swap空间中去。

   各服务器节点均执行:

# vim /etc/sysctl.conf
vm.swappiness = 0
# sysctl -p
vm.swappiness = 0
# sysctl vm.swappiness=0		// 临时修改
vm.swappiness = 0
# cat /proc/sys/vm/swappiness 
0

   在集群内的所有节点上安装jdk:
   建议使用CDH提供的JDK软件包:

rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm 

vim /etc/profile
# 添加
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
export PATH=$JAVA_HOME/bin:$PATH

source /etc/profile
java -version
# 输出
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

   其他两台主机也需要安装JDK。

   在cdh01节点上安装MySQL:

[root@cdh01 ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
[root@cdh01 ~]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
[root@cdh01 ~]# yum install libaio
[root@cdh01 ~]# rpm -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpm
[root@cdh01 ~]# rpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpm
[root@cdh01 ~]# rpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpm
[root@cdh01 ~]# rpm -ivh mysql-community-libs-compat-5.7.31-1.el7.x86_64.rpm
[root@cdh01 ~]# rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm
[root@cdh01 ~]# systemctl start mysqld && systemctl enable mysqld
[root@cdh01 ~]# cat /var/log/mysqld.log | grep password
2024-12-13T14:22:02.427245Z 1 [Note] A temporary password is generated for root@localhost: ?uW(qO3hJ<xj
[root@cdh01 ~]# mysql -u root -p'8*&h#14zZ;Ly'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.31

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> set password=password("Bigdata@2025");
Query OK, 0 rows affected, 1 warning (0.00 sec)


mysql> select user, host from mysql.user;
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
+---------------+-----------+
3 rows in set (0.00 sec)


mysql> use mysql
mysql> update user set host="%" where user="root";
mysql> flush privileges;
[root@cdh01 ~]# mysql -u root -pBigdata@2025

mysql> create database cmserver default charset utf8 collate utf8_general_ci;
mysql> grant all on cmserver.* to 'root'@'%' identified by 'Bigdata@2025';

mysql> create database metastore default charset utf8 collate utf8_general_ci;
mysql> grant all on metastore.* to 'root'@'%' identified by 'Bigdata@2025';

mysql> create database rman default charset utf8 collate utf8_general_ci;
mysql> grant all on rman.* to 'root'@'%' identified by 'Bigdata@2025';

mysql> create database oozie default charset utf8 collate utf8_general_ci;
mysql> grant all on oozie.* to 'root'@'%' identified by 'Bigdata@2025';

mysql> create database hue default charset utf8 collate utf8_general_ci;
mysql> grant all on hue.* to 'root'@'%' identified by 'Bigdata@2025';

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| cmserver           |
| hue                |
| metastore          |
| mysql              |
| oozie              |
| performance_schema |
| rman               |
| sys                |
+--------------------+
9 rows in set (0.00 sec)
mysql> flush privileges;

   拷贝JDBC驱动包到指定目录:

[root@cdh01 ~]# mkdir -p /usr/share/java
[root@cdh01 ~]# cp -pdr /root/mysql-connector-java-5.1.47.jar /usr/share/java/mysql-connector-java.jar
[root@cdh01 ~]# ll /usr/share/java/
total 984
-rw-r--r-- 1 root root 1007502 Dec  6 21:54 mysql-connector-java.jar

   在cdh01节点上安装httpd服务:

[root@cdh01 ~]# yum install httpd
[root@cdh01 ~]# systemctl start httpd
[root@cdh01 ~]# systemctl status httpd
[root@cdh01 ~]# mkdir -p /var/www/html/cloudera-repos/cm6
[root@cdh01 ~]# cp -pdr /root/cloudera-repos/* /var/www/html/cloudera-repos/cm6
[root@cdh01 ~]# ll /var/www/html/cloudera-repos/cm6/
total 1181632
-rw-r--r-- 1 root root      14041 Dec  6 21:46 allkeys.asc
-rw-r--r-- 1 root root   10215608 Dec  6 21:46 cloudera-manager-agent-6.2.1-1426065.el7.x86_64.rpm
-rw-r--r-- 1 root root 1199718256 Dec  6 21:52 cloudera-manager-daemons-6.2.1-1426065.el7.x86_64.rpm
-rw-r--r-- 1 root root       9988 Dec  6 21:52 cloudera-manager-server-6.2.1-1426065.el7.x86_64.rpm
-rw-r--r-- 1 root root      10996 Dec  6 21:52 cloudera-manager-server-db-2-6.2.1-1426065.el7.x86_64.rpm
-rw-r--r-- 1 root root       1718 Dec  6 21:52 RPM-GPG-KEY-cloudera
[root@cdh01 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@cdh01 ~]# sed -i  's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo
[root@cdh01 ~]# yum install -y python-deltarpm-3.6-3.el7.x86_64.rpm
[root@cdh01 ~]# yum install -y createrepo-0.9.9-28.el7.noarch.rpm
[root@cdh01 ~]# createrepo --help
[root@cdh01 ~]# createrepo /var/www/html/cloudera-repos/cm6/
[root@cdh01 ~]# ll /var/www/html/cloudera-repos/cm6/
total 1181632
-rw-r--r-- 1 root root      14041 Dec  6 21:46 allkeys.asc
-rw-r--r-- 1 root root   10215608 Dec  6 21:46 cloudera-manager-agent-6.2.1-1426065.el7.x86_64.rpm
-rw-r--r-- 1 root root 1199718256 Dec  6 21:52 cloudera-manager-daemons-6.2.1-1426065.el7.x86_64.rpm
-rw-r--r-- 1 root root       9988 Dec  6 21:52 cloudera-manager-server-6.2.1-1426065.el7.x86_64.rpm
-rw-r--r-- 1 root root      10996 Dec  6 21:52 cloudera-manager-server-db-2-6.2.1-1426065.el7.x86_64.rpm
drwxr-xr-x 2 root root       4096 Dec  7 21:28 repodata    # 多一个该文件
-rw-r--r-- 1 root root       1718 Dec  6 21:52 RPM-GPG-KEY-cloudera
[root@cdh01 ~]# vim /etc/yum.repos.d/cloudera-manager.repo
[cloudera-manager]
name = Cloudera Manager,Version
baseurl = http://cdh01/cloudera-repos/cm6
gpgcheck = 0

[root@cdh01 ~]# yum clean all
[root@cdh01 ~]# yum makecache

   在cdh02、cdh03上配置yum源:

[root@cdh02 ~]# cat /etc/yum.repos.d/cloudera-manager.repo 
[cloudera-manager]
name = Cloudera Manager,Version
baseurl = http://cdh01/cloudera-repos/cm6
gpgcheck = 0

3.2. 安装 Cloudera Manager相关服务

3.2.1. 安装 Clouder Manager Server(cm-server)

[root@cdh01 ~]#  rpm --import http://cdh01/cloudera-repos/cm6/RPM-GPG-KEY-cloudera
[root@cdh01 ~]# yum -y install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server

3.2.2. 安装Clouder Manager Agent(agent)

   在cdh01、cdh02、cdh03上都需要安装agent:

[root@cdh02 ~]# rpm --import http://cdh01/cloudera-repos/cm6/RPM-GPG-KEY-cloudera
[root@cdh02 ~]# yum -y install cloudera-manager-daemons cloudera-manager-agent

[root@cdh03 ~]# rpm --import http://cdh01/cloudera-repos/cm6/RPM-GPG-KEY-cloudera
[root@cdh03 ~]# yum -y install cloudera-manager-daemons cloudera-manager-agent

   安装完cm之后,在/opt/目录下会出现cloudera目录,上传cdh安装包到集群所有节点上
将cdh的安装包CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel上传到/opt/cloudera/parcel-repo目录中。

[root@cdh01 ~]# cp /root/CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel /opt/cloudera/parcel-repo/
[root@cdh01 ~]# cd /opt/cloudera/parcel-repo/
[root@cdh01 ~]# sha1sum CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel | awk '{print $1}' > CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel.sha


[root@cdh02 ~]# mkdir -p /opt/cloudera/parcel-repo
[root@cdh03 ~]# mkdir -p /opt/cloudera/parcel-repo

[root@cdh01 ~]# scp -pdr /opt/cloudera/parcel-repo/CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel cdh02:/opt/cloudera/parcel-repo/
[root@cdh01 ~]# scp -pdr /opt/cloudera/parcel-repo/CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel.sha cdh02:/opt/cloudera/parcel-repo/


[root@cdh01 ~]# scp -pdr /opt/cloudera/parcel-repo/CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel cdh03:/opt/cloudera/parcel-repo/
[root@cdh01 ~]# scp -pdr /opt/cloudera/parcel-repo/CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel.sha cdh03:/opt/cloudera/parcel-repo/

   文件放置在/opt/cloudera/parcel-repo/目录下以后,在后续的界面安装各个服务时,在目录中找到版本文件,可以自动匹配到安装文件,无需连外网下载

3.2.3. 初始化 Clouder Manager 数据库表

[root@cdh01 ~]# /opt/cloudera/cm/schema/scm_prepare_database.sh mysql cmserver root Bigdata@2025
JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
Verifying that we can write to /etc/cloudera-scm-server
Creating SCM configuration file in /etc/cloudera-scm-server
Executing:  /usr/java/jdk1.8.0_181-cloudera/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/java/postgresql-connector-java.jar:/opt/cloudera/cm/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
Sat Dec 14 20:56:29 CST 2024 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
2024-12-14 20:56:29,618 [main] INFO  com.cloudera.enterprise.dbutil.DbCommandExecutor  - Successfully connected to database.
All done, your SCM database is configured correctly!

3.2.4. 启动 Clouder Manager Server

[root@cdh01 ~]# systemctl start cloudera-scm-server && systemctl enable cloudera-scm-server

4. 通过Cloudera Manager管理界面进行集群安装

   http://172.26.3.111:7180/ ,用户名和密码为:admin / admin
在这里插入图片描述

 
在这里插入图片描述

 
   登陆后有欢迎页面,无需操作点击继续即可。Accept License一些条款协议,点击同意继续即可
在这里插入图片描述

 
   选择CM版本:
在这里插入图片描述

在这里插入图片描述

   选择版本后,再次有欢迎页面,无需操作,点击继续即可
 
   设置集群名称,自定义完集群名称,点击继续
在这里插入图片描述

 
   勾选管理节点(安装agent的服务器并配置正确后才会显示):
在这里插入图片描述

当前受管:假如在安装的时候出现问题,如网络连接中断,机器死机,继续安装的时候可能会出现查询不到机器,并且根据ip搜索机器的时候,出现“当前受管”的状态为“是”,安装失败的机器不能再选择了。

 
   CDH parcel 版本,一般这里默认会选择好当前安装版本:
在这里插入图片描述

 
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

   选择版本后,Clouder Manager Server 会将parcel解压,分发,安装到每一台选择Clouder Manager Agent的服务器;需要耐心等待进度完成后才可点击下一步。
在这里插入图片描述

 

   检查服务器部署环境:
在这里插入图片描述

在这里插入图片描述

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

# echo never > /sys/kernel/mm/transparent_hugepage/defrag
# echo never > /sys/kernel/mm/transparent_hugepage/enabled

防止重新开机后失效,加到rc.local

# vim /etc/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

修改完毕以后,点击重新运行。

在这里插入图片描述

在这里插入图片描述

 
   选择部署组件:
  选择需要安装的大数据组件,也可以勾选自定义服务中的清单,可以少选一些服务,后续是可以新增服务的
在这里插入图片描述

 
   集群各节点角色分配:
   默认即可,需要优化性能或者最佳合理分配可自行更改
在这里插入图片描述

 
   集群数据库配置
   如果发现需要的数据库、用户名、密码不存在,可以参照执行的sql文件格式,新增库和用户名等
在这里插入图片描述

 

   集群数据存储目录设置:
   没有特殊需求,集群数据存储目录设置根据需要设置各组件数据存储目录,这里保持默认即可
在这里插入图片描述

 
   集群组件安装部署:
   等待各组件安装完成
在这里插入图片描述

在这里插入图片描述

 
   完成安装:
在这里插入图片描述

 
   登陆Clouder Manager管理界面:
   点击完成后,即可跳转至管理界面了,后续使用以及维护全部围绕管理界面来完成,以及检查监控集群各组件运行情况
在这里插入图片描述

 

在这里插入图片描述

在这里插入图片描述

这里面其实还有一个黄色的警告信息,这个是针对hdfs的纠删码机制的警告。

首先解决这个问题:

Erasure Coding Policy Verification Test

这个是hadoop3.0中的新特性(hdfs的存储策略),纠删码机制,可以节省HDFS的存储空间,不过至少需要有9个datanode才可以,目前我们这个集群只有2个datanode,所以不能使用这种策略。
在这里插入图片描述
在这里插入图片描述

然后,去掉针对纠删码的检测
在这里插入图片描述

在这里插入图片描述
接着继续来解决这个安全隐患,点击这个红色感叹号
在这里插入图片描述
这里提示的是hdfs中block块的副本数不足,其实是因为现在hdfs中的数据默认需要存储3份,但是我们这个集群之后2个datanode,如果再多一个datanode节点就不会有这个问题,不过也不影响使用,如果大家在搭建的时候集群内的机器足够多的话是不会出现这个安全隐患的提示的。
进入hdfs的配置界面
在这里插入图片描述
在这里插入图片描述
将副本因子改为2,点击保存更改按钮
改完配置之后,想要生效需要重新启动,此时页面也提示了,需要重启

可以选择只重启某一个组件(点击组件后面的按钮,在弹出框中选择重启),

或者全部重启(点击cluster1 右边的按钮,在弹出框中选择重启)。
在这里插入图片描述
在这里我们选择全部重启,因为大部分组件都提示需要重启读取最新的配置。
在这里插入图片描述
在这里插入图片描述

重启成功之后发现,这里还有一些提示,需要我们重新部署客户端配置
在这里插入图片描述

先点击HDFS后面的按钮:
在这里插入图片描述

点击右下角的 部署客户端配置按钮
在这里插入图片描述

在这里插入图片描述
部署成功之后点击完成按钮即可,然后可以跳转到首页,此时会发现就不显示那个蓝色的按钮了。
在这里插入图片描述
如果感觉这个红色的感叹号比较别扭,可以选择忽略这个问题,因为我们知道是什么原因造成的。

点击红色感叹号,然后点击suppress
在这里插入图片描述
在弹出的界面中点击确认即可
在这里插入图片描述
此时再回到首页,刷新几次页面,这个红色的感叹号就会消失了。
在这里插入图片描述

目前首页还显示的有一些黄色的警告信息,都是一些关于jvm内存配置的警告信息,根据提示去修改即可。

5. 使用cdh集群中的hdfs

不管是使用apache官方的hadoop安装的hdfs,还是使用cdh集群安装的hdfs,操作都是一样的。

此时我们进入到cdh01节点中,操作一下hdfs

[root@cdh01 ~]# hdfs dfs -ls /
Found 2 items
drwxrwxrwt   - hdfs supergroup          0 2024-12-14 22:34 /tmp
drwxr-xr-x   - hdfs supergroup          0 2024-12-14 22:34 /user

创建文件夹:

[root@cdh01 ~]# hdfs dfs -mkdir /bigdata_test
mkdir: Permission denied: user=root, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x

提示权限问题,创建失败。

CDH环境下Hadoop平台最高权限用户是hdfs,属于supergroup组。

默认HDFS会开启权限认证,所以操作时,需要将root用户切换到hdfs用户,否则会报错。

这样操作就可以了

[root@cdh01 ~]# sudo -uhdfs hdfs dfs -mkdir /bigdata_test
[root@cdh01 ~]# hdfs dfs -ls /
Found 3 items
drwxr-xr-x   - hdfs supergroup          0 2024-12-16 11:31 /bigdata_test
drwxrwxrwt   - hdfs supergroup          0 2024-12-14 22:34 /tmp
drwxr-xr-x   - hdfs supergroup          0 2024-12-14 22:34 /user

这样每次操作都需要切换不太方便,如yarn在调度时,通常会生成一些临时文件,执行完毕会删除,如果权限不够会导致出错。Hive和HBase读写hdfs,也很容易因为权限问题导致出错。但是关闭权限检查,任何用户都可以操作HDFS数据,数据安全性又没有保障,所以使用将用户添加到supergroup组的方式。

通常会把 root 或者需要的用户添加到 supergroup组,但Linux下默认是没有supergroup组。所以,先在Linux添加supergroup组,把root用户添加到supergroup里,再同步权限到HDFS。

6. CDH集群启停

6.1. 停止cm和cdh集群

停止整个集群分为两步

1:先停止cdh集群

2:再停止cm

在这里插入图片描述

在这里插入图片描述

6.2. 启动cm和cdh集群

想要启动整个集群的话,可以分为两步

1:先启动cm

2:再启动cdh集群
在这里插入图片描述

在这里插入图片描述

7. CDH集群新增agent节点安装部署

   新增agent节点agent03:

[root@localhost ~]# hostnamectl set-hostname agent03

   将cm-server密钥分发至新agent03:

[root@cm-server ~]# ssh-copy-id 172.26.3.106

   修改hosts解析新增节点并分发:

[root@cm-server ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

172.26.3.111	cm-server
172.26.3.113	agent01
172.26.3.114	agent02
172.26.3.106	agent03
[root@cm-server ~]# for i in agent01 agent02 agent03;do scp -P 65522 /etc/hosts $i:/etc/hosts;done  // 几个节点全需要同步

   新节点关闭防火墙和SElinux:

[root@agent03 ~]# systemctl disable firewalld
[root@agent03 ~]# systemctl stop firewalld

[root@agent03 ~]# setenforce 0

   新节点配置时间同步服务:

[root@agent03 ~]# yum install -y chrony

[root@cm-server ~]# scp -P65522 /etc/chrony.conf agent03:/etc/chrony.conf 
[root@agent03 ~]# systemctl restart chronyd && systemctl enable chronyd

[root@agent03 ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* cm-server                    11   6    37     5  -1034ns[ -128us] +/- 1437us

   新节点调优系统swappiness参数:

[root@agent03 ~]# vim /etc/sysctl.conf
vm.swappiness = 0
[root@agent03 ~]# sysctl -p
vm.swappiness = 0

   新节点关闭透明大页面:

[root@agent03 ~]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
[root@agent03 ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled

   确认节点上已安装python:

[root@agent03 ~]# python -V
Python 2.7.5

   新节点Java安装:

[root@cm-server ~]# scp -P 65522 -r /usr/java/default agent03:/usr/java/
[root@agent03 ~]# mkdir -p /usr/java
# JAVA_HOME
export JAVA_HOME=/usr/java/default
export CLASSPATH=./:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

[root@agent03 ~]# source /etc/profile

   拷贝JDBC 驱动包:

[root@agent03 ~]# mkdir /usr/share/java
[root@cm-server ~]# scp -P 65522  /cdh-software/mysql-connector-java-8.0.20.jar agent03:/usr/share/java/mysql-connector-java.jar

   安装Clouder Manager Agent:
   将安装包从cm-server分发过去

[root@cm-server ~]# scp -P 65522 /cdh-software/cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm agent03:~/
[root@cm-server ~]# scp -P 65522 /cdh-software/cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm agent03:~/

   在agent03上执行安装:

[root@agent03 ~]# yum install -y cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm 
[root@agent03 ~]# yum install -y cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm 

   修改agent服务的配置文件指向server:

[root@agent03 ~]# vim /etc/cloudera-scm-agent/config.ini 
server_host=cm-server

   启动新agent服务:

[root@agent03 ~]# systemctl start cloudera-scm-agent
[root@agent03 ~]# systemctl enable cloudera-scm-agent

   页面进行后续添加:
  找到Add Hosts
在这里插入图片描述
 
   选择添加到哪个集群并继续:
在这里插入图片描述
 
   选择当前管理的主机,会将还未加入到集群的新节点罗列出来
在这里插入图片描述
 
   选择主机模板,如果长期使用的集群一般都会有模板的,主要是节点的角色,创建好直接有哪些服务的node等等;没有则可以直接选择无,代表加入集群后,手动添加服务实例。
在这里插入图片描述
 
  等待部署客户端基本配置和环境点击完成:
在这里插入图片描述
 
  将服务实例部署至新agent:
在这里插入图片描述
 
   在添加时根据自己需求即可,例如DataNode:
在这里插入图片描述

 
   添加agent03的角色,所以建议长期使用创建要给模板最佳,相对方便:

在这里插入图片描述
 
   至此,添加一个新集群节点,并设置新服务实例全部完成:
在这里插入图片描述

 
在这里插入图片描述
 
在这里插入图片描述
 
在这里插入图片描述
 
   问题处理:
   存在隐患 : 9 DataNodes are required for the erasure coding policies: RS-6-3-1024k. The number of DataNodes is only 3.
在这里插入图片描述
 
在这里插入图片描述
 
在这里插入图片描述
  目前基本上没有太大的问题了。

8. Cloudera Manager管理界面使用介绍

   首页查看整体运行状态:
   点击标识,可以看到详细的内容:
在这里插入图片描述
 
   添加服务:
在这里插入图片描述
 
   例如新增flume服务,勾选flume,然后选择角色分配部署节点,点击继续
在这里插入图片描述
 
在这里插入图片描述
 
在这里插入图片描述
 
   最后部署汇总,点击完成
在这里插入图片描述
 
   启动新增的服务
在这里插入图片描述
 
   等待启动步骤完成:
在这里插入图片描述
 
   服务添加完成:
在这里插入图片描述
 
   用户管理页面操作记录:
在这里插入图片描述
 
   导出服务配置文件:
在这里插入图片描述
 
   各节点角色:
在这里插入图片描述
 
   添加页面管理用户&用户权限管理:
在这里插入图片描述
 
在这里插入图片描述
 
   切换至普通用户登陆查看,用户大多对于集群的操作均已被隐藏
在这里插入图片描述
 
   备份快照:
   快照备份可以是hdfs等不同的存储介质进行备份
在这里插入图片描述
 
   集群监控查看:
   在主机页,所有主机 点击对应主机可以跳转至对应主机服务器的各指标监控页
在这里插入图片描述
 
   各监控项查看:
在这里插入图片描述
 
   打开各组件的UI界面操作:
在这里插入图片描述
 
在这里插入图片描述

   举例HUE-UI:
在这里插入图片描述
 
在这里插入图片描述
 
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

降世神童

学都学了,看也看了,感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值