Skip to content

Commit

Permalink
BIGTOP-4193: Read java home from env/props on component params (#50)
Browse files Browse the repository at this point in the history
  • Loading branch information
kevinw66 authored Aug 23, 2024
1 parent 6f2f19e commit a11d473
Show file tree
Hide file tree
Showing 9 changed files with 47 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,39 @@

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");
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -51,7 +52,7 @@ public FlinkParams(CommandPayload commandPayload) {
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());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -57,7 +58,7 @@ public HdfsParams(CommandPayload commandPayload) {
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());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -41,7 +42,7 @@ public KafkaParams(CommandPayload commandPayload) {
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);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -42,7 +43,7 @@ public Mapreduce2Params(CommandPayload commandPayload) {
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());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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
Expand All @@ -63,23 +64,20 @@ public Map<String, Object> solrLog4j() {

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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -42,7 +43,7 @@ public TezParams(CommandPayload commandPayload) {
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());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -50,7 +51,7 @@ public YarnParams(CommandPayload commandPayload) {
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());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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);
Expand Down

0 comments on commit a11d473

Please sign in to comment.