mirror of
https://github.com/Graylog2/graylog2-server.git
synced 2026-03-13 09:32:21 +08:00
DataNode: using hostname as node name default (#17025)
* using the hostname as the default node-name, if none was specified explicitly * using the hostname as the default node-name, if none was specified explicitly * using the hostname as the default node-name, if none was specified explicitly * nodeName is either set explicitly in the conf file or will be the result of the hostname setting otherwise * small refactoring
This commit is contained in:
@@ -310,7 +310,7 @@ public class Configuration extends BaseConfiguration {
|
||||
}
|
||||
|
||||
public String getDatanodeNodeName() {
|
||||
return datanodeNodeName;
|
||||
return datanodeNodeName != null && !datanodeNodeName.isBlank() ? datanodeNodeName : getHostname();
|
||||
}
|
||||
|
||||
public String getInitialManagerNodes() {
|
||||
|
||||
@@ -26,7 +26,6 @@ import org.graylog2.security.IndexerJwtAuthTokenProvider;
|
||||
public record DatanodeConfiguration(
|
||||
OpensearchDistributionProvider opensearchDistributionProvider,
|
||||
DatanodeDirectories datanodeDirectories,
|
||||
String nodeName,
|
||||
int processLogsBufferSize,
|
||||
IndexerJwtAuthTokenProvider indexerJwtAuthTokenProvider
|
||||
) {
|
||||
|
||||
@@ -39,17 +39,11 @@ public class DatanodeConfigurationProvider implements Provider<DatanodeConfigura
|
||||
datanodeConfiguration = new DatanodeConfiguration(
|
||||
opensearchDistributionProvider,
|
||||
DatanodeDirectories.fromConfiguration(localConfiguration, nodeId),
|
||||
getNodesFromConfig(localConfiguration.getDatanodeNodeName()),
|
||||
localConfiguration.getProcessLogsBufferSize(),
|
||||
jwtTokenProvider
|
||||
);
|
||||
}
|
||||
|
||||
public static String getNodesFromConfig(final String configProperty) {
|
||||
if (configProperty != null) return configProperty;
|
||||
return Tools.getLocalCanonicalHostname();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DatanodeConfiguration get() {
|
||||
return datanodeConfiguration;
|
||||
|
||||
@@ -50,7 +50,6 @@ public class OpensearchConfigurationProvider implements Provider<OpensearchConfi
|
||||
private final InSecureConfiguration inSecureConfiguration;
|
||||
private final DatanodeConfiguration datanodeConfiguration;
|
||||
private final byte[] signingKey;
|
||||
private final String nodeName;
|
||||
private final NodeService nodeService;
|
||||
private final PreflightConfigService preflightConfigService;
|
||||
|
||||
@@ -71,7 +70,6 @@ public class OpensearchConfigurationProvider implements Provider<OpensearchConfi
|
||||
this.signingKey = passwordSecret.getBytes(StandardCharsets.UTF_8);
|
||||
this.nodeService = nodeService;
|
||||
this.preflightConfigService = preflightConfigService;
|
||||
this.nodeName = DatanodeConfigurationProvider.getNodesFromConfig(localConfiguration.getDatanodeNodeName());
|
||||
}
|
||||
|
||||
private boolean isPreflight() {
|
||||
@@ -121,7 +119,7 @@ public class OpensearchConfigurationProvider implements Provider<OpensearchConfi
|
||||
localConfiguration.getOpensearchHttpPort(),
|
||||
localConfiguration.getOpensearchTransportPort(),
|
||||
"datanode-cluster",
|
||||
nodeName,
|
||||
localConfiguration.getDatanodeNodeName(),
|
||||
List.of(),
|
||||
localConfiguration.getOpensearchDiscoverySeedHosts(),
|
||||
securityConfiguration,
|
||||
|
||||
@@ -107,7 +107,7 @@ class OpensearchProcessImpl implements OpensearchProcess, ProcessListener {
|
||||
}
|
||||
|
||||
public OpensearchInfo processInfo() {
|
||||
return new OpensearchInfo(datanodeConfiguration.nodeName(), processState.getState(), isLeaderNode, getOpensearchBaseUrl().toString(), commandLineProcess != null ? commandLineProcess.processInfo() : ProcessInformation.empty());
|
||||
return new OpensearchInfo(configuration.getDatanodeNodeName(), processState.getState(), isLeaderNode, getOpensearchBaseUrl().toString(), commandLineProcess != null ? commandLineProcess.processInfo() : ProcessInformation.empty());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -123,8 +123,7 @@ class OpensearchProcessImpl implements OpensearchProcess, ProcessListener {
|
||||
|
||||
@Override
|
||||
public String getOpensearchClusterUrl() {
|
||||
final var hostname = DatanodeConfigurationProvider.getNodesFromConfig(configuration.getDatanodeNodeName());
|
||||
return hostname + ":" + configuration.getOpensearchTransportPort();
|
||||
return configuration.getDatanodeNodeName() + ":" + configuration.getOpensearchTransportPort();
|
||||
}
|
||||
|
||||
public void onEvent(ProcessEvent event) {
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package org.graylog.datanode.periodicals;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.graylog.datanode.Configuration;
|
||||
import org.graylog.datanode.configuration.DatanodeConfiguration;
|
||||
import org.graylog.datanode.management.OpensearchProcess;
|
||||
import org.graylog.datanode.process.ProcessState;
|
||||
@@ -39,12 +40,14 @@ public class ClusterManagerDiscovery extends Periodical {
|
||||
private final DatanodeConfiguration datanodeConfiguration;
|
||||
private final OpensearchProcess managedOpenSearch;
|
||||
private final ObjectMapper objectMapper;
|
||||
private final Configuration configuration;
|
||||
|
||||
@Inject
|
||||
public ClusterManagerDiscovery(DatanodeConfiguration datanodeConfiguration, OpensearchProcess managedOpenSearch, ObjectMapper objectMapper) {
|
||||
public ClusterManagerDiscovery(DatanodeConfiguration datanodeConfiguration, OpensearchProcess managedOpenSearch, ObjectMapper objectMapper, Configuration configuration) {
|
||||
this.datanodeConfiguration = datanodeConfiguration;
|
||||
this.managedOpenSearch = managedOpenSearch;
|
||||
this.objectMapper = objectMapper;
|
||||
this.configuration = configuration;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -53,7 +56,7 @@ public class ClusterManagerDiscovery extends Periodical {
|
||||
if (managedOpenSearch.isInState(ProcessState.AVAILABLE)) {
|
||||
final Boolean isManagerNode = getClusterStateResponse(managedOpenSearch)
|
||||
.map(r -> r.nodes().get(r.clusterManagerNode()))
|
||||
.map(managerNode -> datanodeConfiguration.nodeName().equals(managerNode.name()))
|
||||
.map(managerNode -> configuration.getDatanodeNodeName().equals(managerNode.name()))
|
||||
.orElse(false);
|
||||
managedOpenSearch.setLeaderNode(isManagerNode);
|
||||
}
|
||||
|
||||
@@ -59,9 +59,9 @@ public record OpensearchConfiguration(
|
||||
if (clusterName != null && !clusterName.isBlank()) {
|
||||
config.put("cluster.name", clusterName);
|
||||
}
|
||||
if (nodeName != null && !nodeName.isBlank()) {
|
||||
config.put("node.name", nodeName);
|
||||
}
|
||||
|
||||
config.put("node.name", nodeName);
|
||||
|
||||
if (nodeRoles != null && !nodeRoles.isEmpty()) {
|
||||
config.put("node.roles", toValuesList(nodeRoles));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user