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

morningman pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-2.1 by this push:
     new 4bd55b2f8b8 branch-2.1: [Opt](external-docker) Modify kerberos network 
mode to host #47043 (#47095)
4bd55b2f8b8 is described below

commit 4bd55b2f8b8aa8f3e1d6517ffe3392da4df63f5f
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Jan 16 23:12:05 2025 +0800

    branch-2.1: [Opt](external-docker) Modify kerberos network mode to host 
#47043 (#47095)
    
    Cherry-picked from #47043
    
    Co-authored-by: zgxme <zhenggaoxi...@selectdb.com>
---
 .../update-location.sh => common/event-hook.sh}    | 14 ++---
 .../docker-compose/common/hive-configure.sh        | 50 ++++++++++++++++
 .../kerberos/common/conf/doris-krb5.conf           | 19 +++---
 .../kerberos/common/hadoop/hadoop-run.sh           |  2 +
 .../kerberos/conf/kerberos1/kdc.conf.tpl           | 50 ++++++++++++++++
 .../kerberos1/krb5.conf.tpl}                       | 27 +++------
 .../kerberos2/kdc.conf.tpl}                        | 23 ++++++--
 .../health.sh => conf/kerberos2/krb5.conf.tpl}     | 30 +++++-----
 .../hadoop-health-check.sh => conf/my.cnf.tpl}     | 36 ++++++-----
 .../kerberos/entrypoint-hive-master-2.sh           | 50 ----------------
 .../kerberos/entrypoint-hive-master.sh             | 46 +++++++++++----
 .../docker-compose/kerberos/hadoop-hive.env.tpl    | 65 ++++++++++++++++++++
 .../kerberos/health-checks/health.sh               |  1 -
 .../kerberos/health-checks/hive-health-check-2.sh  |  2 +-
 .../kerberos/health-checks/hive-health-check.sh    |  2 +-
 ...doop-health-check.sh => supervisorctl-check.sh} |  0
 .../docker-compose/kerberos/kerberos.yaml.tpl      | 69 +++++++++-------------
 .../docker-compose/kerberos/kerberos1_settings.env | 47 +++++++++++++++
 ...ntial_cache_files.sh => kerberos2_settings.env} | 40 ++++++++-----
 docker/thirdparties/run-thirdparties-docker.sh     | 24 +++++---
 .../kerberos/test_single_hive_kerberos.groovy      | 19 +++---
 .../kerberos/test_two_hive_kerberos.groovy         | 13 ++--
 22 files changed, 411 insertions(+), 218 deletions(-)

diff --git 
a/docker/thirdparties/docker-compose/kerberos/two-kerberos-hives/update-location.sh
 b/docker/thirdparties/docker-compose/common/event-hook.sh
old mode 100755
new mode 100644
similarity index 74%
copy from 
docker/thirdparties/docker-compose/kerberos/two-kerberos-hives/update-location.sh
copy to docker/thirdparties/docker-compose/common/event-hook.sh
index 8d727b2308d..144550e8bb0
--- 
a/docker/thirdparties/docker-compose/kerberos/two-kerberos-hives/update-location.sh
+++ b/docker/thirdparties/docker-compose/common/event-hook.sh
@@ -16,10 +16,10 @@
 # specific language governing permissions and limitations
 # under the License.
 
