Gehel has uploaded a new change for review. https://gerrit.wikimedia.org/r/316976
Change subject: elasticsearch: tuning of zen discovery settings ...................................................................... elasticsearch: tuning of zen discovery settings Introducing the configuration variables to tune elasticsearch zen discovery. This needs more discussion and testing to see what values we actually want, but the premilinary work is there. Bug: T148736 Change-Id: Iaab851223ade30236c6a0cef5cac686d182d190c --- M hieradata/role/common/elasticsearch/cirrus.yaml M modules/elasticsearch/manifests/init.pp M modules/elasticsearch/templates/elasticsearch.yml.erb 3 files changed, 52 insertions(+), 28 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/operations/puppet refs/changes/76/316976/1 diff --git a/hieradata/role/common/elasticsearch/cirrus.yaml b/hieradata/role/common/elasticsearch/cirrus.yaml index ba8a3de..9e04b30 100644 --- a/hieradata/role/common/elasticsearch/cirrus.yaml +++ b/hieradata/role/common/elasticsearch/cirrus.yaml @@ -20,3 +20,8 @@ base::monitoring::host::nrpe_check_disk_options: -w 18% -c 15% -l -e -A -i "/srv/sd[a-b][1-3]" --exclude-type=tracefs elasticsearch::awareness_attributes: 'row' + +elasticsearch::zen_ping_interval: 3s +elasticsearch::zen_fd_ping_interval: 10s +elasticsearch::zen_fd_ping_timeout: 30s +elasticsearch::zen_fd_ping_retries: 5 diff --git a/modules/elasticsearch/manifests/init.pp b/modules/elasticsearch/manifests/init.pp index c93aec2..bb1cb72 100644 --- a/modules/elasticsearch/manifests/init.pp +++ b/modules/elasticsearch/manifests/init.pp @@ -59,6 +59,8 @@ # hosts in the cluster to this list. Elasticsearch will still use # multicast discovery but this will keep it from getting lost if none of # its pings reach other servers. +# - $zen_ping_interval, $zen_fd_ping_interval, $zen_fd_ping_timeout, $zen_fd_ping_retries: +# see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-discovery-zen.html # - $bind_networks: networks to bind (both transport and http connectors) # see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html#network-interface-values # - $publish_host: host to publish (both transport and http connectors) @@ -86,34 +88,39 @@ # cluster_name = 'labs-search' # } # -class elasticsearch($cluster_name, - $heap_memory = '2G', - $multicast_group = '224.2.2.4', - $data_dir = '/var/lib/elasticsearch', - $plugins_dir = '/srv/deployment/elasticsearch/plugins', - $plugins_mandatory = undef, - $minimum_master_nodes = 1, - $master_eligible = true, - $holds_data = true, - $auto_create_index = false, - $expected_nodes = 1, - $recover_after_nodes = 1, - $recover_after_time = '1s', - $awareness_attributes = undef, - $row = undef, - $rack = undef, - $multicast_enabled = false, - $unicast_hosts = undef, - $bind_networks = ['_local_', '_site_'], - $publish_host = '_eth0_', - $filter_cache_size = '10%', - $bulk_thread_pool_executors = undef, - $bulk_thread_pool_capacity = undef, - $statsd_host = undef, - $merge_threads = 3, - $load_fixed_bitset_filters_eagerly = true, - $graylog_hosts = undef, - $graylog_port = 12201, +class elasticsearch( + $cluster_name, + $heap_memory = '2G', + $multicast_group = '224.2.2.4', + $data_dir = '/var/lib/elasticsearch', + $plugins_dir = '/srv/deployment/elasticsearch/plugins', + $plugins_mandatory = undef, + $minimum_master_nodes = 1, + $master_eligible = true, + $holds_data = true, + $auto_create_index = false, + $expected_nodes = 1, + $recover_after_nodes = 1, + $recover_after_time = '1s', + $awareness_attributes = undef, + $row = undef, + $rack = undef, + $multicast_enabled = false, + $unicast_hosts = undef, + $zen_ping_interval = undef, + $zen_fd_ping_interval = undef, + $zen_fd_ping_timeout = undef, + $zen_fd_ping_retries = undef, + $bind_networks = ['_local_', '_site_'], + $publish_host = '_eth0_', + $filter_cache_size = '10%', + $bulk_thread_pool_executors = undef, + $bulk_thread_pool_capacity = undef, + $statsd_host = undef, + $merge_threads = 3, + $load_fixed_bitset_filters_eagerly = true, + $graylog_hosts = undef, + $graylog_port = 12201, ) { # Check arguments diff --git a/modules/elasticsearch/templates/elasticsearch.yml.erb b/modules/elasticsearch/templates/elasticsearch.yml.erb index aa36326..cce42bd 100644 --- a/modules/elasticsearch/templates/elasticsearch.yml.erb +++ b/modules/elasticsearch/templates/elasticsearch.yml.erb @@ -307,6 +307,18 @@ # to minimize discovery failures: # #discovery.zen.ping.timeout: 3s +<% if @zen_ping_timeout -%> +discovery.zen.ping.timeout: <%= @zen_ping_timeout %> +<% end -%> +<% if @zen_fd_ping_interval -%> +discovery.zen.fd.ping_interval: <%= @zen_fd_ping_interval %> +<% end -%> +<% if @zen_fd_ping_timeout -%> +discovery.zen.fd.ping_timeout: <%= @zen_fd_ping_timeout %> +<% end -%> +<% if @zen_fd_ping_retries -%> +discovery.zen.fd.ping_retries: <%= @zen_fd_ping_retries %> +<% end -%> # See <http://elasticsearch.org/guide/reference/modules/discovery/zen.html> # for more information. -- To view, visit https://gerrit.wikimedia.org/r/316976 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iaab851223ade30236c6a0cef5cac686d182d190c Gerrit-PatchSet: 1 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: Gehel <gleder...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits