公开课回放地址:https://www.bilibili.com/video/BV11p4y1o7Yc
背景
为什么要扩容?
- 存储容量不足:当集群的存储空间接近或达到最大容量时,可能需要扩容
- 计算资源不足:当集群中的计算资源(如CPU、内存)不足以应对负载增加时,需要进行扩容以提供更多的计算能力。
- 数据处理需求增加:如果集群上的数据处理任务数量和工作负载增加,可能需要扩容以提高整体性能和处理能力
- 高可用性要求:如果集群的高可用性和冗余需求增加,可能需要扩展集群以提供更多的冗余和故障容错能力
1.准备环境
1.1 启动CDH公有镜像
等待启动CDH镜像
知识回顾:安装CDH大概的步骤是什么?
1,关闭防火墙和selinux
2,配置hostname
3,配置hosts文件
4,配置服务器之间免密码登录
5,配置NTP时间同步
6,安装jdk 并配置环境变量
7,安装httpd
8,安装mysql
9,配置yum源
10,安装CM相关服务
11,安装CDH
1.2 打开远程桌面访问CM管理界面
重启CM服务和CDH集群
2 添加节点
2.1 添加一个新的服务器
2.2 修改hostname
2.3 修改hosts文件
2.4 重启镜像让主机名生效
3 新节点环境准备
3.1 在CDH原节点的hosts中添加新机器的ip映射信息
分发给新节点,并查看
3.2 安装jdk
rpm -ivh /public/software/java/jdk-8u144-linux-x64.rpm
配置环境变量
是环境变量生效
source /etc/profile
3.3 拷贝mysql驱动包
#一定要是这个目录
mkdir -p /usr/share/java
#jar包一定要是mysql-connector-java.jar
cp /public/software/database/mysql-connector-java-5.1.49.jar /usr/share/java/mysql-connector-java.jar
3.4 配置Cloudera yum源
[cloudera-manager]
name = Cloudera Manager, Version
baseurl = http://cdh1-34680/cm6.3.1/
enabled=1
gpgcheck=0
1 安装wget
yum install -y wget
2 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
3 华为yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
将clouderayum 源拷贝到新机器
scp cloudera-manager.repo worker-4:/etc/yum.repos.d/
4 清理缓存
yum clean all
5 重新生成缓存
yum makecache
6 查看yum源信息
yum repolist
3.5 安装CM agent
yum install -y cloudera-manager-agent
3.5.1 配置agent
3.6 启动 CM agent
cp /public/software/other/systemctl /usr/bin
systemctl start supervisord
systemctl start cloudera-scm-agent
4 cdh添加新节点
添加节点到已有集群
选择被管理的agent
等待分配激活完成
选择主机模板 None,后期自己添加
更新客户端
此时新主机已经添加成功
5 功能演示之hdfs数据平衡
原CDH集群datanode数据存放占用磁盘空间如下:
5.1 给新节点分配角色
1,hdfs添加datanode到worker-4
2.yarn添加nodemanager到worker-4
5.2 将datanode可用磁盘容量做限制
修改datanode可用磁盘空间
#每个存储卷保留用作其他用途的磁盘大小
dfs.datanode.du.reserved
影响Balancer的参数:
- -threshold
- 默认设置:10,参数取值范围:1-100
- 参数含义:datanode间磁盘使用率相差阈值。理论上,该参数设置的越小,整个集群就越平衡
5.3 HDFS Rebalance
修改完hdfs磁盘空间之后的使用情况
执行rebalance
发现数据已经平衡在新的节点。