gpt4 book ai didi

hbase - 如何在HBase群集中获取区域服务器的起始代码?

转载 作者:行者123 更新时间:2023-12-04 13:53:00 24 4
gpt4 key购买 nike

我的HBase群集的负载不平衡,所以我想将表的某些区域从一个区域服务器移动到另一个区域服务器,但是似乎需要一个区域服务器的起始代码才能执行此操作,我如何获得该起始代码?

我注意到某人的主状态页面是这样的:

但是我的是这样的:

我在哪里可以获得起始码?

实际上,我想将一个区域从regionserver k3移到regionserver k2,而k3上的区域是:

我怎样才能做到这一点?详细 :)

最佳答案

好吧,终于我解决了。

/*
* Copyright: Copyright (c) 2012 Kaliumn
*
* @Description: get regionservers' startcode in a hbase cluster
*
*/

package test.hbase;

import java.util.Collection;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HServerInfo;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.ServerName;
import org.apache.hadoop.hbase.ZooKeeperConnectionException;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.ipc.HMasterInterface;
import org.gfg.kalium.server.hbaseutil.HConfUtils;

/**
* class <code> GetStartcode </code> is used to get regionservers' startcode
*
* @author <a href="mailto:ml.huang@kaliumn.com">Meilong Huang</a>
* @version v1.0.0
* @date 2012-6-26 05:24:10
*
*/

public class GetStartcode {

/**
* get regionservers' startcode
*
* @param args
* @throws ZooKeeperConnectionException
* @throws MasterNotRunningException
*/
public static void main(String[] args) throws MasterNotRunningException,
ZooKeeperConnectionException {
Configuration conf = HConfUtils
.setHbaseConf("k2.ccntgrid.org,k3.ccntgrid.org,k4.ccntgrid.org");
HBaseAdmin admin = new HBaseAdmin(conf);
HMasterInterface master = admin.getMaster();
Collection<ServerName> rs = master.getClusterStatus().getServerInfo();
for (ServerName r : rs) {
System.out.println(r.getHostname());
System.out.println(r.getServerName());
System.out.println(r.getStartcode());
System.out.println("+++++++++++++++++");
}
}
}

实际上,起始码是“服务器名”的最后一部分。

这些命令将完成将区域从一个区域服务器移动到另一区域服务器的操作:
> ka@k1 bin % pwd
> /opt/kalium/hbase/bin


> ka@k1 bin % echo "move '3504a80cd4047f78834bcf58bf169e62', 'k4.ccntgrid.org,60020,1340682441023'" | ./hbase shell
> HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.92.1, r1298924, Fri Mar 9 16:58:34 UTC 2012

> move '3504a80cd4047f78834bcf58bf169e62', 'k4.ccntgrid.org,60020,1340682441023'
0 row(s) in 0.5380 seconds

您需要使用区域代码来完成此操作。区域代码是区域名称的最后一部分(在点(.)后面)。

关于hbase - 如何在HBase群集中获取区域服务器的起始代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11203147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com