blob: f47b9d97ac59ad1a3499d00d4057d5eabaa6b468 [file] [log] [blame]
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
/**
*(C) Copyright 2013-2015 Hewlett-Packard Development Company, L.P.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<!--
/**
* 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.
*/
-->
<configuration>
<property>
<name>dcs.tmp.dir</name>
<value>${java.io.tmpdir}/dcs-${user.name}</value>
<description>Temporary directory on the local filesystem.
Change this setting to point to a location more permanent
than '/tmp' (The '/tmp' directory is often cleared on
machine restart).
</description>
</property>
<property>
<name>dcs.local.dir</name>
<value>${dcs.tmp.dir}/local/</value>
<description>Directory on the local filesystem to be used
as a local storage.
</description>
</property>
<property>
<name>dcs.master.port</name>
<value>37800</value>
<description>
Default DCS port.
</description>
</property>
<property>
<name>dcs.master.port.range</name>
<value>100</value>
<description>
Default range of ports.
</description>
</property>
<property>
<name>dcs.master.info.port</name>
<value>40010</value>
<description>The port for the Dcs Master web UI.
Set to -1 if you do not want a UI instance run.
</description>
</property>
<property>
<name>dcs.master.info.bindAddress</name>
<value>0.0.0.0</value>
<description>The bind address for the DcsMaster web UI
</description>
</property>
<property>
<name>dcs.master.server.restart.handler.attempts</name>
<value>3</value>
<description>
Maximum number of times the DcsMaster restart handler will try to restart the DcsServer.
</description>
</property>
<property>
<name>dcs.master.server.restart.handler.retry.interval.millis</name>
<value>1000</value>
<description>
Interval between Server restart handler retries.
</description>
</property>
<property>
<name>dcs.master.listener.request.timeout</name>
<value>30000</value>
<description>
Listener Request timeout. Default 30 seconds.
</description>
</property>
<property>
<name>dcs.master.listener.selector.timeout</name>
<value>10000</value>
<description>
Listener Selector timeout. Default 10 seconds.
</description>
</property>
<property>
<name>dcs.server.user.program.max.heap.pct.exit</name>
<value>0</value>
<description>
Set this value to a percentage of the initial heap size (for example, value: 80), which you do not want the current heap size to exceed.
When the Trafodion session disconnects, the DCS server's user program checks its current heap size. If the difference between its current
and initial heap sizes exceeds this percentage, the user program will exit, and the DCS server will restart it. If the difference between
its current and initial heap sizes does not exceed this percentage, the user program will be allowed to keep running. The default is 0,
which means that the heap size is not checked after the session disconnects and the user program keeps running.
</description>
</property>
<property>
<name>dcs.server.user.program.zookeeper.session.timeout</name>
<value>180</value>
<description>
User program ZooKeeper session timeout.
Default 180 seconds.
</description>
</property>
<property>
<name>dcs.server.user.program.exit.after.disconnect</name>
<value>0</value>
<description>
User program calls exit() after client disconnect.
Default is 0 or don't 'disconnect after exit. Really only
for developer use.
</description>
</property>
<property>
<name>dcs.server.info.port</name>
<value>40030</value>
<description>The port for the DcsServer web UI
Set to -1 if you do not want the server UI to run.
</description>
</property>
<property>
<name>dcs.server.info.bindAddress</name>
<value>0.0.0.0</value>
<description>The address for the DcsServer web UI
</description>
</property>
<property>
<name>dcs.server.info.port.auto</name>
<value>true</value>
<description>Whether or not the DcsServer
UI should search for a port to bind to. Enables automatic port
search if dcs.server.info.port.auto is already in use.
</description>
</property>
<property>
<name>dcs.dns.interface</name>
<value>default</value>
<description>Dcs uses the local host name for reporting its IP address. If your machine
has multiple interfaces DCS will use the interface that the primary
host name resolves to. If this is insufficient, you can set this property
to indicate the primary interface e.g., "eth1". This only works if your cluster
configuration is consistent and every host has the same network interface
configuration.
</description>
</property>
<property>
<name>dcs.info.threads.max</name>
<value>100</value>
<description>
The maximum number of threads of the info server thread pool.
Threads in the pool are reused to process requests. This
controls the maximum number of requests processed concurrently.
It may help to control the memory used by the info server to
avoid out of memory issues. If the thread pool is full, incoming requests
will be queued up and wait for some free threads. The default
is 100.
</description>
</property>
<property>
<name>dcs.info.threads.min</name>
<value>2</value>
<description>
The minimum number of threads of the info server thread pool.
The thread pool always has at least these number of threads so
the info server is ready to serve incoming requests. The default
is 2.
</description>
</property>
<property>
<name>dcs.zookeeper.dns.interface</name>
<value>default</value>
<description>The name of the Network Interface from which a ZooKeeper server
should report its IP address.
</description>
</property>
<property>
<name>dcs.zookeeper.dns.nameserver</name>
<value>default</value>
<description>The host name or IP address of the name server (DNS)
which a ZooKeeper server should use to determine the host name used by the
master for communication and display purposes.
</description>
</property>
<property>
<name>dcs.server.versionfile.writeattempts</name>
<value>3</value>
<description>
How many time to retry attempting to write a version file
before just aborting. Each attempt is seperated by the
dcs.server.thread.wakefrequency milliseconds.
</description>
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>180000</value>
<description>ZooKeeper session timeout.
dcs passes this to the zk quorum as suggested maximum time for a
session (This setting becomes zookeeper's 'maxSessionTimeout'). See
http://hadoop.apache.org/zookeeper/docs/current/zookeeperProgrammers.html#ch_zkSessions
"The client sends a requested timeout, the server responds with the
timeout that it can give the client. " In milliseconds.
</description>
</property>
<property>
<name>zookeeper.znode.parent</name>
<value>/${user.name}</value>
<description>Root Znode for dcs in ZooKeeper. All of dcs's ZooKeeper
znodes that are configured with a relative path will go under this node.
By default, all of dcs's ZooKeeper file path are configured with a
relative path, so they will all go under this directory unless changed.
</description>
</property>
<!--
The following three properties are used together to create the list of
host:peer_port:leader_port quorum servers for ZooKeeper.
-->
<property>
<name>dcs.zookeeper.quorum</name>
<value>localhost</value>
<description>Comma separated list of servers in the ZooKeeper Quorum.
For example, "host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".
By default this is set to localhost. For a fully-distributed setup,
this should be set to a full list of ZooKeeper quorum servers.
If DCS_MANAGES_ZK is set in dcs-env.sh this is the list of servers which
we will start/stop ZooKeeper on.
</description>
</property>
<property>
<name>dcs.zookeeper.peerport</name>
<value>2888</value>
<description>Port used by ZooKeeper peers to talk to each other.
See http://hadoop.apache.org/zookeeper/docs/r3.1.1/zookeeperStarted.html#sc_RunningReplicatedZooKeeper
for more information.
</description>
</property>
<property>
<name>dcs.zookeeper.leaderport</name>
<value>3888</value>
<description>Port used by ZooKeeper for leader election.
See http://hadoop.apache.org/zookeeper/docs/r3.1.1/zookeeperStarted.html#sc_RunningReplicatedZooKeeper
for more information.
</description>
</property>
<property>
<name>dcs.zookeeper.useMulti</name>
<value>false</value>
<description>Instructs DCS to make use of ZooKeeper's multi-update functionality.
This allows certain ZooKeeper operations to complete more quickly and prevents some issues
with rare ZooKeeper failure scenarios (see the release note of HBASE-6710 for an example).
IMPORTANT: only set this to true if all ZooKeeper servers in the cluster are on version 3.4+
and will not be downgraded. ZooKeeper versions before 3.4 do not support multi-update and will
not fail gracefully if multi-update is invoked (see ZOOKEEPER-1495).
</description>
</property>
<!-- End of properties used to generate ZooKeeper host:port quorum list. -->
<!--
Beginning of properties that are directly mapped from ZooKeeper's zoo.cfg.
All properties with an "dcs.zookeeper.property." prefix are converted for
ZooKeeper's configuration. Hence, if you want to add an option from zoo.cfg,
e.g. "initLimit=10" you would append the following to your configuration:
<property>
<name>dcs.zookeeper.property.initLimit</name>
<value>10</value>
</property>
-->
<property>
<name>dcs.zookeeper.property.initLimit</name>
<value>10</value>
<description>Property from ZooKeeper's config zoo.cfg.
The number of ticks that the initial synchronization phase can take.
</description>
</property>
<property>
<name>dcs.zookeeper.property.syncLimit</name>
<value>5</value>
<description>Property from ZooKeeper's config zoo.cfg.
The number of ticks that can pass between sending a request and getting an
acknowledgment.
</description>
</property>
<property>
<name>dcs.zookeeper.property.dataDir</name>
<value>${dcs.tmp.dir}/zookeeper</value>
<description>Property from ZooKeeper's config zoo.cfg.
The directory where the snapshot is stored.
</description>
</property>
<property>
<name>dcs.zookeeper.property.clientPort</name>
<value>2181</value>
<description>Property from ZooKeeper's config zoo.cfg.
The port at which the clients will connect.
</description>
</property>
<property>
<name>dcs.zookeeper.property.maxClientCnxns</name>
<value>300</value>
<description>Property from ZooKeeper's config zoo.cfg.
Limit on number of concurrent connections (at the socket level) that a
single client, identified by IP address, may make to a single member of
the ZooKeeper ensemble. Set high to avoid zk connection issues running
standalone and pseudo-distributed.
</description>
</property>
<!-- End of properties that are directly mapped from ZooKeeper's zoo.cfg -->
<property>
<name>dcs.rest.port</name>
<value>8080</value>
<description>The port for the dcs REST server.</description>
</property>
<property>
<name>dcs.rest.readonly</name>
<value>false</value>
<description>
Defines the mode the REST server will be started in. Possible values are:
false: All HTTP methods are permitted - GET/PUT/POST/DELETE.
true: Only the GET method is permitted.
</description>
</property>
<property>
<name>dcs.rest.threads.max</name>
<value>100</value>
<description>
The maximum number of threads of the REST server thread pool.
Threads in the pool are reused to process REST requests. This
controls the maximum number of requests processed concurrently.
It may help to control the memory used by the REST server to
avoid out of memory issues. If the thread pool is full, incoming requests
will be queued up and wait for some free threads. The default
is 100.
</description>
</property>
<property>
<name>dcs.rest.threads.min</name>
<value>2</value>
<description>
The minimum number of threads of the REST server thread pool.
The thread pool always has at least these number of threads so
the REST server is ready to serve incoming requests. The default
is 2.
</description>
</property>
<property>
<name>dcs.rest.refresh.seconds</name>
<value>5</value>
<description>
Time in seconds between refresh of the REST server page. Set to 0
to disable automatic refresh. The default is 5.
</description>
</property>
<property>
<name>dcs.server.user.program.statistics.interval.time</name>
<value>60</value>
<description>
Time in seconds between update of aggregation statistics.The default is 60.
</description>
</property>
<property>
<name>dcs.server.user.program.statistics.limit.time</name>
<value>60</value>
<description>
Time in seconds for long running query threshold. If query executes longer
than the value, it will be regarded as rogue query. The default is 60.
</description>
</property>
<property>
<name>dcs.server.user.program.statistics.type</name>
<value>aggregated</value>
<description>
Type of statistics to be published. User can set it as 'query', 'session'
or 'aggregated'. By 'aggregated', session stats and aggregation stats will
be published. For query stats, only long running queries will be recorded.
By 'session', only session stats will be published. By 'query', only
session stats and query stats will be published. The default is 'aggregated'.
</description>
</property>
<property>
<name>dcs.server.user.program.statistics.enabled</name>
<value>true</value>
<description>
If statistics publication is enabled. The default is true. Set false to disable.
</description>
</property>
<property>
<name>dcs.server.class.name</name>
<value>org.trafodion.dcs.server.DcsServer</value>
<description>
The classname of the DcsServer to start. Used for development of new architecture
</description>
</property>
</configuration>