HBase RSGroup

Git环境
window环境下,警用crlf自动转换
git config --global core.autocrlf false

protobuf环境
yum install autoconfautomake libtool cmake gcc* -y
yum install ncurses-devel -y
yum install openssl-devel -y

wget https://github.com/google/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz
tar -xzvf ./protobuf-2.5.0.tar.gz
cd protobuf-2.5.0
./configure
make && make install
protoc --version

对于Ubuntu系统需要修改profile文件
vim ~/.profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
source ~/.profile

hbase-6721-v15-branch-1.1.patch新增GroupAdmin,Group两个protos,另外加上HBase.proto新增两个字段,重新编译然后替换HBaseProtos类

protoc HBase.proto --java_out=/home/chenxi/hbase/pb
或则使用maven命令
cd hbase-protocol
mvn compile -Pcompile-protobuf

编译HBase tarball
options: -Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256M

mvn -DskipTests clean install && mvn -DskipTests package assembly:single

maven编译hbase-1.3.0源码时,默认采用-Dhadoop.profile=2.0,使用${hadoop-two.version}(2.5.1)版本,tarball在hbase-assembly/target/hbase--bin.tar.gz.

配置rsgroup

hbase.coprocessor.master.classes
org.apache.hadoop.hbase.group.GroupAdminEndpoint

hbase.master.loadbalancer.class
org.apache.hadoop.hbase.group.GroupBasedLoadBalancer

idea debug

  1. 选择执行HMaster或则HRegionerver
    Main class: HMaster

  2. VM options
    VM options:
    -Dlog4j.configuration=file:/usr/code/hbase/conf/log4j.properties -server -Xms4g -Xms4g

  3. Program arguments
    Program arguments: start

  4. 修改idea配置
    idea.max.intellisense.filesize=25000

  5. 添加配置
    conf/hbase-site.xml

    hbase.defaults.for.version.skip true

  6. 执行打包命令

mvn -DskipTests clean install && mvn -DskipTests package assembly:single

rsgroup常用命令

添加group
1)添加组
add_group ‘groupname’

注意:此时group没有划分属于哪个server,使用move_group_servers移动 rs到该group上
2)移动rs到组
move_group_servers ‘group_name’,[ 'server:port ']

3)删除group
此时,删除group时,group中不能有其他的server
remove_group ‘group_name’

查看group信息
1)查看group
get_group ‘groupname’

balance命令
1)对group执行balance
balance_group ‘groupname’
master节点打印日志如下
2017-11-15 09:38:40,173 INFO [RpcServer.FifoWFPBQ.default.handler=27,queue=0,port=16000] group.GroupAdminServer: Partial plan for table hbase:meta: []
2017-11-15 09:38:40,174 INFO [RpcServer.FifoWFPBQ.default.handler=27,queue=0,port=16000] group.GroupAdminServer: Creating partial plan for table test: {cnsz22vlk3242,16020,1510659204083=[], cnsz22vlk3243,16020,1510566142277=[], cnsz22vlk3244,16020,1510566453873=[{ENCODED => 0f2e2af9f0e253f9d96a62013563338a, NAME => ‘test,1510650335225.0f2e2af9f0e253f9d96a62013563338a.’, STARTKEY => ‘’, ENDKEY => ‘’}]}
2017-11-15 09:38:40,175 INFO [RpcServer.FifoWFPBQ.default.handler=27,queue=0,port=16000] group.GroupAdminServer: Partial plan for table test: []

table操作
1)移动table到组中必须保证组内必须有server存在,即必须有rs
move_group_tables ‘groupname’,[‘tablename’]

补充:对于group中的table可以直接做disable、drop操作

Tips

    1. 升级hbase rsgroup时,必须先升级master并重启master节点。
    2. 测试发现对于批量移动rs、table会存在bug,因此强制规定单条操作。
    3. 由于rsgroup以group为单位,因此每张表只能分配到一个group中,但是可以分配多个server到一个group中。
    4. remove group时必须的保证没有server处在该group,并且将group表全部移走
    5. 新添加(或则移动)server到group之后表的region还没有分配到新server上,此时需要执行balance命令
    6. 升级rsgroup主要有两个host和faild_open两个问题,参考HBASE-19144