-/usr/bin/mysqld_safe &
-while ! mysqladmin ping -proot --silent; do sleep 1; done
-
-hive --service metatool -updateLocation 
hdfs://hadoop-master-2:9000/user/hive/warehouse 
hdfs://hadoop-master:9000/user/hive/warehouse
-
-killall mysqld
-while pgrep mysqld; do sleep 1; done
+function exec_success_hook() {
+    echo "Executing success hook"
+    echo "Creating /tmp/success and /tmp/SUCCESS"
+    touch /tmp/success /tmp/SUCCESS
+    echo "Do not exit, just tailing /dev/null"
+    tail -f /dev/null
+}
\ No newline at end of file
diff --git a/docker/thirdparties/docker-compose/common/hive-configure.sh 
b/docker/thirdparties/docker-compose/common/hive-configure.sh
new file mode 100755
index 00000000000..cb17d4d2275
--- /dev/null
+++ b/docker/thirdparties/docker-compose/common/hive-configure.sh
@@ -0,0 +1,50 @@
+#!/usr/bin/env bash
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Referenced from [docker-hive](https://github.com/big-data-europe/docker-hive)
+
+# Set some sensible defaults
+export CORE_CONF_fs_defaultFS=${CORE_CONF_fs_defaultFS:-hdfs://`hostname 
-f`:8020}
+
+function addProperty() {
+  local path=$1
+  local name=$2
+  local value=$3
+
+  local entry="<property><name>$name</name><value>${value}</value></property>"
+  local escapedEntry=$(echo $entry | sed 's/\//\\\//g')
+  sed -i "/<\/configuration>/ s/.*/${escapedEntry}\n&/" $path
+}
+
+function configure() {
+    local path=$1
+    local module=$2
+    local envPrefix=$3
+
+    local var
+    local value
+    
+    echo "Configuring $module"
+    for c in `printenv | perl -sne 'print "$1 " if m/^${envPrefix}_(.+?)=.*/' 
-- -envPrefix=$envPrefix`; do 
+        name=`echo ${c} | perl -pe 's/___/-/g; s/__/_/g; s/_/./g'`
+        var="${envPrefix}_${c}"
+        value=${!var}
+        echo " - Setting $name=$  "
+        addProperty $path $name "$value"
+    done
+}
\ No newline at end of file
diff --git 
a/docker/thirdparties/docker-compose/kerberos/common/conf/doris-krb5.conf 
b/docker/thirdparties/docker-compose/kerberos/common/conf/doris-krb5.conf
index 36547b8f89d..83fe29c2cb2 100644
--- a/docker/thirdparties/docker-compose/kerberos/common/conf/doris-krb5.conf
+++ b/docker/thirdparties/docker-compose/kerberos/common/conf/doris-krb5.conf
@@ -32,21 +32,18 @@
 
 [realms]
  LABS.TERADATA.COM = {
-  kdc = hadoop-master:88
-  admin_server = hadoop-master
+  kdc = hadoop-master:5588
+  admin_server = hadoop-master:5749
  }
  OTHERLABS.TERADATA.COM = {
-  kdc = hadoop-master:89
-  admin_server = hadoop-master
+  kdc = hadoop-master:5589
+  admin_server = hadoop-master:5750
  }
- OTHERLABS.TERADATA.COM = {
-  kdc = hadoop-master:89
-  admin_server = hadoop-master
- }
-OTHERREALM.COM = {
-  kdc = hadoop-master-2:88
-  admin_server = hadoop-master
+ OTHERREALM.COM = {
+  kdc = hadoop-master-2:6688
+  admin_server = hadoop-master-2:6749
  }
 
 [domain_realm]
   hadoop-master-2 = OTHERREALM.COM
+  hadoop-master = LABS.TERADATA.COM
diff --git 
a/docker/thirdparties/docker-compose/kerberos/common/hadoop/hadoop-run.sh 
b/docker/thirdparties/docker-compose/kerberos/common/hadoop/hadoop-run.sh
index b8bfd8715e9..93c6e385eff 100755
--- a/docker/thirdparties/docker-compose/kerberos/common/hadoop/hadoop-run.sh
+++ b/docker/thirdparties/docker-compose/kerberos/common/hadoop/hadoop-run.sh
@@ -38,5 +38,7 @@ fi
 trap exit INT
 
 echo "Running services with supervisord"
+rm -rf /etc/supervisord.d/socks-proxy.conf
+rm -rf /etc/supervisord.d/sshd.conf
 
 supervisord -c /etc/supervisord.conf
diff --git 
a/docker/thirdparties/docker-compose/kerberos/conf/kerberos1/kdc.conf.tpl 
b/docker/thirdparties/docker-compose/kerberos/conf/kerberos1/kdc.conf.tpl
new file mode 100644
index 00000000000..e16c70e16db
--- /dev/null
+++ b/docker/thirdparties/docker-compose/kerberos/conf/kerberos1/kdc.conf.tpl
@@ -0,0 +1,50 @@
+#!/usr/bin/env bash
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+[kdcdefaults]
+ kdc_ports = ${KDC_PORT1}
+ kdc_tcp_ports = ${KDC_PORT1}
+ kadmind_port = ${KADMIND_PORT1}
+ kpasswd_port = ${KPASSWD_PORT1}
+
+[realms]
+ LABS.TERADATA.COM = {
+  acl_file = /var/kerberos/krb5kdc/kadm5.acl
+  dict_file = /usr/share/dict/words
+  admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
+  supported_enctypes = aes128-cts:normal des3-hmac-sha1:normal 
arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
+  kdc_listen = ${KDC_PORT1}
+  kdc_tcp_listen = ${KDC_PORT1}
+  kdc_ports = ${KDC_PORT1}
+  kdc_tcp_ports = ${KDC_PORT1}
+  kadmind_port = ${KADMIND_PORT1}
+  kpasswd_port = ${KPASSWD_PORT1}
+ }
+
+ OTHERLABS.TERADATA.COM = {
+  acl_file = /var/kerberos/krb5kdc/kadm5-other.acl
+  dict_file = /usr/share/dict/words
+  admin_keytab = /var/kerberos/krb5kdc/kadm5-other.keytab
+  supported_enctypes = aes128-cts:normal des3-hmac-sha1:normal 
arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
+  kdc_listen = ${KDC_PORT2}
+  kdc_tcp_listen = ${KDC_PORT2}
+  kdc_ports = ${KDC_PORT2}
+  kdc_tcp_ports = ${KDC_PORT2}
+  kadmind_port = ${KADMIND_PORT2}
+  kpasswd_port = ${KPASSWD_PORT2}
+ }
\ No newline at end of file
diff --git 
a/docker/thirdparties/docker-compose/kerberos/common/conf/doris-krb5.conf 
b/docker/thirdparties/docker-compose/kerberos/conf/kerberos1/krb5.conf.tpl
similarity index 66%
copy from 
docker/thirdparties/docker-compose/kerberos/common/conf/doris-krb5.conf
copy to docker/thirdparties/docker-compose/kerberos/conf/kerberos1/krb5.conf.tpl
index 36547b8f89d..1edf2bb8fd0 100644
--- a/docker/thirdparties/docker-compose/kerberos/common/conf/doris-krb5.conf
+++ b/docker/thirdparties/docker-compose/kerberos/conf/kerberos1/krb5.conf.tpl
@@ -1,3 +1,4 @@
+#!/usr/bin/env bash
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
@@ -24,29 +25,15 @@
  default_realm = LABS.TERADATA.COM
  dns_lookup_realm = false
  dns_lookup_kdc = false
- ticket_lifetime = 5s
- # this setting is causing a Message stream modified (41) error when talking 
to KDC running on CentOS 7: https://stackoverflow.com/a/60978520
- # renew_lifetime = 7d
  forwardable = true
- udp_preference_limit = 1
+ allow_weak_crypto = true
 
 [realms]
  LABS.TERADATA.COM = {
-  kdc = hadoop-master:88
-  admin_server = hadoop-master
+  kdc = ${HOST}:${KDC_PORT1}
+  admin_server = ${HOST}:${KADMIND_PORT1}
  }
  OTHERLABS.TERADATA.COM = {
-  kdc = hadoop-master:89
-  admin_server = hadoop-master
- }
- OTHERLABS.TERADATA.COM = {
-  kdc = hadoop-master:89
-  admin_server = hadoop-master
- }
-OTHERREALM.COM = {
-  kdc = hadoop-master-2:88
-  admin_server = hadoop-master
- }
-
-[domain_realm]
-  hadoop-master-2 = OTHERREALM.COM
+  kdc = ${HOST}:${KDC_PORT2}
+  admin_server = ${HOST}:${KADMIND_PORT2}
+ }
\ No newline at end of file
diff --git 
a/docker/thirdparties/docker-compose/kerberos/two-kerberos-hives/update-location.sh
 b/docker/thirdparties/docker-compose/kerberos/conf/kerberos2/kdc.conf.tpl
old mode 100755
new mode 100644
similarity index 56%
rename from 
docker/thirdparties/docker-compose/kerberos/two-kerberos-hives/update-location.sh
rename to 
docker/thirdparties/docker-compose/kerberos/conf/kerberos2/kdc.conf.tpl
index 8d727b2308d..61b4994ad5c
--- 
a/docker/thirdparties/docker-compose/kerberos/two-kerberos-hives/update-location.sh
+++ b/docker/thirdparties/docker-compose/kerberos/conf/kerberos2/kdc.conf.tpl
@@ -16,10 +16,23 @@
 # specific language governing permissions and limitations
 # under the License.
 
-/usr/bin/mysqld_safe &
-while ! mysqladmin ping -proot --silent; do sleep 1; done
+[kdcdefaults]
+ kdc_ports = ${KDC_PORT1}
+ kdc_tcp_ports = ${KDC_PORT1}
+ kadmind_port = ${KADMIND_PORT1}
+ kpasswd_port = ${KPASSWD_PORT1}
 
-hive --service metatool -updateLocation 
hdfs://hadoop-master-2:9000/user/hive/warehouse 
hdfs://hadoop-master:9000/user/hive/warehouse
 
-killall mysqld
-while pgrep mysqld; do sleep 1; done
+[realms]
+ OTHERREALM.COM = {
+  acl_file = /var/kerberos/krb5kdc/kadm5.acl
+  dict_file = /usr/share/dict/words
+  admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
+  supported_enctypes = aes128-cts:normal des3-hmac-sha1:normal 
arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
+  kdc_listen = ${KDC_PORT1}
+  kdc_tcp_listen = ${KDC_PORT1}
+  kdc_ports = ${KDC_PORT1}
+  kdc_tcp_ports = ${KDC_PORT1}
+  kadmind_port = ${KADMIND_PORT1}
+  kpasswd_port = ${KPASSWD_PORT1}
+ }
\ No newline at end of file
diff --git 
a/docker/thirdparties/docker-compose/kerberos/health-checks/health.sh 
b/docker/thirdparties/docker-compose/kerberos/conf/kerberos2/krb5.conf.tpl
old mode 100755
new mode 100644
similarity index 68%
copy from docker/thirdparties/docker-compose/kerberos/health-checks/health.sh
copy to docker/thirdparties/docker-compose/kerberos/conf/kerberos2/krb5.conf.tpl
index 473d7ceaeb6..c817dbdd797
--- a/docker/thirdparties/docker-compose/kerberos/health-checks/health.sh
+++ b/docker/thirdparties/docker-compose/kerberos/conf/kerberos2/krb5.conf.tpl
@@ -16,20 +16,20 @@
 # specific language governing permissions and limitations
 # under the License.
 
-set -euo pipefail
+[logging]
+ default = FILE:/var/log/krb5libs.log
+ kdc = FILE:/var/log/krb5kdc.log
+ admin_server = FILE:/var/log/kadmind.log
 
-if test $# -gt 0; then
-    echo "$0 does not accept arguments" >&2
-    exit 32
-fi
+[libdefaults]
+ default_realm = OTHERREALM.COM
+ dns_lookup_realm = false
+ dns_lookup_kdc = false
+ forwardable = true
+ allow_weak_crypto = true
 
-set -x
-
-HEALTH_D=${HEALTH_D:-/etc/health.d/}
-
-if test -d "${HEALTH_D}"; then
-    for health_script in "${HEALTH_D}"/*; do
-        "${health_script}" &>> /var/log/container-health.log || exit 1
-    done
-fi
-exit 0
+[realms]
+ OTHERREALM.COM = {
+  kdc = ${HOST}:${KDC_PORT1}
+  admin_server = ${HOST}:${KADMIND_PORT1}
+ }
\ No newline at end of file
diff --git 
a/docker/thirdparties/docker-compose/kerberos/health-checks/hadoop-health-check.sh
 b/docker/thirdparties/docker-compose/kerberos/conf/my.cnf.tpl
old mode 100755
new mode 100644
similarity index 57%
copy from 
docker/thirdparties/docker-compose/kerberos/health-checks/hadoop-health-check.sh
copy to docker/thirdparties/docker-compose/kerberos/conf/my.cnf.tpl
index 77df431d85a..e91c65c1004
--- 
a/docker/thirdparties/docker-compose/kerberos/health-checks/hadoop-health-check.sh
+++ b/docker/thirdparties/docker-compose/kerberos/conf/my.cnf.tpl
@@ -16,25 +16,23 @@
 # specific language governing permissions and limitations
 # under the License.
 
-set -euo pipefail
+[mysqld]
+port=${MYSQL_PORT}
+datadir=/var/lib/mysql
+socket=/var/lib/mysql/mysql.sock
+# Disabling symbolic-links is recommended to prevent assorted security risks
+symbolic-links=0
+# Settings user and group are ignored when systemd is used.
+# If you need to run mysqld under a different user or group,
+# customize your systemd unit file for mariadb according to the
+# instructions in http://fedoraproject.org/wiki/Systemd
 
-if test $# -gt 0; then
-    echo "$0 does not accept arguments" >&2
-    exit 32
-fi
+[mysqld_safe]
+log-error=/var/log/mariadb/mariadb.log
+pid-file=/var/run/mariadb/mariadb.pid
 
-# Supervisord is not running
-if ! test -f /tmp/supervisor.sock; then
-    exit 0
-fi
-
-# Check if all Hadoop services are running
-FAILED=$(supervisorctl status | grep -v RUNNING || true)
+#
+# include all files from the config directory
+#
+!includedir /etc/my.cnf.d
 
-if [ "$FAILED" == "" ]; then
-  echo "All services are running"
-  exit 0
-else
-  echo "Some of the services are failing: ${FAILED}"
-  exit 1
-fi
diff --git 
a/docker/thirdparties/docker-compose/kerberos/entrypoint-hive-master-2.sh 
b/docker/thirdparties/docker-compose/kerberos/entrypoint-hive-master-2.sh
deleted file mode 100755
index eb95c5cb697..00000000000
--- a/docker/thirdparties/docker-compose/kerberos/entrypoint-hive-master-2.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/usr/bin/env bash
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-set -euo pipefail
-
-echo "Copying kerberos keytabs to /keytabs/"
-mkdir -p /etc/hadoop-init.d/
-cp /etc/trino/conf/hive-presto-master.keytab 
/keytabs/other-hive-presto-master.keytab
-cp /etc/trino/conf/presto-server.keytab /keytabs/other-presto-server.keytab
-cp /keytabs/update-location.sh /etc/hadoop-init.d/update-location.sh
-/usr/local/hadoop-run.sh &
-
-# check healthy hear
-echo "Waiting for hadoop to be healthy"
-
-for i in {1..10}; do
-    if /usr/local/health.sh; then
-        echo "Hadoop is healthy"
-        break
-    fi
-    echo "Hadoop is not healthy yet. Retrying in 20 seconds..."
-    sleep 20
-done
-
-if [ $i -eq 10 ]; then
-    echo "Hadoop did not become healthy after 120 attempts. Exiting."
-    exit 1
-fi
-
-echo "Init kerberos test data"
-kinit -kt /etc/hive/conf/hive.keytab hive/hadoop-maste...@otherrealm.com
-hive  -f /usr/local/sql/create_kerberos_hive_table.sql
-touch /mnt/SUCCESS
-
-tail -f /dev/null
diff --git 
a/docker/thirdparties/docker-compose/kerberos/entrypoint-hive-master.sh 
b/docker/thirdparties/docker-compose/kerberos/entrypoint-hive-master.sh
index 76f49724297..f12b76734f7 100755
--- a/docker/thirdparties/docker-compose/kerberos/entrypoint-hive-master.sh
+++ b/docker/thirdparties/docker-compose/kerberos/entrypoint-hive-master.sh
@@ -15,34 +15,60 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-
 set -euo pipefail
+source /usr/local/common/hive-configure.sh
+source /usr/local/common/event-hook.sh
+
+echo "Configuring hive"
+configure /etc/hive/conf/hive-site.xml hive HIVE_SITE_CONF
+configure /etc/hive/conf/hiveserver2-site.xml hive HIVE_SITE_CONF
+configure /etc/hadoop/conf/core-site.xml core CORE_CONF
+configure /etc/hadoop/conf/hdfs-site.xml hdfs HDFS_CONF
+configure /etc/hadoop/conf/yarn-site.xml yarn YARN_CONF
+configure /etc/hadoop/conf/mapred-site.xml mapred MAPRED_CONF
+configure /etc/hive/conf/beeline-site.xml beeline BEELINE_SITE_CONF
 
 echo "Copying kerberos keytabs to keytabs/"
 mkdir -p /etc/hadoop-init.d/
-cp /etc/trino/conf/* /keytabs/
+
+if [ "$1" == "1" ]; then
+    cp /etc/trino/conf/* /keytabs/
+elif [ "$1" == "2" ]; then
+    cp /etc/trino/conf/hive-presto-master.keytab 
/keytabs/other-hive-presto-master.keytab
+    cp /etc/trino/conf/presto-server.keytab /keytabs/other-presto-server.keytab
+else
+    echo "Invalid index parameter. Exiting."
+    exit 1
+fi
 /usr/local/hadoop-run.sh &
 
 # check healthy hear
 echo "Waiting for hadoop to be healthy"
 
-for i in {1..10}; do
+for i in {1..60}; do
     if /usr/local/health.sh; then
         echo "Hadoop is healthy"
         break
     fi
-    echo "Hadoop is not healthy yet. Retrying in 20 seconds..."
-    sleep 20
+    echo "Hadoop is not healthy yet. Retrying in 60 seconds..."
+    sleep 5
 done
 
-if [ $i -eq 10 ]; then
-    echo "Hadoop did not become healthy after 120 attempts. Exiting."
+if [ $i -eq 60 ]; then
+    echo "Hadoop did not become healthy after 60 attempts. Exiting."
     exit 1
 fi
 
 echo "Init kerberos test data"
-kinit -kt /etc/hive/conf/hive.keytab hive/hadoop-mas...@labs.teradata.com
+
+if [ "$1" == "1" ]; then
+    kinit -kt /etc/hive/conf/hive.keytab hive/hadoop-mas...@labs.teradata.com
+elif [ "$1" == "2" ]; then
+    kinit -kt /etc/hive/conf/hive.keytab hive/hadoop-maste...@otherrealm.com
+else
+    echo "Invalid index parameter. Exiting."
+    exit 1
+fi
 hive  -f /usr/local/sql/create_kerberos_hive_table.sql
-touch /mnt/SUCCESS
 
-tail -f /dev/null
+exec_success_hook
\ No newline at end of file
diff --git a/docker/thirdparties/docker-compose/kerberos/hadoop-hive.env.tpl 
b/docker/thirdparties/docker-compose/kerberos/hadoop-hive.env.tpl
new file mode 100644
index 00000000000..41c95057a92
--- /dev/null
+++ b/docker/thirdparties/docker-compose/kerberos/hadoop-hive.env.tpl
@@ -0,0 +1,65 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+HIVE_SITE_CONF_javax_jdo_option_ConnectionURL=jdbc:mysql://127.0.0.1:${MYSQL_PORT}/metastore
+HIVE_SITE_CONF_javax_jdo_option_ConnectionDriverName=com.mysql.jdbc.Driver
+HIVE_SITE_CONF_javax_jdo_option_ConnectionUserName=root
+HIVE_SITE_CONF_javax_jdo_option_ConnectionPassword=root
+HIVE_SITE_CONF_datanucleus_autoCreateSchema=false
+HIVE_SITE_CONF_hive_metastore_port=${HMS_PORT}
+HIVE_SITE_CONF_hive_metastore_uris=thrift://${IP_HOST}:${HMS_PORT}
+HIVE_SITE_CONF_hive_server2_thrift_bind_host=0.0.0.0
+HIVE_SITE_CONF_hive_server2_thrift_port=${HS_PORT}
+HIVE_SITE_CONF_hive_server2_webui_port=0
+HIVE_SITE_CONF_hive_compactor_initiator_on=true
+HIVE_SITE_CONF_hive_compactor_worker_threads=2
+HIVE_SITE_CONF_metastore_storage_schema_reader_impl=org.apache.hadoop.hive.metastore.SerDeStorageSchemaReader
+BEELINE_SITE_CONF_beeline_hs2_jdbc_url_tcpUrl=jdbc:hive2://${HOST}:${HS_PORT}/default;user=hdfs;password=hive
+BEELINE_SITE_CONF_beeline_hs2_jdbc_url_httpUrl=jdbc:hive2://${HOST}:${HS_PORT}/default;user=hdfs;password=hive
+
+
+CORE_CONF_fs_defaultFS=hdfs://${HOST}:${FS_PORT}
+CORE_CONF_hadoop_http_staticuser_user=root
+CORE_CONF_hadoop_proxyuser_hue_hosts=*
+CORE_CONF_hadoop_proxyuser_hue_groups=*
+
+HDFS_CONF_dfs_webhdfs_enabled=true
+HDFS_CONF_dfs_permissions_enabled=false
+HDFS_CONF_dfs_namenode_datanode_registration_ip___hostname___check=false
+HDFS_CONF_dfs_datanode_address=${HOST}:${DFS_DN_PORT}
+HDFS_CONF_dfs_datanode_http_address=${HOST}:${DFS_DN_HTTP_PORT}
+HDFS_CONF_dfs_datanode_ipc_address=${HOST}:${DFS_DN_IPC_PORT}
+HDFS_CONF_dfs_namenode_http___address=${HOST}:${DFS_NN_HTTP_PORT}
+YARN_CONF_yarn_log___aggregation___enable=true
+YARN_CONF_yarn_resourcemanager_recovery_enabled=true
+YARN_CONF_yarn_resourcemanager_store_class=org.apache.hadoop.yarn.server.resourcemanager.recovery.FileSystemRMStateStore
+YARN_CONF_yarn_resourcemanager_fs_state___store_uri=/rmstate
+YARN_CONF_yarn_nodemanager_remote___app___log___dir=/var/log/hadoop-yarn/apps
+YARN_CONF_yarn_log_server_url=http://${HOST}:${YARM_LOG_SERVER_PORT}/jobhistory/logs
+YARN_CONF_yarn_timeline___service_enabled=false
+YARN_CONF_yarn_timeline___service_generic___application___history_enabled=true
+YARN_CONF_yarn_resourcemanager_system___metrics___publisher_enabled=true
+YARN_CONF_yarn_resourcemanager_hostname=${HOST}
+MAPRED_CONF_mapreduce_shuffle_port=${MAPREDUCE_SHUFFLE_PORT}
+YARN_CONF_yarn_timeline___service_hostname=${HOST}
+YARN_CONF_yarn_resourcemanager_address=${HOST}:${YARN_RM_PORT}
+YARN_CONF_yarn_resourcemanager_scheduler_address=${HOST}:${YARN_RM_SCHEDULER_PORT}
+YARN_CONF_yarn_resourcemanager_resource___tracker_address=${HOST}:${YARN_RM_TRACKER_PORT}
+YARN_CONF_yarn_resourcemanager_admin_address=${HOST}:${YARN_RM_ADMIN_PORT}
+YARN_CONF_yarn_resourcemanager_webapp_address=${HOST}:${YARN_RM_WEBAPP_PORT}
+YARN_CONF_yarn_nodemanager_localizer_address=${HOST}:${YARN_NM_LOCAL_PORT}
+YARN_CONF_yarn_nodemanager_webapp_address=${HOST}:${YARN_NM_WEBAPP_PORT}
\ No newline at end of file
diff --git 
a/docker/thirdparties/docker-compose/kerberos/health-checks/health.sh 
b/docker/thirdparties/docker-compose/kerberos/health-checks/health.sh
index 473d7ceaeb6..515f37e36ac 100755
--- a/docker/thirdparties/docker-compose/kerberos/health-checks/health.sh
+++ b/docker/thirdparties/docker-compose/kerberos/health-checks/health.sh
@@ -32,4 +32,3 @@ if test -d "${HEALTH_D}"; then
         "${health_script}" &>> /var/log/container-health.log || exit 1
     done
 fi
-exit 0
diff --git 
a/docker/thirdparties/docker-compose/kerberos/health-checks/hive-health-check-2.sh
 
b/docker/thirdparties/docker-compose/kerberos/health-checks/hive-health-check-2.sh
index 854524dac1f..7545969bc47 100755
--- 
a/docker/thirdparties/docker-compose/kerberos/health-checks/hive-health-check-2.sh
+++ 
b/docker/thirdparties/docker-compose/kerberos/health-checks/hive-health-check-2.sh
@@ -17,4 +17,4 @@
 # under the License.
 
 kinit -kt /etc/hive/conf/hive.keytab hive/hadoop-maste...@otherrealm.com
-beeline -u 
"jdbc:hive2://localhost:10000/default;principal=hive/hadoop-maste...@otherrealm.com"
 -e "show databases;"
\ No newline at end of file
+beeline -u 
"jdbc:hive2://localhost:16000/default;principal=hive/hadoop-maste...@otherrealm.com"
 -e "show databases;"
\ No newline at end of file
diff --git 
a/docker/thirdparties/docker-compose/kerberos/health-checks/hive-health-check.sh
 
b/docker/thirdparties/docker-compose/kerberos/health-checks/hive-health-check.sh
index 4d3d86f69a2..ab464b5233b 100755
--- 
a/docker/thirdparties/docker-compose/kerberos/health-checks/hive-health-check.sh
+++ 
b/docker/thirdparties/docker-compose/kerberos/health-checks/hive-health-check.sh
@@ -17,4 +17,4 @@
 # under the License.
 
 kinit -kt /etc/hive/conf/hive.keytab hive/hadoop-mas...@labs.teradata.com
-beeline -u 
"jdbc:hive2://localhost:10000/default;principal=hive/hadoop-mas...@labs.teradata.com"
 -e "show databases;"
\ No newline at end of file
+beeline -u 
"jdbc:hive2://localhost:15000/default;principal=hive/hadoop-mas...@labs.teradata.com"
 -e "show databases;"
\ No newline at end of file
diff --git 
a/docker/thirdparties/docker-compose/kerberos/health-checks/hadoop-health-check.sh
 
b/docker/thirdparties/docker-compose/kerberos/health-checks/supervisorctl-check.sh
similarity index 100%
rename from 
docker/thirdparties/docker-compose/kerberos/health-checks/hadoop-health-check.sh
rename to 
docker/thirdparties/docker-compose/kerberos/health-checks/supervisorctl-check.sh
diff --git a/docker/thirdparties/docker-compose/kerberos/kerberos.yaml.tpl 
b/docker/thirdparties/docker-compose/kerberos/kerberos.yaml.tpl
index e635ed6bb27..9a1520b74db 100644
--- a/docker/thirdparties/docker-compose/kerberos/kerberos.yaml.tpl
+++ b/docker/thirdparties/docker-compose/kerberos/kerberos.yaml.tpl
@@ -16,68 +16,55 @@
 # under the License.
 version: "3"
 services:
-  hive-krb:
+  hive-krb1:
     image: doristhirdpartydocker/trinodb:hdp3.1-hive-kerberized_96
-    container_name: doris--kerberos1
+    container_name: doris-${CONTAINER_UID}-kerberos1
     volumes:
+      - ../common:/usr/local/common
       - ./two-kerberos-hives:/keytabs
       - ./sql:/usr/local/sql
       - 
./common/hadoop/apply-config-overrides.sh:/etc/hadoop-init.d/00-apply-config-overrides.sh
       - ./common/hadoop/hadoop-run.sh:/usr/local/hadoop-run.sh
       - ./health-checks/health.sh:/usr/local/health.sh
-      - 
./health-checks/hadoop-health-check.sh:/etc/health.d/hadoop-health-check.sh
+      - 
./health-checks/supervisorctl-check.sh:/etc/health.d/supervisorctl-check.sh
       - ./health-checks/hive-health-check.sh:/etc/health.d/hive-health-check.sh
       - ./entrypoint-hive-master.sh:/usr/local/entrypoint-hive-master.sh
+      - ./conf/kerberos1/my.cnf:/etc/my.cnf
+      - ./conf/kerberos1/kdc.conf:/var/kerberos/krb5kdc/kdc.conf
+      - ./conf/kerberos1/krb5.conf:/etc/krb5.conf
     hostname: hadoop-master
-    entrypoint: /usr/local/entrypoint-hive-master.sh
+    entrypoint: /usr/local/entrypoint-hive-master.sh 1
     healthcheck:
-      test: ["CMD", "ls", "/mnt/SUCCESS"]
-      interval: 20s
-      timeout: 60s
+      test: ["CMD", "ls", "/tmp/SUCCESS"]
+      interval: 5s
+      timeout: 10s
       retries: 120
-    ports:
-      - "5806:5006"
-      - "8820:8020"
-      - "8842:8042"
-      - "9800:9000"
-      - "9883:9083"
-      - "18000:10000"
-    networks:
-      doris--krb_net:
-        ipv4_address: 172.31.71.25
-
+    network_mode: "host"
+    env_file:
+      - ./hadoop-hive-1.env
   hive-krb2:
     image: doristhirdpartydocker/trinodb:hdp3.1-hive-kerberized-2_96
-    container_name: doris--kerberos2
+    container_name: doris-${CONTAINER_UID}-kerberos2
     hostname: hadoop-master-2
     volumes:
+      - ../common:/usr/local/common
       - ./two-kerberos-hives:/keytabs
       - ./sql:/usr/local/sql
       - 
./common/hadoop/apply-config-overrides.sh:/etc/hadoop-init.d/00-apply-config-overrides.sh
       - ./common/hadoop/hadoop-run.sh:/usr/local/hadoop-run.sh
       - ./health-checks/health.sh:/usr/local/health.sh
-      - 
./health-checks/hadoop-health-check.sh:/etc/health.d/hadoop-health-check.sh
+      - 
./health-checks/supervisorctl-check.sh:/etc/health.d/supervisorctl-check.sh
       - 
./health-checks/hive-health-check-2.sh:/etc/health.d/hive-health-check-2.sh
-      - ./entrypoint-hive-master-2.sh:/usr/local/entrypoint-hive-master-2.sh
-    entrypoint: /usr/local/entrypoint-hive-master-2.sh
+      - ./entrypoint-hive-master.sh:/usr/local/entrypoint-hive-master.sh
+      - ./conf/kerberos2/my.cnf:/etc/my.cnf
+      - ./conf/kerberos2/kdc.conf:/var/kerberos/krb5kdc/kdc.conf
+      - ./conf/kerberos2/krb5.conf:/etc/krb5.conf
+    entrypoint: /usr/local/entrypoint-hive-master.sh 2
     healthcheck:
-      test: ["CMD", "ls", "/mnt/SUCCESS"]
-      interval: 20s
-      timeout: 60s
+      test: ["CMD", "ls", "/tmp/SUCCESS"]
+      interval: 5s
+      timeout: 10s
       retries: 120
-    ports:
-      - "15806:5006"
-      - "18820:8020"
-      - "18842:8042"
-      - "19800:9000"
-      - "19883:9083"
-      - "18800:10000"
-    networks:
-      doris--krb_net:
-        ipv4_address: 172.31.71.26
-
-networks:
-  doris--krb_net:
-    ipam:
-      config:
-        - subnet: 172.31.71.0/24
+    network_mode: "host"
+    env_file:
+      - ./hadoop-hive-2.env
\ No newline at end of file
diff --git a/docker/thirdparties/docker-compose/kerberos/kerberos1_settings.env 
b/docker/thirdparties/docker-compose/kerberos/kerberos1_settings.env
new file mode 100644
index 00000000000..aaf4c639fa8
--- /dev/null
+++ b/docker/thirdparties/docker-compose/kerberos/kerberos1_settings.env
@@ -0,0 +1,47 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Change this to a specific string.
+# Do not use "_" or other sepcial characters, only number and alphabeta.
+# NOTICE: change this uid will modify hive-*.yaml
+
+export HOST="hadoop-master"
+export FS_PORT=8520
+export HMS_PORT=9583
+export HS_PORT=15000
+export MYSQL_PORT=3356
+export DFS_DN_PORT=9566
+export DFS_DN_HTTP_PORT=9564
+export DFS_DN_IPC_PORT=9567
+export DFS_NN_HTTP_PORT=9570
+export YARM_LOG_SERVER_PORT=8588
+export YARN_RM_PORT=8532
+export YARN_RM_SCHEDULER_PORT=8530
+export YARN_RM_TRACKER_PORT=8531
+export YARN_RM_ADMIN_PORT=8533
+export YARN_RM_WEBAPP_PORT=8589
+export YARN_NM_LOCAL_PORT=8540
+export YARN_NM_WEBAPP_PORT=8542
+export MAPREDUCE_SHUFFLE_PORT=13562
+export KADMIND_PORT=5464
+export KDC_PORT1=5588
+export KDC_PORT2=5589
+export KADMIND_PORT1=5749
+export KADMIND_PORT2=5750
+export KPASSWD_PORT1=5464
+export KPASSWD_PORT2=5465
\ No newline at end of file
diff --git 
a/docker/thirdparties/docker-compose/kerberos/ccache/create_kerberos_credential_cache_files.sh
 b/docker/thirdparties/docker-compose/kerberos/kerberos2_settings.env
similarity index 50%
rename from 
docker/thirdparties/docker-compose/kerberos/ccache/create_kerberos_credential_cache_files.sh
rename to docker/thirdparties/docker-compose/kerberos/kerberos2_settings.env
index 2bba3f928b1..fca68d60162 100644
--- 
a/docker/thirdparties/docker-compose/kerberos/ccache/create_kerberos_credential_cache_files.sh
+++ b/docker/thirdparties/docker-compose/kerberos/kerberos2_settings.env
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/bin/bash
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
@@ -16,18 +16,28 @@
 # specific language governing permissions and limitations
 # under the License.
 
-set -exuo pipefail
+# Change this to a specific string.
+# Do not use "_" or other sepcial characters, only number and alphabeta.
+# NOTICE: change this uid will modify hive-*.yaml
 
-TICKET_LIFETIME='30m'
-
-kinit -l "$TICKET_LIFETIME" -f -c /etc/trino/conf/presto-server-krbcc \
-      -kt /etc/trino/conf/presto-server.keytab presto-server/$(hostname 
-f)@LABS.TERADATA.COM
-
-kinit -l "$TICKET_LIFETIME" -f -c /etc/trino/conf/hive-presto-master-krbcc \
-      -kt /etc/trino/conf/hive-presto-master.keytab hive/$(hostname 
-f)@LABS.TERADATA.COM
-
-kinit -l "$TICKET_LIFETIME" -f -c /etc/trino/conf/hdfs-krbcc \
-      -kt /etc/hadoop/conf/hdfs.keytab hdfs/hadoop-mas...@labs.teradata.com
-
-kinit -l "$TICKET_LIFETIME" -f -c /etc/trino/conf/hive-krbcc \
-      -kt /etc/hive/conf/hive.keytab hive/hadoop-mas...@labs.teradata.com
+export HOST="hadoop-master-2"
+export FS_PORT=8620
+export HMS_PORT=9683
+export HS_PORT=16000
+export MYSQL_PORT=3366
+export DFS_DN_PORT=9666
+export DFS_DN_HTTP_PORT=9664
+export DFS_DN_IPC_PORT=9667
+export DFS_NN_HTTP_PORT=9670
+export YARM_LOG_SERVER_PORT=8688
+export YARN_RM_PORT=8632
+export YARN_RM_SCHEDULER_PORT=8630
+export YARN_RM_TRACKER_PORT=8631
+export YARN_RM_ADMIN_PORT=8633
+export YARN_RM_WEBAPP_PORT=8689
+export YARN_NM_LOCAL_PORT=8640
+export YARN_NM_WEBAPP_PORT=8642
+export MAPREDUCE_SHUFFLE_PORT=13662
+export KDC_PORT1=6688
+export KADMIND_PORT1=6749
+export KPASSWD_PORT1=6464
\ No newline at end of file
diff --git a/docker/thirdparties/run-thirdparties-docker.sh 
b/docker/thirdparties/run-thirdparties-docker.sh
index 372a7632350..f5e02bc6be0 100755
--- a/docker/thirdparties/run-thirdparties-docker.sh
+++ b/docker/thirdparties/run-thirdparties-docker.sh
@@ -576,8 +576,22 @@ start_lakesoul() {
 
 start_kerberos() {
     echo "RUN_KERBEROS"
-    cp "${ROOT}"/docker-compose/kerberos/kerberos.yaml.tpl 
"${ROOT}"/docker-compose/kerberos/kerberos.yaml
-    sed -i "s/doris--/${CONTAINER_UID}/g" 
"${ROOT}"/docker-compose/kerberos/kerberos.yaml
+    eth_name=$(ifconfig -a | grep -E "^eth[0-9]" | sort -k1.4n | awk -F ':' 
'{print $1}' | head -n 1)
+    IP_HOST=$(ifconfig "${eth_name}" | grep inet | grep -v 127.0.0.1 | grep -v 
inet6 | awk '{print $2}' | tr -d "addr:" | head -n 1)
+    export IP_HOST=${IP_HOST}
+    export CONTAINER_UID=${CONTAINER_UID}
+    envsubst <"${ROOT}"/docker-compose/kerberos/kerberos.yaml.tpl 
>"${ROOT}"/docker-compose/kerberos/kerberos.yaml
+    for i in {1..2}; do
+        . "${ROOT}"/docker-compose/kerberos/kerberos${i}_settings.env
+        envsubst <"${ROOT}"/docker-compose/kerberos/hadoop-hive.env.tpl 
>"${ROOT}"/docker-compose/kerberos/hadoop-hive-${i}.env
+        envsubst <"${ROOT}"/docker-compose/kerberos/conf/my.cnf.tpl > 
"${ROOT}"/docker-compose/kerberos/conf/kerberos${i}/my.cnf
+        envsubst 
<"${ROOT}"/docker-compose/kerberos/conf/kerberos${i}/kdc.conf.tpl > 
"${ROOT}"/docker-compose/kerberos/conf/kerberos${i}/kdc.conf
+        envsubst 
<"${ROOT}"/docker-compose/kerberos/conf/kerberos${i}/krb5.conf.tpl > 
"${ROOT}"/docker-compose/kerberos/conf/kerberos${i}/krb5.conf
+    done
+    sudo chmod a+w /etc/hosts
+    sudo sed -i "1i${IP_HOST} hadoop-master" /etc/hosts
+    sudo sed -i "1i${IP_HOST} hadoop-master-2" /etc/hosts
+    sudo cp "${ROOT}"/docker-compose/kerberos/kerberos.yaml.tpl 
"${ROOT}"/docker-compose/kerberos/kerberos.yaml
     sudo docker compose -f "${ROOT}"/docker-compose/kerberos/kerberos.yaml down
     sudo rm -rf "${ROOT}"/docker-compose/kerberos/data
     if [[ "${STOP}" -ne 1 ]]; then
@@ -585,15 +599,11 @@ start_kerberos() {
         rm -rf "${ROOT}"/docker-compose/kerberos/two-kerberos-hives/*.keytab
         rm -rf "${ROOT}"/docker-compose/kerberos/two-kerberos-hives/*.jks
         rm -rf "${ROOT}"/docker-compose/kerberos/two-kerberos-hives/*.conf
-        sudo docker compose -f "${ROOT}"/docker-compose/kerberos/kerberos.yaml 
up -d
+        sudo docker compose -f "${ROOT}"/docker-compose/kerberos/kerberos.yaml 
up -d --wait
         sudo rm -f /keytabs
         sudo ln -s "${ROOT}"/docker-compose/kerberos/two-kerberos-hives 
/keytabs
         sudo cp "${ROOT}"/docker-compose/kerberos/common/conf/doris-krb5.conf 
/keytabs/krb5.conf
         sudo cp "${ROOT}"/docker-compose/kerberos/common/conf/doris-krb5.conf 
/etc/krb5.conf
-
-        sudo chmod a+w /etc/hosts
-        echo '172.31.71.25 hadoop-master' >> /etc/hosts
-        echo '172.31.71.26 hadoop-master-2' >> /etc/hosts
         sleep 2
     fi
 }
diff --git 
a/regression-test/suites/external_table_p0/kerberos/test_single_hive_kerberos.groovy
 
b/regression-test/suites/external_table_p0/kerberos/test_single_hive_kerberos.groovy
index dfe5532fefd..a5661517e87 100644
--- 
a/regression-test/suites/external_table_p0/kerberos/test_single_hive_kerberos.groovy
+++ 
b/regression-test/suites/external_table_p0/kerberos/test_single_hive_kerberos.groovy
@@ -17,6 +17,7 @@
 
 suite("test_single_hive_kerberos", 
"p0,external,kerberos,external_docker,external_docker_kerberos") {
     String enabled = context.config.otherConfigs.get("enableKerberosTest")
+    String externalEnvIp = context.config.otherConfigs.get("externalEnvIp")
     if (enabled != null && enabled.equalsIgnoreCase("true")) {
         String hms_catalog_name = "test_single_hive_kerberos"
         sql """drop catalog if exists hms_kerberos;"""
@@ -24,8 +25,8 @@ suite("test_single_hive_kerberos", 
"p0,external,kerberos,external_docker,externa
             CREATE CATALOG IF NOT EXISTS hms_kerberos
             PROPERTIES (
                 "type" = "hms",
-                "hive.metastore.uris" = "thrift://172.31.71.25:9083",
-                "fs.defaultFS" = "hdfs://172.31.71.25:8020",
+                "hive.metastore.uris" = "thrift://${externalEnvIp}:9583",
+                "fs.defaultFS" = "hdfs://${externalEnvIp}:8520",
                 "hadoop.security.authentication" = "kerberos",
                 
"hadoop.kerberos.principal"="presto-server/presto-master.docker.clus...@labs.teradata.com",
                 "hadoop.kerberos.keytab" = "/keytabs/presto-server.keytab",
@@ -34,7 +35,7 @@ suite("test_single_hive_kerberos", 
"p0,external,kerberos,external_docker,externa
                                    RULE:[2:\$1@\$0](.*@OTHERREALM.COM)s/@.*//
                                    DEFAULT",
                 "hive.metastore.sasl.enabled " = "true",
-                "hive.metastore.kerberos.principal" = 
"hive/_h...@labs.teradata.com"
+                "hive.metastore.kerberos.principal" = 
"hive/hadoop-mas...@labs.teradata.com"
             );
         """
         sql """ switch hms_kerberos """
@@ -48,8 +49,8 @@ suite("test_single_hive_kerberos", 
"p0,external,kerberos,external_docker,externa
                 CREATE CATALOG IF NOT EXISTS hms_kerberos_hadoop_err1
                 PROPERTIES (
                     "type" = "hms",
-                    "hive.metastore.uris" = "thrift://172.31.71.25:9083",
-                    "fs.defaultFS" = "hdfs://172.31.71.25:8020",
+                    "hive.metastore.uris" = "thrift://${externalEnvIp}:9583",
+                    "fs.defaultFS" = "hdfs://${externalEnvIp}:8520",
                     "hadoop.security.authentication" = "kerberos",
                     
"hadoop.kerberos.principal"="presto-server/presto-master.docker.clus...@labs.teradata.com",
                     "hadoop.kerberos.keytab" = "/keytabs/presto-server.keytab"
@@ -71,8 +72,8 @@ suite("test_single_hive_kerberos", 
"p0,external,kerberos,external_docker,externa
                 PROPERTIES (
                     "type" = "hms",
                     "hive.metastore.sasl.enabled " = "true",
-                    "hive.metastore.uris" = "thrift://172.31.71.25:9083",
-                    "fs.defaultFS" = "hdfs://172.31.71.25:8020"
+                    "hive.metastore.uris" = "thrift://${externalEnvIp}:9583",
+                    "fs.defaultFS" = "hdfs://${externalEnvIp}:8520"
                 );
             """
             sql """ switch hms_kerberos_hadoop_err2 """
@@ -87,8 +88,8 @@ suite("test_single_hive_kerberos", 
"p0,external,kerberos,external_docker,externa
         //                CREATE CATALOG IF NOT EXISTS hms_keberos_ccache
         //                PROPERTIES (
         //                    "type" = "hms",
-        //                    "hive.metastore.uris" = 
"thrift://172.31.71.25:9083",
-        //                    "fs.defaultFS" = "hdfs://172.31.71.25:8020",
+        //                    "hive.metastore.uris" = 
"thrift://${externalEnvIp}:9583",
+        //                    "fs.defaultFS" = "hdfs://${externalEnvIp}:8520",
         //                    "hadoop.security.authentication" = "kerberos",
         //                    
"hadoop.kerberos.principal"="presto-server/presto-master.docker.clus...@labs.teradata.com",
         //                    "hadoop.kerberos.keytab" = 
"/keytabs/presto-server.keytab",
diff --git 
a/regression-test/suites/external_table_p0/kerberos/test_two_hive_kerberos.groovy
 
b/regression-test/suites/external_table_p0/kerberos/test_two_hive_kerberos.groovy
index 2c94c08a6ed..725d570d0e3 100644
--- 
a/regression-test/suites/external_table_p0/kerberos/test_two_hive_kerberos.groovy
+++ 
b/regression-test/suites/external_table_p0/kerberos/test_two_hive_kerberos.groovy
@@ -21,6 +21,7 @@ import org.junit.Assert;
 
 suite("test_two_hive_kerberos", 
"p0,external,kerberos,external_docker,external_docker_kerberos") {
     String enabled = context.config.otherConfigs.get("enableKerberosTest")
+    String externalEnvIp = context.config.otherConfigs.get("externalEnvIp")
     if (enabled != null && enabled.equalsIgnoreCase("true")) {
         String hms_catalog_name = "test_two_hive_kerberos"
         sql """drop catalog if exists ${hms_catalog_name};"""
@@ -28,14 +29,14 @@ suite("test_two_hive_kerberos", 
"p0,external,kerberos,external_docker,external_d
             CREATE CATALOG IF NOT EXISTS ${hms_catalog_name}
             PROPERTIES ( 
                 "type" = "hms",
-                "hive.metastore.uris" = "thrift://172.31.71.25:9083",
-                "fs.defaultFS" = "hdfs://172.31.71.25:8020",
+                "hive.metastore.uris" = "thrift://${externalEnvIp}:9583",
+                "fs.defaultFS" = "hdfs://${externalEnvIp}:8520",
                 "hadoop.kerberos.min.seconds.before.relogin" = "5",
                 "hadoop.security.authentication" = "kerberos",
                 
"hadoop.kerberos.principal"="hive/presto-master.docker.clus...@labs.teradata.com",
                 "hadoop.kerberos.keytab" = 
"/keytabs/hive-presto-master.keytab",
                 "hive.metastore.sasl.enabled " = "true",
-                "hive.metastore.kerberos.principal" = 
"hive/_h...@labs.teradata.com"
+                "hive.metastore.kerberos.principal" = 
"hive/hadoop-mas...@labs.teradata.com"
             );
         """
 
@@ -44,14 +45,14 @@ suite("test_two_hive_kerberos", 
"p0,external,kerberos,external_docker,external_d
             CREATE CATALOG IF NOT EXISTS other_${hms_catalog_name}
             PROPERTIES (
                 "type" = "hms",
-                "hive.metastore.uris" = "thrift://172.31.71.26:9083",
-                "fs.defaultFS" = "hdfs://172.31.71.26:8020",
+                "hive.metastore.uris" = "thrift://${externalEnvIp}:9683",
+                "fs.defaultFS" = "hdfs://${externalEnvIp}:8620",
                 "hadoop.kerberos.min.seconds.before.relogin" = "5",
                 "hadoop.security.authentication" = "kerberos",
                 
"hadoop.kerberos.principal"="hive/presto-master.docker.clus...@otherrealm.com",
                 "hadoop.kerberos.keytab" = 
"/keytabs/other-hive-presto-master.keytab",
                 "hive.metastore.sasl.enabled " = "true",
-                "hive.metastore.kerberos.principal" = 
"hive/_h...@otherrealm.com",
+                "hive.metastore.kerberos.principal" = 
"hive/hadoop-maste...@otherrealm.com",
                 "hadoop.security.auth_to_local" 
="RULE:[2:\$1@\$0](.*@OTHERREALM.COM)s/@.*//
                                                   
RULE:[2:\$1@\$0](.*@OTHERLABS.TERADATA.COM)s/@.*//
                                                   DEFAULT"


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org


Reply via email to