[B 站公开课] CDH 集群扩容

教程 青牛 ⋅ 于 2023-12-19 11:56:21 ⋅ 1579 阅读

公开课回放地址:https://www.bilibili.com/video/BV11p4y1o7Yc

背景

为什么要扩容?

  1. 存储容量不足:当集群的存储空间接近或达到最大容量时,可能需要扩容
  2. 计算资源不足:当集群中的计算资源(如CPU、内存)不足以应对负载增加时,需要进行扩容以提供更多的计算能力。
  3. 数据处理需求增加:如果集群上的数据处理任务数量和工作负载增加,可能需要扩容以提高整体性能和处理能力
  4. 高可用性要求:如果集群的高可用性和冗余需求增加,可能需要扩展集群以提供更多的冗余和故障容错能力

1.准备环境

1.1 启动CDH公有镜像

file

等待启动CDH镜像

file

知识回顾:安装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管理界面

file

重启CM服务和CDH集群

file

2 添加节点

2.1 添加一个新的服务器

file

2.2 修改hostname

file

2.3 修改hosts文件

file

2.4 重启镜像让主机名生效

file

3 新节点环境准备

3.1 在CDH原节点的hosts中添加新机器的ip映射信息

file

分发给新节点,并查看

file

3.2 安装jdk

rpm -ivh /public/software/java/jdk-8u144-linux-x64.rpm

配置环境变量

file

是环境变量生效

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

file

3.5.1 配置agent

file

3.6 启动 CM agent

 cp /public/software/other/systemctl /usr/bin
 systemctl start supervisord
 systemctl start cloudera-scm-agent

4 cdh添加新节点

file

添加节点到已有集群

file

选择被管理的agent

file

等待分配激活完成

file

选择主机模板 None,后期自己添加

file

更新客户端

file

此时新主机已经添加成功

file

5 功能演示之hdfs数据平衡

原CDH集群datanode数据存放占用磁盘空间如下:

file

5.1 给新节点分配角色

1,hdfs添加datanode到worker-4

file

file

2.yarn添加nodemanager到worker-4

file

file

5.2 将datanode可用磁盘容量做限制

修改datanode可用磁盘空间

#每个存储卷保留用作其他用途的磁盘大小
dfs.datanode.du.reserved

file

影响Balancer的参数:

  • -threshold
    • 默认设置:10,参数取值范围:1-100
    • 参数含义:datanode间磁盘使用率相差阈值。理论上,该参数设置的越小,整个集群就越平衡

file

5.3 HDFS Rebalance

修改完hdfs磁盘空间之后的使用情况

file

执行rebalance

发现数据已经平衡在新的节点。

file

版权声明:原创作品,允许转载,转载时务必以超链接的形式表明出处和作者信息。否则将追究法律责任。来自海汼部落-青牛,http://hainiubl.com/topics/76429
回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter