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

alexey pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git


The following commit(s) were added to refs/heads/master by this push:
     new 5837f918c [scripts] add HTTP address option for start_kudu.sh
5837f918c is described below

commit 5837f918cd7eba645d2b7a1a922ae8e11bbca247
Author: Alexey Serbin <[email protected]>
AuthorDate: Wed Sep 7 13:51:46 2022 -0700

    [scripts] add HTTP address option for start_kudu.sh
    
    This patch adds a new option to customize the IP address of the Kudu's
    embedded HTTP server.  A couple of usage examples:
    
       ../../src/kudu/scripts/start_kudu.sh --webhost 192.168.1.37
       ../../src/kudu/scripts/start_kudu.sh -W 192.168.1.37
    
    I also took the liberty to update the description of the flags to add
    default values for each and update the naming of the flags that specify
    the port numbers for the RPC and the HTTP endpoints while keeping the
    script backwards-compatible
    (i.e. it still understands the prior naming of the corresponding flags):
    
      * rpc-master  --> rpc-port-master
      * rpc-tserver --> rpc-port-tserver
    
    Change-Id: I468499c5df56e958f926053d485b7d0a08c63905
    Reviewed-on: http://gerrit.cloudera.org:8080/18948
    Tested-by: Kudu Jenkins
    Reviewed-by: Yifan Zhang <[email protected]>
---
 src/kudu/scripts/start_kudu.sh | 81 ++++++++++++++++++++++++++----------------
 1 file changed, 50 insertions(+), 31 deletions(-)

diff --git a/src/kudu/scripts/start_kudu.sh b/src/kudu/scripts/start_kudu.sh
index 48529bac4..c2ded63b3 100755
--- a/src/kudu/scripts/start_kudu.sh
+++ b/src/kudu/scripts/start_kudu.sh
@@ -26,30 +26,6 @@ set -o pipefail
 ulimit -n 2048
 set -m
 
-function usage() {
-cat << EOF
-Usage:
-start_kudu.sh [flags]
--h, --help          Print help
--m, --num-masters   Number of Kudu Masters to start (default: 1)
--t, --num-tservers  Number of Kudu Tablet Servers to start (default: 3)
---rpc-master        RPC port of first Kudu Master; HTTP port is the next 
number.
-                    Subsequent Masters will have following numbers
---rpc-tserver       RPC port of first Kudu Tablet Server; HTTP port is the next
-                    number. Subsequent Tablet Servers will have following 
numbers
---time_source       Time source for Kudu Masters and Tablet Servers
-                    (default: system_unsync)
--b, --builddir      Path to the Kudu build directory
--c, --clusterdir    Path to place the Kudu masters and tablet servers.
--e, --enable-tde    Enable transparent data encryption.
--H, --host          RPC address host (default: 127.0.0.1)
--T, --tserver-flags Extra flags to be used on the tablet servers. Multiple
-                    flags can be specified if wrapped in ""s.
--M, --master-flags  Extra flags to be used on the master servers. Multiple
-                    flags can be specified if wrapped in ""s.
-EOF
-}
-
 NUM_MASTERS=1
 NUM_TSERVERS=3
 MASTER_RPC_PORT_BASE=8764
@@ -60,7 +36,44 @@ CLUSTER_DIR="$PWD"
 EXTRA_TSERVER_FLAGS=""
 EXTRA_MASTER_FLAGS=""
 ENABLE_TDE=""
