This is an automated email from the ASF dual-hosted git repository.

wuzhiguo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/bigtop-manager.git


The following commit(s) were added to refs/heads/main by this push:
     new a11d473  BIGTOP-4193: Read java home from env/props on component 
params (#50)
a11d473 is described below

commit a11d47348f86de552d4f3e4fb540d06f889cbff6
Author: Zhiguo Wu <[email protected]>
AuthorDate: Fri Aug 23 17:13:03 2024 +0800

    BIGTOP-4193: Read java home from env/props on component params (#50)
---
 .../bigtop/manager/common/utils/Environments.java  | 28 ++++++++++++++++++++--
 .../stack/bigtop/v3_3_0/flink/FlinkParams.java     |  3 ++-
 .../stack/bigtop/v3_3_0/hdfs/HdfsParams.java       |  3 ++-
 .../stack/bigtop/v3_3_0/kafka/KafkaParams.java     |  3 ++-
 .../bigtop/v3_3_0/mapred/Mapreduce2Params.java     |  3 ++-
 .../stack/bigtop/v3_3_0/solr/SolrParams.java       | 16 ++++++-------
 .../manager/stack/bigtop/v3_3_0/tez/TezParams.java |  3 ++-
 .../stack/bigtop/v3_3_0/yarn/YarnParams.java       |  3 ++-
 .../bigtop/v3_3_0/zookeeper/ZookeeperParams.java   |  3 ++-
 9 files changed, 47 insertions(+), 18 deletions(-)

diff --git 
a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/utils/Environments.java
 
b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/utils/Environments.java
index e3b3cb1..96a1ebc 100644
--- 
a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/utils/Environments.java
+++ 
b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/utils/Environments.java
@@ -20,15 +20,39 @@ package org.apache.bigtop.manager.common.utils;
 
 import org.apache.commons.lang3.StringUtils;
 
+import lombok.extern.slf4j.Slf4j;
+
+@Slf4j
 public class Environments {
 
     /**
-     * Indicates whether the application is running in development mode.
-     * In development mode, most tasks run on agent side will be proxied and 
return success by default.
+     * Indicates whether the application is running in dev mode.
+     * In dev mode, most tasks run on agent side will be proxied and return 
success by default.
      * This should help developers test framework functions without depending 
on the existence of big data components.
+     *
+     * @return true if the application is running in dev mode, false otherwise
      */
     public static Boolean isDevMode() {
         String devMode = System.getenv("DEV_MODE");
         return StringUtils.isNotBlank(devMode) && devMode.equals("true");
     }
+
+    /**
+     * Get java home from system environments or properties.
+     *
+     * @return java home string
+     */
+    public static String getJavaHome() {
+        // Retrieve the JAVA_HOME environment variable
+        String javaHome = System.getenv("JAVA_HOME");
+
+        // Check if JAVA_HOME is set
+        if (javaHome != null) {
+            return javaHome;
+        } else {
+            // If JAVA_HOME is not set, use the java.home system property
+            log.info("JAVA_HOME is not set, using java.home system property 
instead.");
+            return System.getProperty("java.home");
+        }
+    }
 }
diff --git 
a/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/flink/FlinkParams.java
 
b/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/flink/FlinkParams.java
index 6c8b0b4..8a16fa5 100644
--- 
a/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/flink/FlinkParams.java
+++ 
b/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/flink/FlinkParams.java
@@ -19,6 +19,7 @@
 package org.apache.bigtop.manager.stack.bigtop.v3_3_0.flink;
 
 import org.apache.bigtop.manager.common.message.entity.payload.CommandPayload;
+import org.apache.bigtop.manager.common.utils.Environments;
 import org.apache.bigtop.manager.stack.bigtop.param.BigtopParams;
 import org.apache.bigtop.manager.stack.core.annotations.GlobalParams;
 import org.apache.bigtop.manager.stack.core.utils.LocalSettings;
@@ -51,7 +52,7 @@ public class FlinkParams extends BigtopParams {
         super(commandPayload);
         globalParamsMap.put("flink_user", user());
         globalParamsMap.put("flink_group", group());
-        globalParamsMap.put("java_home", "/usr/local/java");
+        globalParamsMap.put("java_home", Environments.getJavaHome());
         globalParamsMap.put("hadoop_home", hadoopHome());
         globalParamsMap.put("hadoop_conf_dir", hadoopConfDir());
 
diff --git 
a/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/hdfs/HdfsParams.java
 
b/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/hdfs/HdfsParams.java
index df7122a..d33865a 100644
--- 
a/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/hdfs/HdfsParams.java
+++ 
b/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/hdfs/HdfsParams.java
@@ -19,6 +19,7 @@
 package org.apache.bigtop.manager.stack.bigtop.v3_3_0.hdfs;
 
 import org.apache.bigtop.manager.common.message.entity.payload.CommandPayload;
+import org.apache.bigtop.manager.common.utils.Environments;
 import org.apache.bigtop.manager.stack.bigtop.param.BigtopParams;
 import org.apache.bigtop.manager.stack.core.annotations.GlobalParams;
 import org.apache.bigtop.manager.stack.core.utils.LocalSettings;
@@ -57,7 +58,7 @@ public class HdfsParams extends BigtopParams {
         globalParamsMap.put("hdfs_user", user());
         globalParamsMap.put("hdfs_group", group());
         globalParamsMap.put("datanode_hosts", LocalSettings.hosts("datanode"));
-        globalParamsMap.put("java_home", "/usr/local/java");
+        globalParamsMap.put("java_home", Environments.getJavaHome());
         globalParamsMap.put("hadoop_home", serviceHome());
         globalParamsMap.put("hadoop_hdfs_home", hdfsHome());
         globalParamsMap.put("hadoop_conf_dir", confDir());
diff --git 
a/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/kafka/KafkaParams.java
 
b/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/kafka/KafkaParams.java
index faa6ea1..12f401b 100644
--- 
a/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/kafka/KafkaParams.java
+++ 
b/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/kafka/KafkaParams.java
@@ -19,6 +19,7 @@
 package org.apache.bigtop.manager.stack.bigtop.v3_3_0.kafka;
 
 import org.apache.bigtop.manager.common.message.entity.payload.CommandPayload;
+import org.apache.bigtop.manager.common.utils.Environments;
 import org.apache.bigtop.manager.stack.bigtop.param.BigtopParams;
 import org.apache.bigtop.manager.stack.core.annotations.GlobalParams;
 import org.apache.bigtop.manager.stack.core.utils.LocalSettings;
@@ -41,7 +42,7 @@ public class KafkaParams extends BigtopParams {
         super(commandPayload);
         globalParamsMap.put("kafka_user", user());
         globalParamsMap.put("kafka_group", group());
-        globalParamsMap.put("java_home", "/usr/local/java");
+        globalParamsMap.put("java_home", Environments.getJavaHome());
         globalParamsMap.put("kafka_conf_dir", confDir());
         globalParamsMap.put("security_enabled", false);
     }
diff --git 
a/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/mapred/Mapreduce2Params.java
 
b/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/mapred/Mapreduce2Params.java
index f4491f6..8c76342 100644
--- 
a/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/mapred/Mapreduce2Params.java
+++ 
b/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/mapred/Mapreduce2Params.java
@@ -19,6 +19,7 @@
 package org.apache.bigtop.manager.stack.bigtop.v3_3_0.mapred;
 
 import org.apache.bigtop.manager.common.message.entity.payload.CommandPayload;
+import org.apache.bigtop.manager.common.utils.Environments;
 import org.apache.bigtop.manager.stack.bigtop.param.BigtopParams;
 import org.apache.bigtop.manager.stack.core.annotations.GlobalParams;
 import org.apache.bigtop.manager.stack.core.utils.LocalSettings;
@@ -42,7 +43,7 @@ public class Mapreduce2Params extends BigtopParams {
         super(commandPayload);
         globalParamsMap.put("mapred_user", user());
         globalParamsMap.put("mapred_group", group());
-        globalParamsMap.put("java_home", "/usr/local/java");
+        globalParamsMap.put("java_home", Environments.getJavaHome());
         globalParamsMap.put("hadoop_home", serviceHome());
         globalParamsMap.put("hadoop_conf_dir", confDir());
         globalParamsMap.put("hadoop_hdfs_home", hdfsHome());
diff --git 
a/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/solr/SolrParams.java
 
b/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/solr/SolrParams.java
index 4e68b79..13aea30 100644
--- 
a/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/solr/SolrParams.java
+++ 
b/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/solr/SolrParams.java
@@ -19,6 +19,7 @@
 package org.apache.bigtop.manager.stack.bigtop.v3_3_0.solr;
 
 import org.apache.bigtop.manager.common.message.entity.payload.CommandPayload;
+import org.apache.bigtop.manager.common.utils.Environments;
 import org.apache.bigtop.manager.stack.bigtop.param.BigtopParams;
 import org.apache.bigtop.manager.stack.core.annotations.GlobalParams;
 import org.apache.bigtop.manager.stack.core.utils.LocalSettings;
@@ -43,12 +44,12 @@ public class SolrParams extends BigtopParams {
 
     public SolrParams(CommandPayload commandPayload) {
         super(commandPayload);
-        globalParamsMap.put("java_home", "/usr/local/java");
+        globalParamsMap.put("java_home", Environments.getJavaHome());
         globalParamsMap.put("solr_home", solrHomeDir);
         globalParamsMap.put("security_enabled", false);
         globalParamsMap.put("solr_pid_file", solrPidFile);
-        globalParamsMap.put("solr_user", "solr");
-        globalParamsMap.put("solr_group", "hadoop");
+        globalParamsMap.put("solr_user", user());
+        globalParamsMap.put("solr_group", group());
     }
 
     @GlobalParams
@@ -63,23 +64,20 @@ public class SolrParams extends BigtopParams {
 
     public String getZnode() {
         Map<String, Object> solrEnv = 
LocalSettings.configurations(serviceName(), "solr-env");
-        String znode = (String) solrEnv.get("solr_znode");
-        return znode;
+        return (String) solrEnv.get("solr_znode");
     }
 
     public String getzkString() {
         List<String> ZookeeperServerHosts = 
LocalSettings.hosts("zookeeper_server");
         Map<String, Object> Zkport = LocalSettings.configurations("zookeeper", 
"zoo.cfg");
         String clientPort = (String) Zkport.get("clientPort");
-        String solrzkString = MessageFormat.format("{0}:{1}", 
ZookeeperServerHosts.get(0), clientPort);
-        return solrzkString;
+        return MessageFormat.format("{0}:{1}", ZookeeperServerHosts.get(0), 
clientPort);
     }
 
     public String zkHost() {
         String Znode = getZnode();
         String SolrZkstring = getzkString();
-        String Zkconnect = MessageFormat.format("{0}{1}", SolrZkstring, Znode);
-        return Zkconnect;
+        return MessageFormat.format("{0}{1}", SolrZkstring, Znode);
     }
 
     @GlobalParams
diff --git 
a/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/tez/TezParams.java
 
b/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/tez/TezParams.java
index 261fd0e..002157b 100644
--- 
a/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/tez/TezParams.java
+++ 
b/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/tez/TezParams.java
@@ -19,6 +19,7 @@
 package org.apache.bigtop.manager.stack.bigtop.v3_3_0.tez;
 
 import org.apache.bigtop.manager.common.message.entity.payload.CommandPayload;
+import org.apache.bigtop.manager.common.utils.Environments;
 import org.apache.bigtop.manager.stack.bigtop.param.BigtopParams;
 import org.apache.bigtop.manager.stack.core.annotations.GlobalParams;
 import org.apache.bigtop.manager.stack.core.utils.LocalSettings;
@@ -42,7 +43,7 @@ public class TezParams extends BigtopParams {
         super(commandPayload);
         globalParamsMap.put("tez_user", user());
         globalParamsMap.put("tez_group", group());
-        globalParamsMap.put("java_home", "/usr/local/java");
+        globalParamsMap.put("java_home", Environments.getJavaHome());
         globalParamsMap.put("hadoop_home", hadoopHome());
         globalParamsMap.put("hadoop_conf_dir", hadoopConfDir());
         globalParamsMap.put("hadoop_hdfs_home", hdfsHome());
diff --git 
a/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/yarn/YarnParams.java
 
b/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/yarn/YarnParams.java
index 24fbb1d..ebf6ee5 100644
--- 
a/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/yarn/YarnParams.java
+++ 
b/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/yarn/YarnParams.java
@@ -19,6 +19,7 @@
 package org.apache.bigtop.manager.stack.bigtop.v3_3_0.yarn;
 
 import org.apache.bigtop.manager.common.message.entity.payload.CommandPayload;
+import org.apache.bigtop.manager.common.utils.Environments;
 import org.apache.bigtop.manager.stack.bigtop.param.BigtopParams;
 import org.apache.bigtop.manager.stack.core.annotations.GlobalParams;
 import org.apache.bigtop.manager.stack.core.utils.LocalSettings;
@@ -50,7 +51,7 @@ public class YarnParams extends BigtopParams {
         super(commandPayload);
         globalParamsMap.put("yarn_user", user());
         globalParamsMap.put("yarn_group", group());
-        globalParamsMap.put("java_home", "/usr/local/java");
+        globalParamsMap.put("java_home", Environments.getJavaHome());
         globalParamsMap.put("hadoop_home", serviceHome());
         globalParamsMap.put("hadoop_hdfs_home", hdfsHome());
         globalParamsMap.put("hadoop_yarn_home", yarnHome());
diff --git 
a/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/zookeeper/ZookeeperParams.java
 
b/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/zookeeper/ZookeeperParams.java
index 05678f7..cb7f620 100644
--- 
a/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/zookeeper/ZookeeperParams.java
+++ 
b/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/zookeeper/ZookeeperParams.java
@@ -19,6 +19,7 @@
 package org.apache.bigtop.manager.stack.bigtop.v3_3_0.zookeeper;
 
 import org.apache.bigtop.manager.common.message.entity.payload.CommandPayload;
+import org.apache.bigtop.manager.common.utils.Environments;
 import org.apache.bigtop.manager.stack.bigtop.param.BigtopParams;
 import org.apache.bigtop.manager.stack.core.annotations.GlobalParams;
 import org.apache.bigtop.manager.stack.core.utils.LocalSettings;
@@ -37,7 +38,7 @@ public class ZookeeperParams extends BigtopParams {
 
     public ZookeeperParams(CommandPayload commandPayload) {
         super(commandPayload);
-        globalParamsMap.put("java_home", "/usr/local/java");
+        globalParamsMap.put("java_home", Environments.getJavaHome());
         globalParamsMap.put("zookeeper_home", serviceHome());
         globalParamsMap.put("security_enabled", false);
         globalParamsMap.put("zookeeper_pid_file", zookeeperPidFile);

Reply via email to