EMREMR -core 节点下线 总则 -调优
总则部分 :
一、 hadoop fsck / 运行健康检查,确认 hdfs hdfs健康状态为 健康状态为 healthy healthy,如果有单副本情况存 在,务必调整为多副本。注意,此时可以切换到hadoop账户下运行命令,结果如图:
1、切换到hadoop账户:
su hadoop
2、hadoop账户下运行:
[hadoop@10 root]$ hadoop fsck /
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.
Connecting to namenode via http://10.18.0.9:4008/fsck?ugi=hadoop&path=%2F
FSCK started by hadoop (auth:SIMPLE) from /10.18.0.9 for path / at Wed Jun 16 14:05:52 CST 2021
....................................................................................................
....................................................................................................
....................................................................................................
............................Status: HEALTHY
Total size: 2605720736431 B (Total open files size: 4160750398 B)
Total dirs: 4627
Total files: 5828
Total symlinks: 0 (Files currently being written: 27)
Total blocks (validated): 42144 (avg. block size 61828984 B) (Total open file blocks (not validated): 76)
Minimally replicated blocks: 42144 (100.0 %)
Over-replicated blocks: 0 (0.0 %)
Under-replicated blocks: 0 (0.0 %)
Mis-replicated blocks: 0 (0.0 %)
Default replication factor: 3
Average block replication: 3.0
Corrupt blocks: 0
Missing replicas: 0 (0.0 %)
Number of data-nodes: 9
Number of racks: 1
FSCK ended at Wed Jun 16 14:05:52 CST 2021 in 244 milliseconds
The filesystem under path '/' is HEALTHY
二、 调优 hdfs 加快副本迁移速度 ,否则下线数据迁移异常缓慢。 ,否则下线数据迁移异常缓慢。 ,否则下线数据迁移异常缓慢。
三、开始下线节点
参考文档: 大数据 EMR -core 节点下线操作
四、申请白名单,控制台缩容节点
调优部分:
加快副本复制速度操作 (注意 :根据业务情况进行调整 根据业务情况进行调整 ,会增加 namenode 负载 )
配置项 | 说明 | 默认值 | 参考值 |
---|---|---|---|
dfs.namenode.replication.work.multiplier.per.iteration | 决定了可以从很多under replication blocks中选出多少个block 准备进行复制。如果该参数配置得太小,则dfs.namenode.replication.max-streams配置得再大没有用;可以选出的block数与集群live 的datadnode 成正比 | 2 | 10 |
dfs.namenode.replication.max-streams | 单个DataNode最大同时恢复的块数量,可以间接控制DataNode恢复数据块的带来的网络等压力。需要与dfs.namenode.replication.work.multiplier.per.iteration配置项配合使用; | 2 | 20 |
dfs.namenode.replication.max-streams-hard-limit | balance/ 退服性能参数,最高优先级复制流的数量的硬限制 | 4 | 40 |
dfs.datanode.balance.max.concurrent.mones | DataNode上同时用于Balancer待移动block的最大线程个数 | 5 | 30 |
dfs.datanode.balance.bandwidthPerSec | 指定 DataNode用于 Balancerr 的带宽 | 10485760(10mb) | 52428800(50mb) |
调优操作步骤 :
-
在 emr 控制台的 控制台的 hdfs -site.xml site.xml 里增加如下 5个参数 ,下发 namenode 节点
dfs .namenode .replication .max -streams 20
dfs .namenode .replication .max -streams -hard -limit 40
dfs .namenode .replication .work .multiplier .per .iteration 10
dfs.datanode.balance.max.concurrent.moves 30
dfs.datanode.balance.bandwidthPerSec 52428800
2.安全模式重启namenode、datanode
image.png
腾讯云EMR 大数据
CORE 下线方案
针对EMR-core 下线场景
1 背景
当EMR 的CORE 节点需进行升级,对老的core 节点进行下线操作来替换新的core 节点上线。
2 说明
本操作在腾讯云EMR 产品上进行
3 目标
集群在下线Core 节点后,数据仍保证完整可靠性,同时集群服务仍正常运行。
4 操作报告
4.1、下线操作
下线操作包含两步,分别为组件下线和后台数据删除操作
1、组件下线操作如下:
Datanode 下线
<1>.Active Namenode 节点,登陆Active Namenode服务器-编辑
/usr/local/service/hadoop/etc/hadoop/hdfsexcludedhosts
填写想要下线的节点IP ,ip 数量建议(1个)
比如:
172.16.89.5
注意:获取active 节点su hadoop -c "hdfs haadmin -getAllServiceState"或者控制台服
务监控查看
<2>. xshell登录Active 节点执行hadoop dfsadmin -refreshNodes
注意:此命令需要在hadoop账户下操作
<3>. 打开HDFS 原生WEB, 在Datanodes 页面可以看到想要下线的节点状态变为
Decommission In Progress, 说明这些节点的数据块正在被复制到其他节点,
image.png
等待所有数据块被复制完成,这些节点状态就会变为Decommissioned
image.png
-----等待 结束------------
<4>. 在emr 控制台停止如上1 个节点的datanode 服务
image.png
<5>. 在如下两个文件中,删除如上1 个节点的ip
/usr/local/service/hadoop/etc/hadoop/hdfsexcludedhosts(namenode Active 节点删除
下线ip)
/usr/local/service/hadoop/etc/hadoop/hdfshosts (两个namenode 节点都删除下线ip)
<6>.两个namenode 节点都执行,此操作需要切换到hadoop账户操作。
hadoop dfsadmin -refreshNodes
[root@10 ~]# su hadoop
[hadoop@10 root]$ hadoop dfsadmin -refreshNodes
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.
Refresh nodes successful for /10.18.0.9:4007
Refresh nodes successful for /10.18.0.3:4007
<7>.HDFS 原生WEB 将不再存在以上1个节点,至此DATANODE 下线完毕
Nodemanager 下线操作(Datanode 下线完后操作):
<1>.两个主备Resourcemanager 节点都需编辑,此操作在YARN组件中操作
/usr/local/service/hadoop/etc/hadoop/yarnexcludedhosts
填写想要下线的节点IP
比如:
172.16.89.5
<2>. RM 两节点都执行yarn rmadmin -refreshNodes
<3>.打开YARN 原生WEB,直到Decommisioned 出现下线的节点,说明这些节点已完成任务或
本身无任务状态,这些节点状态就会变为Decommissioned
image.png
<4>.在emr 控制台停掉如上1 个节点的nodemanager 服务
image.png
<5>.两个resourcemanager 节点都在如下两个文件中,删除如上1 个节点的ip
/usr/local/service/hadoop/etc/hadoop/yarnexcludedhosts
/usr/local/service/hadoop/etc/hadoop/yarnhosts
<6>.RM 两节点重新执行yarn rmadmin -refreshNodes
<7>.YARN 原生WEB 将不再存在以上1个节点,至此Nodemanager 下线完毕
注意:对于nodemanager 下线,emr-V1.3.1 版本需重启两个RM 后,WEB 页面才剔除节点,
但实际影响不大。在执行完步骤6 后,下线节点的nodemanager 实际已从集群中移除,任务
不会再分配到该下线的nodemanmager 节点。
Regionserver 下线操作(若存在HBASE,请将Datanode 下线完后操作):
<1>.登录EMR 控制台,将下线节点的regionserver 进入维护模式
<2>.登录到对应下线机器,执行如下命令,hostname 是ip
su hadoop
/usr/local/service/hbase/bin/graceful_stop.sh hostname
<3>.HBASE 原生WEB 查看下线节点region 为0 即regionserver 下线完毕
image.png
2、控制台下线CORE 操作(需开通白名单用户,联系腾讯云后台开通):
1.登录EMR 控制台https://console.cloud.tencent.com/emr
2.左侧云硬件管理,选择对应EMR 集群
3.选中需下线的CORE 节点(需保证下线节点已Decommission),点击缩容,节点就会退还
网友评论