sunny123456

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  1796 随笔 :: 22 文章 :: 24 评论 :: 226万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

windows hbase连接工具 hbase连接数过多


##1. ZK连接过多
1) 查看ip连接数前十  

netstat -na | grep 2181 | awk '{print$5}' | awk -F : '{print$1}'| sort |uniq -c |sort -rn | head -n 10
  • 1.

##2.补数操作

hbase org.apache.hadoop.hbase.mapreduce.CopyTable -Dmapreduce.job.queuename=root.default -Dhbase.client.scanner.caching=5 -Dmapreduce.map.speculative=false --starttime=1624453200000  --endtime=1624539600000  --families=ilFamily --versions=1 --peer.adr=*.*.*.*:2182:/hbase pvs:interfacelog >>./log/pvs-interfacelog
  • 1.

注意:补数时候要观察目标集群的队列积压

杀任务:

yarn application -kill application_1583222603228_0255(此处为application_id)
  • 1.

##4.HBase表挪分组的影响

挪动分组会有一个region上下线的动作,会有短暂的影响,业务可能会有短暂的波动
  • 1.

##5.hbase 节点挂掉

1)GC -超时,原因是scan太多
  • 1.

##7.迁移表

1)首先控制源生产的队列
vim /app/hadoop/etc/hadoop/fair-scheduler.xml


60000 mb,10 vcores

300000 mb,50 vcores




查看端口namenode节点:23188




2)做快照




snapshot 'pis_waybill_staticroute_hot', 'snapshot_pis_waybill_staticroute_hot_20210702'




3)目标集群恢复快照:(目的集群生产+容灾)

hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -Dmapreduce.job.queuename=root.default -snapshot snapshot_pis_waybill_vehicle_destzone_20210702 -copy-to hdfs://...:8020/hbase -mappers 20 -bandwidth 80

hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -Dmapreduce.job.queuename=root.defalut -snapshot snapshot_pis_waybill_vehicle_destzone_20210702 -copy-to hdfs://...:8020/hbase -mappers 20 -bandwidth 80




4)将表先挪到指定分组

move_group_tables 'pis_press, ['fvp_core_fligt_original_info']


5)目的集群容灾生产

restore_snapshot 'snapshot_fvp_core_fligt_original_info_20200212'

##8.hdfs数据均衡

su - hdfs

1)设置balancer带宽

hdfs dfsadmin -setBalancerBandwidth 400000000




2)启动balancer

将主机IP添加进host.txt




nohup hdfs balancer -policy datanode -threshold 5 -include -f host.txt > ./balancer_20210708.log 2>&1 &


threshold 5 :集群平衡的条件,datanode间磁盘使用率相差阀值,区间选择在0~100

-include -f

3)查看nohup任务

jobs

###手动离线方式迁移(一般修复不好,不建议使用)

1、从源hbase集群中复制出Hbase数据库表到本地目录

hbase fs -get src loc

2、目的Hbase导入

hbase fs -put loc des

3、修复.META.表

hbase hbck  -fixMeta

4、重新分配数据到各RegionServer

hbase hbck -fixAssignments
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

1、从源hbase集群中复制出Hbase数据库表到本地目录
 

hbase fs -get src loc
  • 1.

2、目的Hbase导入

hbase fs -put loc des
  • 1.

3、修复.META.表

hbase hbck  -fixMeta
  • 1.

4、重新分配数据到各RegionServer

hbase hbck -fixAssignments
  • 1.

1、源集群hdfs拉取到本地

hdfs dfs -get hdfs://hbase-blue-print/hbase/data/default/discp_test /home/hbase
  • 1.

2、目的集群本地上传至hdfs

hdfs dfs -put /home/hbase/discp_test hdfs://hbase-blue-print-dr/hbase/data/default/discp_test
  • 1.

3、目的集群master节点,hbck修复

hbase hbck -fixMeta

hbase hbck -fixAssignments

如遇assign失败,hbase shell

move_group_tables 'default', 'discp_test'
  • 1.
  • 2.
  • 3.
  • 4.

### 查hbase数据条数

hbase org.apache.hadoop.hbase.mapreduce.RowCounter      '表名'
  • 1.

###不进入终端操作hbase

echo "disable 'EBIL2:TT_MULTICOLUMN_COMPRESSION_TEST_0628' " | hbase shell
  • 1.

###hdfs均衡:

设置balancer带宽

hdfs dfsadmin -setBalancerBandwidth 50000000

启动balancer

nohup hdfs balancer -policy datanode -threshold 5 -include -f host.txt > ./balancer_pis.log 2>&1 &
  • 1.
  • 2.
  • 3.
  • 4.

###删除hbase大表hbase shell需要添加的参数

@shell.hbase.configuration.get("hbase.rpc.timeout")

@shell.hbase.configuration.setInt("hbase.rpc.timeout", 6000000)
  • 1.
  • 2.

###hbase表重命名操作:

创建一个快照

hbase(main):024:0> snapshot '表名', '快照名'

克隆这个快照 赋给新的表名

hbase(main):025:0> clone_snapshot '快照名', '新表名'
  • 1.
  • 2.
  • 3.
  • 4.

###hbase老集群RIT排查问题

