zoukankan      html  css  js  c++  java
  • Hbase 1.3.0 Rsgroup

    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
  • 相关阅读:
    iOS屏幕旋转
    iOS使用NSURLSession发送POST请求,后台无法接受到请求过来的参数
    iOS NET Error Code
    Android App在Google App Store中搜不到
    postman中 form-data、x-www-form-urlencoded、raw、binary的区别
    Android的缓存图片不在系统图库中显示的解决办法
    Android的Notification相关设置
    iOS+PHP图片上传
    解决ndk编译lua时遇到 undefined reference to '__srget'的问题
    避免修改Android.mk添加cpp文件路径
  • 原文地址:https://www.cnblogs.com/hit-zb/p/9704048.html
Copyright © 2011-2022 走看看