You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by ap...@apache.org on 2021/01/05 22:01:42 UTC
[incubator-pinot] 05/07: hard-code quickstart properties
This is an automated email from the ASF dual-hosted git repository.
apucher pushed a commit to branch pinot-broker-https-discussion
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git
commit 9e538030e48eb4a8fd824b6148b594cd5fef6280
Author: Alexander Pucher <al...@alexpucher.com>
AuthorDate: Tue Jan 5 11:01:28 2021 -0800
hard-code quickstart properties
---
.../tools/admin/command/QuickstartRunner.java | 67 +++++++++++++++++++++-
1 file changed, 64 insertions(+), 3 deletions(-)
diff --git a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/QuickstartRunner.java b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/QuickstartRunner.java
index 4598d8a..0ec8ce7 100644
--- a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/QuickstartRunner.java
+++ b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/QuickstartRunner.java
@@ -22,17 +22,21 @@ import com.fasterxml.jackson.databind.JsonNode;
import com.google.common.collect.ImmutableMap;
import java.io.BufferedReader;
import java.io.File;
+import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
+import java.io.OutputStream;
import java.io.Reader;
import java.net.InetAddress;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
import java.util.Random;
import org.apache.commons.io.FileUtils;
import org.apache.pinot.common.utils.CommonConstants;
+import org.apache.pinot.common.utils.NetUtil;
import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.config.tenant.TenantRole;
import org.apache.pinot.spi.env.PinotConfiguration;
@@ -47,6 +51,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.yaml.snakeyaml.Yaml;
+import static org.apache.pinot.tools.utils.PinotConfigUtils.getAvailablePort;
+
public class QuickstartRunner {
private static final Logger LOGGER = LoggerFactory.getLogger(QuickstartRunner.class.getName());
@@ -117,10 +123,41 @@ public class QuickstartRunner {
private void startControllers()
throws Exception {
for (int i = 0; i < _numControllers; i++) {
+ String configFileName = String.format("./controller_%d.properties", i);
+
+ Properties prop = new Properties();
+ prop.put("cluster.tenant.isolation.enable", "true");
+ prop.put("controller.mode", "DUAL");
+ prop.put("controller.data.dir", new File(_tempDir, DEFAULT_CONTROLLER_DIR + i).getAbsolutePath());
+ prop.put("controller.retention.frequencyInSeconds", "21600");
+ prop.put("controller.port", String.valueOf(DEFAULT_CONTROLLER_PORT + i));
+ prop.put("controller.host", NetUtil.getHostAddress());
+ prop.put("controller.offline.segment.interval.checker.frequencyInSeconds", "3600");
+ prop.put("controller.realtime.segment.validation.frequencyInSeconds", "3600");
+ prop.put("controller.vip.host", NetUtil.getHostAddress());
+ prop.put("controller.broker.resource.validation.frequencyInSeconds", "3600");
+ prop.put("controller.helix.cluster.name", "QuickStartCluster");
+ prop.put("controller.zk.str", ZK_ADDRESS);
+
+ prop.put("controller.access.protocols", "https");
+ prop.put("controller.access.protocols.https.host", "0.0.0.0");
+ prop.put("controller.access.protocols.https.port", String.valueOf(9443 + i));
+ prop.put("controller.access.protocols.https.vip", "false");
+ prop.put("controller.access.protocols.https.tls.keystore.path", "/Users/alex/projects/incubator-pinot/truststore/generated.keystore.jks");
+ prop.put("controller.access.protocols.https.tls.keystore.password", "changeit");
+ prop.put("controller.access.protocols.https.tls.truststore.path", "/Users/alex/projects/incubator-pinot/truststore/generated.truststore.jks");
+ prop.put("controller.access.protocols.https.tls.truststore.password", "changeit");
+ prop.put("controller.access.protocols.https.tls.requires_client_auth", "false");
+
+ try (OutputStream os = new FileOutputStream(configFileName)) {
+ prop.store(os, "");
+ }
+
StartControllerCommand controllerStarter = new StartControllerCommand();
controllerStarter.setControllerPort(String.valueOf(DEFAULT_CONTROLLER_PORT + i)).setZkAddress(ZK_ADDRESS)
.setClusterName(CLUSTER_NAME).setTenantIsolation(_enableTenantIsolation)
- .setDataDir(new File(_tempDir, DEFAULT_CONTROLLER_DIR + i).getAbsolutePath());
+ .setDataDir(new File(_tempDir, DEFAULT_CONTROLLER_DIR + i).getAbsolutePath())
+ .setConfigFileName(configFileName);
controllerStarter.execute();
_controllerPorts.add(DEFAULT_CONTROLLER_PORT + i);
}
@@ -129,8 +166,18 @@ public class QuickstartRunner {
private void startBrokers()
throws Exception {
for (int i = 0; i < _numBrokers; i++) {
+ String configFileName = String.format("./broker_%d.properties", i);
+
+ Properties prop = new Properties();
+ prop.put("pinot.broker.client.queryPort", String.valueOf(DEFAULT_BROKER_PORT + i));
+
+ try (OutputStream os = new FileOutputStream(configFileName)) {
+ prop.store(os, "");
+ }
+
StartBrokerCommand brokerStarter = new StartBrokerCommand();
- brokerStarter.setPort(DEFAULT_BROKER_PORT + i).setZkAddress(ZK_ADDRESS).setClusterName(CLUSTER_NAME);
+ brokerStarter.setPort(DEFAULT_BROKER_PORT + i).setZkAddress(ZK_ADDRESS).setClusterName(CLUSTER_NAME)
+ .setConfigFileName(configFileName);
brokerStarter.execute();
_brokerPorts.add(DEFAULT_BROKER_PORT + i);
}
@@ -139,11 +186,25 @@ public class QuickstartRunner {
private void startServers()
throws Exception {
for (int i = 0; i < _numServers; i++) {
+ String configFileName = String.format("./server_%d.properties", i);
+
+ Properties prop = new Properties();
+ prop.put("pinot.server.netty.host", NetUtil.getHostAddress());
+ prop.put("pinot.server.instance.dataDir", new File(_tempDir, DEFAULT_SERVER_DATA_DIR + i).getAbsolutePath());
+ prop.put("pinot.server.instance.segmentTarDir", new File(_tempDir, DEFAULT_SERVER_SEGMENT_DIR + i).getAbsolutePath());
+ prop.put("pinot.server.netty.port", String.valueOf(DEFAULT_SERVER_NETTY_PORT + i));
+ prop.put("pinot.server.adminapi.port", String.valueOf(DEFAULT_SERVER_ADMIN_API_PORT + i));
+
+ try (OutputStream os = new FileOutputStream(configFileName)) {
+ prop.store(os, "");
+ }
+
StartServerCommand serverStarter = new StartServerCommand();
serverStarter.setPort(DEFAULT_SERVER_NETTY_PORT + i).setAdminPort(DEFAULT_SERVER_ADMIN_API_PORT + i)
.setZkAddress(ZK_ADDRESS).setClusterName(CLUSTER_NAME)
.setDataDir(new File(_tempDir, DEFAULT_SERVER_DATA_DIR + i).getAbsolutePath())
- .setSegmentDir(new File(_tempDir, DEFAULT_SERVER_SEGMENT_DIR + i).getAbsolutePath());
+ .setSegmentDir(new File(_tempDir, DEFAULT_SERVER_SEGMENT_DIR + i).getAbsolutePath())
+ .setConfigFileName(configFileName);
serverStarter.execute();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org