1. 确认RIT是否都在一台机器上面,若出现在同一台机器上面可以先停掉regionserver进程观察看看

2. 确认是否有大的region

登录集群任意一台切换hdfs用户,查看是否有大于20G的region

hdfs dfs -du -h /hbase/data/表名 |grep M|sort -nrk 1 |head -n 10

3.移动大region到空闲机器(空闲机器要在出问题的分组内)

move 'regionID','SERVERNAME(master页面看到的),eg:cnsz20pl6228,16020,1617240019531'


4.切分region (切完之后hdfs层可能没那么快展示大小,注意观察master日志)也可以先切分region

split 'regionID'

###同步队列积压排查思路

1.观察日志查出有问题的表

2.监控查看这个表近几天的请求对比,若波动明显可联系业务停写观察
  • 1.
  • 2.

###zk连接数打高排查:

1. zk节点查看zk连接数前20的IP

netstat -anp | grep 10.110.181.25:2181 | grep ESTABLISHED | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rnk 1 | head -n 20




2.登录前面几台任意几台机器,查和zk机器交互的任务

netstat -anp | grep 10.110.181.25:2181 | grep ESTABLISHED 拿到pid,ps出来任务id


3.拿到任务id之后停止任务

###删除比较大的表

1.先删除hdfs层数据

hdfs dfs -ls /hbase/data/命名空间/表名//列族/


hdfs dfs -rm -skipTrash /hbase/data/命名空间/表名//列族/

2. hbase shell 删除表

@shell.hbase.configuration.get("hbase.rpc.timeout")

@shell.hbase.configuration.setInt("hbase.rpc.timeout", 6000000)

drop '表名'
  • 1.
  • 2.
  • 3.

打印机架信息:

hdfs dfsadmin -printTopology
  • 1.

yarn增加队列在resourcemanager上面新增完之后,刷新队列命令:
yarn rmadmin -refreshQueues

解锁root密码:
salt -G 'ipv4:...' cmd.shell 'pam_tally2 -u root -r'

目录介绍:

/hbase/.hbase-snapshot

hbase若开启了 snapshot 功能之后,对某一个用户表建立一个 snapshot 之后,snapshot 都存储在该目录下

/hbase/.hbck

HBase 运维过程中偶尔会遇到元数据不一致的情况,这时候会用到提供的 hbck 工具去修复,修复过程中会使用该目录作为临时过度缓冲

/hbase/.tmp

当对表做创建或者删除操作的时候,会将表move 到该 tmp 目录下,然后再去做处理操作

/hbase/MasterProcWALs

含有一个HMaster主节点状态日志文件,记录操作日志

/hbase/WALs

被HLog实例管理的WAL文件

/hbase/oldWALs

当/hbase/WALs 中的HLog文件被持久化到存储文件中,不再需要日志文件时,它们会被移动到/hbase/oldWALs目录

/hbase/archive

存储表的归档和快照,HBase 在做 Split或者 compact 操作完成之后,会将 HFile 移到archive 目录中,然后将之前的 hfile 删除掉,该目录由 HMaster 上的一个定时任务定期去清理。

存储表的归档和快照具体目录:

/hbase/archive/data/default/表名/region名/列族名/fd2221d8d1ae4e579c21882f0ec4c5a5

/hbase/corrupt

损坏的日志文件,一般为空

/hbase/data

hbase存储数据的核心目录

/hbase/hbase.id

集群唯一ID

/hbase/hbase.version

集群版本号
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.

hbase zookeper最大处理时延过大    

重置计数

1、zk_max_latency过高,zk_avg_latency未明显增长,瞬时过大请求时延,重置计数

echo 'srst' | nc IP  PORT  示例 :echo 'srst' |nc 10.110.105.73 2181

2、zk_max_latency,zk_avg_latency皆过高,查询网络连接,确认异常请求,停止该业务请求
  • 1.
  • 2.
  • 3.
  • 4.

单节点同步队列sizeoflogqueue积压    生产容灾数据同步异常    

视具体情况而定

1、确认未同步表,如无容灾表,则建立容灾表

2、确认生产容灾网络连通是否异常

3、查看积压的节点日志,查看积压原因,可能的原因有请求比较大,容灾性能不够,网络异常等,根据不同的异常,进行处理

日志路径:/log/hadoop/hadoop-hdfs-datanode-{hostname}.log

4、如果无明显异常,或短时间无法恢复的情况下,可以短时间停止同步 disable_table_replication 'table_name',关闭peer(不建议做此操作)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

#单节点TPS(RquestsPerSerond)过高,热点    部分请求变慢    均衡region分布/切分region并转移    

1、查看region分布

访问集群主页,查看同一rsgroup节点region分布情况

2、均衡region

若该节点regions num过多,balance该节点所属group,登录集群任一数据节点,进入hbase shell

hbase shell

balance_group '{groupname}'

否则转移热点region(同上)

3、切分region并转移

登录集群任一数据节点,进入hbase shell

hbase shell

split '{regionID}'

转移region至同一rsgroup其他节点

move '{regionID}','{serverName}'(此处region为切分产生的region)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

原文链接:https://blog.51cto.com/u_16213610/9803473

posted on   sunny123456  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2023-07-29 DataGrip下载安装及使用教程(详细版)
点击右上角即可分享
微信分享提示