Champion Alumni
Posts: 196
Registered: ‎11-18-2014
Accepted Solution

HBase - Get region start from one shell command



I want to do a script that decides where to move each region. For that I want to use the command:



ERROR: wrong number of arguments (0 for 1)

Here is some help for this command:
Move a region.  Optionally specify target regionserver else we choose one
at random.  NOTE: You pass the encoded region name, not the region name so
this command is a little different to the others.  The encoded region name
is the hash suffix on region names: e.g. if the region name were
TestTable,0094429456,1289497600452.527db22f95c8a9e0116f0cc13c680396. then
the encoded region name portion is 527db22f95c8a9e0116f0cc13c680396
A server name is its host, port plus startcode. For example:,60020,1289493121758

  hbase> move 'ENCODED_REGIONNAME'



For that I started to use the


hdfs dfs -du "/hbase/data/default_table_name/"

in order to find the region names. 



However, I do not know, if there si a shell command to find out the startcode for each region (?).


Thank you!


Posts: 1,896
Kudos: 433
Solutions: 303
Registered: ‎07-31-2013

Re: HBase - Get region start from one shell command

You can get your live RegionServer IDs with startcodes included via the HBase Shell command: status 'simple'

An output line from this, such as the below: 1455726247381

Can then be converted into the right format:,22101,1455726247381