| <?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>ozone.container.cache.lock.stripes</name> |
| <value>1024</value> |
| <tag>PERFORMANCE, CONTAINER, STORAGE</tag> |
| <description>Container DB open is an exclusive operation. We use a stripe |
| lock to guarantee that different threads can open different container DBs |
| concurrently, while for one container DB, only one thread can open it at |
| the same time. This setting controls the lock stripes. |
| </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.dir.du.reserved</name> |
| <value/> |
| <tag>OZONE, CONTAINER, STORAGE, MANAGEMENT</tag> |
| <description>Reserved space in bytes per volume. Always leave this much space free for non dfs use. |
| Such as /dir1:100B, /dir2:200MB, means dir1 reserves 100 bytes and dir2 reserves 200 MB. |
| </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</tag> |
| <description>The ipc port number of container for clients.</description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.admin.port</name> |
| <value>9857</value> |
| <tag>OZONE, CONTAINER, PIPELINE, RATIS, MANAGEMENT</tag> |
| <description>The ipc port number of container for admin requests.</description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.server.port</name> |
| <value>9856</value> |
| <tag>OZONE, CONTAINER, PIPELINE, RATIS, MANAGEMENT</tag> |
| <description>The ipc port number of container for server-server communication.</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.per.volume</name> |
| <value>10</value> |
| <tag>OZONE, RATIS, PERFORMANCE</tag> |
| <description>Maximum number of threads in the thread pool that Datanode |
| will use for writing replicated chunks. |
| This is a per configured locations! |
| (10 thread per disk by default). |
| </description> |
| </property> |
| <property> |
| <name>dfs.container.ratis.leader.pending.bytes.limit</name> |
| <value>1GB</value> |
| <tag>OZONE, RATIS, PERFORMANCE</tag> |
| <description>Limit on the total bytes of pending requests after which |
| leader starts rejecting requests from client. |
| </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.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.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>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>60m</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.crl.status.report.interval</name> |
| <value>60000ms</value> |
| <tag>OZONE, SECURITY, MANAGEMENT</tag> |
| <description>Time interval of the datanode to send CRL status report. Each |
| datanode periodically sends CRL status report 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.block.deleting.service.workers</name> |
| <value>10</value> |
| <tag>OZONE, PERFORMANCE, SCM</tag> |
| <description>Number of workers executed of block deletion service. This |
| configuration should be set to greater than 0. |
| </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.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.key.deleting.limit.per.task</name> |
| <value>20000</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/> |
| <tag>OM, HA</tag> |
| <description> |
| Comma-separated list of OM service Ids. This property allows the client |
| to figure out quorum of OzoneManager address. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.internal.service.id</name> |
| <value/> |
| <tag>OM, HA</tag> |
| <description> |
| Service ID of the Ozone Manager. If this is not set fall back to |
| ozone.om.service.ids to find the service ID it belongs to. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.nodes.EXAMPLEOMSERVICEID</name> |
| <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. |
| |
| Decommissioned nodes (represented by node Ids in |
| ozone.om.decommissioned.nodes config list) will be ignored and not |
| included in the OM HA setup even if added to this list. |
| |
| 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.decommissioned.nodes.EXAMPLEOMSERVICEID</name> |
| <value/> |
| <tag>OM, HA</tag> |
| <description> |
| Comma-separated list of OM node Ids which have been decommissioned. OMs |
| present in this list will not be included in the OM HA ring. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.node.id</name> |
| <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 default node id - om1. |
| </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>100</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.volume.listall.allowed</name> |
| <value>true</value> |
| <tag>OM, MANAGEMENT</tag> |
| <description> |
| Allows everyone to list all volumes when set to true. Defaults to true. |
| When set to false, non-admin users can only list the volumes they have |
| access to. Admins can always list all volumes. |
| </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.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.sequence.id.batch.size</name> |
| <value>1000</value> |
| <tag>OZONE, SCM</tag> |
| <description> |
| SCM allocates sequence id in a batch way. This property determines how many |
| ids will be allocated in a single batch. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.chunk.size</name> |
| <value>4MB</value> |
| <tag>OZONE, SCM, CONTAINER, PERFORMANCE</tag> |
| <description> |
| The chunk size for reading/writing chunk operations in bytes. |
| |
| The chunk size defaults to 4MB. If the value configured is more than the |
| maximum size (32MB), it will be reset to the maximum size (32MB). This |
| maps to the network packet sizes and file write operations in the |
| client to datanode protocol. |
| |
| When tuning this parameter, flow control window parameter should be |
| tuned accordingly. Refer to |
| hdds.ratis.raft.grpc.flow.control.window for more information. |
| </description> |
| </property> |
| <property> |
| <name>ozone.chunk.read.buffer.default.size</name> |
| <value>64KB</value> |
| <tag>OZONE, SCM, CONTAINER, PERFORMANCE</tag> |
| <description> |
| The default read buffer size during read chunk operations when checksum |
| is disabled. Chunk data will be cached in buffers of this capacity. |
| |
| For chunk data with checksum, the read buffer size will be the |
| same as the number of bytes per checksum |
| (ozone.client.bytes.per.checksum) corresponding to the chunk. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.container.layout</name> |
| <value>FILE_PER_BLOCK</value> |
| <tag>OZONE, SCM, CONTAINER, PERFORMANCE</tag> |
| <description> |
| Container layout defines how chunks, blocks and containers are stored on disk. |
| Each chunk is stored separately with FILE_PER_CHUNK. All chunks of a |
| block are stored in the same file with FILE_PER_BLOCK. The default is |
| FILE_PER_BLOCK. |
| </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.container.placement.ec.impl</name> |
| <value> |
| org.apache.hadoop.hdds.scm.container.placement.algorithms.SCMContainerPlacementRackScatter |
| </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 in EC mode. 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 per disk in a pipeline. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.pipeline.per.metadata.disk</name> |
| <value>2</value> |
| <tag>OZONE, SCM, PIPELINE</tag> |
| <description>Number of pipelines to be created per raft log disk. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.datanode.pipeline.limit</name> |
| <value>2</value> |
| <tag>OZONE, SCM, PIPELINE</tag> |
| <description>Max number of pipelines per datanode can be engaged in. |
| Setting the value to 0 means the pipeline limit per dn will be determined |
| by the no of metadata volumes reported per dn. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.datanode.disallow.same.peers</name> |
| <value>false</value> |
| <tag>OZONE, SCM, PIPELINE</tag> |
| <description>Disallows same set of datanodes to participate in multiple |
| pipelines when set to true. Default is set to false. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.ratis.pipeline.limit</name> |
| <value>0</value> |
| <tag>OZONE, SCM, PIPELINE</tag> |
| <description>Upper limit for how many pipelines can be OPEN in SCM. |
| 0 as default means there is no limit. Otherwise, the number is the limit |
| of max amount of pipelines which are OPEN. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.pipeline.allocated.timeout</name> |
| <value>5m</value> |
| <tag>OZONE, SCM, PIPELINE</tag> |
| <description> |
| Timeout for every pipeline to stay in ALLOCATED stage. When pipeline is created, |
| it should be at OPEN stage once pipeline report is successfully received by SCM. |
| If a pipeline stays at ALLOCATED longer than the specified period of time, |
| it should be scrubbed so that new pipeline can be created. |
| This timeout is for how long pipeline can stay at ALLOCATED |
| stage until it gets scrubbed. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.pipeline.leader-choose.policy</name> |
| <value> |
| org.apache.hadoop.hdds.scm.pipeline.leader.choose.algorithms.MinLeaderCountChoosePolicy |
| </value> |
| <tag>OZONE, SCM, PIPELINE</tag> |
| <description> |
| The policy used for choosing desired leader for pipeline creation. |
| There are two policies supporting now: DefaultLeaderChoosePolicy, MinLeaderCountChoosePolicy. |
| org.apache.hadoop.hdds.scm.pipeline.leader.choose.algorithms.DefaultLeaderChoosePolicy |
| implements a policy that choose leader without depending on priority. |
| org.apache.hadoop.hdds.scm.pipeline.leader.choose.algorithms.MinLeaderCountChoosePolicy |
| implements a policy that choose leader which has the minimum exist leader count. |
| In the future, we need to add policies which consider: |
| 1. resource, the datanode with the most abundant cpu and memory can be made the leader |
| 2. topology, the datanode nearest to the client can be made the leader |
| </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.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>100</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>hdds.recon.heartbeat.interval</name> |
| <value>60s</value> |
| <tag>OZONE, MANAGEMENT, RECON</tag> |
| <description> |
| The heartbeat interval from a Datanode to Recon. |
| </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>5s</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| Timeout value for the RPC from Datanode to SCM. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.heartbeat.rpc-retry-count</name> |
| <value>15</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| Retry count for the RPC from Datanode to SCM. The rpc-retry-interval |
| is 1s by default. Make sure rpc-retry-count * (rpc-timeout + |
| rpc-retry-interval) is less than hdds.heartbeat.interval. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.heartbeat.rpc-retry-interval</name> |
| <value>1s</value> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| Retry interval for the RPC from Datanode to SCM. |
| Make sure rpc-retry-count * (rpc-timeout + rpc-retry-interval) |
| is less than hdds.heartbeat.interval. |
| </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.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.server.default.replication</name> |
| <value>3</value> |
| <tag>OZONE</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 when creating key or no default replication set at |
| bucket. Supported values: 1, 3 and EC_3_2. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.server.default.replication.type</name> |
| <value>RATIS</value> |
| <tag>OZONE</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 when creating key or no default value set at bucket. |
| Supported values: RATIS, STAND_ALONE, CHAINED and EC. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.client.bucket.replication.config.refresh.time.ms</name> |
| <value>30000</value> |
| <tag>OZONE</tag> |
| <description> |
| Default time period to refresh the bucket replication config in o3fs |
| clients. Until the bucket replication config refreshed, client will |
| continue to use existing replication config irrespective of whether bucket |
| replication config updated at OM or not. |
| </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.om.open.key.cleanup.service.interval</name> |
| <value>24h</value> |
| <tag>OZONE, OM, PERFORMANCE</tag> |
| <description> |
| A background job that periodically checks open key entries and marks |
| expired open keys for deletion. This entry controls the interval of this |
| cleanup check. Unit could be defined with postfix (ns,ms,s,m,h,d) |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.open.key.expire.threshold</name> |
| <value>7d</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). Unit could be defined with postfix (ns,ms,s,m,h,d) |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.open.key.cleanup.limit.per.task</name> |
| <value>1000</value> |
| <tag>OZONE, OM, PERFORMANCE</tag> |
| <description> |
| The maximum number of open keys to be identified as expired and marked |
| for deletion by one run of the open key cleanup service on the OM. |
| This property is used to throttle the actual number of open key deletions |
| on the OM. |
| </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/> |
| <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.datanode.metadata.rocksdb.cache.size</name> |
| <value>64MB</value> |
| <tag>OZONE, DATANODE, MANAGEMENT</tag> |
| <description> |
| Size of the block metadata cache shared among RocksDB instances on each |
| datanode. All containers on a datanode will share this cache. |
| </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>ozone.scm.pipeline.scrub.interval</name> |
| <value>5m</value> |
| <tag>OZONE, SCM, PIPELINE</tag> |
| <description> |
| SCM schedules a fixed interval job using the configured interval to |
| scrub pipelines. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.pipeline.creation.auto.factor.one</name> |
| <value>true</value> |
| <tag>OZONE, SCM, PIPELINE</tag> |
| <description> |
| If enabled, SCM will auto create RATIS factor ONE pipeline. |
| </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>true</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.pipeline.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.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.scm.safemode.pipeline.creation</name> |
| <value>true</value> |
| <tag>HDDS,SCM,OPERATION</tag> |
| <description> |
| Boolean value to enable background pipeline creation in SCM safe mode. |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.scm.kerberos.keytab.file</name> |
| <value>/etc/security/keytabs/SCM.keytab</value> |
| <tag>SCM, SECURITY, KERBEROS</tag> |
| <description> The keytab file used by SCM daemon to login as its service principal. |
| </description> |
| </property> |
| <property> |
| <name>hdds.scm.kerberos.principal</name> |
| <value>SCM/_HOST@REALM</value> |
| <tag>SCM, SECURITY, KERBEROS</tag> |
| <description>The SCM service principal. e.g. scm/_HOST@REALM.COM</description> |
| </property> |
| <property> |
| <name>hdds.scm.http.auth.kerberos.principal</name> |
| <value>HTTP/_HOST@REALM</value> |
| <tag>SCM, SECURITY, KERBEROS</tag> |
| <description> |
| SCM http server service principal if SPNEGO is enabled for SCM http server. |
| </description> |
| </property> |
| <property> |
| <name>hdds.scm.http.auth.kerberos.keytab</name> |
| <value>/etc/security/keytabs/HTTP.keytab</value> |
| <tag>SCM, SECURITY, KERBEROS</tag> |
| <description> |
| The keytab file used by SCM http server to login as its service |
| principal if SPNEGO is enabled for SCM http server. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.s3g.volume.name</name> |
| <value>s3v</value> |
| <tag>OZONE, S3GATEWAY</tag> |
| <description> |
| The volume name to access through the s3gateway. |
| </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 "," separated. |
| 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.http.auth.kerberos.principal</name> |
| <value>HTTP/_HOST@REALM</value> |
| <tag>OZONE, S3GATEWAY, SECURITY, KERBEROS</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.http.auth.kerberos.keytab</name> |
| <value>/etc/security/keytabs/HTTP.keytab</value> |
| <tag>OZONE, S3GATEWAY, SECURITY, KERBEROS</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, KERBEROS</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.security.http.kerberos.enabled</name> |
| <value>false</value> |
| <tag>OZONE, SECURITY, KERBEROS</tag> |
| <description>True if Kerberos authentication for Ozone HTTP web consoles |
| is enabled using the SPNEGO protocol. When this property is |
| true, hadoop.security.authentication should be Kerberos and |
| ozone.security.enabled should be set to true. |
| </description> |
| </property> |
| <property> |
| <name>ozone.http.filter.initializers</name> |
| <value/> |
| <tag>OZONE, SECURITY, KERBEROS</tag> |
| <description>Set to org.apache.hadoop.security.AuthenticationFilterInitializer |
| to enable Kerberos authentication for Ozone HTTP web consoles |
| is enabled using the SPNEGO protocol. When this property is |
| set, ozone.security.http.kerberos.enabled should be set to true. |
| </description> |
| </property> |
| |
| |
| <property> |
| <name>ozone.client.read.timeout</name> |
| <value>30s</value> |
| <tag>OZONE, CLIENT, MANAGEMENT</tag> |
| <description> |
| Timeout for ozone grpc client during read. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.unflushed.transaction.max.count</name> |
| <value>10000</value> |
| <tag>OZONE, OM</tag> |
| <description>the unflushed transactions here are those requests that have been |
| applied to OM state machine but not been flushed to OM rocksdb. when OM meets |
| high concurrency-pressure and flushing is not fast enough, too many pending |
| requests will be hold in memory and will lead to long GC of OM, which will slow |
| down flushing further. there are some cases that flushing is slow, for example, |
| 1 rocksdb is on a HDD, which has poor IO performance than SSD. |
| 2 a big compaction is happening internally in rocksdb and write stall of |
| rocksdb happens. |
| 3 long GC, which may caused by other factors. |
| the property is to limit the max count of unflushed transactions, so that the |
| maximum memory occupied by unflushed transactions is limited. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.lock.fair</name> |
| <value>false</value> |
| <description>If this is true, the Ozone Manager lock will be used in Fair |
| mode, which will schedule threads in the order received/queued. If this is |
| false, uses non-fair ordering. See |
| java.util.concurrent.locks.ReentrantReadWriteLock |
| for more information on fair/non-fair locks. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.ratis.enable</name> |
| <value>true</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>4MB</value> |
| <tag>OZONE, OM, RATIS, PERFORMANCE</tag> |
| <description>The size of the raft segment used by Apache Ratis on OM. |
| (4 MB by default) |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.ratis.segment.preallocated.size</name> |
| <value>4MB</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.(4 MB 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.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>5s</value> |
| <tag>OZONE, OM, RATIS, MANAGEMENT</tag> |
| <description>The minimum timeout duration for OM's Ratis server rpc. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.leader.election.minimum.timeout.duration</name> |
| <value>5s</value> |
| <tag>OZONE, OM, RATIS, MANAGEMENT, DEPRECATED</tag> |
| <description>DEPRECATED. Leader election timeout uses ratis |
| rpc timeout which can be set via ozone.om.ratis.minimum.timeout. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.ratis.server.leaderelection.pre-vote </name> |
| <value>false</value> |
| <tag>OZONE, OM, RATIS, MANAGEMENT</tag> |
| <description>Enable/disable OM HA leader election pre-vote phase. |
| </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.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.metadata.dirs. |
| 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>ozone.om.kerberos.keytab.file</name> |
| <value>/etc/security/keytabs/OM.keytab</value> |
| <tag>OZONE, SECURITY, KERBEROS</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>OM/_HOST@REALM</value> |
| <tag>OZONE, SECURITY, KERBEROS</tag> |
| <description>The OzoneManager service principal. Ex om/_HOST@REALM.COM</description> |
| </property> |
| <property> |
| <name>ozone.om.http.auth.kerberos.principal</name> |
| <value>HTTP/_HOST@REALM</value> |
| <tag>OZONE, SECURITY, KERBEROS</tag> |
| <description> |
| Ozone Manager http server service principal if SPNEGO is enabled for om http server. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.http.auth.kerberos.keytab</name> |
| <value>/etc/security/keytabs/HTTP.keytab</value> |
| <tag>OZONE, SECURITY, KERBEROS</tag> |
| <description> |
| The keytab file used by OM http server to login as its service |
| principal if SPNEGO is enabled for om http server. |
| </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.container.token.enabled</name> |
| <value>false</value> |
| <tag>OZONE, HDDS, SECURITY, TOKEN</tag> |
| <description>True if container 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. |
| This duration is used for self-signed root cert and scm sub-ca certs |
| issued by root ca. 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>ozone.scm.service.ids</name> |
| <value></value> |
| <tag>OZONE, SCM, HA</tag> |
| <description> |
| Comma-separated list of SCM service Ids. This property allows the client |
| to figure out quorum of OzoneManager address. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.default.service.id</name> |
| <value></value> |
| <tag>OZONE, SCM, HA</tag> |
| <description> |
| Service ID of the SCM. If this is not set fall back to |
| ozone.scm.service.ids to find the service ID it belongs to. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.nodes.EXAMPLESCMSERVICEID</name> |
| <value></value> |
| <tag>OZONE, SCM, HA</tag> |
| <description> |
| Comma-separated list of SCM node Ids for a given SCM service ID (eg. |
| EXAMPLESCMSERVICEID). The SCM service ID should be the value (one of the |
| values if there are multiple) set for the parameter ozone.scm.service.ids. |
| |
| Unique identifiers for each SCM Node, delimited by commas. This will be |
| used by SCMs in HA setup to determine all the SCMs |
| belonging to the same SCM in the cluster. For example, if you |
| used “scmService1” as the SCM service ID previously, and you wanted to |
| use “scm1”, “scm2” and "scm3" as the individual IDs of the SCMs, |
| you would configure a property ozone.scm.nodes.scmService1, and its value |
| "scm1,scm2,scm3". |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.node.id</name> |
| <value></value> |
| <tag>OZONE, SCM, HA</tag> |
| <description> |
| The ID of this SCM node. If the SCM 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 scmId from the SCM version file. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.primordial.node.id</name> |
| <value></value> |
| <tag>OZONE, SCM, HA</tag> |
| <description> |
| optional config, if being set will cause scm --init to only take effect on |
| the specific node and ignore scm --bootstrap cmd. |
| Similarly, scm --init will be ignored on the non-primordial scm nodes. |
| The config can either be set equal to the hostname or the node id of any |
| of the scm nodes. |
| With the config set, applications/admins can safely execute init and |
| bootstrap commands safely on all scm instances. |
| |
| If a cluster is upgraded from non-ratis to ratis based SCM, scm --init |
| needs to re-run for switching from |
| non-ratis based SCM to ratis-based SCM on the primary node. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.skip.bootstrap.validation</name> |
| <value>false</value> |
| <tag>OZONE, SCM, HA</tag> |
| <description> |
| optional config, the config when set to true skips the clusterId |
| validation from leader scm during bootstrap |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.ratis.enable</name> |
| <value>true</value> |
| <tag>OZONE, SCM, HA, RATIS</tag> |
| <description>Property to enable or disable Ratis server on SCM. |
| Please note - this is a temporary property to disable SCM Ratis server. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.scm.ratis.port</name> |
| <value>9894</value> |
| <tag>OZONE, SCM, HA, RATIS</tag> |
| <description> |
| The port number of the SCM's Ratis server. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.scm.grpc.port</name> |
| <value>9895</value> |
| <tag>OZONE, SCM, HA, RATIS</tag> |
| <description> |
| The port number of the SCM's grpc server. |
| </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.iterate.batch-size</name> |
| <value>100</value> |
| <tag>OZONE, OZONEFS</tag> |
| <description> |
| Iterate batch size of delete when use BasicOzoneFileSystem. |
| </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.auth.kerberos.principal</name> |
| <value>HTTP/_HOST@REALM</value> |
| <tag>SECURITY</tag> |
| <description> |
| Security principal used by freon. |
| </description> |
| </property> |
| <property> |
| <name>ozone.freon.http.auth.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>ozone.om.security.admin.protocol.acl</name> |
| <value>*</value> |
| <tag>SECURITY</tag> |
| <description> |
| Comma separated list of users and groups allowed to access ozone |
| manager admin protocol. |
| </description> |
| </property> |
| |
| <property> |
| <name>hdds.datanode.http.auth.kerberos.principal</name> |
| <value>HTTP/_HOST@REALM</value> |
| <tag>HDDS, SECURITY, MANAGEMENT, KERBEROS</tag> |
| <description> |
| The kerberos principal for the datanode http server. |
| </description> |
| </property> |
| <property> |
| <name>hdds.datanode.http.auth.kerberos.keytab</name> |
| <value>/etc/security/keytabs/HTTP.keytab</value> |
| <tag>HDDS, SECURITY, MANAGEMENT, KERBEROS</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.failover.max.attempts</name> |
| <value>500</value> |
| <description> |
| Expert only. Ozone RpcClient attempts talking to each OzoneManager |
| ipc.client.connect.max.retries (default = 10) number of times before |
| failing over to another OzoneManager, if available. This parameter |
| represents the number of times the client will failover before giving |
| up. This value is kept high so that client does not give up trying to |
| connect to OMs easily. |
| </description> |
| </property> |
| <property> |
| <name>ozone.client.wait.between.retries.millis</name> |
| <value>2000</value> |
| <description> |
| Expert only. The time to wait, in milliseconds, between retry attempts |
| to contact OM. Wait time increases linearly if same OM is retried |
| again. If retrying on multiple OMs proxies in round robin fashion, the |
| wait time is introduced after all the OM proxies have been attempted once. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.admin.protocol.max.retries</name> |
| <value>20</value> |
| <tag>OM, MANAGEMENT</tag> |
| <description> |
| Expert only. The maximum number of retries for Ozone Manager Admin |
| protocol on each OM. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.admin.protocol.wait.between.retries</name> |
| <value>1000</value> |
| <tag>OM, MANAGEMENT</tag> |
| <description> |
| Expert only. The time to wait, in milliseconds, between retry attempts |
| for Ozone Manager Admin protocol. |
| </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.http.auth.kerberos.keytab</name> |
| <value>/etc/security/keytabs/HTTP.keytab</value> |
| <tag>RECON, SECURITY, KERBEROS</tag> |
| <description> |
| The keytab file for HTTP Kerberos authentication in Recon. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.http.auth.kerberos.principal</name> |
| <value>HTTP/_HOST@REALM</value> |
| <tag>RECON, SECURITY, KERBEROS</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.administrators</name> |
| <value/> |
| <tag>RECON, SECURITY</tag> |
| <description> |
| Recon administrator users delimited by a comma. |
| This is the list of users who can access admin only information from recon. |
| Users defined in ozone.administrators will always be able to access all |
| recon information regardless of this setting. |
| </description> |
| </property> |
| <property> |
| <name>hdds.datanode.http.auth.type</name> |
| <value>simple</value> |
| <tag>DATANODE, SECURITY, KERBEROS</tag> |
| <description> simple or kerberos. If kerberos is set, Kerberos SPNEOGO |
| will be used for http authentication. |
| </description> |
| </property> |
| <property> |
| <name>ozone.freon.http.auth.type</name> |
| <value>simple</value> |
| <tag>FREON, SECURITY</tag> |
| <description> simple or kerberos. If kerberos is set, Kerberos SPNEOGO |
| will be used for http authentication. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.http.auth.type</name> |
| <value>simple</value> |
| <tag>OM, SECURITY, KERBEROS</tag> |
| <description> simple or kerberos. If kerberos is set, Kerberos SPNEOGO |
| will be used for http authentication. |
| </description> |
| </property> |
| <property> |
| <name>hdds.scm.http.auth.type</name> |
| <value>simple</value> |
| <tag>OM, SECURITY, KERBEROS</tag> |
| <description> simple or kerberos. If kerberos is set, Kerberos SPNEOGO |
| will be used for http authentication. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.http.auth.type</name> |
| <value>simple</value> |
| <tag>RECON, SECURITY, KERBEROS</tag> |
| <description> simple or kerberos. If kerberos is set, Kerberos SPNEOGO |
| will be used for http authentication. |
| </description> |
| </property> |
| <property> |
| <name>ozone.s3g.http.auth.type</name> |
| <value>simple</value> |
| <tag>S3G, SECURITY, KERBEROS</tag> |
| <description> simple or kerberos. If kerberos is set, Kerberos SPNEOGO |
| will be used for http authentication. |
| </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.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>ozone.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>ozone.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>ozone.recon.scm.connection.request.timeout</name> |
| <value>5s</value> |
| <tag>OZONE, RECON, SCM</tag> |
| <description> |
| Connection request timeout in milliseconds for HTTP call made by Recon to |
| request SCM DB snapshot. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.scm.connection.timeout</name> |
| <value>5s</value> |
| <tag>OZONE, RECON, SCM</tag> |
| <description> |
| Connection timeout for HTTP call in milliseconds made by Recon to request |
| SCM snapshot. |
| </description> |
| </property> |
| <property> |
| <name>ozone.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>ozone.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>ozone.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>ozone.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>recon.om.delta.update.limit</name> |
| <value>2000</value> |
| <tag>OZONE, RECON</tag> |
| <description> |
| Recon each time get a limited delta updates from OM. |
| The actual fetched data might be larger than this limit. |
| </description> |
| </property> |
| <property> |
| <name>recon.om.delta.update.loop.limit</name> |
| <value>10</value> |
| <tag>OZONE, RECON</tag> |
| <description> |
| The sync between Recon and OM consists of several small |
| fetch loops. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.scm.container.threshold</name> |
| <value>100</value> |
| <tag>OZONE, RECON, SCM</tag> |
| <description> |
| Threshold value for the difference in number of containers |
| in SCM and RECON. |
| </description> |
| </property> |
| <property> |
| <name>ozone.recon.scm.snapshot.enabled</name> |
| <value>false</value> |
| <tag>OZONE, RECON, SCM</tag> |
| <description> |
| If enabled, SCM DB Snapshot is taken by Recon. |
| </description> |
| </property> |
| <property> |
| <name>hdds.tracing.enabled</name> |
| <value>false</value> |
| <tag>OZONE, HDDS</tag> |
| <description> |
| If enabled, tracing information is sent to tracing server. |
| </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> |
| <property> |
| <name>ozone.scm.datanode.admin.monitor.interval</name> |
| <value>30s</value> |
| <tag>SCM</tag> |
| <description> |
| This sets how frequently the datanode admin monitor runs to check for |
| nodes added to the admin workflow or removed from it. The progress |
| of decommissioning and entering maintenance nodes is also checked to see |
| if they have completed. |
| </description> |
| </property> |
| <property> |
| <name>ozone.client.list.trash.keys.max</name> |
| <value>1000</value> |
| <tag>OZONE, CLIENT</tag> |
| <description> |
| The maximum number of keys to return for a list trash request. |
| </description> |
| </property> |
| <property> |
| <name>ozone.http.basedir</name> |
| <value/> |
| <tag>OZONE, OM, SCM, MANAGEMENT</tag> |
| <description> |
| The base dir for HTTP Jetty server to extract contents. If this property |
| is not configured, by default, Jetty will create a directory inside the |
| directory named by the java.io.tmpdir System property(/tmp by default). |
| While in production environment, it's strongly suggested to instruct Jetty |
| to use a different parent directory by setting this property to the name |
| of the desired parent directory. The value of the property will be used to |
| set Jetty context attribute 'org.eclipse.jetty.webapp.basetempdir'. |
| The directory named by this property must exist and be writeable. |
| </description> |
| </property> |
| <property> |
| <name>ozone.http.policy</name> |
| <value>HTTP_ONLY</value> |
| <tag>OZONE, SECURITY, MANAGEMENT</tag> |
| <description>Decide if HTTPS(SSL) is supported on Ozone |
| This configures the HTTP endpoint for Ozone daemons: |
| The following values are supported: |
| - HTTP_ONLY : Service is provided only on http |
| - HTTPS_ONLY : Service is provided only on https |
| - HTTP_AND_HTTPS : Service is provided both on http and https |
| </description> |
| </property> |
| <property> |
| <name>ozone.https.client.need-auth</name> |
| <tag>OZONE, SECURITY, MANAGEMENT</tag> |
| <value>false</value> |
| <description> |
| Whether SSL client certificate authentication is required |
| </description> |
| </property> |
| <property> |
| <name>ozone.https.client.keystore.resource</name> |
| <tag>OZONE, SECURITY, MANAGEMENT</tag> |
| <value>ssl-client.xml</value> |
| <description> |
| Resource file from which ssl client keystore |
| information will be extracted |
| </description> |
| </property> |
| <property> |
| <name>ozone.https.server.keystore.resource</name> |
| <tag>OZONE, SECURITY, MANAGEMENT</tag> |
| <value>ssl-server.xml</value> |
| <description>Resource file from which ssl server keystore |
| information will be extracted |
| </description> |
| </property> |
| <property> |
| <name>ozone.s3g.client.buffer.size</name> |
| <tag>OZONE, S3GATEWAY</tag> |
| <value>4KB</value> |
| <description> |
| The size of the buffer which is for read block. (4KB by default). |
| </description> |
| </property> |
| <property> |
| <name>ssl.server.keystore.keypassword</name> |
| <tag>OZONE, SECURITY, MANAGEMENT</tag> |
| <value/> |
| <description>Keystore key password for HTTPS SSL configuration |
| </description> |
| </property> |
| <property> |
| <name>ssl.server.keystore.location</name> |
| <tag>OZONE, SECURITY, MANAGEMENT</tag> |
| <value/> |
| <description> |
| Keystore location for HTTPS SSL configuration |
| </description> |
| </property> |
| <property> |
| <name>ssl.server.keystore.password</name> |
| <tag>OZONE, SECURITY, MANAGEMENT</tag> |
| <value/> |
| <description> |
| Keystore password for HTTPS SSL configuration |
| </description> |
| </property> |
| <property> |
| <name>ssl.server.truststore.location</name> |
| <tag>OZONE, SECURITY, MANAGEMENT</tag> |
| <value/> |
| <description> |
| Truststore location for HTTPS SSL configuration |
| </description> |
| </property> |
| <property> |
| <name>ssl.server.truststore.password</name> |
| <tag>OZONE, SECURITY, MANAGEMENT</tag> |
| <value/> |
| <description> |
| Truststore password for HTTPS SSL configuration |
| </description> |
| </property> |
| <property> |
| <name>hdds.datanode.ratis.server.request.timeout</name> |
| <tag>OZONE, DATANODE</tag> |
| <value>2m</value> |
| <description> |
| Timeout for the request submitted directly to Ratis in datanode. |
| </description> |
| </property> |
| <property> |
| <name>ozone.om.keyname.character.check.enabled</name> |
| <tag>OZONE, OM</tag> |
| <value>false</value> |
| <description>If true, then enable to check if the key name |
| contains illegal characters when creating/renaming key. |
| For the definition of illegal characters, follow the |
| rules in Amazon S3's object key naming guide. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.enable.filesystem.paths</name> |
| <tag>OZONE, OM</tag> |
| <value>false</value> |
| <description>If true, key names will be interpreted as file system paths. |
| "/" will be treated as a special character and paths will be normalized |
| and must follow Unix filesystem path naming conventions. This flag will |
| be helpful when objects created by S3G need to be accessed using OFS/O3Fs. |
| If false, it will fallback to default behavior of Key/MPU create |
| requests where key paths are not normalized and any intermediate |
| directories will not be created or any file checks happens to check |
| filesystem semantics. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.om.key.path.lock.enabled</name> |
| <tag>OZONE, OM</tag> |
| <value>false</value> |
| <description>Defaults to false. If true, the fine-grained KEY_PATH_LOCK |
| functionality is enabled. If false, it is disabled. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.client.key.provider.cache.expiry</name> |
| <tag>OZONE, CLIENT, SECURITY</tag> |
| <value>10d</value> |
| <description>Ozone client security key provider cache expiration time. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.scm.info.wait.duration</name> |
| <tag>OZONE, SCM, OM</tag> |
| <value>10m</value> |
| <description> Maximum amount of duration OM/SCM waits to get Scm Info/Scm |
| signed cert during OzoneManager init/SCM bootstrap. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.scm.ca.list.retry.interval</name> |
| <tag>OZONE, SCM, OM, DATANODE</tag> |
| <value>10s</value> |
| <description>SCM client wait duration between each retry to get Scm CA |
| list. OM/Datanode obtain CA list during startup, and wait |
| for the CA List size to be matched with SCM node count size plus |
| 1. (Additional one certificate is root CA certificate). If the received |
| CA list size is not matching with expected count, this is the duration |
| used to wait before making next attempt to get CA list. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.client.key.latest.version.location</name> |
| <tag>OZONE, CLIENT</tag> |
| <value>true</value> |
| <description>Ozone client gets the latest version location. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.directory.deleting.service.interval</name> |
| <value>1m</value> |
| <tag>OZONE, PERFORMANCE, OM</tag> |
| <description>Time interval of the directory deleting service. It runs on OM |
| periodically and cleanup orphan directory and its sub-tree. For every |
| orphan directory it deletes the sub-path tree structure(dirs/files). It |
| sends sub-files to KeyDeletingService to deletes its blocks. Unit could |
| be defined with postfix (ns,ms,s,m,h,d) |
| </description> |
| </property> |
| <property> |
| <name>ozone.path.deleting.limit.per.task</name> |
| <value>10000</value> |
| <tag>OZONE, PERFORMANCE, OM</tag> |
| <description>A maximum number of paths(dirs/files) to be deleted by |
| directory deleting service per time interval. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.scm.event.ContainerReport.thread.pool.size</name> |
| <value>10</value> |
| <tag>OZONE, SCM</tag> |
| <description>Thread pool size configured to process container reports. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.scm.datanode.ratis.volume.free-space.min</name> |
| <value>1GB</value> |
| <tag>OZONE, DATANODE</tag> |
| <description>Minimum amount of storage space required for each ratis |
| volume on a datanode to hold a new pipeline. |
| Datanodes with all its ratis volumes with space under this value |
| will not be allocated a pipeline or container replica. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.ha.ratis.storage.dir</name> |
| <value></value> |
| <tag>OZONE, SCM, HA, RATIS</tag> |
| <description>Storage directory used by SCM to write Ratis logs.</description> |
| </property> |
| <property> |
| <name>ozone.scm.ha.ratis.rpc.type</name> |
| <value>GRPC</value> |
| <tag>SCM, OZONE, HA, RATIS</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.scm.ha.ratis.segment.size</name> |
| <value>4MB</value> |
| <tag>SCM, OZONE, HA, RATIS</tag> |
| <description>The size of the raft segment used by Apache Ratis on |
| SCM. (4 MB by default) |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.ha.ratis.segment.preallocated.size</name> |
| <value>4MB</value> |
| <tag>SCM, OZONE, HA, RATIS</tag> |
| <description>The size of the buffer which is preallocated for |
| raft segment used by Apache Ratis on SCM.(4 MB by default) |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.ha.ratis.log.appender.queue.byte-limit</name> |
| <value>32MB</value> |
| <tag>SCM, OZONE, HA, RATIS</tag> |
| <description>Byte limit for Raft's Log Worker queue.</description> |
| </property> |
| <property> |
| <name>ozone.scm.ha.ratis.log.appender.queue.num-elements</name> |
| <value>1024</value> |
| <tag>SCM, OZONE, HA, RATIS</tag> |
| <description>Number of operation pending with Raft's Log Worker. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.ha.ratis.log.purge.enabled</name> |
| <value>false</value> |
| <tag>SCM, OZONE, HA, RATIS</tag> |
| <description>whether enable raft log purge.</description> |
| </property> |
| <property> |
| <name>ozone.scm.ha.ratis.log.purge.gap</name> |
| <value>1000000</value> |
| <tag>SCM, OZONE, HA, 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.scm.ha.ratis.snapshot.threshold</name> |
| <value>1000</value> |
| <tag>SCM, OZONE, HA, RATIS</tag> |
| <description>The threshold to trigger a Ratis taking snapshot |
| operation for SCM. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.ha.ratis.request.timeout</name> |
| <value>30s</value> |
| <tag>SCM, OZONE, HA, RATIS</tag> |
| <description>The timeout duration for SCM's Ratis server RPC.</description> |
| </property> |
| <property> |
| <name>ozone.scm.ha.ratis.server.retry.cache.timeout</name> |
| <value>60s</value> |
| <tag>SCM, OZONE, HA, RATIS</tag> |
| <description>Retry Cache entry timeout for SCM's Ratis server.</description> |
| </property> |
| <property> |
| <name>ozone.scm.ha.ratis.leader.election.timeout</name> |
| <value>5s</value> |
| <tag>SCM, OZONE, HA, RATIS</tag> |
| <description>The minimum timeout duration for SCM ratis leader |
| election. Default is 1s.</description> |
| </property> |
| <property> |
| <name>ozone.scm.ha.ratis.server.leaderelection.pre-vote</name> |
| <value>false</value> |
| <tag>SCM, OZONE, HA, RATIS</tag> |
| <description>Enable/disable SCM HA leader election pre-vote phase.</description> |
| </property> |
| <property> |
| <name>ozone.scm.ha.ratis.leader.ready.wait.timeout</name> |
| <value>60s</value> |
| <tag>SCM, OZONE, HA, RATIS</tag> |
| <description>The minimum timeout duration for waiting for |
| leader readiness.</description> |
| </property> |
| <property> |
| <name>ozone.scm.ha.ratis.leader.ready.check.interval</name> |
| <value>2s</value> |
| <tag>SCM, OZONE, HA, RATIS</tag> |
| <description>The interval between ratis server performing |
| a leader readiness check. |
| </description> |
| </property> |
| <property> |
| <name>ozone.scm.ha.ratis.server.failure.timeout.duration</name> |
| <value>120s</value> |
| <tag>SCM, OZONE, HA, RATIS</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.scm.ha.ratis.snapshot.dir</name> |
| <value></value> |
| <tag>SCM, OZONE, HA, RATIS</tag> |
| <description>The ratis snapshot dir location.</description> |
| </property> |
| <property> |
| <name>ozone.scm.ha.grpc.deadline.interval</name> |
| <value>30m</value> |
| <tag>SCM, OZONE, HA, RATIS</tag> |
| <description>Deadline for SCM DB checkpoint interval.</description> |
| </property> |
| |
| |
| <property> |
| <name>ozone.s3g.kerberos.keytab.file</name> |
| <value>/etc/security/keytabs/s3g.keytab</value> |
| <tag>OZONE, SECURITY, KERBEROS, S3GATEWAY</tag> |
| <description> The keytab file used by S3Gateway daemon to login as its |
| service principal. The principal name is configured with |
| ozone.s3g.kerberos.principal. |
| </description> |
| </property> |
| <property> |
| <name>ozone.s3g.kerberos.principal</name> |
| <value>s3g/_HOST@REALM</value> |
| <tag>OZONE, SECURITY, KERBEROS, S3GATEWAY</tag> |
| <description>The S3Gateway service principal. |
| Ex: s3g/_HOST@REALM.COM</description> |
| </property> |
| |
| <property> |
| <name>hdds.container.checksum.verification.enabled</name> |
| <value>true</value> |
| <tag>OZONE, DATANODE</tag> |
| <description> To enable/disable checksum verification of the |
| containers. |
| </description> |
| </property> |
| |
| <property> |
| <name>hadoop.http.idle_timeout.ms</name> |
| <value>60000</value> |
| <tag>OZONE, PERFORMANCE, S3GATEWAY</tag> |
| <description> |
| OM/SCM/DN/S3GATEWAY Server connection timeout in milliseconds. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.default.bucket.layout</name> |
| <value/> |
| <tag>OZONE, MANAGEMENT</tag> |
| <description> |
| Default bucket layout used by Ozone Manager during bucket creation when a client does not specify the |
| bucket layout option. Supported values are OBJECT_STORE and FILE_SYSTEM_OPTIMIZED. |
| OBJECT_STORE: This layout allows the bucket to behave as a pure object store and will not allow |
| interoperability between S3 and FS APIs. |
| FILE_SYSTEM_OPTIMIZED: This layout allows the bucket to support atomic rename/delete operations and |
| also allows interoperability between S3 and FS APIs. Keys written via S3 API with a "/" delimiter |
| will create intermediate directories. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.client.max.ec.stripe.write.retries</name> |
| <value>10</value> |
| <tag>CLIENT</tag> |
| <description> |
| When EC stripe write failed, client will request to allocate new block group and write the failed stripe into new |
| block group. If the same stripe failure continued in newly acquired block group also, then it will retry by |
| requesting to allocate new block group again. This configuration is used to limit these number of retries. By |
| default the number of retries are 10. |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.audit.log.debug.cmd.list.omaudit</name> |
| <value></value> |
| <tag>OM</tag> |
| <description> |
| A comma separated list of OzoneManager commands that are written to the OzoneManager audit logs only if the audit |
| log level is debug. Ex: "ALLOCATE_BLOCK,ALLOCATE_KEY,COMMIT_KEY". |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.audit.log.debug.cmd.list.scmaudit</name> |
| <value></value> |
| <tag>SCM</tag> |
| <description> |
| A comma separated list of SCM commands that are written to the SCM audit logs only if the audit |
| log level is debug. Ex: "GET_VERSION,REGISTER,SEND_HEARTBEAT". |
| </description> |
| </property> |
| |
| <property> |
| <name>ozone.audit.log.debug.cmd.list.dnaudit</name> |
| <value></value> |
| <tag>DN</tag> |
| <description> |
| A comma separated list of Datanode commands that are written to the DN audit logs only if the audit |
| log level is debug. Ex: "CREATE_CONTAINER,READ_CONTAINER,UPDATE_CONTAINER". |
| </description> |
| </property> |
| </configuration> |