IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> cdh大数据集群缩容,hdfs坏块处理kudu坏表修复 -> 正文阅读

[大数据]cdh大数据集群缩容,hdfs坏块处理kudu坏表修复

参考官方文档:https://docs.cloudera.com/documentation/manager/5-1-x/Cloudera-Manager-Managing-Clusters/Managing-Clusters-with-Cloudera-Manager.html

环境:CM和CDH版本5.13

根据官方文档提示:停止的服务器数量不能少于设置的副本数。本次100台机器减少一半不用担心这个问题

1、节点下线操作

admin用户登陆CM页面
1)修改相关配置
java堆栈大小调整为4G
在这里插入图片描述
2) 设置复制工作乘数器
在这里插入图片描述
3) 插入hdfs-site.xml配置
在这里插入图片描述

<property>
  <name>dfs.namenode.replication.max-streams</name>
  <value>100</value>
</property

4) 保存配置,重启hdfs使配置生效
5) 到hosts页面,选择需要迁移的主机,选定操作Recommission(一次选择一台或两台主机)
在这里插入图片描述
之后所选择的主机进入解除授权,开始迁移数据
hdfs dfsadmin -report查看对应主机状态为Decommisioning,等待其迁移完成,数据量大的将会花费非常长的时间

2. 节点下线问题解决

迁移数据移除节点的方式需要的时间很长,这里我们选择对节点进行停服移除,数据默认为3副本,但是有些数据副本数不够,停服务会导致块文件丢失,kudu表损坏

  • hdfs块文件丢失
    查看哪些坏块文件
#查看节点状态
hdfs dfsadmin -report
#查看丢失的块文件
hdfs fsck / | egrep -v '^\.+$' | grep -v eplica
# 导出坏块文件路径
hdfs fsck -list-corruptfileblocks > block_corrupt_file.txt
#查看文件具体信息
hdfs fsck hdfs://nameservice1/hbase/data/UCS/文件路径 -files -blocks -locations

用下列命令尝试修复

hdfs debug recoverLease -path 文件路径 -retries 3 # 3 为尝试三次

如果无法修复则重启服务,这样坏块文件会恢复,并且根据设置的副本数创建其它副本,等待创建完成后再停止服务不会再出现丢失块,数据量大的情况下这个过程会需要比较长的时间
对于不重要的块文件直接删除如下 :

[hdfs@syshdp-kudu01 ~]$ hdfs fsck -delete /dataLake/csg/ods/xxxxxxxxxxxxxxxx.dat
Connecting to namenode via http://xxxxxxxx:9870/fsck?ugi=hdfs&delete=1&path=%2FdataLake%2Fcsg%2Fods%2Finitdata2%2F03%2Frz%2Fhr_gd-tb_ins_employee_pay20200904024951bak%2FHR_GD_TB_INS_EMPLOYEE_PAY_20200903013040.dat
FSCK started by hdfs (auth:SIMPLE) from /10.92.172.48 for path /dataLake/csg/ods/initdata2/03/rz/hr_gd-tb_ins_employee_pay20200904024951bak/HR_GD_TB_INS_EMPLOYEE_PAY_20200903013040.dat at Thu Jun 17 14:46:02 CST 2021

/dataLake/csg/ods/initdata2/03/rz/hr_gd-tb_ins_employee_pay20200904024951bak/HR_GD_TB_INS_EMPLOYEE_PAY_20200903013040.dat:  Under replicated BP-888318432-xxxxxxxxx-1585342091170:blk_1086261440_12525957. Target Replicas is 2 but found 1 live replica(s), 0 decommissioned replica(s), 0 decommissioning replica(s).

/dataLake/csg/ods/initdata2/03/rz/hr_gd-tb_ins_employee_pay20200904024951bak/HR_GD_TB_INS_EMPLOYEE_PAY_20200903013040.dat:  Under replicated BP-888318432-xxxxxxxxxx-1585342091170:blk_1086261558_12526075. Target Replicas is 2 but found 1 live replica(s), 0 decommissioned replica(s), 0 decommissioning replica(s).

/dataLake/csg/ods/initdata2/03/rz/hr_gd-tb_ins_employee_pay20200904024951bak/HR_GD_TB_INS_EMPLOYEE_PAY_20200903013040.dat:  Under replicated BP-888318432-xxxxxxxxx-1585342091170:blk_1086261566_12526083. Target Replicas is 2 but found 1 live replica(s), 0 decommissioned replica(s), 0 decommissioning replica(s).

/dataLake/csg/ods/initdata2/03/rz/hr_gd-tb_ins_employee_pay20200904024951bak/HR_GD_TB_INS_EMPLOYEE_PAY_20200903013040.dat:  Under replicated BP-888318432-xxxxxxxx1585342091170:blk_1086261574_12526091. Target Replicas is 2 but found 1 live replica(s), 0 decommissioned replica(s), 0 decommissioning replica(s).

