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

Reply via email to