In hbase book, It recommends the zookeeper.session.timeout is default 60s.
but, the default value is configured for 18000 in Hbase-default.xml.
Should we modify the Hbase-default.xml or book ?
Hbase Book:
13.6.2.6. ZooKeeper SessionExpired events
If you wish to increase the session timeout, add the following to your
hbase-site.xml to increase the timeout from the default of 60 seconds to 120
seconds.
<property>
<name>zookeeper.session.timeout</name>
<value>1200000</value>
</property>
<property>
<name>hbase.zookeeper.property.tickTime</name>
<value>6000</value>
</property>
Be aware that setting a higher timeout means that the regions served by a
failed RegionServer will take at least that amount of time to be transfered to
another RegionServer. For a production system serving live requests, we would
instead recommend setting it lower than 1 minute and over-provision your
cluster in order the lower the memory load on each machines (hence having less
garbage to collect per machine).
Hbase-default.xml:
<property>
<name>zookeeper.session.timeout</name>
<value>180000</value>
<description>ZooKeeper session timeout.
HBase passes this to the zk quorum as suggested maximum time for a
session. 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>