HMaster is the "master server" for HBase. An HBase cluster has one active
master. If many masters are started, all compete. Whichever wins goes on to
run the cluster. All others park themselves in their constructor until
master or cluster shutdown or until the active master loses its lease in
zookeeper. Thereafter, all running master jostle to take over master role.

The Master can be asked shutdown the cluster. See shutdown(). In
this case it will tell all regionservers to go down and then wait on them
all reporting in that they are down. This master will then shut itself down.

encodedRegionName - The encoded region name; i.e. the hash that makes
up the region name suffix: e.g. if regionname is
TestTable,0094429456,1289497600452.527db22f95c8a9e0116f0cc13c680396.,
then the encoded region name is: 527db22f95c8a9e0116f0cc13c680396.

destServerName - The servername of the destination regionserver. If
passed the empty byte array we'll assign to a random server. A server name
is made of host, port and startcode. Here is an example:
host187.example.com,60020,1289493121758.

createTable

Creates a new table asynchronously. If splitKeys are specified, then the
table will be created with an initial set of multiple regions.
If splitKeys is null, the table will be created with a single region.

assignRegion

unassign

Unassign a region from current hosting regionserver. Region will then be
assigned to a regionserver chosen at random. Region could be reassigned
back to the same server. Use HMasterInterface.move(byte[], byte[]) if you want
to control the region movement.

restoreSnapshot

If the specified table exists a "Restore" is executed, replacing the table
schema and directory data with the content of the snapshot.
The table must be disabled, or a UnsupportedOperationException will be thrown.

If the table doesn't exist a "Clone" is executed, a new table is created
using the schema at the time of the snapshot, and the content of the snapshot.

The restore/clone operation does not require copying HFiles. Since HFiles
are immutable the table can point to and use the same files as the original one.

isRestoreSnapshotDone

Returns the status of the requested snapshot restore/clone operation.
This method is not exposed to the user, it is just used internally by HBaseAdmin
to verify if the restore is completed.
No exceptions are thrown if the restore is not running, the result will be "done".