Hbase 1.3.0 Rsgroup的更多相关文章

  1. apache hbase 发布1.0.0版本

    今天apache发布了最新的hbase 1.0.0,下图是版本变迁历史: 详情参考: https://blogs.apache.org/hbase/entry/start_of_a_new_era

  2. Spark 下操作 HBase(1.0.0 新 API)

    hbase1.0.0版本提供了一些让人激动的功能,并且,在不牺牲稳定性的前提下,引入了新的API.虽然 1.0.0 兼容旧版本的 API,不过还是应该尽早地来熟悉下新版API.并且了解下如何与当下正红 ...

  3. 【甘道夫】HBase(0.96以上版本号)过滤器Filter具体解释及实例代码

    说明: 本文參考官方Ref Guide,Developer API和众多博客.并结合实測代码编写.具体总结HBase的Filter功能,并附上每类Filter的对应代码实现. 本文尽量遵从Ref Gu ...

  4. Hbase 0.96 比 hbase 0.94的改变

    转载:http://blog.csdn.net/hxpjava1/article/details/20043703 环境: hadoop:hadoop-2.2.0 hbase:hbase-0.96.0 ...

  5. HBase(0.96以上版本)过滤器Filter详解及实例代码

    说明: 本文参考官方Ref Guide,Developer API和众多博客,并结合实测代码编写,详细总结HBase的Filter功能,并附上每类Filter的相应代码实现. 本文尽量遵从Ref Gu ...

  6. sparkStreaming消费kafka-1.0.1方式:direct方式(存储offset到Hbase)

    话不多说,可以看上篇博文,关于offset存储到zookeeper https://www.cnblogs.com/niutao/p/10547718.html 本篇博文主要告诉你如何将offset写 ...

  7. 伪分布式hbase从0.94.11版本升级stable的1.4.9版本

    Hbase从0.94.11升级到stable的1.4.9版本: 升级思路: hadoop1.1.2    hbase 0.94.11                             ↓ had ...

  8. Ubuntu 14.10 下安装伪分布式hbase 0.99.0

    HBase 安装分为:单击模式,伪分布式,完全分布式,在单机模式中,HBase使用本地文件系统而不是HDFS ,所有的服务和zooKeeper都运作在一个JVM中.本文是安装的伪分布式. 安装步骤如下 ...

  9. 分布式实时日志系统(四) 环境搭建之centos 6.4下hbase 1.0.1 分布式集群搭建

    一.hbase简介 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java.它是Apache软件基金会的Hadoop项目的一部分,运行 ...

随机推荐

  1. python 项目目录结构

    目录组织方式 关于如何组织一个较好的Python工程目录结构,已经有一些得到了共识的目录结构.在Stackoverflow的这个问题上,能看到大家对Python目录结构的讨论. 这里面说的已经很好了, ...

  2. Codeforces Round #440 Div. 1

    A:显然应该尽量拆成4.如果是奇数,先拆一个9出来即可. #include<iostream> #include<cstdio> #include<cmath> # ...

  3. LOJ2269 [SDOI2017] 切树游戏 【FWT】【动态DP】【树链剖分】【线段树】

    题目分析: 好题.本来是一道好的非套路题,但是不凑巧的是当年有一位国家集训队员正好介绍了这个算法. 首先考虑静态的情况.这个的DP方程非常容易写出来. 接着可以注意到对于异或结果的计数可以看成一个FW ...

  4. Python代码编写规范

    Python代码编写规范 编码: a)     如无特殊情况,文件一律使用UTF-8编码 b)     如无需特殊情况,文件头部必须加入#-*-coding:utf-8-*- 缩进 a)     统一 ...

  5. 【hdu 4658】Integer Partition (无序分拆数、五边形数定理)

    hdu 4658 Integer Partition 题意 n分拆成若干个正整数的和,每个正整数出现小于k次,分拆方案有多少.(t<=100,n<=1e5) 题解 之前写过一篇Partit ...

  6. 使用 Zabbix 监控 Jenkins

    笔者最近的工作涉及到使用 Zabbix 监控 Jenkins.在谷歌上搜索到的文章非常少,能操作的就更少了.所以决定写一篇文章介绍如何使用 Zabbix 监控 Jenkins. 下图为整体架构图: 整 ...

  7. Android ViewSwitcher 的功能与用法

    ViewSwitcher 代表了视图切换组件, 本身继承了FrameLayout ,可以将多个View叠在一起 ,每次只显示一个组件.当程序控制从一个View切换到另个View时,ViewSwitch ...

  8. 【bfs】仙岛求药

    [题目描述] 少年李逍遥的婶婶病了,王小虎介绍他去一趟仙灵岛,向仙女姐姐要仙丹救婶婶.叛逆但孝顺的李逍遥闯进了仙灵岛,克服了千险万难来到岛的中心,发现仙药摆在了迷阵的深处.迷阵由M×N个方格组成,有的 ...

  9. 使用matplotlib.pylab绘制分段函数

    1.安装matplotlib pip3 install matplotlib sudo apt install python3-tk 2.分段函数 from pylab import * x = li ...

  10. [JLOI2014]聪明的燕姿(搜索)

    城市中人们总是拿着号码牌,不停寻找,不断匹配,可是谁也不知道自己等的那个人是谁. 可是燕姿不一样,燕姿知道自己等的人是谁,因为燕姿数学学得好!燕姿发现了一个神奇的算法:假设自己的号码牌上写着数字 S, ...