|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.Thread
org.apache.hadoop.hbase.master.HMaster
public class HMaster
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.
You can also shutdown just this master. Call stopMaster()
.
HMasterInterface
,
HMasterRegionInterface
,
Watcher
Nested Class Summary |
---|
Nested classes/interfaces inherited from class java.lang.Thread |
---|
Thread.State, Thread.UncaughtExceptionHandler |
Field Summary | |
---|---|
static String |
MASTER
|
Fields inherited from class java.lang.Thread |
---|
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
Fields inherited from interface org.apache.hadoop.hbase.ipc.HBaseRPCProtocolVersion |
---|
versionID |
Constructor Summary | |
---|---|
HMaster(org.apache.hadoop.conf.Configuration conf)
Initializes the HMaster. |
Method Summary | |
---|---|
void |
abort(String msg,
Throwable t)
Abort the server or client. |
void |
addColumn(byte[] tableName,
HColumnDescriptor column)
Adds a column to the specified table |
protected HMsg[] |
adornRegionServerAnswer(HServerInfo hsi,
HMsg[] msgs)
Override if you'd add messages to return to regionserver hsi
or to send an exception. |
void |
assign(byte[] regionName,
boolean force)
Assign a region to a server chosen at random. |
void |
assignRegion(HRegionInfo hri)
|
boolean |
balance()
Run the balancer. |
boolean |
balanceSwitch(boolean b)
Turn the load balancer on or off. |
void |
checkTableModifiable(byte[] tableName)
Check table is modifiable; i.e. |
void |
clearFromTransition(HRegionInfo hri)
|
static HMaster |
constructMaster(Class<? extends HMaster> masterClass,
org.apache.hadoop.conf.Configuration conf)
Utility for constructing an instance of the passed HMaster class. |
protected org.apache.hadoop.io.MapWritable |
createConfigurationSubset()
|
void |
createTable(HTableDescriptor desc,
byte[][] splitKeys)
Creates a new table. |
void |
createTable(HTableDescriptor desc,
byte[][] splitKeys,
boolean sync)
|
void |
deleteColumn(byte[] tableName,
byte[] c)
Deletes a column from the specified table. |
void |
deleteTable(byte[] tableName)
Deletes a table |
void |
disableTable(byte[] tableName)
Take table offline |
void |
enableTable(byte[] tableName)
Puts the table on-line (only needed if table has been previously taken offline) |
AssignmentManager |
getAssignmentManager()
|
CatalogTracker |
getCatalogTracker()
|
ClusterStatus |
getClusterStatus()
Return cluster status. |
org.apache.hadoop.conf.Configuration |
getConfiguration()
Gets the configuration object for this server. |
ExecutorService |
getExecutorService()
|
InfoServer |
getInfoServer()
|
HServerAddress |
getMasterAddress()
|
MasterFileSystem |
getMasterFileSystem()
|
long |
getProtocolVersion(String protocol,
long clientVersion)
|
ServerManager |
getServerManager()
|
String |
getServerName()
Gets the unique server name for this server. |
ZooKeeperWatcher |
getZooKeeper()
Gets the ZooKeeper instance for this server. |
ZooKeeperWatcher |
getZooKeeperWatcher()
Get the ZK wrapper object - needed by master_jsp.java |
boolean |
isActiveMaster()
Report whether this master is currently the active master or not. |
boolean |
isInitialized()
Report whether this master has completed with its initialization and is ready. |
boolean |
isMasterRunning()
|
boolean |
isStopped()
|
static void |
main(String[] args)
|
void |
modifyColumn(byte[] tableName,
HColumnDescriptor descriptor)
Modifies an existing column on the specified table |
void |
modifyTable(byte[] tableName,
HTableDescriptor htd)
Modify a table's metadata |
void |
move(byte[] encodedRegionName,
byte[] destServerName)
Move the region r to dest . |
HMsg[] |
regionServerReport(HServerInfo serverInfo,
HMsg[] msgs,
HRegionInfo[] mostLoadedRegions)
Called to renew lease, tell master what the region server is doing and to receive new instructions from the master |
org.apache.hadoop.io.MapWritable |
regionServerStartup(HServerInfo serverInfo,
long serverCurrentTime)
Called when a region server first starts |
void |
run()
Main processing loop for the HMaster. |
void |
setCatalogJanitorEnabled(boolean b)
Switch for the background CatalogJanitor thread. |
void |
shutdown()
Shutdown an HBase cluster. |
void |
stop(String why)
Stop this service. |
void |
stopMaster()
Stop HBase Master only. |
void |
unassign(byte[] regionName,
boolean force)
Unassign a region from current hosting regionserver. |
Methods inherited from class java.lang.Thread |
---|
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final String MASTER
Constructor Detail |
---|
public HMaster(org.apache.hadoop.conf.Configuration conf) throws IOException, org.apache.zookeeper.KeeperException, InterruptedException
Remaining steps of initialization occur in run()
so that they
run in their own thread rather than within the context of the constructor.
InterruptedException
IOException
org.apache.zookeeper.KeeperException
Method Detail |
---|
public void run()
finishInitialization()
run
in interface Runnable
run
in class Thread
public HServerAddress getMasterAddress()
public long getProtocolVersion(String protocol, long clientVersion)
getProtocolVersion
in interface org.apache.hadoop.ipc.VersionedProtocol
public InfoServer getInfoServer()
public org.apache.hadoop.conf.Configuration getConfiguration()
Server
getConfiguration
in interface Server
public ServerManager getServerManager()
getServerManager
in interface MasterServices
ServerManager
instance.public ExecutorService getExecutorService()
getExecutorService
in interface MasterServices
ExecutorService
public MasterFileSystem getMasterFileSystem()
getMasterFileSystem
in interface MasterServices
MasterFileSystem
utility class.public ZooKeeperWatcher getZooKeeperWatcher()
public org.apache.hadoop.io.MapWritable regionServerStartup(HServerInfo serverInfo, long serverCurrentTime) throws IOException
HMasterRegionInterface
regionServerStartup
in interface HMasterRegionInterface
serverInfo
- server infoserverCurrentTime
- The current time of the region server in ms
IOException
- eprotected org.apache.hadoop.io.MapWritable createConfigurationSubset()
public HMsg[] regionServerReport(HServerInfo serverInfo, HMsg[] msgs, HRegionInfo[] mostLoadedRegions) throws IOException
HMasterRegionInterface
regionServerReport
in interface HMasterRegionInterface
serverInfo
- server's address and start codemsgs
- things the region server wants to tell the mastermostLoadedRegions
- Array of HRegionInfos that should contain the
reporting server's most loaded regions. These are candidates for being
rebalanced.
IOException
- eprotected HMsg[] adornRegionServerAnswer(HServerInfo hsi, HMsg[] msgs) throws IOException
hsi
or to send an exception.
msgs
- Messages to add to
IOException
- exceptions that were injected for the region serverspublic boolean isMasterRunning()
isMasterRunning
in interface HMasterInterface
public boolean balance()
HMasterInterface
balance
in interface HMasterInterface
public boolean balanceSwitch(boolean b)
HMasterInterface
balanceSwitch
in interface HMasterInterface
b
- If true, enable balancer. If false, disable balancer.
public void setCatalogJanitorEnabled(boolean b)
CatalogJanitor
thread.
Used for testing. The thread will continue to run. It will just be a noop
if disabled.
b
- If false, the catalog janitor won't do anything.public void move(byte[] encodedRegionName, byte[] destServerName) throws UnknownRegionException
HMasterInterface
r
to dest
.
move
in interface HMasterInterface
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
.
UnknownRegionException
- Thrown if we can't find a region named
encodedRegionName
public void createTable(HTableDescriptor desc, byte[][] splitKeys) throws IOException
HMasterInterface
createTable
in interface HMasterInterface
desc
- table descriptor
IOException
public void createTable(HTableDescriptor desc, byte[][] splitKeys, boolean sync) throws IOException
IOException
public void deleteTable(byte[] tableName) throws IOException
HMasterInterface
deleteTable
in interface HMasterInterface
tableName
- table to delete
IOException
- epublic void addColumn(byte[] tableName, HColumnDescriptor column) throws IOException
HMasterInterface
addColumn
in interface HMasterInterface
tableName
- table to modifycolumn
- column descriptor
IOException
- epublic void modifyColumn(byte[] tableName, HColumnDescriptor descriptor) throws IOException
HMasterInterface
modifyColumn
in interface HMasterInterface
tableName
- table namedescriptor
- new column descriptor
IOException
- epublic void deleteColumn(byte[] tableName, byte[] c) throws IOException
HMasterInterface
deleteColumn
in interface HMasterInterface
tableName
- table to alterc
- column family to remove
IOException
- epublic void enableTable(byte[] tableName) throws IOException
HMasterInterface
enableTable
in interface HMasterInterface
tableName
- table to enable
IOException
- epublic void disableTable(byte[] tableName) throws IOException
HMasterInterface
disableTable
in interface HMasterInterface
tableName
- table to take offline
IOException
- epublic void modifyTable(byte[] tableName, HTableDescriptor htd) throws IOException
HMasterInterface
modifyTable
in interface HMasterInterface
tableName
- table to modifyhtd
- new descriptor for table
IOException
- epublic void checkTableModifiable(byte[] tableName) throws IOException
MasterServices
checkTableModifiable
in interface MasterServices
tableName
- Name of table to check.
TableNotDisabledException
TableNotFoundException
IOException
public void clearFromTransition(HRegionInfo hri)
public ClusterStatus getClusterStatus()
HMasterInterface
getClusterStatus
in interface HMasterInterface
public void abort(String msg, Throwable t)
Abortable
abort
in interface Abortable
msg
- Why we're aborting.t
- Throwable that caused abort. Can be null.public ZooKeeperWatcher getZooKeeper()
Server
getZooKeeper
in interface Server
public String getServerName()
Server
<hostname> ',' <port> ',' <startcode>
.
If the master, it returns <hostname> ':' <port>'.
- Specified by:
getServerName
in interface Server
- Returns:
- unique server name
public CatalogTracker getCatalogTracker()
getCatalogTracker
in interface Server
CatalogTracker
public AssignmentManager getAssignmentManager()
getAssignmentManager
in interface MasterServices
AssignmentManager
public void shutdown()
HMasterInterface
shutdown
in interface HMasterInterface
public void stopMaster()
HMasterInterface
stopMaster
in interface HMasterInterface
public void stop(String why)
Stoppable
stop
in interface Stoppable
why
- Why we're stopping.public boolean isStopped()
isStopped
in interface Stoppable
Stoppable.stop(String)
has been closed.public boolean isActiveMaster()
public boolean isInitialized()
public void assign(byte[] regionName, boolean force) throws IOException
HMasterInterface
assign
in interface HMasterInterface
regionName
- Region to assign. Will use existing RegionPlan if one
found.force
- If true, will force the assignment.
IOException
public void assignRegion(HRegionInfo hri)
public void unassign(byte[] regionName, boolean force) throws IOException
HMasterInterface
HMasterInterface.move(byte[], byte[])
if you want
to control the region movement.
unassign
in interface HMasterInterface
regionName
- Region to unassign. Will clear any existing RegionPlan
if one found.force
- If true, force unassign (Will remove region from
regions-in-transition too if present).
IOException
public static HMaster constructMaster(Class<? extends HMaster> masterClass, org.apache.hadoop.conf.Configuration conf)
masterClass
- conf
-
public static void main(String[] args) throws Exception
Exception
HMasterCommandLine
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |