@InterfaceAudience.Private public class FavoredNodeAssignmentHelper extends java.lang.Object
FavoredNodeLoadBalancer
that has all the intelligence
for racks, meta scans, etc. Instantiated by the FavoredNodeLoadBalancer
when needed (from within calls like
FavoredNodeLoadBalancer.randomAssignment(HRegionInfo, List)
).Modifier and Type | Field and Description |
---|---|
static short |
FAVORED_NODES_NUM |
static byte[] |
FAVOREDNODES_QUALIFIER |
Constructor and Description |
---|
FavoredNodeAssignmentHelper(java.util.List<ServerName> servers,
Configuration conf) |
Modifier and Type | Method and Description |
---|---|
static byte[] |
getFavoredNodes(java.util.List<ServerName> serverAddrList) |
static java.lang.String |
getFavoredNodesAsString(java.util.List<ServerName> nodes) |
static ServerName[] |
getFavoredNodesList(byte[] favoredNodes) |
void |
initialize() |
java.util.Map<HRegionInfo,ServerName[]> |
placeSecondaryAndTertiaryWithRestrictions(java.util.Map<HRegionInfo,ServerName> primaryRSMap)
For regions that share the primary, avoid placing the secondary and tertiary
on a same RS.
|
static void |
updateMetaWithFavoredNodesInfo(java.util.Map<HRegionInfo,java.util.List<ServerName>> regionToFavoredNodes,
Configuration conf)
Update meta table with favored nodes info
|
static void |
updateMetaWithFavoredNodesInfo(java.util.Map<HRegionInfo,java.util.List<ServerName>> regionToFavoredNodes,
Connection connection)
Update meta table with favored nodes info
|
public static final byte[] FAVOREDNODES_QUALIFIER
public static final short FAVORED_NODES_NUM
public FavoredNodeAssignmentHelper(java.util.List<ServerName> servers, Configuration conf)
public static void updateMetaWithFavoredNodesInfo(java.util.Map<HRegionInfo,java.util.List<ServerName>> regionToFavoredNodes, Connection connection) throws java.io.IOException
regionToFavoredNodes
- map of HRegionInfo's to their favored nodesconnection
- connection to be usedjava.io.IOException
public static void updateMetaWithFavoredNodesInfo(java.util.Map<HRegionInfo,java.util.List<ServerName>> regionToFavoredNodes, Configuration conf) throws java.io.IOException
regionToFavoredNodes
- conf
- java.io.IOException
public static ServerName[] getFavoredNodesList(byte[] favoredNodes) throws InvalidProtocolBufferException
favoredNodes
- The PB'ed bytes of favored nodesServerName
for the byte array of favored nodes.InvalidProtocolBufferException
public static byte[] getFavoredNodes(java.util.List<ServerName> serverAddrList)
serverAddrList
- HBaseProtos.FavoredNodes
generated by the server list.public java.util.Map<HRegionInfo,ServerName[]> placeSecondaryAndTertiaryWithRestrictions(java.util.Map<HRegionInfo,ServerName> primaryRSMap)
primaryRSMap
- public void initialize()
public static java.lang.String getFavoredNodesAsString(java.util.List<ServerName> nodes)