/dataLake/csg/ods/initdata2/03/rz/hr_gd-tb_ins_employee_pay20200904024951bak/HR_GD_TB_INS_EMPLOYEE_PAY_20200903013040.dat:  Under replicated BP-888318432-xxxxxxxxxx-1585342091170:blk_1086261592_12526109. Target Replicas is 2 but found 1 live replica(s), 0 decommissioned replica(s), 0 decommissioning replica(s).

/dataLake/csg/ods/initdata2/03/rz/hr_gd-tb_ins_employee_pay20200904024951bak/HR_GD_TB_INS_EMPLOYEE_PAY_20200903013040.dat: MISSING 7 blocks of total size 891792840 B.
Status: CORRUPT
 Number of data-nodes:  63
 Number of racks:               1
 Total dirs:                    0
 Total symlinks:                0

Replicated Blocks:
 Total size:    17266355656 B
 Total files:   1
 Total blocks (validated):      129 (avg. block size 133847718 B)
  ********************************
  UNDER MIN REPL'D BLOCKS:      7 (5.426357 %)
  dfs.namenode.replication.min: 1
  CORRUPT FILES:        1
  MISSING BLOCKS:       7
  MISSING SIZE:         891792840 B
  ********************************
 Minimally replicated blocks:   122 (94.57365 %)
 Over-replicated blocks:        0 (0.0 %)
 Under-replicated blocks:       5 (3.875969 %)
 Mis-replicated blocks:         0 (0.0 %)
 Default replication factor:    3
 Average block replication:     1.8527132
 Missing blocks:                7
 Corrupt blocks:                0
 Missing replicas:              5 (1.9379845 %)
 Blocks queued for replication: 0

Erasure Coded Block Groups:
 Total size:    0 B
 Total files:   0
 Total block groups (validated):        0
 Minimally erasure-coded block groups:  0
 Over-erasure-coded block groups:       0
 Under-erasure-coded block groups:      0
 Unsatisfactory placement block groups: 0
 Average block group size:      0.0
 Missing block groups:          0
 Corrupt block groups:          0
 Missing internal blocks:       0
 Blocks queued for replication: 0
FSCK ended at Thu Jun 17 14:46:02 CST 2021 in 6 milliseconds


The filesystem under path '/dataLake/csg/ods/initdata2/03/rz/hr_gd-tb_ins_employee_pay20200904024951bak/HR_GD_TB_INS_EMPLOYEE_PAY_20200903013040.dat' is CORRUPT

总之目的就是确保数据有多个副本,删除节点的时候,不至于丢失数据

  • kudu坏表处理
#检查kudu表状态
sudo -u kudu kudu cluster ksck syshdp-kudu01,syshdp-kudu02,syshdp-kudu03
对于unhealth状态的表需要处理

修复

检查输出里面找到要修复的表
'''Tablet 59a6c5a91dea41cfbf47b0c0da2a26ab of table 'impala::csg_ods_yx.hs_dftzdmxxx_kudu' is unavailable: 2 replica(s) not RUNNING
  b3f35424663748d2a06f8cb88a45ece6 (syshdp-kudu47:7050): TS unavailable
  1e0732d2263c4432a35349fcfa6eae5f (syshdp-kudu73:7050): RUNNING [LEADER]
  3c4fb1669e7645beb9800d9d09e4a1fe (syshdp-kudu10:7050): not running
    State:       FAILED'''
    
#命令
sudo -u kudu kudu remote_replica unsafe_change_config syshdp-kudu73:7050 59a6c5a91dea41cfbf47b0c0da2a26ab 1e0732d2263c4432a35349fcfa6eae5f

#命令
sudo -u kudu kudu remote_replica unsafe_change_config syshdp-kudu38:7050 84b398808bbf449c86d3d625889cfbde e5464e8b7e1145b988b2d16b66fdc438
命令说明:
sudo -u kudu kudu remote_replica unsafe_change_config tserver-00:7150 <tablet-id> <tserver-00-uuid>
server-00:7150(第1个)为可用副本所在的tserver,
<tablet-id>(第2个)为涉及的tablet,
t<tserver-00-uuid>(第3个)为可用副本所在的tserver的uuid,

3、停服务之后对节点进行删除操作

参考:https://mp.weixin.qq.com/s/wj2tCJu_uaGWoDSYswlmQg
在cm页面上先从集群中删除,再remove from cloudera manager

4、对于hadoop集群删除节点的后台操作

1)在namenode节点的hdfs-site.xml添加如下配置:

<property>
  <name>dfs.hosts.exclude</name>
  <value>/etc/hadoop/conf/dfs.exclude</value>
<property>

2)在配置目录创建配置文件

在/etc/hadoop/conf/dfs.exclude中写入要删除节点的主机名,一个名字一行

3)更新数据

 hdfs dfsadmin -refreshNodes

hdfs dfsadmin -report查看删除的节点状态由normal变为Decommisioning,等待其完成

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-07-24 11:33:51  更:2021-07-24 11:34:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/6 21:46:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码