| <?xml version="1.0" encoding="UTF-8"?> |
| <?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 ozone-site.xml and change them --> |
| <!-- there. If ozone-site.xml does not already exist, create it. --> |
| |
| <!--Tags supported are OZONE, CBLOCK, MANAGEMENT, SECURITY, PERFORMANCE, --> |
| <!--DEBUG, CLIENT, SERVER, OM, SCM, CRITICAL, RATIS, CONTAINER, REQUIRED, --> |
| <!--REST, STORAGE, PIPELINE, STANDALONE --> |
| |
| <configuration> |
| |
| <!--Container Settings used by Datanode--> |
| <property> |
| <name>ozone.container.cache.size</name> |
| <value>1024</value> |
| <tag>PERFORMANCE, CONTAINER, STORAGE</tag> |
| <description>The open container is cached on the data node side. We maintain |
| an LRU |
| cache for caching the recently used containers. This setting controls the |
| size of that cache. |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.ipc</name> |
| <value>9859</value> |
| <tag>OZONE, CONTAINER, MANAGEMENT</tag> |
| <description>The ipc port number of container.</description> |
| </property> |
| <property> |
| <name>dfs.container.ipc.random.port</name> |
| <value>false</value> |
| <tag>OZONE, DEBUG, CONTAINER</tag> |
| <description>Allocates a random free port for ozone container. This is used |
| only while |
| running unit tests. |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.chunk.write.sync</name> |
| <value>false</value> |
| <tag>OZONE, CONTAINER, MANAGEMENT</tag> |
| <description>Determines whether the chunk writes in the container happen as |
| sync I/0 or buffered I/O operation. |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.statemachinedata.sync.timeout</name> |
| <value>10s</value> |
| <tag>OZONE, DEBUG, CONTAINER, RATIS</tag> |
| <description>Timeout for StateMachine data writes by Ratis. |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.statemachinedata.sync.retries</name> |
| <value>-1</value> |
| <tag>OZONE, DEBUG, CONTAINER, RATIS</tag> |
| <description>Number of times the WriteStateMachineData op will be tried |
| before failing, if this value is -1, then this retries indefinitely. |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.log.queue.num-elements</name> |
| <value>1024</value> |
| <tag>OZONE, DEBUG, CONTAINER, RATIS</tag> |
| <description>Limit for the number of operations in Ratis Log Worker. |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.log.queue.byte-limit</name> |
| <value>4GB</value> |
| <tag>OZONE, DEBUG, CONTAINER, RATIS</tag> |
| <description>Byte limit for Ratis Log Worker queue. |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.log.appender.queue.num-elements</name> |
| <value>1</value> |
| <tag>OZONE, DEBUG, CONTAINER, RATIS</tag> |
| <description>Limit for number of append entries in ratis leader's |
| log appender queue. |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.log.appender.queue.byte-limit</name> |
| <value>32MB</value> |
| <tag>OZONE, DEBUG, CONTAINER, RATIS</tag> |
| <description>Byte limit for ratis leader's log appender queue. |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.log.purge.gap</name> |
| <value>1000000</value> |
| <tag>OZONE, DEBUG, CONTAINER, RATIS</tag> |
| <description>Purge gap between the last purged commit index |
| and the current index, when the leader decides to purge its log. |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.datanode.storage.dir</name> |
| <value/> |
| <tag>OZONE, CONTAINER, STORAGE, MANAGEMENT, RATIS</tag> |
| <description>This directory is used for storing Ratis metadata like logs. If |
| this is |
| not set then default metadata dirs is used. A warning will be logged if |
| this not set. Ideally, this should be mapped to a fast disk like an SSD. |
| </description> |
| </property> |
| <property> |
| <name>hdds.datanode.dir</name> |
| <value/> |
| <tag>OZONE, CONTAINER, STORAGE, MANAGEMENT</tag> |
| <description>Determines where on the local filesystem HDDS data will be |
| stored. Defaults to dfs.datanode.data.dir if not specified. |
| The directories should be tagged with corresponding storage types |
| ([SSD]/[DISK]/[ARCHIVE]/[RAM_DISK]) for storage policies. The default |
| storage type will be DISK if the directory does not have a storage type |
| tagged explicitly. |
| </description> |
| </property> |
| <property> |
| <name>hdds.datanode.volume.choosing.policy</name> |
| <value/> |
| <tag>OZONE, CONTAINER, STORAGE, MANAGEMENT</tag> |
| <description> |
| The class name of the policy for choosing volumes in the list of |
| directories. Defaults to |
| org.apache.hadoop.ozone.container.common.volume.RoundRobinVolumeChoosingPolicy. |
| This volume choosing policy selects volumes in a round-robin order. |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.enabled</name> |
| <value>false</value> |
| <tag>OZONE, MANAGEMENT, PIPELINE, RATIS</tag> |
| <description>Ozone supports different kinds of replication pipelines. Ratis |
| is one of |
| the replication pipeline supported by ozone. |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.ipc</name> |
| <value>9858</value> |
| <tag>OZONE, CONTAINER, PIPELINE, RATIS, MANAGEMENT</tag> |
| <description>The ipc port number of container.</description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.ipc.random.port</name> |
| <value>false</value> |
| <tag>OZONE,DEBUG</tag> |
| <description>Allocates a random free port for ozone ratis port for the |
| container. This |
| is used only while running unit tests. |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.rpc.type</name> |
| <value>GRPC</value> |
| <tag>OZONE, RATIS, MANAGEMENT</tag> |
| <description>Ratis supports different kinds of transports like netty, GRPC, |
| Hadoop RPC |
| etc. This picks one of those for this cluster. |
| </description> |
| </property> |
| <property> |
| <name>dfs.ratis.snapshot.threshold</name> |
| <value>10000</value> |
| <tag>OZONE, RATIS</tag> |
| <description>Number of transactions after which a ratis snapshot should be |
| taken. |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.statemachine.max.pending.apply-transactions</name> |
| <value>10000</value> |
| <tag>OZONE, RATIS</tag> |
| <description>Maximum number of pending apply transactions in a data |
| pipeline. The default value is kept same as default snapshot threshold |
| dfs.ratis.snapshot.threshold. |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.num.write.chunk.threads</name> |
| <value>60</value> |
| <tag>OZONE, RATIS, PERFORMANCE</tag> |
| <description>Maximum number of threads in the thread pool that Ratis |
| will use for writing chunks (60 by default). |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.replication.level</name> |
| <value>MAJORITY</value> |
| <tag>OZONE, RATIS</tag> |
| <description>Replication level to be used by datanode for submitting a |
| container command to ratis. Available replication levels are ALL and |
| MAJORTIY, MAJORITY is used as the default replication level. |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.num.container.op.executors</name> |
| <value>10</value> |
| <tag>OZONE, RATIS, PERFORMANCE</tag> |
| <description>Number of executors that will be used by Ratis to execute |
| container ops.(10 by default). |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.segment.size</name> |
| <value>1MB</value> |
| <tag>OZONE, RATIS, PERFORMANCE</tag> |
| <description>The size of the raft segment used by Apache Ratis on datanodes. |
| (1 MB by default) |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.segment.preallocated.size</name> |
| <value>16KB</value> |
| <tag>OZONE, RATIS, PERFORMANCE</tag> |
| <description>The size of the buffer which is preallocated for raft segment |
| used by Apache Ratis on datanodes.(16 KB by default) |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.statemachine.cache.expiry.interval</name> |
| <value>10s</value> |
| <tag>OZONE, RATIS, PERFORMANCE</tag> |
| <description>The interval till which the stateMachine data in ratis |
| will be cached inside the ContainerStateMachine. |
| </description> |
| </property> |
| <property> |
| <name>dfs.ratis.client.request.timeout.duration</name> |
| <value>3s</value> |
| <tag>OZONE, RATIS, MANAGEMENT</tag> |
| <description>The timeout duration for ratis client request.It should be |
| set greater than leader election timeout in Ratis. |
| </description> |
| </property> |
| <property> |
| <name>dfs.ratis.client.request.max.retries</name> |
| <value>180</value> |
| <tag>OZONE, RATIS, MANAGEMENT</tag> |
| <description>Number of retries for ratis client request.</description> |
| </property> |
| <property> |
| <name>dfs.ratis.client.request.retry.interval</name> |
| <value>1000ms</value> |
| <tag>OZONE, RATIS, MANAGEMENT</tag> |
| <description>Interval between successive retries for a ratis client request. |
| </description> |
| </property> |
| <property> |
| <name>dfs.ratis.server.retry-cache.timeout.duration</name> |
| <value>600000ms</value> |
| <tag>OZONE, RATIS, MANAGEMENT</tag> |
| <description>Retry Cache entry timeout for ratis server.</description> |
| </property> |
| <property> |
| <name>dfs.ratis.server.request.timeout.duration</name> |
| <value>3s</value> |
| <tag>OZONE, RATIS, MANAGEMENT</tag> |
| <description>The timeout duration for ratis server request.</description> |
| </property> |
| <property> |
| <name>dfs.ratis.leader.election.minimum.timeout.duration</name> |
| <value>5s</value> |
| <tag>OZONE, RATIS, MANAGEMENT</tag> |
| <description>The minimum timeout duration for ratis leader election. |
| Default is 5s. |
| </description> |
| </property> |
| <property> |
| <name>dfs.ratis.server.failure.duration</name> |
| <value>120s</value> |
| <tag>OZONE, RATIS, MANAGEMENT</tag> |
| <description>The timeout duration for ratis server failure detection, |
| once the threshold has reached, the ratis state machine will be informed |
| about the failure in the ratis ring |
| </description> |
| </property> |
| <property> |
| <name>hdds.node.report.interval</name> |
| <value>60000ms</value> |
| <tag>OZONE, CONTAINER, MANAGEMENT</tag> |
| <description>Time interval of the datanode to send node report. Each |
| datanode periodically send node report to SCM. Unit could be |
| defined with postfix (ns,ms,s,m,h,d)</description> |
| </property> |
| <property> |
| <name>hdds.container.report.interval</name> |
| <value>60000ms</value> |
| <tag>OZONE, CONTAINER, MANAGEMENT</tag> |
| <description>Time interval of the datanode to send container report. Each |
| datanode periodically send container report to SCM. Unit could be |
| defined with postfix (ns,ms,s,m,h,d)</description> |
| </property> |
| <property> |
| <name>hdds.command.status.report.interval</name> |
| <value>60000ms</value> |
| <tag>OZONE, CONTAINER, MANAGEMENT</tag> |
| <description>Time interval of the datanode to send status of command |
| execution. Each datanode periodically the execution status of commands |
| received from SCM to SCM. Unit could be defined with postfix |
| (ns,ms,s,m,h,d)</description> |
| </property> |
| <property> |
| <name>hdds.pipeline.report.interval</name> |
| <value>60000ms</value> |
| <tag>OZONE, PIPELINE, MANAGEMENT</tag> |
| <description>Time interval of the datanode to send pipeline report. Each |
| datanode periodically send pipeline report to SCM. Unit could be |
| defined with postfix (ns,ms,s,m,h,d)</description> |
| </property> |
| |
| |
| <property> |
| <name>hdds.prometheus.endpoint.enabled</name> |
| <value>true</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description>Enable prometheus compatible metric page on the HTTP |
| servers. |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.profiler.endpoint.enabled</name> |
| <value>false</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description>Enable /prof java profiler servlet page on HTTP server. |
| </description> |
| </property> |
| |
| <!--Ozone Settings--> |
| <property> |
| <name>ozone.administrators</name> |
| <value/> |
| <tag>OZONE, SECURITY</tag> |
| <description>Ozone administrator users delimited by the comma. |
| If not set, only the user who launches an ozone service will be the admin |
| user. This property must be set if ozone services are started by different |
| users. Otherwise, the RPC layer will reject calls from other servers which |
| are started by users not in the list. |
| </description> |
| </property> |
| <property> |
| <name>ozone.block.deleting.container.limit.per.interval</name> |
| <value>10</value> |
| <tag>OZONE, PERFORMANCE, SCM</tag> |
| <description>A maximum number of containers to be scanned by block deleting |
| service per |
| time interval. The block deleting service spawns a thread to handle block |
| deletions in a container. This property is used to throttle the number of |
| threads spawned for block deletions. |
| </description> |
| </property> |
| <property> |
| <name>ozone.block.deleting.limit.per.task</name> |
| <value>1000</value> |
| <tag>OZONE, PERFORMANCE, SCM</tag> |
| <description>A maximum number of blocks to be deleted by block deleting |
| service per |
| time interval. This property is used to throttle the actual number of |
| block deletions on a data node per container. |
| </description> |
| </property> |
| <property> |
| <name>ozone.block.deleting.service.interval</name> |
| <value>1m</value> |
| <tag>OZONE, PERFORMANCE, SCM</tag> |
| <description>Time interval of the block deleting service. |
| The block deleting service runs on each datanode periodically and |
| deletes blocks queued for deletion. Unit could be defined with |
| postfix (ns,ms,s,m,h,d) |
| </description> |
| </property> |
| <property> |
| <name>ozone.block.deleting.service.timeout</name> |
| <value>300000ms</value> |
| <tag>OZONE, PERFORMANCE, SCM</tag> |
| <description>A timeout value of block deletion service. If this is set |
| greater than 0, |
| the service will stop waiting for the block deleting completion after this |
| time. If timeout happens to a large proportion of block deletion, this |
| needs to be increased with ozone.block.deleting.limit.per.task. 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>ozone.UnsafeByteOperations.enabled</name> |
| <value>true</value> |
| <tag>OZONE, PERFORMANCE, CLIENT</tag> |
| <description>It specifies whether to use unsafe or safe buffer to byteString |
| copy. |
| </description> |
| </property> |
| <property> |
| <name>ozone.client.connection.timeout</name> |
| <value>5000ms</value> |
| <tag>OZONE, PERFORMANCE, CLIENT</tag> |
| <description>Connection timeout for Ozone client in milliseconds. |
| </description> |
| </property> |
| <property> |
| <name>ozone.client.stream.buffer.flush.size</name> |
| <value>64MB</value> |
| <tag>OZONE, CLIENT</tag> |
| <description>Size which determines at what buffer position , a partial |
| flush will be initiated during write. It should be ideally a multiple |
| of chunkSize. |
| </description> |
| </property> |
| <property> |
| <name>ozone.client.stream.buffer.max.size</name> |
| <value>128MB</value> |
| <tag>OZONE, CLIENT</tag> |
| <description>Size which determines at what buffer position, |
| write call be blocked till acknowledgement of the first partial flush |
| happens by all servers. |
| </description> |
| </property> |
| <property> |
| <name>ozone.client.watch.request.timeout</name> |
| <value>30s</value> |
| <tag>OZONE, CLIENT</tag> |
| <description>Timeout for the watch API in Ratis client to acknowledge |
| a particular request getting replayed to all servers. |
| </description> |
| </property> |
| <property> |
| <name>ozone.client.max.retries</name> |
| <value>100</value> |
| <tag>OZONE, CLIENT</tag> |
| <description>Maximum number of retries by Ozone Client on encountering |
| exception while writing a key. |
| </description> |
| </property> |
| <property> |
| <name>ozone.client.retry.interval</name> |
| <value>0ms</value> |
| <tag>OZONE, CLIENT</tag> |
| <description>Indicates the time duration a client will wait before |
| retrying a write key request on encountering an exception. By default |
| there is no wait. |
| </description> |
| </property> |
| <property> |
| <name>ozone.client.socket.timeout</name> |
| <value>5000ms</value> |
| <tag>OZONE, CLIENT</tag> |
| <description>Socket timeout for Ozone client. Unit could be defined with |
| postfix (ns,ms,s,m,h,d)</description> |
| </property> |
| <property> |
| <name>ozone.enabled</name> |
| <value>false</value> |
| <tag>OZONE, REQUIRED</tag> |
| <description> |
| Status of the Ozone Object Storage service is enabled. |
| Set to true to enable Ozone. |
| Set to false to disable Ozone. |
| Unless this value is set to true, Ozone services will not be started in |
| the cluster. |
| |
| Please note: By default ozone is disabled on a hadoop cluster. |
| </description> |
| </property> |
| <property> |
| <name>ozone.key.deleting.limit.per.task</name> |
| <value>1000</value> |
| <tag>OM, PERFORMANCE</tag> |
| <description> |
| A maximum number of keys to be scanned by key deleting service |
| per time interval in OM. Those keys are sent to delete metadata and |
| generate transactions in SCM for next async deletion between SCM |
| and DataNode. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.service.ids</name> |
| <value></value> |
| <tag>OM, HA</tag> |
| <description> |
| Comma-separated list of OM service Ids. |
| |
| If not set, the default value of "om-service-value" is assigned as the |
| OM service ID. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.nodes.EXAMPLEOMSERVICEID</name> |
| <value></value> |
| <tag>OM, HA</tag> |
| <description> |
| Comma-separated list of OM node Ids for a given OM service ID (eg. |
| EXAMPLEOMSERVICEID). The OM service ID should be the value (one of the |
| values if there are multiple) set for the parameter ozone.om.service.ids. |
| |
| Unique identifiers for each OM Node, delimited by commas. This will be |
| used by OzoneManagers in HA setup to determine all the OzoneManagers |
| belonging to the same OMservice in the cluster. For example, if you |
| used “omService1” as the OM service ID previously, and you wanted to |
| use “om1”, “om2” and "om3" as the individual IDs of the OzoneManagers, |
| you would configure a property ozone.om.nodes.omService1, and its value |
| "om1,om2,om3". |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.node.id</name> |
| <value></value> |
| <tag>OM, HA</tag> |
| <description> |
| The ID of this OM node. If the OM node ID is not configured it |
| is determined automatically by matching the local node's address |
| with the configured address. |
| |
| If node ID is not deterministic from the configuration, then it is set |
| to the OmId from the OM version file. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.address</name> |
| <value>0.0.0.0:9862</value> |
| <tag>OM, REQUIRED</tag> |
| <description> |
| The address of the Ozone OM service. This allows clients to discover |
| the address of the OM. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.handler.count.key</name> |
| <value>20</value> |
| <tag>OM, PERFORMANCE</tag> |
| <description> |
| The number of RPC handler threads for OM service endpoints. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.http-address</name> |
| <value>0.0.0.0:9874</value> |
| <tag>OM, MANAGEMENT</tag> |
| <description> |
| The address and the base port where the OM web UI will listen on. |
| |
| If the port is 0, then the server will start on a free port. However, it |
| is best to specify a well-known port, so it is easy to connect and see |
| the OM management UI. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.http-bind-host</name> |
| <value>0.0.0.0</value> |
| <tag>OM, MANAGEMENT</tag> |
| <description> |
| The actual address the OM web server will bind to. If this optional |
| the address is set, it overrides only the hostname portion of |
| ozone.om.http-address. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.http.enabled</name> |
| <value>true</value> |
| <tag>OM, MANAGEMENT</tag> |
| <description> |
| Property to enable or disable OM web user interface. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.https-address</name> |
| <value>0.0.0.0:9875</value> |
| <tag>OM, MANAGEMENT, SECURITY</tag> |
| <description> |
| The address and the base port where the OM web UI will listen |
| on using HTTPS. |
| If the port is 0 then the server will start on a free port. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.https-bind-host</name> |
| <value>0.0.0.0</value> |
| <tag>OM, MANAGEMENT, SECURITY</tag> |
| <description> |
| The actual address the OM web server will bind to using HTTPS. |
| If this optional address is set, it overrides only the hostname portion of |
| ozone.om.https-address. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.keytab.file</name> |
| <value/> |
| <tag>OM, SECURITY</tag> |
| <description> |
| The keytab file for Kerberos authentication in OM. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.db.cache.size.mb</name> |
| <value>128</value> |
| <tag>OM, PERFORMANCE</tag> |
| <description> |
| The size of OM DB cache in MB that used for caching files. |
| This value is set to an abnormally low value in the default configuration. |
| That is to make unit testing easy. Generally, this value should be set to |
| something like 16GB or more, if you intend to use Ozone at scale. |
| |
| A large value for this key allows a proportionally larger amount of OM |
| metadata to be cached in memory. This makes OM operations faster. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.user.max.volume</name> |
| <value>1024</value> |
| <tag>OM, MANAGEMENT</tag> |
| <description> |
| The maximum number of volumes a user can have on a cluster.Increasing or |
| decreasing this number has no real impact on ozone cluster. This is |
| defined only for operational purposes. Only an administrator can create a |
| volume, once a volume is created there are no restrictions on the number |
| of buckets or keys inside each bucket a user can create. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.db.dirs</name> |
| <value/> |
| <tag>OZONE, OM, STORAGE, PERFORMANCE</tag> |
| <description> |
| Directory where the OzoneManager stores its metadata. This should |
| be specified as a single directory. If the directory does not |
| exist then the OM will attempt to create it. |
| |
| If undefined, then the OM will log a warning and fallback to |
| ozone.metadata.dirs. This fallback approach is not recommended for |
| production environments. |
| </description> |
| </property> |
| <property> |
| <name>ozone.metadata.dirs</name> |
| <value/> |
| <tag>OZONE, OM, SCM, CONTAINER, STORAGE, REQUIRED</tag> |
| <description> |
| This setting is the fallback location for SCM, OM, Recon and DataNodes |
| to store their metadata. This setting may be used only in test/PoC |
| clusters to simplify configuration. |
| |
| For production clusters or any time you care about performance, it is |
| recommended that ozone.om.db.dirs, ozone.scm.db.dirs and |
| dfs.container.ratis.datanode.storage.dir be configured separately. |
| </description> |
| </property> |
| <property> |
| <name>ozone.metastore.impl</name> |
| <value>RocksDB</value> |
| <tag>OZONE, OM, SCM, CONTAINER, STORAGE</tag> |
| <description> |
| Ozone metadata store implementation. Ozone metadata are well |
| distributed to multiple services such as ozoneManager, scm. They are stored in |
| some local key-value databases. This property determines which database |
| library to use. Supported value is either LevelDB or RocksDB. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.metastore.rocksdb.statistics</name> |
| <value>OFF</value> |
| <tag>OZONE, OM, SCM, STORAGE, PERFORMANCE</tag> |
| <description> |
| The statistics level of the rocksdb store. If you use any value from |
| org.rocksdb.StatsLevel (eg. ALL or EXCEPT_DETAILED_TIMERS), the rocksdb |
| statistics will be exposed over JMX bean with the choosed setting. Set |
| it to OFF to not initialize rocksdb statistics at all. Please note that |
| collection of statistics could have 5-10% performance penalty. |
| Check the rocksdb documentation for more details. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.db.dirs</name> |
| <value/> |
| <tag>OZONE, SCM, STORAGE, PERFORMANCE</tag> |
| <description> |
| Directory where the StorageContainerManager stores its metadata. |
| This should be specified as a single directory. If the directory |
| does not exist then the SCM will attempt to create it. |
| |
| If undefined, then the SCM will log a warning and fallback to |
| ozone.metadata.dirs. This fallback approach is not recommended for |
| production environments. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.block.client.address</name> |
| <value/> |
| <tag>OZONE, SCM</tag> |
| <description>The address of the Ozone SCM block client service. If not |
| defined value of ozone.scm.client.address is used. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.block.client.bind.host</name> |
| <value>0.0.0.0</value> |
| <tag>OZONE, SCM</tag> |
| <description> |
| The hostname or IP address used by the SCM block client |
| endpoint to bind. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.block.client.port</name> |
| <value>9863</value> |
| <tag>OZONE, SCM</tag> |
| <description> |
| The port number of the Ozone SCM block client service. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.block.deletion.max.retry</name> |
| <value>4096</value> |
| <tag>OZONE, SCM</tag> |
| <description> |
| SCM wraps up many blocks in a deletion transaction and sends that to data |
| node for physical deletion periodically. This property determines how many |
| times SCM is going to retry sending a deletion operation to the data node. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.block.size</name> |
| <value>256MB</value> |
| <tag>OZONE, SCM</tag> |
| <description> |
| The default size of a scm block. This is maps to the default |
| Ozone block size. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.chunk.size</name> |
| <value>16MB</value> |
| <tag>OZONE, SCM, CONTAINER, PERFORMANCE</tag> |
| <description> |
| The chunk size for reading/writing chunk operations in bytes. |
| |
| The chunk size defaults to 8MB. If the value configured is more than the |
| maximum size (16MB), it will be reset to the maximum size. This maps to |
| the network packet sizes and file write operations in the client to |
| datanode protocol. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.client.address</name> |
| <value/> |
| <tag>OZONE, SCM, REQUIRED</tag> |
| <description> |
| The address of the Ozone SCM client service. This is a required setting. |
| |
| It is a string in the host:port format. The port number is optional |
| and defaults to 9860. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.client.bind.host</name> |
| <value>0.0.0.0</value> |
| <tag>OZONE, SCM, MANAGEMENT</tag> |
| <description>The hostname or IP address used by the SCM client endpoint to |
| bind. |
| This setting is used by the SCM only and never used by clients. |
| |
| The setting can be useful in multi-homed setups to restrict the |
| availability of the SCM client service to a specific interface. |
| |
| The default is appropriate for most clusters. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.client.port</name> |
| <value>9860</value> |
| <tag>OZONE, SCM, MANAGEMENT</tag> |
| <description>The port number of the Ozone SCM client service.</description> |
| </property> |
| <property> |
| <name>ozone.scm.keyvalue.container.deletion-choosing.policy</name> |
| <value> |
| org.apache.hadoop.ozone.container.common.impl.TopNOrderedContainerDeletionChoosingPolicy |
| </value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| The policy used for choosing desired keyvalue containers for block deletion. |
| Datanode selects some containers to process block deletion |
| in a certain interval defined by ozone.block.deleting.service.interval. |
| The number of containers to process in each interval is defined |
| by ozone.block.deleting.container.limit.per.interval. This property is |
| used to configure the policy applied while selecting containers. |
| There are two policies supporting now: |
| RandomContainerDeletionChoosingPolicy and |
| TopNOrderedContainerDeletionChoosingPolicy. |
| org.apache.hadoop.ozone.container.common.impl.RandomContainerDeletionChoosingPolicy |
| implements a simply random policy that to return a random list of |
| containers. |
| org.apache.hadoop.ozone.container.common.impl.TopNOrderedContainerDeletionChoosingPolicy |
| implements a policy that choosing top count number of containers in a |
| pending-deletion-blocks's num |
| based descending order. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.container.placement.impl</name> |
| <value> |
| org.apache.hadoop.hdds.scm.container.placement.algorithms.SCMContainerPlacementRandom |
| </value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| The full name of class which implements |
| org.apache.hadoop.hdds.scm.PlacementPolicy. |
| The class decides which datanode will be used to host the container replica. If not set, |
| org.apache.hadoop.hdds.scm.container.placement.algorithms.SCMContainerPlacementRandom will be used as default |
| value. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.pipeline.owner.container.count</name> |
| <value>3</value> |
| <tag>OZONE, SCM, PIPELINE</tag> |
| <description>Number of containers per owner in a pipeline. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.datanode.max.pipeline.engagement</name> |
| <value>5</value> |
| <tag>OZONE, SCM, PIPELINE</tag> |
| <description>Max number of pipelines per datanode can be engaged in. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.container.size</name> |
| <value>5GB</value> |
| <tag>OZONE, PERFORMANCE, MANAGEMENT</tag> |
| <description> |
| Default container size used by Ozone. |
| There are two considerations while picking this number. The speed at which |
| a container can be replicated, determined by the network speed and the |
| metadata that each container generates. So selecting a large number |
| creates less SCM metadata, but recovery time will be more. 5GB is a number |
| that maps to quick replication times in gigabit networks, but still |
| balances the amount of metadata. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.datanode.address</name> |
| <value/> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| The address of the Ozone SCM service used for internal |
| communication between the DataNodes and the SCM. |
| |
| It is a string in the host:port format. The port number is optional |
| and defaults to 9861. |
| |
| This setting is optional. If unspecified then the hostname portion |
| is picked from the ozone.scm.client.address setting and the |
| default service port of 9861 is chosen. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.datanode.bind.host</name> |
| <value/> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| The hostname or IP address used by the SCM service endpoint to |
| bind. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.datanode.id.dir</name> |
| <value/> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description>The path that datanodes will use to store the datanode ID. |
| If this value is not set, then datanode ID is created under the |
| metadata directory. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.datanode.port</name> |
| <value>9861</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| The port number of the Ozone SCM service. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.db.cache.size.mb</name> |
| <value>128</value> |
| <tag>OZONE, PERFORMANCE</tag> |
| <description>SCM keeps track of the Containers in the cluster. This DB holds |
| the container metadata. This value is set to a small value to make the |
| unit |
| testing runs smooth. In production, we recommend a value of 16GB or |
| higher. This allows SCM to avoid disk I/O's while looking up the container |
| location. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.dead.node.interval</name> |
| <value>10m</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| The interval between heartbeats before a node is tagged as dead. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.handler.count.key</name> |
| <value>10</value> |
| <tag>OZONE, MANAGEMENT, PERFORMANCE</tag> |
| <description> |
| The number of RPC handler threads for each SCM service |
| endpoint. |
| |
| The default is appropriate for small clusters (tens of nodes). |
| |
| Set a value that is appropriate for the cluster size. Generally, HDFS |
| recommends RPC handler count is set to 20 * log2(Cluster Size) with an |
| upper limit of 200. However, SCM will not have the same amount of |
| traffic as Namenode, so a value much smaller than that will work well too. |
| </description> |
| </property> |
| <property> |
| <name>hdds.heartbeat.interval</name> |
| <value>30s</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| The heartbeat interval from a data node to SCM. Yes, |
| it is not three but 30, since most data nodes will heart beating via Ratis |
| heartbeats. If a client is not able to talk to a data node, it will notify |
| OM/SCM eventually. So a 30 second HB seems to work. This assumes that |
| replication strategy used is Ratis if not, this value should be set to |
| something smaller like 3 seconds. |
| ozone.scm.pipeline.close.timeout should also be adjusted accordingly, |
| if the default value for this config is not used. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.heartbeat.log.warn.interval.count</name> |
| <value>10</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| Defines how frequently we will log the missing of a heartbeat to SCM. |
| For example in the default case, we will write a warning message for each |
| ten consecutive heartbeats that we miss to SCM. This helps in reducing |
| clutter in a data node log, but trade off is that logs will have less of |
| this statement. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.heartbeat.rpc-timeout</name> |
| <value>1s</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| Timeout value for the RPC from Datanode to SCM. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.heartbeat.thread.interval</name> |
| <value>3s</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| When a heartbeat from the data node arrives on SCM, It is queued for |
| processing with the time stamp of when the heartbeat arrived. There is a |
| heartbeat processing thread inside SCM that runs at a specified interval. |
| This value controls how frequently this thread is run. |
| |
| There are some assumptions build into SCM such as this value should allow |
| the heartbeat processing thread to run at least three times more |
| frequently than heartbeats and at least five times more than stale node |
| detection time. If you specify a wrong value, SCM will gracefully refuse |
| to run. For more info look at the node manager tests in SCM. |
| |
| In short, you don't need to change this. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.http-address</name> |
| <value>0.0.0.0:9876</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| The address and the base port where the SCM web ui will listen on. |
| |
| If the port is 0 then the server will start on a free port. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.http-bind-host</name> |
| <value>0.0.0.0</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| The actual address the SCM web server will bind to. If this |
| optional address is set, it overrides only the hostname portion of |
| ozone.scm.http-address. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.http.enabled</name> |
| <value>true</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| Property to enable or disable SCM web ui. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.https-address</name> |
| <value>0.0.0.0:9877</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| The address and the base port where the SCM web UI will listen |
| on using HTTPS. |
| |
| If the port is 0 then the server will start on a free port. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.https-bind-host</name> |
| <value>0.0.0.0</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| The actual address the SCM web server will bind to using HTTPS. |
| If this optional address is set, it overrides only the hostname portion of |
| ozone.scm.https-address. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.names</name> |
| <value/> |
| <tag>OZONE, REQUIRED</tag> |
| <description> |
| The value of this property is a set of DNS | DNS:PORT | IP |
| Address | IP:PORT. Written as a comma separated string. e.g. scm1, |
| scm2:8020, 7.7.7.7:7777. |
| This property allows datanodes to discover where SCM is, so that |
| datanodes can send heartbeat to SCM. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.stale.node.interval</name> |
| <value>5m</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| The interval for stale node flagging. Please |
| see ozone.scm.heartbeat.thread.interval before changing this value. |
| </description> |
| </property> |
| <property> |
| <name>ozone.trace.enabled</name> |
| <value>false</value> |
| <tag>OZONE, DEBUG</tag> |
| <description> |
| Setting this flag to true dumps the HTTP request/ response in |
| the logs. Very useful when debugging REST protocol. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.scm.container.creation.lease.timeout</name> |
| <value>60s</value> |
| <tag>OZONE, SCM</tag> |
| <description> |
| Container creation timeout in milliseconds to be used by SCM. When |
| BEGIN_CREATE event happens the container is moved from ALLOCATED to |
| CREATING state, SCM will now wait for the configured amount of time |
| to get COMPLETE_CREATE event if it doesn't receive it will move the |
| container to DELETING. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.key.preallocation.max.blocks</name> |
| <value>64</value> |
| <tag>OZONE, OM, PERFORMANCE</tag> |
| <description> |
| While allocating blocks from OM, this configuration limits the maximum |
| number of blocks being allocated. This configuration ensures that the |
| allocated block response do not exceed rpc payload limit. If client needs |
| more space for the write, separate block allocation requests will be made. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.client.list.cache</name> |
| <value>1000</value> |
| <tag>OZONE, PERFORMANCE</tag> |
| <description> |
| Configuration property to configure the cache size of client list calls. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.replication</name> |
| <value>3</value> |
| <tag>OZONE, CLIENT</tag> |
| <description> |
| Default replication value. The actual number of replications can be |
| specified when writing the key. The default is used if replication |
| is not specified. Supported values: 1 and 3. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.replication.type</name> |
| <value>RATIS</value> |
| <tag>OZONE, CLIENT</tag> |
| <description> |
| Default replication type to be used while writing key into ozone. The |
| value can be specified when writing the key, default is used when |
| nothing is specified. Supported values: RATIS, STAND_ALONE and CHAINED. |
| </description> |
| </property> |
| <property> |
| <name>hdds.container.close.threshold</name> |
| <value>0.9f</value> |
| <tag>OZONE, DATANODE</tag> |
| <description> |
| This determines the threshold to be used for closing a container. |
| When the container used percentage reaches this threshold, |
| the container will be closed. Value should be a positive, non-zero |
| percentage in float notation (X.Yf), with 1.0f meaning 100%. |
| </description> |
| </property> |
| <property> |
| <name>ozone.rest.client.http.connection.max</name> |
| <value>100</value> |
| <tag>OZONE, CLIENT</tag> |
| <description> |
| This defines the overall connection limit for the connection pool used in |
| RestClient. |
| </description> |
| </property> |
| <property> |
| <name>ozone.rest.client.http.connection.per-route.max</name> |
| <value>20</value> |
| <tag>OZONE, CLIENT</tag> |
| <description> |
| This defines the connection limit per one HTTP route/host. Total max |
| connection is limited by ozone.rest.client.http.connection.max property. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.open.key.cleanup.service.interval.seconds</name> |
| <value>86400</value> |
| <tag>OZONE, OM, PERFORMANCE</tag> |
| <description> |
| A background job periodically checks open key entries and delete the expired ones. This entry controls the |
| interval of this cleanup check. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.open.key.expire.threshold</name> |
| <value>86400</value> |
| <tag>OZONE, OM, PERFORMANCE</tag> |
| <description> |
| Controls how long an open key operation is considered active. Specifically, if a key |
| has been open longer than the value of this config entry, that open key is considered as |
| expired (e.g. due to client crash). Default to 24 hours. |
| </description> |
| </property> |
| |
| <property> |
| <name>hadoop.tags.custom</name> |
| <value>OZONE,MANAGEMENT,SECURITY,PERFORMANCE,DEBUG,CLIENT,SERVER,OM,SCM, |
| CRITICAL,RATIS,CONTAINER,REQUIRED,REST,STORAGE,PIPELINE,STANDALONE,S3GATEWAY,RECON</value> |
| </property> |
| |
| <property> |
| <name>ozone.tags.system</name> |
| <value>OZONE,MANAGEMENT,SECURITY,PERFORMANCE,DEBUG,CLIENT,SERVER,OM,SCM, |
| CRITICAL,RATIS,CONTAINER,REQUIRED,REST,STORAGE,PIPELINE,STANDALONE,S3GATEWAY,TOKEN,TLS,RECON</value> |
| </property> |
| |
| |
| <property> |
| <name>hdds.rest.rest-csrf.enabled</name> |
| <value>false</value> |
| <description> |
| If true, then enables Object Store REST server protection against |
| cross-site request forgery (CSRF). |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.rest.http-address</name> |
| <value>0.0.0.0:9880</value> |
| <description>The http address of Object Store REST server inside the |
| datanode.</description> |
| </property> |
| |
| |
| <property> |
| <name>hdds.rest.netty.high.watermark</name> |
| <value>65535</value> |
| <description> |
| High watermark configuration to Netty for Object Store REST server. |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.rest.netty.low.watermark</name> |
| <value>32768</value> |
| <description> |
| Low watermark configuration to Netty for Object Store REST server. |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.datanode.plugins</name> |
| <value></value> |
| <description> |
| Comma-separated list of HDDS datanode plug-ins to be activated when |
| HDDS service starts as part of datanode. |
| </description> |
| </property> |
| <property> |
| <name>hdds.datanode.storage.utilization.warning.threshold</name> |
| <value>0.75</value> |
| <tag>OZONE, SCM, MANAGEMENT</tag> |
| <description> |
| If a datanode overall storage utilization exceeds more than this |
| value, a warning will be logged while processing the nodeReport in SCM. |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.datanode.storage.utilization.critical.threshold</name> |
| <value>0.95</value> |
| <tag>OZONE, SCM, MANAGEMENT</tag> |
| <description> |
| If a datanode overall storage utilization exceeds more than this |
| value, the datanode will be marked out of space. |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.command.status.report.interval</name> |
| <value>30s</value> |
| <tag>OZONE, DATANODE, MANAGEMENT</tag> |
| <description>Time interval of the datanode to send status of commands |
| executed since last report. Unit could be defined with |
| postfix (ns,ms,s,m,h,d)</description> |
| </property> |
| <property> |
| <name>ozone.scm.pipeline.destroy.timeout</name> |
| <value>66s</value> |
| <tag>OZONE, SCM, PIPELINE</tag> |
| <description> |
| Once a pipeline is closed, SCM should wait for the above configured time |
| before destroying a pipeline. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.pipeline.creation.interval</name> |
| <value>120s</value> |
| <tag>OZONE, SCM, PIPELINE</tag> |
| <description> |
| SCM schedules a fixed interval job using the configured interval to |
| create pipelines. |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.scm.safemode.threshold.pct</name> |
| <value>0.99</value> |
| <tag>HDDS,SCM,OPERATION</tag> |
| <description> % of containers which should have at least one |
| reported replica before SCM comes out of safe mode. |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.scm.wait.time.after.safemode.exit</name> |
| <value>5m</value> |
| <tag>HDDS,SCM,OPERATION</tag> |
| <description> After exiting safemode, wait for configured interval of |
| time to start replication monitor and cleanup activities of unhealthy |
| pipelines. |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.scm.safemode.enabled</name> |
| <value>true</value> |
| <tag>HDDS,SCM,OPERATION</tag> |
| <description>Boolean value to enable or disable SCM safe mode. |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.scm.safemode.min.datanode</name> |
| <value>1</value> |
| <tag>HDDS,SCM,OPERATION</tag> |
| <description>Minimum DataNodes which should be registered to get SCM out of |
| safe mode. |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.scm.safemode.pipeline-availability.check</name> |
| <value>false</value> |
| <tag>HDDS,SCM,OPERATION</tag> |
| <description> |
| Boolean value to enable pipeline availability check during SCM safe mode. |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.scm.safemode.healthy.pipelie.pct</name> |
| <value>0.10</value> |
| <tag>HDDS,SCM,OPERATION</tag> |
| <description> |
| Percentage of healthy pipelines, where all 3 datanodes are reported in the |
| pipeline. |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.scm.safemode.atleast.one.node.reported.pipeline.pct</name> |
| <value>0.90</value> |
| <tag>HDDS,SCM,OPERATION</tag> |
| <description> |
| Percentage of pipelines, where at least one datanode is reported in the |
| pipeline. |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.container.scrub.enabled</name> |
| <value>false</value> |
| <tag>DATANODE</tag> |
| <description> |
| Boolean value to enable data and metadata scrubbing in the containers |
| running on each datanode. |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.container.action.max.limit</name> |
| <value>20</value> |
| <tag>DATANODE</tag> |
| <description> |
| Maximum number of Container Actions sent by the datanode to SCM in a |
| single heartbeat. |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.pipeline.action.max.limit</name> |
| <value>20</value> |
| <tag>DATANODE</tag> |
| <description> |
| Maximum number of Pipeline Actions sent by the datanode to SCM in a |
| single heartbeat. |
| </description> |
| </property> |
| <property> |
| <name>hdds.scm.watcher.timeout</name> |
| <value>10m</value> |
| <tag>OZONE, SCM, MANAGEMENT</tag> |
| <description> |
| Timeout for the watchers of the HDDS SCM CommandWatchers. After this |
| duration the Copy/Delete container commands will be sent again to the |
| datanode unless the datanode confirms the completion. |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.db.profile</name> |
| <value>DISK</value> |
| <tag>OZONE, OM, PERFORMANCE</tag> |
| <description>This property allows user to pick a configuration |
| that tunes the RocksDB settings for the hardware it is running |
| on. Right now, we have SSD and DISK as profile options.</description> |
| </property> |
| |
| <property> |
| <name>hdds.datanode.replication.work.dir</name> |
| <tag>DATANODE</tag> |
| <description>Temporary which is used during the container replication |
| betweeen datanodes. Should have enough space to store multiple container |
| (in compressed format), but doesn't require fast io access such as SSD. |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.lock.max.concurrency</name> |
| <value>100</value> |
| <tag>HDDS</tag> |
| <description>Locks in HDDS/Ozone uses object pool to maintain active locks |
| in the system, this property defines the max limit for the locks that |
| will be maintained in the pool. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.s3g.authentication.kerberos.principal</name> |
| <value/> |
| <tag>OZONE, S3GATEWAY</tag> |
| <description>The server principal used by Ozone S3Gateway server. This is |
| typically set to |
| HTTP/_HOST@REALM.TLD The SPNEGO server principal begins with the prefix |
| HTTP/ by convention.</description> |
| </property> |
| |
| <property> |
| <name>ozone.s3g.domain.name</name> |
| <value/> |
| <tag>OZONE, S3GATEWAY</tag> |
| <description>List of Ozone S3Gateway domain names. If multiple |
| domain names to be provided, they should be a "," seperated. |
| This parameter is only required when virtual host style pattern is |
| followed.</description> |
| </property> |
| |
| <property> |
| <name>ozone.s3g.http-address</name> |
| <value>0.0.0.0:9878</value> |
| <tag>OZONE, S3GATEWAY</tag> |
| <description>The address and the base port where the Ozone S3Gateway |
| Server will |
| listen on.</description> |
| </property> |
| |
| <property> |
| <name>ozone.s3g.http-bind-host</name> |
| <value>0.0.0.0</value> |
| <tag>OZONE, S3GATEWAY</tag> |
| <description>The actual address the HTTP server will bind to. If this optional address |
| is set, it overrides only the hostname portion of ozone.s3g.http-address. |
| This is useful for making the Ozone S3Gateway HTTP server listen on all |
| interfaces by setting it to 0.0.0.0.</description> |
| </property> |
| |
| <property> |
| <name>ozone.s3g.http.enabled</name> |
| <value>true</value> |
| <tag>OZONE, S3GATEWAY</tag> |
| <description>The boolean which enables the Ozone S3Gateway server |
| .</description> |
| </property> |
| |
| <property> |
| <name>ozone.s3g.https-address</name> |
| <value/> |
| <tag>OZONE, S3GATEWAY</tag> |
| <description>Ozone S3Gateway serverHTTPS server address and port |
| .</description> |
| </property> |
| |
| <property> |
| <name>ozone.s3g.https-bind-host</name> |
| <value/> |
| <tag>OZONE, S3GATEWAY</tag> |
| <description>The actual address the HTTPS server will bind to. If this optional address |
| is set, it overrides only the hostname portion of ozone.s3g.https-address. |
| This is useful for making the Ozone S3Gateway HTTPS server listen on all |
| interfaces by setting it to 0.0.0.0.</description> |
| </property> |
| |
| <property> |
| <name>ozone.s3g.keytab.file</name> |
| <value/> |
| <tag>OZONE, S3GATEWAY</tag> |
| <description>The keytab file used by the S3Gateway server to login as its |
| service principal. </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.save.metrics.interval</name> |
| <value>5m</value> |
| <tag>OZONE, OM</tag> |
| <description>Time interval used to store the omMetrics in to a |
| file. Background thread periodically stores the OM metrics in to a |
| file. Unit could be defined with postfix (ns,ms,s,m,h,d) |
| </description> |
| </property> |
| <property> |
| <name>ozone.security.enabled</name> |
| <value>false</value> |
| <tag> OZONE, SECURITY</tag> |
| <description>True if security is enabled for ozone. When this property is |
| true, hadoop.security.authentication should be Kerberos. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.client.checksum.type</name> |
| <value>CRC32</value> |
| <tag>OZONE, CLIENT, MANAGEMENT</tag> |
| <description>The checksum type [NONE/ CRC32/ CRC32C/ SHA256/ MD5] determines |
| which algorithm would be used to compute checksum for chunk data. |
| Default checksum type is SHA256. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.client.bytes.per.checksum</name> |
| <value>1MB</value> |
| <tag>OZONE, CLIENT, MANAGEMENT</tag> |
| <description>Checksum will be computed for every bytes per checksum number |
| of bytes and stored sequentially. The minimum value for this config is |
| 256KB. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.client.verify.checksum</name> |
| <value>true</value> |
| <tag>OZONE, CLIENT, MANAGEMENT</tag> |
| <description> |
| Ozone client to verify checksum of the checksum blocksize data. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.ratis.enable</name> |
| <value>false</value> |
| <tag>OZONE, OM, RATIS, MANAGEMENT</tag> |
| <description>Property to enable or disable Ratis server on OM. |
| Please note - this is a temporary property to disable OM Ratis server. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.ratis.port</name> |
| <value>9872</value> |
| <tag>OZONE, OM, RATIS</tag> |
| <description> |
| The port number of the OzoneManager's Ratis server. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.ratis.rpc.type</name> |
| <value>GRPC</value> |
| <tag>OZONE, OM, RATIS, MANAGEMENT</tag> |
| <description>Ratis supports different kinds of transports like netty, GRPC, |
| Hadoop RPC etc. This picks one of those for this cluster. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.ratis.storage.dir</name> |
| <value/> |
| <tag>OZONE, OM, STORAGE, MANAGEMENT, RATIS</tag> |
| <description>This directory is used for storing OM's Ratis metadata like |
| logs. If this is not set then default metadata dirs is used. A warning |
| will be logged if this not set. Ideally, this should be mapped to a |
| fast disk like an SSD. |
| If undefined, OM ratis storage dir will fallback to ozone.metadata.dirs. |
| This fallback approach is not recommended for production environments. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.ratis.segment.size</name> |
| <value>16KB</value> |
| <tag>OZONE, OM, RATIS, PERFORMANCE</tag> |
| <description>The size of the raft segment used by Apache Ratis on OM. |
| (16 KB by default) |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.ratis.segment.preallocated.size</name> |
| <value>16KB</value> |
| <tag>OZONE, OM, RATIS, PERFORMANCE</tag> |
| <description>The size of the buffer which is preallocated for raft segment |
| used by Apache Ratis on OM.(16 KB by default) |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.ratis.log.appender.queue.num-elements</name> |
| <value>1024</value> |
| <tag>OZONE, DEBUG, OM, RATIS</tag> |
| <description>Number of operation pending with Raft's Log Worker. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.ratis.log.appender.queue.byte-limit</name> |
| <value>32MB</value> |
| <tag>OZONE, DEBUG, OM, RATIS</tag> |
| <description>Byte limit for Raft's Log Worker queue. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.ratis.log.purge.gap</name> |
| <value>1000000</value> |
| <tag>OZONE, OM, RATIS</tag> |
| <description>The minimum gap between log indices for Raft server to purge |
| its log segments after taking snapshot. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.ratis.snapshot.auto.trigger.threshold</name> |
| <value>400000</value> |
| <tag>OZONE, DEBUG, OM, RATIS</tag> |
| <description>The log index threshold after ratis will auto trigger |
| snapshot on the OM state machine. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.ratis.server.request.timeout</name> |
| <value>3s</value> |
| <tag>OZONE, OM, RATIS, MANAGEMENT</tag> |
| <description>The timeout duration for OM's ratis server request .</description> |
| </property> |
| |
| <property> |
| <name>ozone.om.ratis.server.retry.cache.timeout</name> |
| <value>600000ms</value> |
| <tag>OZONE, OM, RATIS, MANAGEMENT</tag> |
| <description>Retry Cache entry timeout for OM's ratis server.</description> |
| </property> |
| |
| <property> |
| <name>ozone.om.ratis.minimum.timeout</name> |
| <value>1s</value> |
| <tag>OZONE, OM, RATIS, MANAGEMENT</tag> |
| <description>The minimum timeout duration for OM's Ratis server rpc. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.ratis.client.request.timeout.duration</name> |
| <value>3s</value> |
| <tag>OZONE, OM, RATIS, MANAGEMENT</tag> |
| <description>The timeout duration for OM Ratis client request. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.ratis.client.request.max.retries</name> |
| <value>180</value> |
| <tag>OZONE, OM, RATIS, MANAGEMENT</tag> |
| <description>Number of retries for OM client request.</description> |
| </property> |
| <property> |
| <name>ozone.om.ratis.client.request.retry.interval</name> |
| <value>100ms</value> |
| <tag>OZONE, OM, RATIS, MANAGEMENT</tag> |
| <description>Interval between successive retries for a OM client request. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.leader.election.minimum.timeout.duration</name> |
| <value>1s</value> |
| <tag>OZONE, OM, RATIS, MANAGEMENT</tag> |
| <description>The minimum timeout duration for OM ratis leader election. |
| Default is 1s. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.ratis.server.failure.timeout.duration</name> |
| <value>120s</value> |
| <tag>OZONE, OM, RATIS, MANAGEMENT</tag> |
| <description>The timeout duration for ratis server failure detection, |
| once the threshold has reached, the ratis state machine will be informed |
| about the failure in the ratis ring. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.ratis.server.role.check.interval</name> |
| <value>15s</value> |
| <tag>OZONE, OM, RATIS, MANAGEMENT</tag> |
| <description>The interval between OM leader performing a role |
| check on its ratis server. Ratis server informs OM if it |
| loses the leader role. The scheduled check is an secondary |
| check to ensure that the leader role is updated periodically |
| .</description> |
| </property> |
| |
| <property> |
| <name>ozone.om.ratis.snapshot.dir</name> |
| <value/> |
| <tag>OZONE, OM, STORAGE, MANAGEMENT, RATIS</tag> |
| <description>This directory is used for storing OM's snapshot |
| related files like the ratisSnapshotIndex and DB checkpoint from leader |
| OM. |
| If undefined, OM snapshot dir will fallback to ozone.om.ratis.storage.dir. |
| This fallback approach is not recommended for production environments. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.snapshot.provider.socket.timeout</name> |
| <value>5000s</value> |
| <tag>OZONE, OM, HA, MANAGEMENT</tag> |
| <description> |
| Socket timeout for HTTP call made by OM Snapshot Provider to request |
| OM snapshot from OM Leader. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.snapshot.provider.connection.timeout</name> |
| <value>5000s</value> |
| <tag>OZONE, OM, HA, MANAGEMENT</tag> |
| <description> |
| Connection timeout for HTTP call made by OM Snapshot Provider to request |
| OM snapshot from OM Leader. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.snapshot.provider.request.timeout</name> |
| <value>5000ms</value> |
| <tag>OZONE, OM, HA, MANAGEMENT</tag> |
| <description> |
| Connection request timeout for HTTP call made by OM Snapshot Provider to |
| request OM snapshot from OM Leader. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.acl.authorizer.class</name> |
| <value>org.apache.hadoop.ozone.security.acl.OzoneAccessAuthorizer</value> |
| <tag>OZONE, SECURITY, ACL</tag> |
| <description>Acl authorizer for Ozone. |
| </description> |
| </property> |
| <property> |
| <name>ozone.acl.enabled</name> |
| <value>false</value> |
| <tag>OZONE, SECURITY, ACL</tag> |
| <description>Key to enable/disable ozone acls.</description> |
| </property> |
| <property> |
| <name>hdds.scm.kerberos.keytab.file</name> |
| <value></value> |
| <tag> OZONE, SECURITY</tag> |
| <description> The keytab file used by each SCM daemon to login as its |
| service principal. The principal name is configured with |
| hdds.scm.kerberos.principal. |
| </description> |
| </property> |
| <property> |
| <name>hdds.scm.kerberos.principal</name> |
| <value></value> |
| <tag> OZONE, SECURITY</tag> |
| <description>The SCM service principal. Ex scm/_HOST@REALM.COM</description> |
| </property> |
| |
| <property> |
| <name>ozone.om.kerberos.keytab.file</name> |
| <value></value> |
| <tag> OZONE, SECURITY</tag> |
| <description> The keytab file used by OzoneManager daemon to login as its |
| service principal. The principal name is configured with |
| ozone.om.kerberos.principal. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.kerberos.principal</name> |
| <value></value> |
| <tag> OZONE, SECURITY</tag> |
| <description>The OzoneManager service principal. Ex om/_HOST@REALM.COM</description> |
| </property> |
| |
| <property> |
| <name>hdds.scm.http.kerberos.principal</name> |
| <value>HTTP/_HOST@EXAMPLE.COM</value> |
| </property> |
| <property> |
| <name>hdds.scm.http.kerberos.keytab</name> |
| <value>/etc/security/keytabs/HTTP.keytab</value> |
| </property> |
| |
| <property> |
| <name>ozone.om.http.kerberos.principal</name> |
| <value>HTTP/_HOST@EXAMPLE.COM</value> |
| <description> |
| OzoneManager http server kerberos principal. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.http.kerberos.keytab</name> |
| <value>/etc/security/keytabs/HTTP.keytab</value> |
| <description> |
| OzoneManager http server kerberos keytab. |
| </description> |
| </property> |
| <property> |
| <name>hdds.key.len</name> |
| <value>2048</value> |
| <tag>SCM, HDDS, X509, SECURITY</tag> |
| <description> |
| SCM CA key length. This is an algorithm-specific metric, such as modulus length, specified in number of bits. |
| </description> |
| </property> |
| <property> |
| <name>hdds.key.dir.name</name> |
| <value>keys</value> |
| <tag>SCM, HDDS, X509, SECURITY</tag> |
| <description> |
| Directory to store public/private key for SCM CA. This is relative to ozone/hdds meteadata dir. |
| </description> |
| </property> |
| <property> |
| <name>hdds.block.token.expiry.time</name> |
| <value>1d</value> |
| <tag>OZONE, HDDS, SECURITY, TOKEN</tag> |
| <description> |
| Default value for expiry time of block token. 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>hdds.block.token.enabled</name> |
| <value>false</value> |
| <tag>OZONE, HDDS, SECURITY, TOKEN</tag> |
| <description>True if block tokens are enabled, else false.</description> |
| </property> |
| <property> |
| <name>hdds.x509.file.name</name> |
| <value>certificate.crt</value> |
| <tag>OZONE, HDDS, SECURITY</tag> |
| <description>Certificate file name.</description> |
| </property> |
| <property> |
| <name>hdds.grpc.tls.provider</name> |
| <value>OPENSSL</value> |
| <tag>OZONE, HDDS, SECURITY, TLS</tag> |
| <description>HDDS GRPC server TLS provider.</description> |
| </property> |
| <property> |
| <name>hdds.grpc.tls.enabled</name> |
| <value>false</value> |
| <tag>OZONE, HDDS, SECURITY, TLS</tag> |
| <description>If HDDS GRPC server TLS is enabled.</description> |
| </property> |
| <property> |
| <name>hdds.x509.default.duration</name> |
| <value>P365D</value> |
| <tag>OZONE, HDDS, SECURITY</tag> |
| <description>Default duration for which x509 certificates issued by SCM are |
| valid. The formats accepted are based on the ISO-8601 duration format |
| PnDTnHnMn.nS</description> |
| </property> |
| <property> |
| <name>hdds.x509.dir.name</name> |
| <value>certs</value> |
| <tag>OZONE, HDDS, SECURITY</tag> |
| <description>X509 certificate directory name.</description> |
| </property> |
| <property> |
| <name>hdds.x509.max.duration</name> |
| <value>P1865D</value> |
| <tag>OZONE, HDDS, SECURITY</tag> |
| <description>Max time for which certificate issued by SCM CA are valid. |
| . The formats accepted are based on the ISO-8601 duration format |
| PnDTnHnMn.nS</description> |
| </property> |
| <property> |
| <name>hdds.x509.signature.algorithm</name> |
| <value>SHA256withRSA</value> |
| <tag>OZONE, HDDS, SECURITY</tag> |
| <description>X509 signature certificate.</description> |
| </property> |
| <property> |
| <name>ozone.scm.security.handler.count.key</name> |
| <value>2</value> |
| <tag>OZONE, HDDS, SECURITY</tag> |
| <description>Threads configured for SCMSecurityProtocolServer.</description> |
| </property> |
| <property> |
| <name>ozone.scm.security.service.address</name> |
| <value/> |
| <tag>OZONE, HDDS, SECURITY</tag> |
| <description>Address of SCMSecurityProtocolServer.</description> |
| </property> |
| <property> |
| <name>ozone.scm.security.service.bind.host</name> |
| <value>0.0.0.0</value> |
| <tag>OZONE, HDDS, SECURITY</tag> |
| <description>SCM security server host.</description> |
| </property> |
| <property> |
| <name>ozone.scm.security.service.port</name> |
| <value>9961</value> |
| <tag>OZONE, HDDS, SECURITY</tag> |
| <description>SCM security server port.</description> |
| </property> |
| |
| <property> |
| <name>hdds.metadata.dir</name> |
| <value/> |
| <tag>X509, SECURITY</tag> |
| <description> |
| Absolute path to HDDS metadata dir. |
| </description> |
| </property> |
| <property> |
| <name>hdds.priv.key.file.name</name> |
| <value>private.pem</value> |
| <tag>X509, SECURITY</tag> |
| <description> |
| Name of file which stores private key generated for SCM CA. |
| </description> |
| </property> |
| <property> |
| <name>hdds.public.key.file.name</name> |
| <value>public.pem</value> |
| <tag>X509, SECURITY</tag> |
| <description> |
| Name of file which stores public key generated for SCM CA. |
| </description> |
| </property> |
| <property> |
| <name>ozone.manager.delegation.remover.scan.interval</name> |
| <value>3600000</value> |
| <description> |
| Time interval after which ozone secret manger scans for expired |
| delegation token. |
| </description> |
| </property> |
| <property> |
| <name>ozone.manager.delegation.token.renew-interval</name> |
| <value>1d</value> |
| <description> |
| Default time interval after which ozone delegation token will |
| require renewal before any further use. |
| </description> |
| </property> |
| <property> |
| <name>ozone.manager.delegation.token.max-lifetime</name> |
| <value>7d</value> |
| <description> |
| Default max time interval after which ozone delegation token will |
| not be renewed. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.fs.isolated-classloader</name> |
| <value></value> |
| <tag>OZONE, OZONEFS</tag> |
| <description> |
| Enable it for older hadoops to separate the classloading of all the |
| Ozone classes. With 'true' value, ozonefs can be used with older |
| hadoop versions as the hadoop3/ozone related classes are loaded by |
| an isolated classloader. |
| |
| Default depends from the used jar. true for ozone-filesystem-lib-legacy |
| jar and false for the ozone-filesystem-lib-current.jar |
| </description> |
| </property> |
| <property> |
| <name>ozone.manager.db.checkpoint.transfer.bandwidthPerSec</name> |
| <value>0</value> |
| <tag>OZONE</tag> |
| <description> |
| Maximum bandwidth used for Ozone Manager DB checkpoint download through |
| the servlet. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.freon.http-address</name> |
| <value>0.0.0.0:9884</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| The address and the base port where the FREON web ui will listen on. |
| If the port is 0 then the server will start on a free port. |
| </description> |
| </property> |
| <property> |
| <name>ozone.freon.http-bind-host</name> |
| <value>0.0.0.0</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| The actual address the Freon web server will bind to. If this |
| optional address is set, it overrides only the hostname portion of |
| ozone.freon.http-address. |
| </description> |
| </property> |
| <property> |
| <name>ozone.freon.http.enabled</name> |
| <value>true</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| Property to enable or disable FREON web ui. |
| </description> |
| </property> |
| <property> |
| <name>ozone.freon.https-address</name> |
| <value>0.0.0.0:9885</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| The address and the base port where the Freon web server will listen |
| on using HTTPS. |
| If the port is 0 then the server will start on a free port. |
| </description> |
| </property> |
| <property> |
| <name>ozone.freon.https-bind-host</name> |
| <value>0.0.0.0</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| The actual address the Freon web server will bind to using HTTPS. |
| If this optional address is set, it overrides only the hostname portion of |
| ozone.freon.http-address. |
| </description> |
| </property> |
| <property> |
| <name>ozone.freon.http.kerberos.principal</name> |
| <value>HTTP/_HOST@EXAMPLE.COM</value> |
| <tag>SECURITY</tag> |
| <description> |
| Security principal used by freon. |
| </description> |
| </property> |
| <property> |
| <name>ozone.freon.http.kerberos.keytab</name> |
| <value>/etc/security/keytabs/HTTP.keytab</value> |
| <tag>SECURITY</tag> |
| <description> |
| Keytab used by Freon. |
| </description> |
| </property> |
| <property> |
| <name>hdds.security.client.datanode.container.protocol.acl</name> |
| <value>*</value> |
| <tag>SECURITY</tag> |
| <description> |
| Comma separated list of users and groups allowed to access |
| client datanode container protocol. |
| </description> |
| </property> |
| <property> |
| <name>hdds.security.client.scm.block.protocol.acl</name> |
| <value>*</value> |
| <tag>SECURITY</tag> |
| <description> |
| Comma separated list of users and groups allowed to access |
| client scm block protocol. |
| </description> |
| </property> |
| <property> |
| <name>hdds.security.client.scm.certificate.protocol.acl</name> |
| <value>*</value> |
| <tag>SECURITY</tag> |
| <description> |
| Comma separated list of users and groups allowed to access |
| client scm certificate protocol. |
| </description> |
| </property> |
| <property> |
| <name>hdds.security.client.scm.container.protocol.acl</name> |
| <value>*</value> |
| <tag>SECURITY</tag> |
| <description> |
| Comma separated list of users and groups allowed to access |
| client scm container protocol. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.security.client.protocol.acl</name> |
| <value>*</value> |
| <tag>SECURITY</tag> |
| <description> |
| Comma separated list of users and groups allowed to access |
| client ozone manager protocol. |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.datanode.http.kerberos.principal</name> |
| <value>HTTP/_HOST@EXAMPLE.COM</value> |
| <tag>HDDS, SECURITY, MANAGEMENT</tag> |
| <description> |
| The kerberos principal for the datanode http server. |
| </description> |
| </property> |
| <property> |
| <name>hdds.datanode.http.kerberos.keytab</name> |
| <value>/etc/security/keytabs/HTTP.keytab</value> |
| <tag>HDDS, SECURITY, MANAGEMENT</tag> |
| <description> |
| The kerberos keytab file for datanode http server |
| </description> |
| </property> |
| <property> |
| <name>hdds.datanode.http-address</name> |
| <value>0.0.0.0:9882</value> |
| <tag>HDDS, MANAGEMENT</tag> |
| <description> |
| The address and the base port where the Datanode web ui will listen on. |
| If the port is 0 then the server will start on a free port. |
| </description> |
| </property> |
| <property> |
| <name>hdds.datanode.http-bind-host</name> |
| <value>0.0.0.0</value> |
| <tag>HDDS, MANAGEMENT</tag> |
| <description> |
| The actual address the Datanode web server will bind to. If this |
| optional address is set, it overrides only the hostname portion of |
| hdds.datanode.http-address. |
| </description> |
| </property> |
| <property> |
| <name>hdds.datanode.http.enabled</name> |
| <value>true</value> |
| <tag>HDDS, MANAGEMENT</tag> |
| <description> |
| Property to enable or disable Datanode web ui. |
| </description> |
| </property> |
| <property> |
| <name>hdds.datanode.https-address</name> |
| <value>0.0.0.0:9883</value> |
| <tag>HDDS, MANAGEMENT, SECURITY</tag> |
| <description> |
| The address and the base port where the Datanode web UI will listen |
| on using HTTPS. |
| |
| If the port is 0 then the server will start on a free port. |
| </description> |
| </property> |
| <property> |
| <name>hdds.datanode.https-bind-host</name> |
| <value>0.0.0.0</value> |
| <tag>HDDS, MANAGEMENT, SECURITY</tag> |
| <description> |
| The actual address the Datanode web server will bind to using HTTPS. |
| If this optional address is set, it overrides only the hostname portion of |
| hdds.datanode.http-address. |
| </description> |
| </property> |
| <property> |
| <name>ozone.client.retry.max.attempts</name> |
| <value>10</value> |
| <description> |
| Max retry attempts for Ozone RpcClient talking to OzoneManagers. |
| </description> |
| </property> |
| <property> |
| <name>ozone.client.failover.max.attempts</name> |
| <value>15</value> |
| <description> |
| Expert only. The number of client failover attempts that should be |
| made before the failover is considered failed. |
| </description> |
| </property> |
| <property> |
| <name>ozone.client.failover.sleep.base.millis</name> |
| <value>500</value> |
| <description> |
| Expert only. The time to wait, in milliseconds, between failover |
| attempts increases exponentially as a function of the number of |
| attempts made so far, with a random factor of +/- 50%. This option |
| specifies the base value used in the failover calculation. The |
| first failover will retry immediately. The 2nd failover attempt |
| will delay at least ozone.client.failover.sleep.base.millis |
| milliseconds. And so on. |
| </description> |
| </property> |
| <property> |
| <name>ozone.client.failover.sleep.max.millis</name> |
| <value>15000</value> |
| <description> |
| Expert only. The time to wait, in milliseconds, between failover |
| attempts increases exponentially as a function of the number of |
| attempts made so far, with a random factor of +/- 50%. This option |
| specifies the maximum value to wait between failovers. |
| Specifically, the time between two failover attempts will not |
| exceed +/- 50% of ozone.client.failover.sleep.max.millis |
| milliseconds. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.http.enabled</name> |
| <value>true</value> |
| <tag>RECON, MANAGEMENT</tag> |
| <description> |
| Property to enable or disable Recon web user interface. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.http-address</name> |
| <value>0.0.0.0:9888</value> |
| <tag>RECON, MANAGEMENT</tag> |
| <description> |
| The address and the base port where the Recon web UI will listen on. |
| |
| If the port is 0, then the server will start on a free port. However, it |
| is best to specify a well-known port, so it is easy to connect and see |
| the Recon management UI. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.http-bind-host</name> |
| <value>0.0.0.0</value> |
| <tag>RECON, MANAGEMENT</tag> |
| <description> |
| The actual address the Recon server will bind to. If this optional |
| the address is set, it overrides only the hostname portion of |
| ozone.recon.http-address. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.https-bind-host</name> |
| <value>0.0.0.0</value> |
| <tag>RECON, MANAGEMENT, SECURITY</tag> |
| <description> |
| The actual address the Recon web server will bind to using HTTPS. |
| If this optional address is set, it overrides only the hostname portion of |
| ozone.recon.https-address. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.https-address</name> |
| <value>0.0.0.0:9889</value> |
| <tag>RECON, MANAGEMENT, SECURITY</tag> |
| <description> |
| The address and the base port where the Recon web UI will listen |
| on using HTTPS. If the port is 0 then the server will start on a free |
| port. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.keytab.file</name> |
| <value/> |
| <tag>RECON, SECURITY</tag> |
| <description> |
| The keytab file for Kerberos authentication in Recon. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.authentication.kerberos.principal</name> |
| <value/> |
| <tag>RECON</tag> |
| <description>The server principal used by Ozone Recon server. This is |
| typically set to HTTP/_HOST@REALM.TLD The SPNEGO server principal |
| begins with the prefix HTTP/ by convention. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.container.db.cache.size.mb</name> |
| <value>128</value> |
| <tag>RECON, PERFORMANCE</tag> |
| <description> |
| The size of Recon DB cache in MB that used for caching files. |
| This value is set to an abnormally low value in the default configuration. |
| That is to make unit testing easy. Generally, this value should be set to |
| something like 16GB or more, if you intend to use Recon at scale. |
| |
| A large value for this key allows a proportionally larger amount of Recon |
| container DB to be cached in memory. This makes Recon Container-Key |
| operations faster. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.db.dir</name> |
| <value/> |
| <tag>OZONE, RECON, STORAGE, PERFORMANCE</tag> |
| <description> |
| Directory where the Recon Server stores its metadata. This should |
| be specified as a single directory. If the directory does not |
| exist then the Recon will attempt to create it. |
| |
| If undefined, then the Recon will log a warning and fallback to |
| ozone.metadata.dirs. This fallback approach is not recommended for |
| production environments. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.network.topology.schema.file</name> |
| <value>network-topology-default.xml</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| The schema file defines the ozone network topology. We currently support |
| xml(default) and yaml format. Refer to the samples in the topology |
| awareness document for xml and yaml topology definition samples. |
| </description> |
| </property> |
| <property> |
| <name>ozone.network.topology.aware.read</name> |
| <value>false</value> |
| <tag>OZONE, PERFORMANCE</tag> |
| <description> |
| Whether to enable topology aware read to improve the read performance. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.container.db.impl</name> |
| <value>RocksDB</value> |
| <tag>OZONE, RECON, STORAGE</tag> |
| <description> |
| Ozone Recon container DB store implementation.Supported value is either |
| LevelDB or RocksDB. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.om.db.dir</name> |
| <value/> |
| <tag>OZONE, RECON, STORAGE</tag> |
| <description> |
| Directory where the Recon Server stores its OM snapshot DB. This should |
| be specified as a single directory. If the directory does not |
| exist then the Recon will attempt to create it. |
| |
| If undefined, then the Recon will log a warning and fallback to |
| ozone.metadata.dirs. This fallback approach is not recommended for |
| production environments. |
| </description> |
| </property> |
| <property> |
| <name>recon.om.connection.request.timeout</name> |
| <value>5000</value> |
| <tag>OZONE, RECON, OM</tag> |
| <description> |
| Connection request timeout in milliseconds for HTTP call made by Recon to |
| request OM DB snapshot. |
| </description> |
| </property> |
| <property> |
| <name>recon.om.connection.timeout</name> |
| <value>5s</value> |
| <tag>OZONE, RECON, OM</tag> |
| <description> |
| Connection timeout for HTTP call in milliseconds made by Recon to request |
| OM snapshot. |
| </description> |
| </property> |
| <property> |
| <name>recon.om.socket.timeout</name> |
| <value>5s</value> |
| <tag>OZONE, RECON, OM</tag> |
| <description> |
| Socket timeout in milliseconds for HTTP call made by Recon to request |
| OM snapshot. |
| </description> |
| </property> |
| <property> |
| <name>recon.om.snapshot.task.initial.delay</name> |
| <value>1m</value> |
| <tag>OZONE, RECON, OM</tag> |
| <description> |
| Initial delay in MINUTES by Recon to request OM DB Snapshot. |
| </description> |
| </property> |
| <property> |
| <name>recon.om.snapshot.task.interval.delay</name> |
| <value>10m</value> |
| <tag>OZONE, RECON, OM</tag> |
| <description> |
| Interval in MINUTES by Recon to request OM DB Snapshot. |
| </description> |
| </property> |
| <property> |
| <name>recon.om.snapshot.task.flush.param</name> |
| <value>false</value> |
| <tag>OZONE, RECON, OM</tag> |
| <description> |
| Request to flush the OM DB before taking checkpoint snapshot. |
| </description> |
| </property> |
| <property> |
| <name>hdds.tracing.enabled</name> |
| <value>true</value> |
| <tag>OZONE, HDDS</tag> |
| <description> |
| If enabled, tracing information is sent to tracing server. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.sql.db.driver</name> |
| <value>org.sqlite.JDBC</value> |
| <tag>OZONE, RECON</tag> |
| <description> |
| Database driver class name available on the |
| Ozone Recon classpath. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.sql.db.jdbc.url</name> |
| <value>jdbc:sqlite:/${ozone.recon.db.dir}/ozone_recon_sqlite.db</value> |
| <tag>OZONE, RECON</tag> |
| <description> |
| Ozone Recon SQL database jdbc url. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.sql.db.username</name> |
| <value/> |
| <tag>OZONE, RECON</tag> |
| <description> |
| Ozone Recon SQL database username. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.sql.db.password</name> |
| <value/> |
| <tag>OZONE, RECON</tag> |
| <description> |
| Ozone Recon database password. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.sql.db.auto.commit</name> |
| <value>false</value> |
| <tag>OZONE, RECON</tag> |
| <description> |
| Sets the Ozone Recon database connection property of auto-commit to |
| true/false. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.sql.db.conn.timeout</name> |
| <value>30000</value> |
| <tag>OZONE, RECON</tag> |
| <description> |
| Sets time in milliseconds before call to getConnection is timed out. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.sql.db.conn.max.active</name> |
| <value>1</value> |
| <tag>OZONE, RECON</tag> |
| <description> |
| The max active connections to the SQL database. The default SQLite |
| database only allows single active connection, set this to a |
| reasonable value like 10, for external production database. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.sql.db.conn.max.age</name> |
| <value>1800</value> |
| <tag>OZONE, RECON</tag> |
| <description> |
| Sets maximum time a connection can be active in seconds. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.sql.db.conn.idle.max.age</name> |
| <value>3600</value> |
| <tag>OZONE, RECON</tag> |
| <description> |
| Sets maximum time to live for idle connection in seconds. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.sql.db.conn.idle.test.period</name> |
| <value>60</value> |
| <tag>OZONE, RECON</tag> |
| <description> |
| This sets the time (in seconds), for a connection to remain idle before |
| sending a test query to the DB. This is useful to prevent a DB from |
| timing out connections on its end. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.sql.db.conn.idle.test</name> |
| <value>SELECT 1</value> |
| <tag>OZONE, RECON</tag> |
| <description> |
| The query to send to the DB to maintain keep-alives and test for dead |
| connections. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.task.thread.count</name> |
| <value>1</value> |
| <tag>OZONE, RECON</tag> |
| <description> |
| The number of Recon Tasks that are waiting on updates from OM. |
| </description> |
| </property> |
| </configuration> |