1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045 |
- <?xml version="1.0"?>
- <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
- <!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You 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.
- -->
- <!-- Do not modify this file directly. Instead, copy entries that you -->
- <!-- wish to modify from this file into hdfs-rbf-site.xml and change them -->
- <!-- there. If hdfs-rbf-site.xml does not already exist, create it. -->
- <configuration>
- <property>
- <name>dfs.federation.router.default.nameserviceId</name>
- <value></value>
- <description>
- Nameservice identifier of the default subcluster to monitor.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.default.nameservice.enable</name>
- <value>true</value>
- <description>
- The default subcluster is enabled to read and write files.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.rpc.enable</name>
- <value>true</value>
- <description>
- If true, the RPC service to handle client requests in the router is
- enabled.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.async.rpc.enable</name>
- <value>false</value>
- <description>
- If true, router will process the RPC request asynchronously.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.async.rpc.ns.handler.count</name>
- <value></value>
- <description>
- The number of asynchronous handlers per nameservice, separated by commas, internally separated by colons.
- The identifier of nameservice is in dfs.nameservices configuration entry.
- Such as: ns1:count1,ns2:count2,ns3:count3.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.async.rpc.responder.count</name>
- <value>10</value>
- <description>
- For those nameservices not in dfs.federation.router.async.rpc.ns.handler.count configuration entry,
- use this value as the asynchronous handler thread counts.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.async.rpc.responder.count</name>
- <value>10</value>
- <description>
- The thread counts of async responder executor.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.rpc-address</name>
- <value>0.0.0.0:8888</value>
- <description>
- RPC address that handles all clients requests.
- The value of this property will take the form of router-host1:rpc-port.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.rpc-bind-host</name>
- <value></value>
- <description>
- The actual address the RPC server will bind to. If this optional address is
- set, it overrides only the hostname portion of
- dfs.federation.router.rpc-address. This is useful for making the name node
- listen on all interfaces by setting it to 0.0.0.0.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.handler.count</name>
- <value>10</value>
- <description>
- The number of server threads for the router to handle RPC requests from
- clients.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.handler.queue.size</name>
- <value>100</value>
- <description>
- The size of the queue for the number of handlers to handle RPC client requests.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.reader.count</name>
- <value>1</value>
- <description>
- The number of readers for the router to handle RPC client requests.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.reader.queue.size</name>
- <value>100</value>
- <description>
- The size of the queue for the number of readers for the router to handle RPC client requests.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.async.rpc.handler.count</name>
- <value>10</value>
- <description>
- The number of async handler for the router to handle RPC client requests.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.async.rpc.responder.count</name>
- <value>10</value>
- <description>
- The number of async responder for the router to handle responses.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.async.rpc.max.asynccall.permit</name>
- <value>20000</value>
- <description>
- Maximum number of asynchronous RPC requests the Router can send to
- one downstream nameservice.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.connection.creator.queue-size</name>
- <value>100</value>
- <description>
- Size of async connection creator queue.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.connection.pool-size</name>
- <value>1</value>
- <description>
- Size of the pool of connections from the router to namenodes.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.connection.min-active-ratio</name>
- <value>0.5f</value>
- <description>
- Minimum active ratio of connections from the router to namenodes.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.connection.clean.ms</name>
- <value>10000</value>
- <description>
- Time interval, in milliseconds, to check if the connection pool should
- remove unused connections.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.enable.multiple.socket</name>
- <value>false</value>
- <description>
- If enable multiple downstream socket or not. If true, ConnectionPool
- will use a new socket when creating a new connection for the same user,
- and RouterRPCClient will get a better throughput. It's best used with
- dfs.federation.router.max.concurrency.per.connection together to get
- a better throughput with fewer sockets. Such as enable
- dfs.federation.router.enable.multiple.socket and
- set dfs.federation.router.max.concurrency.per.connection = 20.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.max.concurrency.per.connection</name>
- <value>1</value>
- <description>
- The maximum number of requests that a connection can handle concurrently.
- When the number of requests being processed by a socket is less than this value,
- new request will be processed by this socket. When enable
- dfs.federation.router.enable.multiple.socket, it's best
- set this value greater than 1, such as 20, to avoid frequent
- creation and idle sockets in the case of a NS with jitter requests.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.connection.pool.clean.ms</name>
- <value>60000</value>
- <description>
- Time interval, in milliseconds, to check if the connection manager should
- remove unused connection pools.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.metrics.enable</name>
- <value>true</value>
- <description>
- If the metrics in the router are enabled.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.dn-report.time-out</name>
- <value>1000</value>
- <description>
- Time out, in milliseconds for getDatanodeReport.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.dn-report.cache-expire</name>
- <value>10s</value>
- <description>
- Expiration time in seconds for datanodereport.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.enable.get.dn.usage</name>
- <value>true</value>
- <description>
- If true, the getNodeUsage method in RBFMetrics will return an up-to-date
- result collecting from downstream nameservices. But it will take a long
- time and take up thread resources. If false, it will return a mock result with all 0.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.metrics.class</name>
- <value>org.apache.hadoop.hdfs.server.federation.metrics.FederationRPCPerformanceMonitor</value>
- <description>
- Class to monitor the RPC system in the router. It must implement the
- RouterRpcMonitor interface.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.admin.enable</name>
- <value>true</value>
- <description>
- If true, the RPC admin service to handle client requests in the router is
- enabled.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.admin-address</name>
- <value>0.0.0.0:8111</value>
- <description>
- RPC address that handles the admin requests.
- The value of this property will take the form of router-host1:rpc-port.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.admin-bind-host</name>
- <value></value>
- <description>
- The actual address the RPC admin server will bind to. If this optional
- address is set, it overrides only the hostname portion of
- dfs.federation.router.admin-address. This is useful for making the name
- node listen on all interfaces by setting it to 0.0.0.0.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.admin.handler.count</name>
- <value>1</value>
- <description>
- The number of server threads for the router to handle RPC requests from
- admin.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.admin.mount.check.enable</name>
- <value>false</value>
- <description>
- If true, add/update mount table will include a destination check to make
- sure the file exists in downstream namenodes, and changes to mount table
- will fail if the file doesn't exist in any of the destination namenode.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.http-address</name>
- <value>0.0.0.0:50071</value>
- <description>
- HTTP address that handles the web requests to the Router.
- The value of this property will take the form of router-host1:http-port.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.http-bind-host</name>
- <value></value>
- <description>
- The actual address the HTTP server will bind to. If this optional
- address is set, it overrides only the hostname portion of
- dfs.federation.router.http-address. This is useful for making the name
- node listen on all interfaces by setting it to 0.0.0.0.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.https-address</name>
- <value>0.0.0.0:50072</value>
- <description>
- HTTPS address that handles the web requests to the Router.
- The value of this property will take the form of router-host1:https-port.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.https-bind-host</name>
- <value></value>
- <description>
- The actual address the HTTPS server will bind to. If this optional
- address is set, it overrides only the hostname portion of
- dfs.federation.router.https-address. This is useful for making the name
- node listen on all interfaces by setting it to 0.0.0.0.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.http.enable</name>
- <value>true</value>
- <description>
- If the HTTP service to handle client requests in the router is enabled.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.fs-limits.max-component-length</name>
- <value>0</value>
- <description>
- Defines the maximum number of bytes in UTF-8 encoding in each
- component of a path at Router side. A value of 0 will disable the check.
- Support multiple size unit suffix(case insensitive). It is act as
- configuration dfs.namenode.fs-limits.max-component-length at NameNode
- side.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.file.resolver.client.class</name>
- <value>org.apache.hadoop.hdfs.server.federation.resolver.MountTableResolver</value>
- <description>
- Class to resolve files to subclusters. To enable multiple subclusters for a mount point,
- set to org.apache.hadoop.hdfs.server.federation.resolver.MultipleDestinationMountTableResolver.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.namenode.resolver.client.class</name>
- <value>org.apache.hadoop.hdfs.server.federation.resolver.MembershipNamenodeResolver</value>
- <description>
- Class to resolve the namenode for a subcluster.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.store.enable</name>
- <value>true</value>
- <description>
- If true, the Router connects to the State Store.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.store.serializer</name>
- <value>org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreSerializerPBImpl</value>
- <description>
- Class to serialize State Store records.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.store.driver.class</name>
- <value>org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreZooKeeperImpl</value>
- <description>
- Class to implement the State Store. There are three implementation classes currently
- being supported:
- org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreFileImpl,
- org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreFileSystemImpl,
- org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreMySQLImpl and
- org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreZooKeeperImpl.
- These implementation classes use the local file, filesystem and ZooKeeper as a backend respectively.
- By default it uses the ZooKeeper as the default State Store.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.store.driver.async.override.max.threads</name>
- <value>-1</value>
- <description>
- Number of threads used by StateStoreDriver to overwrite and delete records asynchronously.
- Only used by MembershipStore and RouterStore. Non-positive values will make StateStoreDriver
- run in sync mode.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.store.connection.test</name>
- <value>60000</value>
- <description>
- How often to check for the connection to the State Store in milliseconds.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.store.driver.zk.address</name>
- <description>
- Host:Port of the ZooKeeper for StateStoreZooKeeperImpl.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.store.driver.zk.parent-path</name>
- <value>/hdfs-federation</value>
- <description>
- The parent path of zookeeper for StateStoreZooKeeperImpl.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.store.driver.zk.async.max.threads</name>
- <value>-1</value>
- <description>
- Max threads number of StateStoreZooKeeperImpl in async mode.
- The only class currently being supported:
- org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreZooKeeperImpl.
- Default value is -1, which means StateStoreZooKeeperImpl is working in sync mode.
- Use positive integer value to enable async mode.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.cache.ttl</name>
- <value>1m</value>
- <description>
- How often to refresh the State Store caches in milliseconds. This setting
- supports multiple time unit suffixes as described in
- dfs.heartbeat.interval. If no suffix is specified then milliseconds is
- assumed.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.store.membership.expiration</name>
- <value>300000</value>
- <description>
- Expiration time in milliseconds for a membership record.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.store.membership.expiration.deletion</name>
- <value>-1</value>
- <description>
- Deletion time in milliseconds for a membership record. If an expired
- membership record exists beyond this time, it will be deleted. If this
- value is negative, the deletion is disabled.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.heartbeat.enable</name>
- <value>true</value>
- <description>
- If true, the Router heartbeats into the State Store.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.heartbeat.interval</name>
- <value>5000</value>
- <description>
- How often the Router should heartbeat into the State Store in milliseconds.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.health.monitor.timeout</name>
- <value>30s</value>
- <description>
- Time out for Router to obtain HAServiceStatus from NameNode.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.heartbeat-state.interval</name>
- <value>5s</value>
- <description>
- How often the Router should heartbeat its state into the State Store in
- milliseconds. This setting supports multiple time unit suffixes as
- described in dfs.federation.router.quota-cache.update.interval.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.namenode.heartbeat.enable</name>
- <value></value>
- <description>
- If true, get namenode heartbeats and send into the State Store.
- If not explicitly specified takes the same value as for
- dfs.federation.router.heartbeat.enable.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.namenode.heartbeat.jmx.interval</name>
- <value>0</value>
- <description>
- How often the Router should request JMX reports from the Namenode in miliseconds.
- If this value is 0, it will request JMX reports every time a Namenode report is requested.
- If this value is negative, it will disable JMX reports from the Namenode.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.store.router.expiration</name>
- <value>5m</value>
- <description>
- Expiration time in milliseconds for a router state record. This setting
- supports multiple time unit suffixes as described in
- dfs.federation.router.quota-cache.update.interval.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.store.router.expiration.deletion</name>
- <value>-1</value>
- <description>
- Deletion time in milliseconds for a router state record. If an expired
- router state record exists beyond this time, it will be deleted. If this
- value is negative, the deletion is disabled.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.safemode.enable</name>
- <value>true</value>
- <description>
- </description>
- </property>
- <property>
- <name>dfs.federation.router.safemode.extension</name>
- <value>30s</value>
- <description>
- Time after startup that the Router is in safe mode. This setting
- supports multiple time unit suffixes as described in
- dfs.heartbeat.interval. If no suffix is specified then milliseconds is
- assumed.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.safemode.expiration</name>
- <value>3m</value>
- <description>
- Time without being able to reach the State Store to enter safe mode. This
- setting supports multiple time unit suffixes as described in
- dfs.heartbeat.interval. If no suffix is specified then milliseconds is
- assumed.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.safemode.checkperiod</name>
- <value>5s</value>
- <description>
- How often the Router should check safe mode. This
- setting supports multiple time unit suffixes as described in
- dfs.heartbeat.interval. If no suffix is specified then milliseconds is
- assumed.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.monitor.namenode</name>
- <value></value>
- <description>
- The identifier of the namenodes to monitor and heartbeat.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.monitor.namenode.nameservice.resolution-enabled</name>
- <value>false</value>
- <description>
- Determines if the given monitored namenode address is a domain name which needs to
- be resolved.
- This is used by router to resolve namenodes.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.monitor.namenode.nameservice.resolver.impl</name>
- <value></value>
- <description>
- Nameservice resolver implementation used by router.
- Effective with
- dfs.federation.router.monitor.namenode.nameservices.resolution-enabled on.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.monitor.localnamenode.enable</name>
- <value>true</value>
- <description>
- If true, the Router should monitor the namenode in the local machine.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.mount-table.max-cache-size</name>
- <value>10000</value>
- <description>
- Maximum number of mount table cache entries to have.
- By default, remove cache entries if we have more than 10k.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.mount-table.cache.enable</name>
- <value>true</value>
- <description>
- Set to true to enable mount table cache (Path to Remote Location cache).
- Disabling the cache is recommended when a large amount of unique paths are queried.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.quota.enable</name>
- <value>false</value>
- <description>
- Set to true to enable quota system in Router. When it's enabled, setting
- or clearing sub-cluster's quota directly is not recommended since Router
- Admin server will override sub-cluster's quota with global quota.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.quota-cache.update.interval</name>
- <value>60s</value>
- <description>
- Interval time for updating quota usage cache in Router.
- This property is used only if the value of
- dfs.federation.router.quota.enable is true.
- This setting supports multiple time unit suffixes as described
- in dfs.heartbeat.interval. If no suffix is specified then milliseconds
- is assumed.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.client.thread-size</name>
- <value>32</value>
- <description>
- Max threads size for the RouterClient to execute concurrent
- requests.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.client.retry.max.attempts</name>
- <value>3</value>
- <description>
- Max retry attempts for the RouterClient talking to the Router.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.client.reject.overload</name>
- <value>false</value>
- <description>
- Set to true to reject client requests when we run out of RPC client
- threads.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.client.allow-partial-listing</name>
- <value>true</value>
- <description>
- If the Router can return a partial list of files in a multi-destination mount point when one of the subclusters is unavailable.
- True may return a partial list of files if a subcluster is down.
- False will fail the request if one is unavailable.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.client.mount-status.time-out</name>
- <value>1s</value>
- <description>
- Set a timeout for the Router when listing folders containing mount
- points. In this process, the Router checks the mount table and then it
- checks permissions in the subcluster. After the time out, we return the
- default values.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.connect.max.retries.on.timeouts</name>
- <value>0</value>
- <description>
- Maximum number of retries for the IPC Client when connecting to the
- subclusters. By default, it doesn't let the IPC retry and the Router
- handles it.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.connect.timeout</name>
- <value>2s</value>
- <description>
- Time out for the IPC client connecting to the subclusters. This should be
- short as the Router has knowledge of the state of the Routers.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.keytab.file</name>
- <value></value>
- <description>
- The keytab file used by router to login as its
- service principal. The principal name is configured with
- dfs.federation.router.kerberos.principal.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.kerberos.principal</name>
- <value></value>
- <description>
- The Router service principal. This is typically set to
- router/_HOST@REALM.TLD. Each Router will substitute _HOST with its
- own fully qualified hostname at startup. The _HOST placeholder
- allows using the same configuration setting on both Router
- in an HA setup.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.kerberos.principal.hostname</name>
- <value></value>
- <description>
- Optional. The hostname for the Router containing this
- configuration file. Will be different for each machine.
- Defaults to current hostname.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.kerberos.internal.spnego.principal</name>
- <value>${dfs.web.authentication.kerberos.principal}</value>
- <description>
- The server principal used by the Router for web UI SPNEGO
- authentication when Kerberos security is enabled. This is
- typically set to HTTP/_HOST@REALM.TLD The SPNEGO server principal
- begins with the prefix HTTP/ by convention.
- If the value is '*', the web server will attempt to login with
- every principal specified in the keytab file
- dfs.web.authentication.kerberos.keytab.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.mount-table.cache.update</name>
- <value>false</value>
- <description>Set true to enable MountTableRefreshService. This service
- updates mount table cache immediately after adding, modifying or
- deleting the mount table entries. If this service is not enabled
- mount table cache are refreshed periodically by
- StateStoreCacheUpdateService
- </description>
- </property>
- <property>
- <name>dfs.federation.router.mount-table.cache.update.timeout</name>
- <value>1m</value>
- <description>This property defines how long to wait for all the
- admin servers to finish their mount table cache update. This setting
- supports multiple time unit suffixes as described in
- dfs.federation.router.safemode.extension.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.mount-table.cache.update.client.max.time
- </name>
- <value>5m</value>
- <description>Remote router mount table cache is updated through
- RouterClient(RPC call). To improve performance, RouterClient
- connections are cached but it should not be kept in cache forever.
- This property defines the max time a connection can be cached. This
- setting supports multiple time unit suffixes as described in
- dfs.federation.router.safemode.extension.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.secret.manager.class</name>
- <value>org.apache.hadoop.hdfs.server.federation.router.security.token.ZKDelegationTokenSecretManagerImpl</value>
- <description>
- Class to implement state store to delegation tokens.
- Default implementation uses zookeeper as the backend to store delegation tokens.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.top.num.token.realowners</name>
- <value>10</value>
- <description>
- The number of top real owners by tokens count to report in the JMX metrics.
- Real owners are the effective users whose cretential are used to generate
- the tokens.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.fairness.policy.controller.class</name>
- <value>org.apache.hadoop.hdfs.server.federation.fairness.NoRouterRpcFairnessPolicyController</value>
- <description>
- No fairness policy handler by default, for fairness
- StaticFairnessPolicyController should be configured.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.fairness.handler.count.EXAMPLENAMESERVICE</name>
- <value></value>
- <description>
- Dedicated handler count for nameservice EXAMPLENAMESERVICE. The handler
- (configed by dfs.federation.router.handler.count)resource is controlled
- internally by Semaphore permits. Two requirements have to be satisfied.
- 1) all downstream nameservices need this config otherwise no permit will
- be given thus not proxy will happen. 2) if a special *concurrent*
- nameservice is specified, the sum of all configured values is smaller or
- equal to the total number of router handlers; if the special *concurrent*
- is not specified, the sum of all configured values must be strictly
- smaller than the router handlers thus the left will be allocated to the
- concurrent calls.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.fairness.acquire.timeout</name>
- <value>1s</value>
- <description>
- The maximum time to wait for a permit.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.fairness.handler.proportion.EXAMPLENAMESERVICE</name>
- <value>0.1</value>
- <description>
- Dedicated handler proportion for nameservice EXAMPLENAMESERVICE.
- The range of this value is [0, 1], and the data type is float.
- If this value is configured as x, and the total number of handlers
- (configed by dfs.federation.router.handler.count) of the router is y,
- then the maximum number of handlers for the EXAMPLENAMESERVICE is z=(int) x*y;
- If z is 0, z is reset to 1, ensuring the ns has at least one handler.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.federation.rename.bandwidth</name>
- <value>10</value>
- <description>
- Specify bandwidth per map in MB.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.federation.rename.map</name>
- <value>10</value>
- <description>
- Max number of concurrent maps to use for copy.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.federation.rename.delay</name>
- <value>1000</value>
- <description>
- Specify the delayed duration(millie seconds) when the job needs to retry.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.federation.rename.diff</name>
- <value>0</value>
- <description>
- Specify the threshold of the diff entries that used in incremental copy
- stage.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.federation.rename.option</name>
- <value>NONE</value>
- <description>
- Specify the action when rename across namespaces. The option can be NONE
- and DISTCP.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.federation.rename.force.close.open.file</name>
- <value>true</value>
- <description>
- Force close all open files when there is no diff in the DIFF_DISTCP stage.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.federation.rename.trash</name>
- <value>trash</value>
- <description>
- This options has 3 values: trash (move the source path to trash), delete
- (delete the source path directly) and skip (skip both trash and deletion).
- </description>
- </property>
- <property>
- <name>dfs.federation.router.observer.read.default</name>
- <value>false</value>
- <description>
- Whether observer reads are enabled. This is a default for all nameservices.
- The default can be inverted for individual namespace by adding them to
- dfs.federation.router.observer.read.overrides.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.observer.read.overrides</name>
- <value/>
- <description>
- Commas separated list of namespaces for which to invert the default configuration,
- dfs.federation.router.observer.read.default, for whether to enable observer reads.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.observer.federated.state.propagation.maxsize</name>
- <value>5</value>
- <description>
- The maximum size of the federated state to send in the RPC header. Sending the federated
- state removes the need to msync on every read call, but at the expense of having a larger
- header. The cost tradeoff between the larger header and always msync'ing depends on the number
- of namespaces in use and the latency of the msync requests.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.observer.state.id.refresh.period</name>
- <value>15s</value>
- <description>
- Period to refresh namespace stateID using active namenode. This ensures the
- namespace stateID is refresh even when an observer is trailing behind.
- If this is below 0, the auto-refresh is disabled.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.store.driver.file.async.threads</name>
- <value>0</value>
- <description>
- Max threads used by StateStoreFileImpl to access state store files concurrently.
- The only class currently being supported:
- org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreFileImpl.
- Default value is 0, which means StateStoreFileImpl would work in sync mode, meaning it
- would access one file at a time.
- Use positive integer value to enable concurrent files access.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.store.driver.fs.async.threads</name>
- <value>0</value>
- <description>
- Max threads used by StateStoreFileSystemImpl to access state store files from the given
- filesystem concurrently.
- The only class currently being supported:
- org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreFileSystemImpl.
- Default value is 0, which means StateStoreFileSystemImpl would work in sync mode, meaning it
- would access one file from the filesystem at a time.
- Use positive integer value to enable concurrent files access from the given filesystem.
- </description>
- </property>
- <property>
- <name>dfs.federation.router.heartbeat.with.ip.enable</name>
- <description>
- Make router use IP instead of host when communicating with router state state store.
- </description>
- <value>false</value>
- </property>
- </configuration>
|