You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bigtop.apache.org by iw...@apache.org on 2021/07/27 22:05:57 UTC
[bigtop] branch master updated: BIGTOP-3574. Starting Elasticsearch
fails on ppc64le. (#805)
This is an automated email from the ASF dual-hosted git repository.
iwasakims pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bigtop.git
The following commit(s) were added to refs/heads/master by this push:
new b612407 BIGTOP-3574. Starting Elasticsearch fails on ppc64le. (#805)
b612407 is described below
commit b612407a3e92fd164bce89d7519889943d8c2994
Author: Kengo Seki <se...@apache.org>
AuthorDate: Wed Jul 28 07:05:49 2021 +0900
BIGTOP-3574. Starting Elasticsearch fails on ppc64le. (#805)
---
bigtop-deploy/puppet/hieradata/bigtop/cluster.yaml | 3 +++
bigtop-deploy/puppet/modules/elasticsearch/manifests/init.pp | 2 ++
.../puppet/modules/elasticsearch/templates/elasticsearch.yml | 4 ++++
bigtop-tests/smoke-tests/kibana/TestKibanaSmoke.groovy | 2 +-
provisioner/docker/docker-hadoop.sh | 10 ++++++++++
5 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/bigtop-deploy/puppet/hieradata/bigtop/cluster.yaml b/bigtop-deploy/puppet/hieradata/bigtop/cluster.yaml
index 81e51bd..11caf76 100644
--- a/bigtop-deploy/puppet/hieradata/bigtop/cluster.yaml
+++ b/bigtop-deploy/puppet/hieradata/bigtop/cluster.yaml
@@ -209,3 +209,6 @@ gpdb::common::master_db_port: "5432"
gpdb::common::segment_db_port_prefix: "4000"
ambari::agent::server_host: "%{hiera('bigtop::hadoop_head_node')}"
+
+# Elasticsearch
+elasticsearch::bootstrap::system_call_filter: true
diff --git a/bigtop-deploy/puppet/modules/elasticsearch/manifests/init.pp b/bigtop-deploy/puppet/modules/elasticsearch/manifests/init.pp
index d73ecd7..0c8cf00 100644
--- a/bigtop-deploy/puppet/modules/elasticsearch/manifests/init.pp
+++ b/bigtop-deploy/puppet/modules/elasticsearch/manifests/init.pp
@@ -26,6 +26,8 @@ class elasticsearch {
$elasticsearch_cluster_nodes = hiera('hadoop_cluster_node::cluster_nodes')
# minimum number of eligible master nodes, usually calced with N/2+1
$elasticsearch_cluster_min_master = size($elasticsearch_cluster_nodes)/2 + 1
+ # check if system_call_filter is available during bootstrap
+ $elasticsearch_bootstrap_system_call_filter = hiera('elasticsearch::bootstrap::system_call_filter')
# set values in elasticsearch.yaml
file { "/etc/elasticsearch/conf/elasticsearch.yml":
diff --git a/bigtop-deploy/puppet/modules/elasticsearch/templates/elasticsearch.yml b/bigtop-deploy/puppet/modules/elasticsearch/templates/elasticsearch.yml
index 0ca0f8c..df9ee60 100644
--- a/bigtop-deploy/puppet/modules/elasticsearch/templates/elasticsearch.yml
+++ b/bigtop-deploy/puppet/modules/elasticsearch/templates/elasticsearch.yml
@@ -100,3 +100,7 @@ gateway.recover_after_nodes: <%= @elasticsearch_cluster_min_master %>
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true
+
+# Disable this setting at your own risk to run ES on the platform which is not officially supported, e.g., ppc64le.
+# See https://www.elastic.co/guide/en/elasticsearch/reference/5.6/system-call-filter-check.html for details.
+bootstrap.system_call_filter: <%= @elasticsearch_bootstrap_system_call_filter %>
diff --git a/bigtop-tests/smoke-tests/kibana/TestKibanaSmoke.groovy b/bigtop-tests/smoke-tests/kibana/TestKibanaSmoke.groovy
index b09e192..84ec4ee 100644
--- a/bigtop-tests/smoke-tests/kibana/TestKibanaSmoke.groovy
+++ b/bigtop-tests/smoke-tests/kibana/TestKibanaSmoke.groovy
@@ -32,7 +32,7 @@ class TestKibanaSmoke {
private static String KIBANA_HOME = System.getenv("KIBANA_HOME");
static final String KIBANA_START = KIBANA_HOME + "/bin/start-kibana;"
- static final String WAIT_FOR_COMPLETION = "sleep 10;"
+ static final String WAIT_FOR_COMPLETION = "sleep 60;"
static final String GET_KIBANA_STATUS = "curl -i localhost:5601;"
@Test
diff --git a/provisioner/docker/docker-hadoop.sh b/provisioner/docker/docker-hadoop.sh
index 399a4a4..f5a1db0 100755
--- a/provisioner/docker/docker-hadoop.sh
+++ b/provisioner/docker/docker-hadoop.sh
@@ -145,6 +145,15 @@ generate-config() {
cat $BIGTOP_PUPPET_DIR/hiera.yaml >> ./config/hiera.yaml
cp -vfr $BIGTOP_PUPPET_DIR/hieradata ./config/
+ # A workaround for starting Elasticsearch on ppc64le.
+ # See BIGTOP-3574 for details.
+ running_arch=$(uname -m)
+ if [ "ppc64le" == ${running_arch} ]; then
+ elasticsearch_bootstrap_system_call_filter=false
+ else
+ elasticsearch_bootstrap_system_call_filter=true
+ fi
+
# Using FairScheduler instead of CapacityScheduler here is a workaround for BIGTOP-3406.
# Due to the default setting of the yarn.scheduler.capacity.maximum-am-resource-percent
# property defined in capacity-scheduler.xml (=0.1), some oozie jobs are not assigned
@@ -158,6 +167,7 @@ bigtop::bigtop_repo_gpg_check: $gpg_check
hadoop_cluster_node::cluster_components: $3
hadoop_cluster_node::cluster_nodes: [$node_list]
hadoop::common_yarn::yarn_resourcemanager_scheduler_class: org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler
+elasticsearch::bootstrap::system_call_filter: $elasticsearch_bootstrap_system_call_filter
EOF
}