blob: 250fd498f528aaf3be4bd1308277eaa939101402 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
| Generated by Apache Maven Doxia at 2021-06-15
| Rendered using Apache Maven Stylus Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Apache Hadoop 3.3.1 &#x2013; Registry Configuration</title>
<style type="text/css" media="all">
@import url("../css/maven-base.css");
@import url("../css/maven-theme.css");
@import url("../css/site.css");
</style>
<link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
<meta name="Date-Revision-yyyymmdd" content="20210615" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body class="composite">
<div id="banner">
<a href="http://hadoop.apache.org/" id="bannerLeft">
<img src="http://hadoop.apache.org/images/hadoop-logo.jpg" alt="" />
</a>
<a href="http://www.apache.org/" id="bannerRight">
<img src="http://www.apache.org/images/asf_logo_wide.png" alt="" />
</a>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xleft">
<a href="http://www.apache.org/" class="externalLink">Apache</a>
&gt;
<a href="http://hadoop.apache.org/" class="externalLink">Hadoop</a>
&gt;
<a href="../../index.html">Apache Hadoop Project Dist POM</a>
&gt;
<a href="../index.html">Apache Hadoop 3.3.1</a>
&gt;
Registry Configuration
</div>
<div class="xright"> <a href="http://wiki.apache.org/hadoop" class="externalLink">Wiki</a>
|
<a href="https://gitbox.apache.org/repos/asf/hadoop.git" class="externalLink">git</a>
|
<a href="http://hadoop.apache.org/" class="externalLink">Apache Hadoop</a>
&nbsp;| Last Published: 2021-06-15
&nbsp;| Version: 3.3.1
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>General</h5>
<ul>
<li class="none">
<a href="../../../index.html">Overview</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/SingleCluster.html">Single Node Setup</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/ClusterSetup.html">Cluster Setup</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/CommandsManual.html">Commands Reference</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/FileSystemShell.html">FileSystem Shell</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/Compatibility.html">Compatibility Specification</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/DownstreamDev.html">Downstream Developer's Guide</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/AdminCompatibilityGuide.html">Admin Compatibility Guide</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/InterfaceClassification.html">Interface Classification</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/filesystem/index.html">FileSystem Specification</a>
</li>
</ul>
<h5>Common</h5>
<ul>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/CLIMiniCluster.html">CLI Mini Cluster</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/FairCallQueue.html">Fair Call Queue</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/NativeLibraries.html">Native Libraries</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/Superusers.html">Proxy User</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/RackAwareness.html">Rack Awareness</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/SecureMode.html">Secure Mode</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/ServiceLevelAuth.html">Service Level Authorization</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/HttpAuthentication.html">HTTP Authentication</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/CredentialProviderAPI.html">Credential Provider API</a>
</li>
<li class="none">
<a href="../../../hadoop-kms/index.html">Hadoop KMS</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/Tracing.html">Tracing</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/UnixShellGuide.html">Unix Shell Guide</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/registry/index.html">Registry</a>
</li>
</ul>
<h5>HDFS</h5>
<ul>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/HdfsDesign.html">Architecture</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html">User Guide</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/HDFSCommands.html">Commands Reference</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html">NameNode HA With QJM</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithNFS.html">NameNode HA With NFS</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/ObserverNameNode.html">Observer NameNode</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/Federation.html">Federation</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/ViewFs.html">ViewFs</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/ViewFsOverloadScheme.html">ViewFsOverloadScheme</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/HdfsSnapshots.html">Snapshots</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/HdfsEditsViewer.html">Edits Viewer</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/HdfsImageViewer.html">Image Viewer</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/HdfsPermissionsGuide.html">Permissions and HDFS</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/HdfsQuotaAdminGuide.html">Quotas and HDFS</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/LibHdfs.html">libhdfs (C API)</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/WebHDFS.html">WebHDFS (REST API)</a>
</li>
<li class="none">
<a href="../../../hadoop-hdfs-httpfs/index.html">HttpFS</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/ShortCircuitLocalReads.html">Short Circuit Local Reads</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/CentralizedCacheManagement.html">Centralized Cache Management</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/HdfsNfsGateway.html">NFS Gateway</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/HdfsRollingUpgrade.html">Rolling Upgrade</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/ExtendedAttributes.html">Extended Attributes</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/TransparentEncryption.html">Transparent Encryption</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/HdfsMultihoming.html">Multihoming</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html">Storage Policies</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/MemoryStorage.html">Memory Storage Support</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/SLGUserGuide.html">Synthetic Load Generator</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/HDFSErasureCoding.html">Erasure Coding</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/HDFSDiskbalancer.html">Disk Balancer</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/HdfsUpgradeDomain.html">Upgrade Domain</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/HdfsDataNodeAdminGuide.html">DataNode Admin</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs-rbf/HDFSRouterFederation.html">Router Federation</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/HdfsProvidedStorage.html">Provided Storage</a>
</li>
</ul>
<h5>MapReduce</h5>
<ul>
<li class="none">
<a href="../../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html">Tutorial</a>
</li>
<li class="none">
<a href="../../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapredCommands.html">Commands Reference</a>
</li>
<li class="none">
<a href="../../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduce_Compatibility_Hadoop1_Hadoop2.html">Compatibility with 1.x</a>
</li>
<li class="none">
<a href="../../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/EncryptedShuffle.html">Encrypted Shuffle</a>
</li>
<li class="none">
<a href="../../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/PluggableShuffleAndPluggableSort.html">Pluggable Shuffle/Sort</a>
</li>
<li class="none">
<a href="../../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/DistributedCacheDeploy.html">Distributed Cache Deploy</a>
</li>
<li class="none">
<a href="../../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/SharedCacheSupport.html">Support for YARN Shared Cache</a>
</li>
</ul>
<h5>MapReduce REST APIs</h5>
<ul>
<li class="none">
<a href="../../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapredAppMasterRest.html">MR Application Master</a>
</li>
<li class="none">
<a href="../../../hadoop-mapreduce-client/hadoop-mapreduce-client-hs/HistoryServerRest.html">MR History Server</a>
</li>
</ul>
<h5>YARN</h5>
<ul>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/YARN.html">Architecture</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/YarnCommands.html">Commands Reference</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/CapacityScheduler.html">Capacity Scheduler</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/FairScheduler.html">Fair Scheduler</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/ResourceManagerRestart.html">ResourceManager Restart</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/ResourceManagerHA.html">ResourceManager HA</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/ResourceModel.html">Resource Model</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/NodeLabel.html">Node Labels</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/NodeAttributes.html">Node Attributes</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/WebApplicationProxy.html">Web Application Proxy</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/TimelineServer.html">Timeline Server</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/TimelineServiceV2.html">Timeline Service V.2</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/WritingYarnApplications.html">Writing YARN Applications</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/YarnApplicationSecurity.html">YARN Application Security</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/NodeManager.html">NodeManager</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/DockerContainers.html">Running Applications in Docker Containers</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/RuncContainers.html">Running Applications in runC Containers</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/NodeManagerCgroups.html">Using CGroups</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/SecureContainer.html">Secure Containers</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/ReservationSystem.html">Reservation System</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/GracefulDecommission.html">Graceful Decommission</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/OpportunisticContainers.html">Opportunistic Containers</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/Federation.html">YARN Federation</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/SharedCache.html">Shared Cache</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/UsingGpus.html">Using GPU</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/UsingFPGA.html">Using FPGA</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/PlacementConstraints.html">Placement Constraints</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/YarnUI2.html">YARN UI2</a>
</li>
</ul>
<h5>YARN REST APIs</h5>
<ul>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/WebServicesIntro.html">Introduction</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html">Resource Manager</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/NodeManagerRest.html">Node Manager</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/TimelineServer.html#Timeline_Server_REST_API_v1">Timeline Server</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/TimelineServiceV2.html#Timeline_Service_v.2_REST_API">Timeline Service V.2</a>
</li>
</ul>
<h5>YARN Service</h5>
<ul>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/yarn-service/Overview.html">Overview</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/yarn-service/QuickStart.html">QuickStart</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/yarn-service/Concepts.html">Concepts</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/yarn-service/YarnServiceAPI.html">Yarn Service API</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/yarn-service/ServiceDiscovery.html">Service Discovery</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-site/yarn-service/SystemServices.html">System Services</a>
</li>
</ul>
<h5>Hadoop Compatible File Systems</h5>
<ul>
<li class="none">
<a href="../../../hadoop-aliyun/tools/hadoop-aliyun/index.html">Aliyun OSS</a>
</li>
<li class="none">
<a href="../../../hadoop-aws/tools/hadoop-aws/index.html">Amazon S3</a>
</li>
<li class="none">
<a href="../../../hadoop-azure/index.html">Azure Blob Storage</a>
</li>
<li class="none">
<a href="../../../hadoop-azure-datalake/index.html">Azure Data Lake Storage</a>
</li>
<li class="none">
<a href="../../../hadoop-openstack/index.html">OpenStack Swift</a>
</li>
<li class="none">
<a href="../../../hadoop-cos/cloud-storage/index.html">Tencent COS</a>
</li>
</ul>
<h5>Auth</h5>
<ul>
<li class="none">
<a href="../../../hadoop-auth/index.html">Overview</a>
</li>
<li class="none">
<a href="../../../hadoop-auth/Examples.html">Examples</a>
</li>
<li class="none">
<a href="../../../hadoop-auth/Configuration.html">Configuration</a>
</li>
<li class="none">
<a href="../../../hadoop-auth/BuildingIt.html">Building</a>
</li>
</ul>
<h5>Tools</h5>
<ul>
<li class="none">
<a href="../../../hadoop-streaming/HadoopStreaming.html">Hadoop Streaming</a>
</li>
<li class="none">
<a href="../../../hadoop-archives/HadoopArchives.html">Hadoop Archives</a>
</li>
<li class="none">
<a href="../../../hadoop-archive-logs/HadoopArchiveLogs.html">Hadoop Archive Logs</a>
</li>
<li class="none">
<a href="../../../hadoop-distcp/DistCp.html">DistCp</a>
</li>
<li class="none">
<a href="../../../hadoop-gridmix/GridMix.html">GridMix</a>
</li>
<li class="none">
<a href="../../../hadoop-rumen/Rumen.html">Rumen</a>
</li>
<li class="none">
<a href="../../../hadoop-resourceestimator/ResourceEstimator.html">Resource Estimator Service</a>
</li>
<li class="none">
<a href="../../../hadoop-sls/SchedulerLoadSimulator.html">Scheduler Load Simulator</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/Benchmarking.html">Hadoop Benchmarking</a>
</li>
<li class="none">
<a href="../../../hadoop-dynamometer/Dynamometer.html">Dynamometer</a>
</li>
</ul>
<h5>Reference</h5>
<ul>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/release/">Changelog and Release Notes</a>
</li>
<li class="none">
<a href="../../../api/index.html">Java API docs</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/UnixShellAPI.html">Unix Shell API</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/Metrics.html">Metrics</a>
</li>
</ul>
<h5>Configuration</h5>
<ul>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/core-default.xml">core-default.xml</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs/hdfs-default.xml">hdfs-default.xml</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-hdfs-rbf/hdfs-rbf-default.xml">hdfs-rbf-default.xml</a>
</li>
<li class="none">
<a href="../../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml">mapred-default.xml</a>
</li>
<li class="none">
<a href="../../../hadoop-yarn/hadoop-yarn-common/yarn-default.xml">yarn-default.xml</a>
</li>
<li class="none">
<a href="../../../hadoop-kms/kms-default.html">kms-default.xml</a>
</li>
<li class="none">
<a href="../../../hadoop-hdfs-httpfs/httpfs-default.html">httpfs-default.xml</a>
</li>
<li class="none">
<a href="../../../hadoop-project-dist/hadoop-common/DeprecatedProperties.html">Deprecated Properties</a>
</li>
</ul>
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
<img alt="Built by Maven" src="../images/logos/maven-feather.png"/>
</a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<!---
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. See accompanying LICENSE file.
-->
<h1>Registry Configuration</h1>
<p>The Hadoop service registry is built on top of Apache Zookeeper. It is configured by way of a Hadoop <tt>Configuration</tt> class: the instance used to create the service controls the behavior of the client.</p>
<p>This document lists the configuration parameters which control the registry client.</p>
<p>The default values of all these settings are defined in <tt>core-default.xml</tt>. The values in this file may not match those listed in this document. If this is the case, the values in <tt>core-default.xml</tt> MUST be considered normative.</p>
<div class="section">
<h2><a name="Changing_the_configuration_values"></a>Changing the configuration values</h2>
<p>Changes to the configuration values SHOULD be done in <tt>core-site.xml</tt>. This will ensure that client and non-YARN applications will pick up the values, so enabling them to read from and potentially write to the registry.</p></div>
<div class="section">
<h2><a name="Core_Settings"></a>Core Settings</h2>
<div class="section">
<h3><a name="Setting_the_Zookeeper_Quorum:_hadoop.registry.zk.quorum"></a>Setting the Zookeeper Quorum: <tt>hadoop.registry.zk.quorum</tt></h3>
<p>This is an essential setting: it identifies the lists of zookeeper hosts and the ports on which the ZK services are listening.</p>
<div>
<div>
<pre class="source"> &lt;property&gt;
&lt;description&gt;
A comma separated list of hostname:port pairs defining the
zookeeper quorum binding for the registry
&lt;/description&gt;
&lt;name&gt;hadoop.registry.zk.quorum&lt;/name&gt;
&lt;value&gt;localhost:2181&lt;/value&gt;
&lt;/property&gt;
</pre></div></div>
<p>It takes a comma-separated list, such as <tt>zk1:2181 ,zk2:2181, zk3:2181</tt></p></div>
<div class="section">
<h3><a name="Setting_the_Zookeeper_Registry_Base_path:_hadoop.registry.zk.root"></a>Setting the Zookeeper Registry Base path: <tt>hadoop.registry.zk.root</tt></h3>
<p>This path sets the base zookeeper node for the registry</p>
<div>
<div>
<pre class="source"> &lt;property&gt;
&lt;description&gt;
The root zookeeper node for the registry
&lt;/description&gt;
&lt;name&gt;hadoop.registry.zk.root&lt;/name&gt;
&lt;value&gt;/registry&lt;/value&gt;
&lt;/property&gt;
</pre></div></div>
<p>The default value of <tt>/registry</tt> is normally sufficient. A different value may be needed for security reasons or because the <tt>/registry</tt> path is in use.</p>
<p>The root value is prepended to all registry paths so as to create the absolute path. For example:</p>
<ul>
<li><tt>/</tt> maps to <tt>/registry</tt></li>
<li><tt>/services</tt> maps to <tt>/registry/services</tt></li>
<li><tt>/users/yarn</tt> maps to <tt>/registry/users/yarn</tt></li>
</ul>
<p>A different value of <tt>hadoop.registry.zk.root</tt> would result in a different mapping to absolute zookeeper paths.</p></div></div>
<div class="section">
<h2><a name="Security_Options"></a>Security Options</h2>
<p>Registry security is enabled when the property <tt>hadoop.registry.secure</tt> is set to <tt>true</tt>. Once set, nodes are created with permissions, so that only a specific user <i>and the configured cluster &#x201c;superuser&#x201d; accounts</i> can write under their home path of <tt>${hadoop.registry.zk.root}/users</tt>. Only the superuser accounts will be able to manipulate the root path, including <tt>${hadoop.registry.zk.root}/services</tt> and <tt>${hadoop.registry.zk.root}/users</tt>.</p>
<p>All write operations on the registry (including deleting entries and paths) must be authenticated. Read operations are still permitted by unauthenticated callers.</p>
<p>The key settings for secure registry support are:</p>
<ul>
<li>enabling the secure mode: <tt>hadoop.registry.secure</tt></li>
<li>listing the superuser zookeeper ACLs: <tt>hadoop.registry.system.acls</tt></li>
<li>listing the kerberos realm for the principals: <tt>hadoop.registry.kerberos.realm</tt></li>
<li>identifying the JAAS context within the JAAS configuration which defines the user: <tt>hadoop.registry.jaas.context</tt></li>
</ul>
<div class="section">
<h3><a name="Enabling_security"></a>Enabling security</h3>
<div>
<div>
<pre class="source"> &lt;property&gt;
&lt;description&gt;
Key to set if the registry is secure. Turning it on
changes the permissions policy from &quot;open access&quot;
to restrictions on kerberos with the option of
a user adding one or more auth key pairs down their
own tree.
&lt;/description&gt;
&lt;name&gt;hadoop.registry.secure&lt;/name&gt;
&lt;value&gt;false&lt;/value&gt;
&lt;/property&gt;
</pre></div></div>
</div>
<div class="section">
<h3><a name="Identifying_the_client_JAAS_context"></a>Identifying the client JAAS context</h3>
<p>The registry clients must identify the JAAS context which they use to authenticate to the registry.</p>
<div>
<div>
<pre class="source"> &lt;property&gt;
&lt;description&gt;
Key to define the JAAS context. Used in secure mode
&lt;/description&gt;
&lt;name&gt;hadoop.registry.jaas.context&lt;/name&gt;
&lt;value&gt;Client&lt;/value&gt;
&lt;/property&gt;
</pre></div></div>
<p><i>Note</i> as the Resource Manager is simply another client of the registry, it too must have this context defined.</p></div>
<div class="section">
<h3><a name="Identifying_the_system_accounts_hadoop.registry.system.acls"></a>Identifying the system accounts <tt>hadoop.registry.system.acls</tt></h3>
<p>These are the the accounts which are given full access to the base of the registry. The Resource Manager needs this option to create the root paths.</p>
<p>Client applications writing to the registry access to the nodes it creates.</p>
<ol style="list-style-type: decimal">
<li>The property <tt>hadoop.registry.system.acls</tt> takes a comma-separated list of zookeeper <tt>ACLs</tt> which are given full access to created nodes; the permissions <tt>READ | WRITE | CREATE | DELETE | ADMIN</tt>.</li>
<li>Any zookeeper ACL scheme may be added to this, such as the <tt>digest:</tt> scheme.</li>
<li>The SASL scheme, <tt>sasl:</tt>, is used to identify which callers identified by sasl have full access. These are the superuser accounts.</li>
<li>They may be identified by elements such as <tt>sasl:yarn@REALM.COM</tt>.</li>
<li>To aid portability of SASL settings, especially the default value, any <tt>sasl:</tt> entry without the realm value &#x2014;that is, any entry that terminates in the <tt>@</tt> symbol&#x2014; has the current realm appended to it.</li>
<li>This realm is set to that of the current user.</li>
<li>It may be overridden by the property <tt>hadoop.registry.kerberos.realm</tt>.</li>
</ol>
<div>
<div>
<pre class="source"> &lt;property&gt;
&lt;description&gt;
A comma separated list of Zookeeper ACL identifiers with
system access to the registry in a secure cluster.
These are given full access to all entries.
If there is an &quot;@&quot; at the end of a SASL entry it
instructs the registry client to append the default kerberos domain.
&lt;/description&gt;
&lt;name&gt;hadoop.registry.system.acls&lt;/name&gt;
&lt;value&gt;sasl:yarn@, sasl:mapred@, sasl:mapred@, sasl:hdfs@&lt;/value&gt;
&lt;/property&gt;
&lt;property&gt;
&lt;description&gt;
The kerberos realm: used to set the realm of
system principals which do not declare their realm,
and any other accounts that need the value.
If empty, the default realm of the running process
is used.
If neither are known and the realm is needed, then the registry
service/client will fail.
&lt;/description&gt;
&lt;name&gt;hadoop.registry.kerberos.realm&lt;/name&gt;
&lt;value&gt;&lt;/value&gt;
&lt;/property&gt;
</pre></div></div>
<p>Example: an <tt>hadoop.registry.system.acls</tt> entry of <tt>sasl:yarn@, sasl:admin@EXAMPLE.COM, sasl:system@REALM2</tt>, would, in a YARN cluster with the realm <tt>EXAMPLE.COM</tt>, add the following admin accounts to every node</p>
<ul>
<li><tt>sasl:yarn@EXAMPLE.COM</tt></li>
<li><tt>sasl:admin@EXAMPLE.COM</tt></li>
<li><tt>sasl:system@REALM2</tt></li>
</ul>
<p>The identity of a client application creating registry entries will be automatically included in the permissions of all entries created. If, for example, the account creating an entry was <tt>hbase</tt>, another entry would be created</p>
<ul>
<li><tt>sasl:hbase@EXAMPLE.COM</tt></li>
</ul>
<p><b>Important</b>: when setting the system ACLS, <i>it is critical to include the identity of the YARN Resource Manager</i>.</p>
<p>The RM needs to be able to create the root and user paths, and delete service records during application and container cleanup.</p></div></div>
<div class="section">
<h2><a name="Zookeeper_connection_management_options"></a>Zookeeper connection management options</h2>
<p>Some low level options manage the ZK connection &#x2014;more specifically, its failure handling.</p>
<p>The Zookeeper registry clients use Apache Curator to connect to Zookeeper, a library which detects timeouts and attempts to reconnect to one of the servers which forms the zookeeper quorum. It is only after a timeout is detected that a retry is triggered.</p>
<div>
<div>
<pre class="source"> &lt;property&gt;
&lt;description&gt;
Zookeeper session timeout in milliseconds
&lt;/description&gt;
&lt;name&gt;hadoop.registry.zk.session.timeout.ms&lt;/name&gt;
&lt;value&gt;60000&lt;/value&gt;
&lt;/property&gt;
&lt;property&gt;
&lt;description&gt;
Zookeeper connection timeout in milliseconds
&lt;/description&gt;
&lt;name&gt;hadoop.registry.zk.connection.timeout.ms&lt;/name&gt;
&lt;value&gt;15000&lt;/value&gt;
&lt;/property&gt;
&lt;property&gt;
&lt;description&gt;
Zookeeper connection retry count before failing
&lt;/description&gt;
&lt;name&gt;hadoop.registry.zk.retry.times&lt;/name&gt;
&lt;value&gt;5&lt;/value&gt;
&lt;/property&gt;
&lt;property&gt;
&lt;description&gt;
&lt;/description&gt;
&lt;name&gt;hadoop.registry.zk.retry.interval.ms&lt;/name&gt;
&lt;value&gt;1000&lt;/value&gt;
&lt;/property&gt;
&lt;property&gt;
&lt;description&gt;
Zookeeper retry limit in milliseconds, during
exponential backoff.
This places a limit even
if the retry times and interval limit, combined
with the backoff policy, result in a long retry
period
&lt;/description&gt;
&lt;name&gt;hadoop.registry.zk.retry.ceiling.ms&lt;/name&gt;
&lt;value&gt;60000&lt;/value&gt;
&lt;/property&gt;
</pre></div></div>
<p>The retry strategy used in the registry client is <a class="externalLink" href="https://curator.apache.org/apidocs/org/apache/curator/retry/BoundedExponentialBackoffRetry.html"><tt>BoundedExponentialBackoffRetry</tt></a>: This backs off exponentially on connection failures before eventually concluding that the quorum is unreachable and failing.</p></div>
<div class="section">
<h2><a name="Complete_Set_of_Configuration_Options"></a>Complete Set of Configuration Options</h2>
<div>
<div>
<pre class="source"> &lt;!-- YARN registry --&gt;
&lt;property&gt;
&lt;description&gt;
A comma separated list of hostname:port pairs defining the
zookeeper quorum binding for the registry
&lt;/description&gt;
&lt;name&gt;hadoop.registry.zk.quorum&lt;/name&gt;
&lt;value&gt;localhost:2181&lt;/value&gt;
&lt;/property&gt;
&lt;property&gt;
&lt;description&gt;
The root zookeeper node for the registry
&lt;/description&gt;
&lt;name&gt;hadoop.registry.zk.root&lt;/name&gt;
&lt;value&gt;/registry&lt;/value&gt;
&lt;/property&gt;
&lt;property&gt;
&lt;description&gt;
Key to set if the registry is secure. Turning it on
changes the permissions policy from &quot;open access&quot;
to restrictions on kerberos with the option of
a user adding one or more auth key pairs down their
own tree.
&lt;/description&gt;
&lt;name&gt;hadoop.registry.secure&lt;/name&gt;
&lt;value&gt;false&lt;/value&gt;
&lt;/property&gt;
&lt;property&gt;
&lt;description&gt;
A comma separated list of Zookeeper ACL identifiers with
system access to the registry in a secure cluster.
These are given full access to all entries.
If there is an &quot;@&quot; at the end of a SASL entry it
instructs the registry client to append the default kerberos domain.
&lt;/description&gt;
&lt;name&gt;hadoop.registry.system.acls&lt;/name&gt;
&lt;value&gt;sasl:yarn@, sasl:mapred@, sasl:mapred@, sasl:hdfs@&lt;/value&gt;
&lt;/property&gt;
&lt;property&gt;
&lt;description&gt;
The kerberos realm: used to set the realm of
system principals which do not declare their realm,
and any other accounts that need the value.
If empty, the default realm of the running process
is used.
If neither are known and the realm is needed, then the registry
service/client will fail.
&lt;/description&gt;
&lt;name&gt;hadoop.registry.kerberos.realm&lt;/name&gt;
&lt;value&gt;&lt;/value&gt;
&lt;/property&gt;
&lt;property&gt;
&lt;description&gt;
Key to define the JAAS context. Used in secure
mode
&lt;/description&gt;
&lt;name&gt;hadoop.registry.jaas.context&lt;/name&gt;
&lt;value&gt;Client&lt;/value&gt;
&lt;/property&gt;
&lt;property&gt;
&lt;description&gt;
Zookeeper session timeout in milliseconds
&lt;/description&gt;
&lt;name&gt;hadoop.registry.zk.session.timeout.ms&lt;/name&gt;
&lt;value&gt;60000&lt;/value&gt;
&lt;/property&gt;
&lt;property&gt;
&lt;description&gt;
Zookeeper session timeout in milliseconds
&lt;/description&gt;
&lt;name&gt;hadoop.registry.zk.connection.timeout.ms&lt;/name&gt;
&lt;value&gt;15000&lt;/value&gt;
&lt;/property&gt;
&lt;property&gt;
&lt;description&gt;
Zookeeper connection retry count before failing
&lt;/description&gt;
&lt;name&gt;hadoop.registry.zk.retry.times&lt;/name&gt;
&lt;value&gt;5&lt;/value&gt;
&lt;/property&gt;
&lt;property&gt;
&lt;description&gt;
&lt;/description&gt;
&lt;name&gt;hadoop.registry.zk.retry.interval.ms&lt;/name&gt;
&lt;value&gt;1000&lt;/value&gt;
&lt;/property&gt;
&lt;property&gt;
&lt;description&gt;
Zookeeper retry limit in milliseconds, during
exponential backoff: {@value}
This places a limit even
if the retry times and interval limit, combined
with the backoff policy, result in a long retry
period
&lt;/description&gt;
&lt;name&gt;hadoop.registry.zk.retry.ceiling.ms&lt;/name&gt;
&lt;value&gt;60000&lt;/value&gt;
&lt;/property&gt;
</pre></div></div></div>
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">
&#169; 2008-2021
Apache Software Foundation
- <a href="http://maven.apache.org/privacy-policy.html">Privacy Policy</a>.
Apache Maven, Maven, Apache, the Apache feather logo, and the Apache Maven project logos are trademarks of The Apache Software Foundation.
</div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>