|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.hadoop.hbase.regionserver.HRegionServer
public class HRegionServer
HRegionServer makes a set of HRegions available to clients. It checks in with the HMaster. There are many HRegionServers in a single HBase deployment.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface org.apache.zookeeper.Watcher |
|---|
org.apache.zookeeper.Watcher.Event |
| Field Summary | |
|---|---|
protected boolean |
abortRequested
|
protected org.apache.hadoop.conf.Configuration |
conf
|
protected boolean |
fsOk
|
protected AtomicBoolean |
haveRootRegion
|
protected HLog |
hlog
|
protected boolean |
isOnline
|
protected ReentrantReadWriteLock |
lock
|
static org.apache.commons.logging.Log |
LOG
|
protected int |
numRegionsToReport
|
protected Map<Integer,HRegion> |
onlineRegions
|
protected AtomicBoolean |
quiesced
|
static String |
REGIONSERVER
region server process name |
protected HServerInfo |
serverInfo
|
protected AtomicBoolean |
stopRequested
|
protected int |
threadWakeFrequency
|
| Fields inherited from interface org.apache.hadoop.hbase.ipc.HBaseRPCProtocolVersion |
|---|
versionID |
| Constructor Summary | |
|---|---|
HRegionServer(org.apache.hadoop.conf.Configuration conf)
Starts a HRegionServer at the default location |
|
| Method Summary | |
|---|---|
void |
abort(String reason)
|
void |
abort(String reason,
Throwable cause)
Cause the server to exit without closing the regions it is serving, the log it is using and without notifying the master. |
void |
addProcessingMessage(HRegionInfo hri)
Add a MSG_REPORT_PROCESS_OPEN to the outbound queue. |
protected long |
addRowLock(Integer r,
HRegion region)
|
protected long |
addScanner(InternalScanner s)
|
void |
addToOnlineRegions(HRegion r)
Add to online regions. |
void |
bulkLoadHFile(String hfilePath,
byte[] regionName,
byte[] familyName)
Bulk load an HFile into an open region |
boolean |
checkAndDelete(byte[] regionName,
byte[] row,
byte[] family,
byte[] qualifier,
byte[] value,
Delete delete)
Atomically checks if a row/family/qualifier value match the expectedValue. |
boolean |
checkAndPut(byte[] regionName,
byte[] row,
byte[] family,
byte[] qualifier,
byte[] value,
Put put)
Atomically checks if a row/family/qualifier value match the expectedValue. |
protected boolean |
checkFileSystem()
Checks to see if the file system is still accessible. |
boolean |
checkOOME(Throwable e)
Take actions on the event of an OutOfMemoryError. |
protected void |
checkOpen()
Called to verify that this server is up and running. |
void |
close(long scannerId)
Close a scanner |
protected void |
closeRegion(HRegionInfo hri,
boolean reportWhenCompleted)
|
static HRegionServer |
constructRegionServer(Class<? extends HRegionServer> regionServerClass,
org.apache.hadoop.conf.Configuration conf2)
Utility for constructing an instance of the passed HRegionServer class. |
HServerLoad.RegionLoad |
createRegionLoad(byte[] regionName)
|
void |
delete(byte[] regionName,
Delete delete)
Deletes all the KeyValues that match those found in the Delete object, if their ts <= to the Delete. |
int |
delete(byte[] regionName,
List<Delete> deletes)
Put an array of deletes into the specified region |
protected static void |
doMain(String[] args,
Class<? extends HRegionServer> regionServerClass)
Do class main. |
protected void |
doMetrics()
|
boolean |
exists(byte[] regionName,
Get get)
Perform exists operation. |
Result |
get(byte[] regionName,
Get get)
Perform Get operation. |
Result |
getClosestRowBefore(byte[] regionName,
byte[] row,
byte[] family)
Return all the data for the row that matches row exactly, or the one that immediately preceeds it. |
org.apache.hadoop.conf.Configuration |
getConfiguration()
|
SortedMap<Long,HRegion> |
getCopyOfOnlineRegionsSortedBySize()
|
protected org.apache.hadoop.fs.FileSystem |
getFileSystem()
|
FlushRequester |
getFlushRequester()
|
long |
getGlobalMemStoreSize()
Return the total size of all memstores in every region. |
HServerInfo |
getHServerInfo()
Method used when a master is taking the place of another failed one. |
InfoServer |
getInfoServer()
|
protected Leases |
getLeases()
|
HLog |
getLog()
|
protected org.apache.hadoop.hbase.regionserver.LogRoller |
getLogRoller()
|
RegionServerMetrics |
getMetrics()
|
protected HRegionInfo[] |
getMostLoadedRegions()
Get the top N most loaded regions this server is serving so we can tell the master which regions it can reallocate if we're overloaded. |
int |
getNumberOfOnlineRegions()
|
HRegion |
getOnlineRegion(byte[] regionName)
|
Collection<HRegion> |
getOnlineRegions()
|
HRegion[] |
getOnlineRegionsAsArray()
|
protected LinkedBlockingQueue<HMsg> |
getOutboundMsgs()
|
long |
getProtocolVersion(String protocol,
long clientVersion)
|
protected HRegion |
getRegion(byte[] regionName)
Protected utility method for safely obtaining an HRegion handle. |
HRegionInfo |
getRegionInfo(byte[] regionName)
Get metainfo about an HRegion |
HRegionInfo[] |
getRegionsAssignment()
Method used when a master is taking the place of another failed one. |
protected Set<HRegion> |
getRegionsToCheck()
|
AtomicInteger |
getRequestCount()
|
protected org.apache.hadoop.fs.Path |
getRootDir()
|
HServerInfo |
getServerInfo()
|
SortedSet<HRegionInfo> |
getSortedOnlineRegionInfos()
|
int |
getThreadWakeFrequency()
Interval at which threads should run |
ZooKeeperWrapper |
getZooKeeperWrapper()
|
long |
incrementColumnValue(byte[] regionName,
byte[] row,
byte[] family,
byte[] qualifier,
long amount,
boolean writeToWAL)
Atomically increments a column value. |
protected void |
init(org.apache.hadoop.io.MapWritable c)
|
protected HLog |
instantiateHLog(org.apache.hadoop.fs.Path logdir,
org.apache.hadoop.fs.Path oldLogDir)
|
protected HRegion |
instantiateRegion(HRegionInfo regionInfo,
HLog wal)
|
boolean |
isOnline()
Report the status of the server. |
boolean |
isStopRequested()
|
protected void |
join()
Wait on all threads to finish. |
protected void |
kill()
|
long |
lockRow(byte[] regionName,
byte[] row)
Opens a remote row lock. |
static void |
main(String[] args)
|
protected void |
metrics()
|
MultiPutResponse |
multiPut(MultiPut puts)
Multi put for putting multiple regions worth of puts at once. |
Result |
next(long scannerId)
Get the next set of values |
Result[] |
next(long scannerId,
int nbRows)
Get the next set of values |
long |
openScanner(byte[] regionName,
Scan scan)
Opens a remote scanner with a RowFilter. |
void |
process(org.apache.zookeeper.WatchedEvent event)
We register ourselves as a watcher on the master address ZNode. |
int |
put(byte[] regionName,
List<Put> puts)
Put an array of puts into the specified region |
void |
put(byte[] regionName,
Put put)
Put data into the specified region |
HRegion |
removeFromOnlineRegions(HRegionInfo hri)
This method removes HRegion corresponding to hri from the Map of onlineRegions. |
void |
replicateLogEntries(HLog.Entry[] entries)
Replicates the given entries. |
void |
run()
The HRegionServer sticks in this loop until closed. |
static Thread |
startRegionServer(HRegionServer hrs)
|
static Thread |
startRegionServer(HRegionServer hrs,
String name)
|
void |
stop()
Sets a flag that will cause all the HRegionServer threads to shut down in an orderly fashion. |
String |
toString()
|
void |
unlockRow(byte[] regionName,
long lockId)
Releases a remote row lock. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final org.apache.commons.logging.Log LOG
protected final AtomicBoolean stopRequested
protected final AtomicBoolean quiesced
protected volatile boolean abortRequested
protected volatile boolean fsOk
protected HServerInfo serverInfo
protected final org.apache.hadoop.conf.Configuration conf
protected final AtomicBoolean haveRootRegion
protected final Map<Integer,HRegion> onlineRegions
protected final ReentrantReadWriteLock lock
protected final int threadWakeFrequency
protected final int numRegionsToReport
public static final String REGIONSERVER
protected volatile HLog hlog
protected volatile boolean isOnline
| Constructor Detail |
|---|
public HRegionServer(org.apache.hadoop.conf.Configuration conf)
throws IOException
conf -
IOException| Method Detail |
|---|
public void process(org.apache.zookeeper.WatchedEvent event)
process in interface org.apache.zookeeper.Watcherevent - WatchedEvent from ZooKeeper.public ZooKeeperWrapper getZooKeeperWrapper()
public void run()
run in interface Runnable
protected void init(org.apache.hadoop.io.MapWritable c)
throws IOException
IOExceptionpublic HServerLoad.RegionLoad createRegionLoad(byte[] regionName)
regionName -
IOExceptionpublic boolean checkOOME(Throwable e)
HBaseRPCErrorHandler
checkOOME in interface HBaseRPCErrorHandlere - the throwable
protected boolean checkFileSystem()
public boolean isOnline()
protected HLog instantiateHLog(org.apache.hadoop.fs.Path logdir,
org.apache.hadoop.fs.Path oldLogDir)
throws IOException
IOExceptionprotected org.apache.hadoop.hbase.regionserver.LogRoller getLogRoller()
protected void doMetrics()
protected void metrics()
public RegionServerMetrics getMetrics()
public HLog getLog()
public void stop()
public void abort(String reason,
Throwable cause)
reason - the reason we are abortingcause - the exception that caused the abort, or nullpublic void abort(String reason)
abort(String, Throwable)protected void kill()
protected void join()
protected HRegion instantiateRegion(HRegionInfo regionInfo,
HLog wal)
throws IOException
IOExceptionpublic void addProcessingMessage(HRegionInfo hri)
hri - Region to add the message for
protected void closeRegion(HRegionInfo hri,
boolean reportWhenCompleted)
throws IOException
IOException
public HRegionInfo getRegionInfo(byte[] regionName)
throws NotServingRegionException
HRegionInterface
getRegionInfo in interface HRegionInterfaceregionName - name of the region
NotServingRegionException - e
public Result getClosestRowBefore(byte[] regionName,
byte[] row,
byte[] family)
throws IOException
HRegionInterface
getClosestRowBefore in interface HRegionInterfaceregionName - region namerow - row keyfamily - Column family to look for row in.
IOException - e
public Result get(byte[] regionName,
Get get)
throws IOException
get in interface HRegionInterfaceregionName - name of region to get fromget - Get operation
IOException - e
public boolean exists(byte[] regionName,
Get get)
throws IOException
HRegionInterface
exists in interface HRegionInterfaceregionName - name of region to get fromget - Get operation describing cell to test
IOException - e
public void put(byte[] regionName,
Put put)
throws IOException
HRegionInterface
put in interface HRegionInterfaceregionName - region nameput - the data to be put
IOException - e
public int put(byte[] regionName,
List<Put> puts)
throws IOException
HRegionInterface
put in interface HRegionInterfaceregionName - region nameputs - List of puts to execute
IOException - e
public boolean checkAndPut(byte[] regionName,
byte[] row,
byte[] family,
byte[] qualifier,
byte[] value,
Put put)
throws IOException
HRegionInterface
checkAndPut in interface HRegionInterfaceregionName - row - family - qualifier - value - the expected valueput -
IOException
public boolean checkAndDelete(byte[] regionName,
byte[] row,
byte[] family,
byte[] qualifier,
byte[] value,
Delete delete)
throws IOException
HRegionInterface
checkAndDelete in interface HRegionInterfaceregionName - row - family - qualifier - value - the expected valuedelete -
IOException
public long openScanner(byte[] regionName,
Scan scan)
throws IOException
HRegionInterface
openScanner in interface HRegionInterfaceregionName - name of region to scanscan - configured scan object
IOException - e
protected long addScanner(InternalScanner s)
throws Leases.LeaseStillHeldException
Leases.LeaseStillHeldException
public Result next(long scannerId)
throws IOException
HRegionInterface
next in interface HRegionInterfacescannerId - clientId passed to openScanner
IOException - e
public Result[] next(long scannerId,
int nbRows)
throws IOException
HRegionInterface
next in interface HRegionInterfacescannerId - clientId passed to openScannernbRows - the number of rows to fetch
IOException - e
public void close(long scannerId)
throws IOException
HRegionInterface
close in interface HRegionInterfacescannerId - the scanner id returned by openScanner
IOException - e
public void delete(byte[] regionName,
Delete delete)
throws IOException
HRegionInterface
delete in interface HRegionInterfaceregionName - region namedelete - delete object
IOException - e
public int delete(byte[] regionName,
List<Delete> deletes)
throws IOException
HRegionInterface
delete in interface HRegionInterfaceregionName - region namedeletes - delete List to execute
IOException - e
public long lockRow(byte[] regionName,
byte[] row)
throws IOException
HRegionInterface
lockRow in interface HRegionInterfaceregionName - name of regionrow - row to lock
IOException - e
protected long addRowLock(Integer r,
HRegion region)
throws Leases.LeaseStillHeldException
Leases.LeaseStillHeldException
public void unlockRow(byte[] regionName,
long lockId)
throws IOException
HRegionInterface
unlockRow in interface HRegionInterfaceregionName - region namelockId - the lock id returned by lockRow
IOException - e
public void bulkLoadHFile(String hfilePath,
byte[] regionName,
byte[] familyName)
throws IOException
HRegionInterface
bulkLoadHFile in interface HRegionInterfaceIOExceptionpublic InfoServer getInfoServer()
public boolean isStopRequested()
public org.apache.hadoop.conf.Configuration getConfiguration()
public Collection<HRegion> getOnlineRegions()
public HRegion[] getOnlineRegionsAsArray()
getOnlineRegionsAsArray in interface HRegionInterfacepublic SortedSet<HRegionInfo> getSortedOnlineRegionInfos()
public void addToOnlineRegions(HRegion r)
public HRegion removeFromOnlineRegions(HRegionInfo hri)
hri - the HRegionInfo corresponding to the HRegion to-be-removed.
public SortedMap<Long,HRegion> getCopyOfOnlineRegionsSortedBySize()
public HRegion getOnlineRegion(byte[] regionName)
regionName -
regionName or null if named
region is not member of the online regions.public AtomicInteger getRequestCount()
public FlushRequester getFlushRequester()
protected HRegion getRegion(byte[] regionName)
throws NotServingRegionException
regionName - Name of online HRegion to return
HRegion for regionName
NotServingRegionExceptionprotected HRegionInfo[] getMostLoadedRegions()
protected void checkOpen()
throws IOException
IOExceptionprotected Set<HRegion> getRegionsToCheck()
public long getProtocolVersion(String protocol,
long clientVersion)
throws IOException
getProtocolVersion in interface org.apache.hadoop.ipc.VersionedProtocolIOExceptionprotected LinkedBlockingQueue<HMsg> getOutboundMsgs()
public long getGlobalMemStoreSize()
protected Leases getLeases()
protected org.apache.hadoop.fs.Path getRootDir()
protected org.apache.hadoop.fs.FileSystem getFileSystem()
public HServerInfo getServerInfo()
public long incrementColumnValue(byte[] regionName,
byte[] row,
byte[] family,
byte[] qualifier,
long amount,
boolean writeToWAL)
throws IOException
incrementColumnValue in interface HRegionInterfaceregionName - region namerow - row to checkfamily - column familyqualifier - column qualifieramount - long amount to incrementwriteToWAL - whether to write the increment to the WAL
IOException - e
public HRegionInfo[] getRegionsAssignment()
throws IOException
getRegionsAssignment in interface HRegionInterfaceIOException - e
public HServerInfo getHServerInfo()
throws IOException
getHServerInfo in interface HRegionInterfaceIOException - e
public MultiPutResponse multiPut(MultiPut puts)
throws IOException
HRegionInterface
multiPut in interface HRegionInterfaceputs - the request
IOException - epublic String toString()
toString in class Objectpublic int getThreadWakeFrequency()
public static Thread startRegionServer(HRegionServer hrs)
throws IOException
hrs -
IOException
public static Thread startRegionServer(HRegionServer hrs,
String name)
throws IOException
hrs - name -
IOException
public static HRegionServer constructRegionServer(Class<? extends HRegionServer> regionServerClass,
org.apache.hadoop.conf.Configuration conf2)
regionServerClass - conf2 -
public void replicateLogEntries(HLog.Entry[] entries)
throws IOException
HRegionInterface
replicateLogEntries in interface HRegionInterfaceentries - entries to replicate
IOException
protected static void doMain(String[] args,
Class<? extends HRegionServer> regionServerClass)
args - regionServerClass - HRegionServer to instantiate.public static void main(String[] args)
args - public int getNumberOfOnlineRegions()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||