blob: edc246bc485beb9bf389a40b476ece973fbe44f0 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>MasterAddressTracker (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="MasterAddressTracker (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":9,"i7":10,"i8":9,"i9":10,"i10":9,"i11":9,"i12":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/MasterAddressTracker.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/hbase/zookeeper/LoadBalancerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterMaintenanceModeTracker.html" title="class in org.apache.hadoop.hbase.zookeeper"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html" target="_top">Frames</a></li>
<li><a href="MasterAddressTracker.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.hadoop.hbase.zookeeper.ZKNodeTracker">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.hbase.zookeeper</div>
<h2 title="Class MasterAddressTracker" class="title">Class MasterAddressTracker</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html" title="class in org.apache.hadoop.hbase.zookeeper">org.apache.hadoop.hbase.zookeeper.ZKListener</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">org.apache.hadoop.hbase.zookeeper.ZKNodeTracker</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.zookeeper.MasterAddressTracker</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@InterfaceAudience.Private
public class <a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.59">MasterAddressTracker</a>
extends <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKNodeTracker</a></pre>
<div class="block">Manages the location of the current active Master for the RegionServer.
<p>
Listens for ZooKeeper events related to the master address. The node
<code>/master</code> will contain the address of the current master.
This listener is interested in
<code>NodeDeleted</code> and <code>NodeCreated</code> events on
<code>/master</code>.
<p>
Utilizes <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html" title="class in org.apache.hadoop.hbase.zookeeper"><code>ZKNodeTracker</code></a> for zk interactions.
<p>
You can get the current master via <a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getMasterAddress--"><code>getMasterAddress()</code></a> or via
<a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getMasterAddress-org.apache.hadoop.hbase.zookeeper.ZKWatcher-"><code>getMasterAddress(ZKWatcher)</code></a> if you do not have a running
instance of this Tracker in your context.
<p>
This class also includes utility for interacting with the master znode, for
writing and reading the znode content.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.zookeeper.ZKNodeTracker">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.zookeeper.<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKNodeTracker</a></h3>
<code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#abortable">abortable</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#LOG">LOG</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#node">node</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.zookeeper.ZKListener">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.zookeeper.<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKListener</a></h3>
<code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html#watcher">watcher</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#MasterAddressTracker-org.apache.hadoop.hbase.zookeeper.ZKWatcher-org.apache.hadoop.hbase.Abortable-">MasterAddressTracker</a></span>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;watcher,
<a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a>&nbsp;abortable)</code>
<div class="block">Construct a master address listener with the specified
<code>zookeeper</code> reference.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#deleteIfEquals-org.apache.hadoop.hbase.zookeeper.ZKWatcher-java.lang.String-">deleteIfEquals</a></span>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;content)</code>
<div class="block">delete the master znode if its content is same as the parameter</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getBackupMasterInfoPort-org.apache.hadoop.hbase.ServerName-">getBackupMasterInfoPort</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</code>
<div class="block">Get the info port of the backup master if it is available.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getBackupMasters--">getBackupMasters</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getBackupMastersAndRenewWatch-org.apache.hadoop.hbase.zookeeper.ZKWatcher-">getBackupMastersAndRenewWatch</a></span>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw)</code>
<div class="block">Retrieves the list of registered backup masters and renews a watch on the znode for children
updates.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getMasterAddress--">getMasterAddress</a></span>()</code>
<div class="block">Get the address of the current master if one is available.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getMasterAddress-boolean-">getMasterAddress</a></span>(boolean&nbsp;refresh)</code>
<div class="block">Get the address of the current master if one is available.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getMasterAddress-org.apache.hadoop.hbase.zookeeper.ZKWatcher-">getMasterAddress</a></span>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw)</code>
<div class="block">Get master address.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getMasterInfoPort--">getMasterInfoPort</a></span>()</code>
<div class="block">Get the info port of the current master of one is available.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getMasterInfoPort-org.apache.hadoop.hbase.zookeeper.ZKWatcher-">getMasterInfoPort</a></span>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw)</code>
<div class="block">Get master info port.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#hasMaster--">hasMaster</a></span>()</code>
<div class="block">Check if there is a master available.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static org.apache.hadoop.hbase.shaded.protobuf.generated.ZooKeeperProtos.Master</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#parse-byte:A-">parse</a></span>(byte[]&nbsp;data)</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#setMasterAddress-org.apache.hadoop.hbase.zookeeper.ZKWatcher-java.lang.String-org.apache.hadoop.hbase.ServerName-int-">setMasterAddress</a></span>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;znode,
<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;master,
int&nbsp;infoPort)</code>
<div class="block">Set master address into the <code>master</code> znode or into the backup
subdirectory of backup masters; switch off the passed in <code>znode</code>
path.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>(package private) static byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#toByteArray-org.apache.hadoop.hbase.ServerName-int-">toByteArray</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn,
int&nbsp;infoPort)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.zookeeper.ZKNodeTracker">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.zookeeper.<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKNodeTracker</a></h3>
<code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#blockUntilAvailable--">blockUntilAvailable</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#blockUntilAvailable-long-boolean-">blockUntilAvailable</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#checkIfBaseNodeAvailable--">checkIfBaseNodeAvailable</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#getData-boolean-">getData</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#getNode--">getNode</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#nodeCreated-java.lang.String-">nodeCreated</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#nodeDataChanged-java.lang.String-">nodeDataChanged</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#nodeDeleted-java.lang.String-">nodeDeleted</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#start--">start</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#stop--">stop</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#toString--">toString</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.zookeeper.ZKListener">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.zookeeper.<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKListener</a></h3>
<code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html#getWatcher--">getWatcher</a>, <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKListener.html#nodeChildrenChanged-java.lang.String-">nodeChildrenChanged</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="MasterAddressTracker-org.apache.hadoop.hbase.zookeeper.ZKWatcher-org.apache.hadoop.hbase.Abortable-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MasterAddressTracker</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.71">MasterAddressTracker</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;watcher,
<a href="../../../../../org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a>&nbsp;abortable)</pre>
<div class="block">Construct a master address listener with the specified
<code>zookeeper</code> reference.
<p>
This constructor does not trigger any actions, you must call methods
explicitly. Normally you will just want to execute <a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKNodeTracker.html#start--"><code>ZKNodeTracker.start()</code></a> to
begin tracking of the master address.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>watcher</code> - zk reference and watcher</dd>
<dd><code>abortable</code> - abortable in case of fatal error</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getMasterAddress--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMasterAddress</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.80">getMasterAddress</a>()</pre>
<div class="block">Get the address of the current master if one is available. Returns null
if no current master.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Server name or null if timed out.</dd>
</dl>
</li>
</ul>
<a name="getMasterInfoPort--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMasterInfoPort</h4>
<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.89">getMasterInfoPort</a>()</pre>
<div class="block">Get the info port of the current master of one is available.
Return 0 if no current master or zookeeper is unavailable</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>info port or 0 if timed out</dd>
</dl>
</li>
</ul>
<a name="getBackupMasterInfoPort-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBackupMasterInfoPort</h4>
<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.107">getBackupMasterInfoPort</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
<div class="block">Get the info port of the backup master if it is available.
Return 0 if no backup master or zookeeper is unavailable</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sn</code> - server name of backup master</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>info port or 0 if timed out or exceptions</dd>
</dl>
</li>
</ul>
<a name="getMasterAddress-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMasterAddress</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.131">getMasterAddress</a>(boolean&nbsp;refresh)</pre>
<div class="block">Get the address of the current master if one is available. Returns null
if no current master. If refresh is set, try to load the data from ZK again,
otherwise, cached data will be used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>refresh</code> - whether to refresh the data by calling ZK directly.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Server name or null if timed out.</dd>
</dl>
</li>
</ul>
<a name="getMasterAddress-org.apache.hadoop.hbase.zookeeper.ZKWatcher-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMasterAddress</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.150">getMasterAddress</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw)
throws org.apache.zookeeper.KeeperException,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Get master address.
Use this instead of <a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getMasterAddress--"><code>getMasterAddress()</code></a> if you do not have an
instance of this tracker in your context.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>zkw</code> - ZKWatcher to use</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ServerName stored in the the master address znode or null if no
znode present.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.zookeeper.KeeperException</code> - if a ZooKeeper operation fails</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the address of the ZooKeeper master cannot be retrieved</dd>
</dl>
</li>
</ul>
<a name="getMasterInfoPort-org.apache.hadoop.hbase.zookeeper.ZKWatcher-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMasterInfoPort</h4>
<pre>public static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.182">getMasterInfoPort</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw)
throws org.apache.zookeeper.KeeperException,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Get master info port.
Use this instead of <a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#getMasterInfoPort--"><code>getMasterInfoPort()</code></a> if you do not have an
instance of this tracker in your context.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>zkw</code> - ZKWatcher to use</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>master info port in the the master address znode or null if no
znode present.
// TODO can't return null for 'int' return type. non-static verison returns 0</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.zookeeper.KeeperException</code> - if a ZooKeeper operation fails</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the address of the ZooKeeper master cannot be retrieved</dd>
</dl>
</li>
</ul>
<a name="setMasterAddress-org.apache.hadoop.hbase.zookeeper.ZKWatcher-java.lang.String-org.apache.hadoop.hbase.ServerName-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMasterAddress</h4>
<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.213">setMasterAddress</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;znode,
<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;master,
int&nbsp;infoPort)
throws org.apache.zookeeper.KeeperException</pre>
<div class="block">Set master address into the <code>master</code> znode or into the backup
subdirectory of backup masters; switch off the passed in <code>znode</code>
path.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>zkw</code> - The ZKWatcher to use.</dd>
<dd><code>znode</code> - Where to create the znode; could be at the top level or it
could be under backup masters</dd>
<dd><code>master</code> - ServerName of the current master must not be null.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if node created, false if not; a watch is set in both cases</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.zookeeper.KeeperException</code> - if a ZooKeeper operation fails</dd>
</dl>
</li>
</ul>
<a name="hasMaster--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasMaster</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.223">hasMaster</a>()</pre>
<div class="block">Check if there is a master available.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if there is a master set, false if not.</dd>
</dl>
</li>
</ul>
<a name="toByteArray-org.apache.hadoop.hbase.ServerName-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toByteArray</h4>
<pre>static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.232">toByteArray</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn,
int&nbsp;infoPort)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sn</code> - must not be null</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Content of the master znode as a serialized pb with the pb
magic as prefix.</dd>
</dl>
</li>
</ul>
<a name="parse-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parse</h4>
<pre>public static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ZooKeeperProtos.Master&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.249">parse</a>(byte[]&nbsp;data)
throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - zookeeper data. may be null</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>pb object of master, null if no active master</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></code> - if the parsing fails</dd>
</dl>
</li>
</ul>
<a name="deleteIfEquals-org.apache.hadoop.hbase.zookeeper.ZKWatcher-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteIfEquals</h4>
<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.265">deleteIfEquals</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;content)</pre>
<div class="block">delete the master znode if its content is same as the parameter</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>zkw</code> - must not be null</dd>
<dd><code>content</code> - must not be null</dd>
</dl>
</li>
</ul>
<a name="getBackupMasters--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBackupMasters</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.286">getBackupMasters</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></code></dd>
</dl>
</li>
</ul>
<a name="getBackupMastersAndRenewWatch-org.apache.hadoop.hbase.zookeeper.ZKWatcher-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getBackupMastersAndRenewWatch</h4>
<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html#line.297">getBackupMastersAndRenewWatch</a>(<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></pre>
<div class="block">Retrieves the list of registered backup masters and renews a watch on the znode for children
updates.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>zkw</code> - Zookeeper watcher to use</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of backup masters.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></code> - if there is any issue fetching the required data from Zookeeper.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/MasterAddressTracker.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/hbase/zookeeper/LoadBalancerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterMaintenanceModeTracker.html" title="class in org.apache.hadoop.hbase.zookeeper"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html" target="_top">Frames</a></li>
<li><a href="MasterAddressTracker.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.hadoop.hbase.zookeeper.ZKNodeTracker">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>