-IP="127.0.0.1"
+RPC_IP="127.0.0.1"
+HTTP_IP="127.0.0.1"
+
+function usage() {
+cat << EOF
+Usage:
+start_kudu.sh [flags]
+-h, --help          Print help
+-m, --num-masters   Number of Kudu Masters to start
+                    (default: $NUM_MASTERS)
+-t, --num-tservers  Number of Kudu Tablet Servers to start
+                    (default: $NUM_TSERVERS)
+--rpc-port-master   RPC port of first Kudu Master;
+                    HTTP port is the next number
+                    (default: $MASTER_RPC_PORT_BASE)
+--rpc-port-tserver  RPC port of first Kudu Tablet Server;
+                    HTTP port is the next number
+                    (default: $TSERVER_RPC_PORT_BASE)
+--time_source       Time source for Kudu Masters and Tablet Servers
+                    (default: $TIME_SOURCE)
+-b, --builddir      Path to the Kudu build directory
+                    (default: "$BUILDDIR")
+-c, --clusterdir    Path to place Masters' and Tablet Servers' data and logs
+                    (default: "$CLUSTER_DIR")
+-e, --enable-tde    Enable transparent data encryption
+                    (default: "$ENABLE_TDE")
+-H, --host          IP address for RPC server endpoint
+                    (default: $RPC_IP)
+-W, --webhost       IP address for HTTP server endpoint
+                    (default: $HTTP_IP)
+-T, --tserver-flags Extra flags to be used on the tablet servers;
+                    multiple flags can be specified if wrapped in ""s
+                    (default: "$EXTRA_TSERVER_FLAGS")
+-M, --master-flags  Extra flags to be used on the master servers;
+                    multiple flags can be specified if wrapped in ""s
+                    (default: "$EXTRA_MASTER_FLAGS")
+EOF
+}
 
 while (( "$#" )); do
   case "$1" in
@@ -76,11 +89,11 @@ while (( "$#" )); do
       NUM_TSERVERS=$2
       shift 2
       ;;
-    --rpc-master)
+    --rpc-port-master|--rpc-master)
       MASTER_RPC_PORT_BASE=$2
       shift 2
       ;;
-    --rpc-tserver)
+    --rpc-port-tserver|--rpc-tserver)
       TSERVER_RPC_PORT_BASE=$2
       shift 2
       ;;
@@ -109,7 +122,11 @@ while (( "$#" )); do
       shift 1
       ;;
     -H|--host)
-      IP=$2
+      RPC_IP=$2
+      shift 2
+      ;;
+    -W|--webhost)
+      HTTP_IP=$2
       shift 2
       ;;
     --) # end argument parsing
@@ -219,9 +236,10 @@ function start_master() {
   ARGS="$ARGS --fs_data_dirs=$dir_data"
   ARGS="$ARGS --fs_wal_dir=$dir_wal"
   ARGS="$ARGS --log_dir=$dir_log"
-  ARGS="$ARGS --rpc_bind_addresses=$IP:$RPC_PORT"
+  ARGS="$ARGS --rpc_bind_addresses=$RPC_IP:$RPC_PORT"
   ARGS="$ARGS --time_source=$TIME_SOURCE"
   ARGS="$ARGS --unlock_unsafe_flags"
+  ARGS="$ARGS --webserver_interface=$HTTP_IP"
   ARGS="$ARGS --webserver_port=$HTTP_PORT"
   if [ -d "$WEBSERVER_DOC_ROOT" ]; then
     ARGS="$ARGS --webserver_doc_root=$WEBSERVER_DOC_ROOT"
@@ -248,9 +266,10 @@ function start_tserver() {
   ARGS="$ARGS --fs_data_dirs=$dir_data"
   ARGS="$ARGS --fs_wal_dir=$dir_wal"
   ARGS="$ARGS --log_dir=$dir_log"
-  ARGS="$ARGS --rpc_bind_addresses=$IP:$RPC_PORT"
+  ARGS="$ARGS --rpc_bind_addresses=$RPC_IP:$RPC_PORT"
   ARGS="$ARGS --time_source=$TIME_SOURCE"
   ARGS="$ARGS --unlock_unsafe_flags"
+  ARGS="$ARGS --webserver_interface=$HTTP_IP"
   ARGS="$ARGS --webserver_port=$HTTP_PORT"
   ARGS="$ARGS --tserver_master_addrs=$4"
   if [ -d "$WEBSERVER_DOC_ROOT" ]; then
@@ -275,7 +294,7 @@ function start_tserver() {
 MASTER_ADDRESSES=
 for i in $(seq 0 $((NUM_MASTERS - 1))); do
   MASTER_RPC_PORT=$((MASTER_RPC_PORT_BASE + $i * 2))
-  ADDR=$IP:$MASTER_RPC_PORT
+  ADDR=$RPC_IP:$MASTER_RPC_PORT
   if [ $i -ne 0 ]; then
     MASTER_ADDRESSES="${MASTER_ADDRESSES},"
   fi

Reply via email to