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);