栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

hbase region合并代码

hbase region合并代码

备份环境上面hbase很不稳定,一起来过段时间就会挂

看了下因为region数太多了

总共大概有3万多的region,造成很多表都要下线掉,一上线就RIT.

这上面一个region大概5个T的大小,之前设计的时候估计没考虑到这个问题,而且官方推荐的region大小是10G,可是说是必踩的坑了.

如果让所有表可以都上线,那么就需要把region合并,但是手动执行太慢了,查了些资料写了个代码.

生成merge语句

#!/bin/bash
File_split=400
Master_ip=datanode-08
time=$(date "+%Y_%m_%d")
Region_Name=$1
Region_Name_File="$Region_Name"_"$time"
if [ ! -n "$1" ];then
  echo "Plase input your region!"
else
  echo "111"
  curl http://$Master_ip:60010/table.jsp?name=$Region_Name|grep  $Region_Name,|awk -F ',' '{print $NF}'|awk -F '.' '{print $2}' >region.txt
  echo "222"
  sed -r "s/(.*)/'1'/g" region.txt|sed ':a;N;s/n/,/;Ta' |sed -r "s/(.*)/merge_region 1/g" > $Region_Name_File
  sed -i '$d' $Region_Name_File
  rm -f region.txt
  split -l $File_split $Region_Name_File  spfile_$Region_Name_File.
  rm -f $Region_Name_File
fi

自动循环执行merge语句

#!/bin/bash

if [ $# -ne 1 ];then
  echo error.....
  exit 11
fi
IFS_old=$IFS
IFS=$'n'

file=$1


for i in `cat $file`;do
      echo  -e $i 
      echo "--------------------"
      echo -e $i |hbase shell
done
IFS=$IFS_old

region慢慢就被合并删除了了 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/712976.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号