Chapter 14. Tuning Ambari Performance
For clusters larger than 200 nodes, consider the following tuning options:
Calculate the new, larger cache size, using the following relationship:
ecCacheSizeValue=60*
<cluster_size>where <cluster_size> is the number of nodes in the cluster.
On the Ambari Server host, in
/etc/ambari-server/conf/ambari-properties
, add the following property and value:server.ecCacheSize=<ecCacheSizeValue>
where
<ecCacheSizeValue>
is the value calculated previously, based on the number of nodes in the cluster.Add the following properties to adjust the JDBC connection pool settings:
server.jdbc.connection-pool.acquisition-size=5
server.jdbc.connection-pool.max-age=0
server.jdbc.connection-pool.max-idle-time=14400
server.jdbc.connection-pool.max-idle-time-excess=0
server.jdbc.connection-pool.idle-test-interval=7200
If using MySQL as the Ambari database, in your MSQL configuration, increase the wait_timeout and interacitve_timeout to 8 hours (28800) and max. connections from 32 to 128.
Important It is critical that the Ambari configuration for
server.jdbc.connection-pool.max-idle-time
andserver.jdbc.connection-pool.idle-test-interval
must be lower than the MySQL wait_timeout and interactive_timeout set on the MySQL side. If you choose to decrease these timeout values, adjustdownserver.jdbc.connection-pool.max-idle-time
andserver.jdbc.connection-pool.idle-test-interval
accordingly in the Ambari configuration so that they are less than wait_timeout and interactive_timeout.Restart Ambari Server.
ambari-server restart
If you are using the Ambari Metrics service, you might want to consider switching from the default embedded mode to distributed mode, as well as other tuning options. See Performance Tuning for more information.