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

frankchen pushed a commit to branch spdi-31
in repository https://gitbox.apache.org/repos/asf/druid.git

commit 0dbae3ca86960fdf19545c8efef88b1a11cee3a4
Author: Yuanli Han <[email protected]>
AuthorDate: Wed Aug 30 10:00:34 2023 +0800

    Update to use Shopee HDFS dependency
---
 distribution/docker/Dockerfile                    |    2 +
 examples/conf/druid/cluster/_common/core-site.xml |  209 ++
 examples/conf/druid/cluster/_common/hdfs-site.xml | 2309 +++++++++++++++++++++
 pom.xml                                           |    2 +-
 settings.xml                                      |  278 +++
 5 files changed, 2799 insertions(+), 1 deletion(-)

diff --git a/distribution/docker/Dockerfile b/distribution/docker/Dockerfile
index f9764c2df96..555d17cf076 100644
--- a/distribution/docker/Dockerfile
+++ b/distribution/docker/Dockerfile
@@ -38,6 +38,8 @@ WORKDIR /src
 RUN --mount=type=cache,target=/root/.m2 if [ "$BUILD_FROM_SOURCE" = "true" ]; 
then \
       mvn -B -ff -q \
       install \
+      -T 1C \
+      -s settings.xml \
       -Pdist,bundle-contrib-exts \
       -Pskip-static-checks,skip-tests \
       -Dmaven.javadoc.skip=true -T1C \
diff --git a/examples/conf/druid/cluster/_common/core-site.xml 
b/examples/conf/druid/cluster/_common/core-site.xml
new file mode 100755
index 00000000000..76221c7d9a6
--- /dev/null
+++ b/examples/conf/druid/cluster/_common/core-site.xml
@@ -0,0 +1,209 @@
+  <configuration  xmlns:xi="http://www.w3.org/2001/XInclude";>
+    
+    <property>
+      <name>fs.defaultFS</name>
+      <value>hdfs://R2</value>
+    </property>
+    
+    <property>
+      <name>fs.defaultFS.hdfs_dev_client</name>
+      <value>viewfs://dev</value>
+    </property>
+    
+    <property>
+      <name>fs.defaultFS.hdfs_staging_client</name>
+      <value>viewfs://staging</value>
+    </property>
+    
+    <property>
+      <name>fs.defaultFS.hdfs_test_client</name>
+      <value>viewfs://test</value>
+    </property>
+    
+    <property>
+      <name>fs.defaultFS.hdfs_uat_client</name>
+      <value>viewfs://uat</value>
+    </property>
+    
+    <property>
+      <name>fs.trash.interval</name>
+      <value>1440</value>
+    </property>
+    
+    <property>
+      <name>ha.health-monitor.check-interval.ms</name>
+      <value>2000</value>
+    </property>
+    
+    <property>
+      <name>ha.health-monitor.rpc-timeout.ms</name>
+      <value>180000</value>
+    </property>
+    
+    <property>
+      <name>ha.zookeeper.quorum</name>
+      
<value>zkat001.zookeeper.data-infra.shopee.io:2104,zkat002.zookeeper.data-infra.shopee.io:2104,zkat003.zookeeper.data-infra.shopee.io:2104,zkat004.zookeeper.data-infra.shopee.io:2104,zkat005.zookeeper.data-infra.shopee.io:2104</value>
+    </property>
+    
+    <property>
+      <name>hadoop.http.staticuser.user</name>
+      <value>work</value>
+    </property>
+    
+    <property>
+      <name>hadoop.proxyuser.*</name>
+      <value>*</value>
+    </property>
+    
+    <property>
+      <name>hadoop.proxyuser.hive.groups</name>
+      <value>*</value>
+    </property>
+    
+    <property>
+      <name>hadoop.proxyuser.hive.hosts</name>
+      <value>*</value>
+    </property>
+    
+    <property>
+      <name>hadoop.proxyuser.work.groups</name>
+      <value>*</value>
+    </property>
+    
+    <property>
+      <name>hadoop.proxyuser.work.hosts</name>
+      <value>*</value>
+    </property>
+    
+    <property>
+      <name>hadoop.security.auth_to_local</name>
+      <value></value>
+    </property>
+    
+    <property>
+      <name>hadoop.security.authentication</name>
+      <value>simple</value>
+    </property>
+    
+    <property>
+      <name>hadoop.security.authorization</name>
+      <value>false</value>
+    </property>
+    
+    <property>
+      <name>hadoop.security.group.mapping</name>
+      <value>org.apache.hadoop.security.ShellBasedUnixGroupsMapping</value>
+    </property>
+    
+    <property>
+      <name>hadoop.security.group.mapping.ldap.bind.password</name>
+      <value>ShopeeDE0227_$$</value>
+    </property>
+    
+    <property>
+      <name>hadoop.security.group.mapping.ldap.bind.user</name>
+      <value>cn=Manager,ou=Control,dc=shopee,dc=com</value>
+    </property>
+    
+    <property>
+      <name>hadoop.security.group.mapping.ldap.groupbase</name>
+      <value>ou=AirflowAndSpark,ou=ShopeeApps,dc=shopee,dc=com</value>
+    </property>
+    
+    <property>
+      <name>hadoop.security.group.mapping.ldap.posix.attr.uid.name</name>
+      <value>uid</value>
+    </property>
+    
+    <property>
+      <name>hadoop.security.group.mapping.ldap.search.attr.group.name</name>
+      <value>cn</value>
+    </property>
+    
+    <property>
+      <name>hadoop.security.group.mapping.ldap.search.attr.member</name>
+      <value>memberUid</value>
+    </property>
+    
+    <property>
+      <name>hadoop.security.group.mapping.ldap.search.filter.group</name>
+      <value>(objectClass=posixGroup)</value>
+    </property>
+    
+    <property>
+      <name>hadoop.security.group.mapping.ldap.search.filter.user</name>
+      <value>(&amp;(objectClass=posixAccount)(uid={0}))</value>
+    </property>
+    
+    <property>
+      <name>hadoop.security.group.mapping.ldap.userbase</name>
+      <value>dc=shopee,dc=com</value>
+    </property>
+    
+    <property>
+      <name>hadoop.tmp.dir</name>
+      <value>/tmp/${user.name}</value>
+    </property>
+    
+    <property>
+      <name>hadoop.zk.address</name>
+      
<value>zkat001.zookeeper.data-infra.shopee.io:2104,zkat002.zookeeper.data-infra.shopee.io:2104,zkat003.zookeeper.data-infra.shopee.io:2104,zkat004.zookeeper.data-infra.shopee.io:2104,zkat005.zookeeper.data-infra.shopee.io:2104</value>
+    </property>
+    
+    <property>
+      <name>io.compression.codec.lzo.class</name>
+      <value>com.hadoop.compression.lzo.LzoCodec</value>
+    </property>
+    
+    <property>
+      <name>io.compression.codecs</name>
+      
<value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec,org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.SnappyCodec</value>
+    </property>
+    
+    <property>
+      <name>io.file.buffer.size</name>
+      <value>131072</value>
+    </property>
+    
+    <property>
+      <name>io.serializations</name>
+      <value>org.apache.hadoop.io.serializer.WritableSerialization</value>
+    </property>
+    
+    <property>
+      <name>ipc.8888.backoff.enable</name>
+      <value>true</value>
+    </property>
+    
+    <property>
+      <name>ipc.client.connect.max.retries</name>
+      <value>50</value>
+    </property>
+    
+    <property>
+      <name>ipc.client.connect.timeout</name>
+      <value>90000</value>
+    </property>
+    
+    <property>
+      <name>ipc.client.connection.maxidletime</name>
+      <value>30000</value>
+    </property>
+    
+    <property>
+      <name>ipc.client.idlethreshold</name>
+      <value>8000</value>
+    </property>
+    
+    <property>
+      <name>ipc.server.listen.queue.size</name>
+      <value>256</value>
+      <final>true</final>
+    </property>
+    
+    <property>
+      <name>net.topology.script.file.name</name>
+      <value>/etc/hadoop/topology_script.py</value>
+    </property>
+    
+  </configuration>
diff --git a/examples/conf/druid/cluster/_common/hdfs-site.xml 
b/examples/conf/druid/cluster/_common/hdfs-site.xml
new file mode 100755
index 00000000000..a98240ce30f
--- /dev/null
+++ b/examples/conf/druid/cluster/_common/hdfs-site.xml
@@ -0,0 +1,2309 @@
+<configuration  xmlns:xi="http://www.w3.org/2001/XInclude";>
+
+  <property>
+    <name>dfs.balancer.dispatcherThreads</name>
+    <value>5000</value>
+  </property>
+
+  <property>
+    <name>dfs.balancer.moverThreads</name>
+    <value>5000</value>
+  </property>
+
+  <property>
+    <name>dfs.block.access.token.enable</name>
+    <value>true</value>
+  </property>
+
+  <property>
+    <name>dfs.client.datanode-restart.timeout</name>
+    <value>30</value>
+  </property>
+
+  <property>
+    <name>dfs.blockreport.initialDelay</name>
+    <value>120</value>
+  </property>
+
+  <property>
+    <name>dfs.blocksize</name>
+    <value>268435456</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.R2</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.D2</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.ST4</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.ST5</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.ST6</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.cc1</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.tl11</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.tl12</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.tl13</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.tl14</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.tl15</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.tl0</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.tl1</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.tl2</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.tl3</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.tl4</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.tl5</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.tl6</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.tl7</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.tl8</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.tl9</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.proxy.provider.tl10</name>
+    
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.random.order.R2</name>
+    <value>true</value>
+  </property>
+
+  <property>
+    <name>dfs.client.failover.random.order.D2</name>
+    <value>true</value>
+  </property>
+
+  <property>
+    <name>dfs.client.read.shortcircuit</name>
+    <value>true</value>
+  </property>
+
+  <property>
+    <name>dfs.client.read.shortcircuit.streams.cache.size</name>
+    <value>40960</value>
+  </property>
+
+  <property>
+    <name>dfs.datanode.address</name>
+    <value>0.0.0.0:50010</value>
+  </property>
+
+  <property>
+    <name>dfs.datanode.balance.bandwidthPerSec</name>
+    <value>52428800</value>
+  </property>
+
+  <property>
+    <name>dfs.datanode.data.dir</name>
+    <value>[SSD]file:///mnt/ssd/0/hdfs/data</value>
+    <final>true</final>
+  </property>
+
+  <property>
+    <name>dfs.datanode.data.dir.perm</name>
+    <value>750</value>
+  </property>
+
+  <property>
+    <name>dfs.datanode.du.reserved</name>
+    <value>0</value>
+  </property>
+
+  <property>
+    <name>dfs.datanode.du.reserved.calculator</name>
+    
<value>org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.ReservedSpaceCalculator$ReservedSpaceCalculatorPercentage</value>
+  </property>
+
+  <property>
+    <name>dfs.datanode.du.reserved.pct</name>
+    <value>4</value>
+  </property>
+
+  <property>
+    <name>dfs.datanode.failed.volumes.tolerated</name>
+    <value>0</value>
+    <final>true</final>
+  </property>
+
+  <property>
+    <name>dfs.datanode.fsdataset.volume.choosing.policy</name>
+    
<value>org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy</value>
+  </property>
+
+  <property>
+    <name>dfs.datanode.handler.count</name>
+    <value>200</value>
+  </property>
+
+  <property>
+    <name>dfs.datanode.http.address</name>
+    <value>0.0.0.0:50075</value>
+  </property>
+
+  <property>
+    <name>dfs.datanode.https.address</name>
+    <value>0.0.0.0:50475</value>
+  </property>
+
+  <property>
+    <name>dfs.datanode.ipc.address</name>
+    <value>0.0.0.0:8010</value>
+  </property>
+
+  <property>
+    <name>dfs.datanode.max.transfer.threads</name>
+    <value>16384</value>
+  </property>
+
+  <property>
+    <name>dfs.domain.socket.path</name>
+    <value>/var/lib/hadoop-hdfs/dn_socket</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.admin-address</name>
+    <value>0.0.0.0:8111</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.admin-bind-host</name>
+    <value>0.0.0.0</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.admin.enable</name>
+    <value>true</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.admin.handler.count</name>
+    <value>1</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.cache.ttl</name>
+    <value>60000</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.connection.clean.ms</name>
+    <value>30000</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.connection.multiple</name>
+    <value>true</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.connection.pool-size</name>
+    <value>100</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.connection.pool.clean.ms</name>
+    <value>60000</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.default.nameserviceId</name>
+    <value>tl0</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.file.resolver.client.class</name>
+    
<value>org.apache.hadoop.hdfs.server.federation.resolver.MountTableResolver</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.handler.count</name>
+    <value>1000</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.handler.queue.size</name>
+    <value>100</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.heartbeat.enable</name>
+    <value>true</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.heartbeat.interval</name>
+    <value>5000</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.http-address</name>
+    <value>0.0.0.0:50071</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.http-bind-host</name>
+    <value>0.0.0.0</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.http.enable</name>
+    <value>true</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.https-address</name>
+    <value>0.0.0.0:50072</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.https-bind-host</name>
+    <value>0.0.0.0</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.monitor.localnamenode.enable</name>
+    <value>false</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.monitor.namenode</name>
+    
<value>tl0.nn1,tl0.nn2,tl1.nn3,tl1.nn4,tl2.nn5,tl2.nn6,tl3.nn7,tl3.nn8,tl4.nn9,tl4.nn10,tl5.nn11,tl5.nn12,tl6.nn13,tl6.nn14,tl6.ob1,tl7.nn15,tl7.nn16,tl8.nn1,tl8.nn2,tl9.nn1,tl9.nn2,tl10.nn1,tl10.nn2</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.mount-table.cache.enable</name>
+    <value>true</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.mount-table.max-cache-size</name>
+    <value>1000000</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.namenode.resolver.client.class</name>
+    
<value>org.apache.hadoop.hdfs.server.federation.resolver.MembershipNamenodeResolver</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.reader.count</name>
+    <value>100</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.reader.queue.size</name>
+    <value>100</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.rpc-address</name>
+    <value>0.0.0.0:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.rpc-bind-host</name>
+    <value>0.0.0.0</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.rpc.enable</name>
+    <value>true</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.store.connection.test</name>
+    <value>60000</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.store.driver.class</name>
+    
<value>org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreZooKeeperImpl</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.store.enable</name>
+    <value>true</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.store.membership.expiration</name>
+    <value>300000</value>
+  </property>
+
+  <property>
+    <name>dfs.federation.router.store.serializer</name>
+    
<value>org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreSerializerPBImpl</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.automatic-failover.enabled</name>
+    <value>true</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.fencing.methods</name>
+    <value>shell(/bin/true)</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.fencing.ssh.private-key-files</name>
+    <value>/home/work/.ssh/id_rsa</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.R2</name>
+    
<value>bb21,bb22,bb23,bb24,bb25,bb26,bb27,bb28,bb29,bb30,bb31,bb32,bb33,bb34,bb35,bb41,bb42,bb43,bb44,bb45,bb46,bb47,bb48,bb49,bb50,bb51,bb52,bb53,bb54,bb55,bb56,bb57,bb58,bb59,bb60</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.D2</name>
+    <value>dd1,dd2,dd3,dd4,dd5</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.ST4</name>
+    <value>nn2,nn1</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.ST5</name>
+    <value>nn1,nn2</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.ST6</name>
+    <value>nn1,nn2</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.cc1</name>
+    <value>nn1,nn2</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.tl11</name>
+    <value>nn1,nn2,ob1</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.tl12</name>
+    <value>nn1,nn2,ob1</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.tl13</name>
+    <value>nn1,nn2,ob1</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.tl14</name>
+    <value>nn1,nn2,ob1</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.tl15</name>
+    <value>nn1,nn2,ob1</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.tl0</name>
+    <value>nn2,nn1,ob1,ob2</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.tl1</name>
+    <value>nn3,nn4,ob1</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.tl2</name>
+    <value>nn5,nn6,ob1,ob2</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.tl3</name>
+    <value>nn7,nn8,ob1</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.tl4</name>
+    <value>nn9,nn10,ob1</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.tl5</name>
+    <value>nn11,nn12,ob1</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.tl6</name>
+    <value>nn13,nn14,ob1</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.tl7</name>
+    <value>nn15,nn16,ob1</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.tl8</name>
+    <value>nn1,nn2,ob1</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.tl9</name>
+    <value>nn1,nn2,ob1</value>
+  </property>
+
+  <property>
+    <name>dfs.ha.namenodes.tl10</name>
+    <value>nn1,nn2,ob1</value>
+  </property>
+
+  <property>
+    <name>dfs.heartbeat.interval</name>
+    <value>3</value>
+  </property>
+
+  <property>
+    <name>dfs.hosts.exclude</name>
+    <value>/etc/hadoop-client/dfs.exclude</value>
+  </property>
+
+  <property>
+    <name>dfs.http.policy</name>
+    <value>HTTP_ONLY</value>
+  </property>
+
+  <property>
+    <name>dfs.internal.nameservices</name>
+    <value>tl0</value>
+  </property>
+
+  <property>
+    <name>dfs.journalnode.edits.dir</name>
+    <value>/hadoop/hdfs/journal</value>
+  </property>
+
+  <property>
+    <name>dfs.journalnode.edits.dir.tl11</name>
+    <value>/hadoop/hdfs/journal</value>
+  </property>
+
+  <property>
+    <name>dfs.journalnode.edits.dir.tl12</name>
+    <value>/hadoop/hdfs/journal</value>
+  </property>
+
+  <property>
+    <name>dfs.journalnode.edits.dir.tl13</name>
+    <value>/hadoop/hdfs/journal</value>
+  </property>
+
+  <property>
+    <name>dfs.journalnode.edits.dir.tl14</name>
+    <value>/hadoop/hdfs/journal</value>
+  </property>
+
+  <property>
+    <name>dfs.journalnode.edits.dir.tl15</name>
+    <value>/hadoop/hdfs/journal</value>
+  </property>
+
+  <property>
+    <name>dfs.journalnode.edits.dir.tl0</name>
+    <value>/hadoop/hdfs/journal</value>
+  </property>
+
+  <property>
+    <name>dfs.journalnode.edits.dir.tl1</name>
+    <value>/hadoop/hdfs/journal</value>
+  </property>
+
+  <property>
+    <name>dfs.journalnode.edits.dir.tl2</name>
+    <value>/hadoop/hdfs/journal</value>
+  </property>
+
+  <property>
+    <name>dfs.journalnode.edits.dir.tl3</name>
+    <value>/hadoop/hdfs/journal</value>
+  </property>
+
+  <property>
+    <name>dfs.journalnode.edits.dir.tl4</name>
+    <value>/hadoop/hdfs/journal</value>
+  </property>
+
+  <property>
+    <name>dfs.journalnode.edits.dir.tl5</name>
+    <value>/hadoop/hdfs/journal</value>
+  </property>
+
+  <property>
+    <name>dfs.journalnode.edits.dir.tl6</name>
+    <value>/hadoop/hdfs/journal</value>
+  </property>
+
+  <property>
+    <name>dfs.journalnode.edits.dir.tl7</name>
+    <value>/hadoop/hdfs/journal</value>
+  </property>
+
+  <property>
+    <name>dfs.journalnode.edits.dir.tl8</name>
+    <value>/hadoop/hdfs/journal</value>
+  </property>
+
+  <property>
+    <name>dfs.journalnode.edits.dir.tl9</name>
+    <value>/hadoop/hdfs/journal</value>
+  </property>
+
+  <property>
+    <name>dfs.journalnode.edits.dir.tl10</name>
+    <value>/hadoop/hdfs/journal</value>
+  </property>
+
+  <property>
+    <name>dfs.journalnode.http-address</name>
+    <value>0.0.0.0:8480</value>
+  </property>
+
+  <property>
+    <name>dfs.journalnode.https-address</name>
+    <value>0.0.0.0:8481</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.accesstime.precision</name>
+    <value>0</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.audit.log.async</name>
+    <value>true</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.avoid.read.stale.datanode</name>
+    <value>true</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.avoid.write.stale.datanode</name>
+    <value>true</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.checkpoint.dir</name>
+    <value>/hadoop/hdfs/namesecondary</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.checkpoint.edits.dir</name>
+    <value>${dfs.namenode.checkpoint.dir}</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.checkpoint.period</name>
+    <value>21600</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.checkpoint.txns</name>
+    <value>1000000</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.handler.count</name>
+    <value>192</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.ST4.nn1</name>
+    <value>ip-10-128-151-233.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.ST4.nn2</name>
+    <value>ip-10-128-151-232.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.ST5.nn1</name>
+    <value>nn1-st5.data-infra.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.ST5.nn2</name>
+    <value>nn2-st5.data-infra.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.ST6.nn1</name>
+    <value>ip-10-169-13-170.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.ST6.nn2</name>
+    <value>ip-10-169-13-29.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.cc1.nn1</name>
+    <value>nn1-cc1.data-infra.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.cc1.nn2</name>
+    <value>nn2-cc1.data-infra.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl11.nn1</name>
+    <value>ip-10-169-44-93.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl11.nn2</name>
+    <value>ip-10-169-45-193.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl11.ob1</name>
+    <value>ip-10-130-12-98.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl12.nn1</name>
+    <value>ip-10-169-44-79.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl12.nn2</name>
+    <value>ip-10-169-48-91.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl12.ob1</name>
+    <value>ip-10-130-12-133.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl13.nn1</name>
+    <value>ip-10-169-44-207.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl13.nn2</name>
+    <value>ip-10-169-49-15.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl13.ob1</name>
+    <value>ip-10-130-12-168.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl14.nn1</name>
+    <value>ip-10-169-45-18.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl14.nn2</name>
+    <value>ip-10-169-48-228.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl14.ob1</name>
+    <value>ip-10-130-13-82.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl15.nn1</name>
+    <value>ip-10-169-45-20.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl15.nn2</name>
+    <value>ip-10-169-49-29.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl15.ob1</name>
+    <value>ip-10-130-161-174.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl0.nn1</name>
+    <value>ip-10-128-138-65.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl0.nn2</name>
+    <value>ip-10-128-138-66.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl0.ob1</name>
+    <value>ip-10-130-69-40.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl0.ob2</name>
+    <value>ob2-tl0.data-infra.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl1.nn3</name>
+    <value>ip-10-128-143-177.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl1.nn4</name>
+    <value>ip-10-128-143-178.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl2.nn5</name>
+    <value>ip-10-128-144-138.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl2.nn6</name>
+    <value>ip-10-128-144-139.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl2.ob1</name>
+    <value>ip-10-130-68-169.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl2.ob2</name>
+    <value>ob2-tl2.data-infra.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl2.ob2</name>
+    <value>ob2-tl2.data-infra.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl2.ob2</name>
+    <value>ob2-tl2.data-infra.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl2.ob2</name>
+    <value>ob2-tl2.data-infra.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl2.ob1</name>
+    <value>ip-10-130-68-169.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl3.nn7</name>
+    <value>ip-10-128-152-207.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl3.nn8</name>
+    <value>ip-10-128-152-208.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl3.ob1</name>
+    <value>ob1.tl3.data-infra.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl4.nn10</name>
+    <value>ip-10-128-152-203.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl4.nn9</name>
+    <value>ip-10-128-143-193.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl4.ob1</name>
+    <value>ip-10-130-73-25.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl5.nn11</name>
+    <value>ip-10-128-143-194.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl5.nn12</name>
+    <value>ip-10-128-152-204.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl5.ob1</name>
+    <value>ip-10-130-68-231.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl6.nn13</name>
+    <value>ip-10-128-143-195.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl6.nn14</name>
+    <value>ip-10-128-152-205.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl6.ob1</name>
+    <value>ip-10-130-176-44.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl7.nn15</name>
+    <value>ip-10-128-143-196.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl7.nn16</name>
+    <value>ip-10-128-152-206.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl7.ob1</name>
+    <value>ip-10-130-177-108.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl8.ob1</name>
+    <value>ip-10-130-177-172.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl9.ob1</name>
+    <value>ip-10-130-12-167.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl8.nn1</name>
+    <value>nn1-tl8.data-infra.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl8.nn1</name>
+    <value>nn1-tl8.data-infra.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl8.nn1</name>
+    <value>nn1-tl8.data-infra.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl8.nn1</name>
+    <value>nn1-tl8.data-infra.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl8.nn2</name>
+    <value>nn2-tl8.data-infra.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl8.nn2</name>
+    <value>nn2-tl8.data-infra.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl8.nn2</name>
+    <value>nn2-tl8.data-infra.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl8.nn2</name>
+    <value>nn2-tl8.data-infra.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl9.nn1</name>
+    <value>nn1-tl9.data-infra.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl9.nn1</name>
+    <value>nn1-tl9.data-infra.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl9.nn1</name>
+    <value>nn1-tl9.data-infra.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl9.nn1</name>
+    <value>nn1-tl9.data-infra.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl9.nn2</name>
+    <value>nn2-tl9.data-infra.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl9.nn2</name>
+    <value>nn2-tl9.data-infra.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl9.nn2</name>
+    <value>nn2-tl9.data-infra.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl9.nn2</name>
+    <value>nn2-tl9.data-infra.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl10.nn1</name>
+    <value>nn1-tl10.data-infra.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl10.nn1</name>
+    <value>nn1-tl10.data-infra.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl10.nn1</name>
+    <value>nn1-tl10.data-infra.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl10.nn1</name>
+    <value>nn1-tl10.data-infra.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl10.nn2</name>
+    <value>nn2-tl10.data-infra.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl10.nn2</name>
+    <value>nn2-tl10.data-infra.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl10.nn2</name>
+    <value>nn2-tl10.data-infra.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl10.nn2</name>
+    <value>nn2-tl10.data-infra.shopee.io:8040</value>
+  </property>
+
+
+
+  <property>
+    <name>dfs.namenode.https-address.ST4.nn1</name>
+    <value>ip-10-128-151-233.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.ST4.nn2</name>
+    <value>ip-10-128-151-232.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.ST5.nn1</name>
+    <value>nn1-st5.data-infra.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.ST5.nn2</name>
+    <value>nn2-st5.data-infra.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.ST6.nn1</name>
+    <value>ip-10-169-13-170.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.ST6.nn2</name>
+    <value>ip-10-169-13-29.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.cc1.nn1</name>
+    <value>nn1-cc1.data-infra.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.cc1.nn2</name>
+    <value>nn2-cc1.data-infra.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl11.nn1</name>
+    <value>ip-10-169-44-93.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl11.nn2</name>
+    <value>ip-10-169-45-193.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl11.ob1</name>
+    <value>ip-10-130-12-98.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl12.nn1</name>
+    <value>ip-10-169-44-79.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl12.nn2</name>
+    <value>ip-10-169-48-91.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl12.ob1</name>
+    <value>ip-10-130-12-133.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl13.nn1</name>
+    <value>ip-10-169-44-207.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl13.nn2</name>
+    <value>ip-10-169-49-15.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl13.ob1</name>
+    <value>ip-10-130-12-168.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl14.nn1</name>
+    <value>ip-10-169-45-18.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl14.nn2</name>
+    <value>ip-10-169-48-228.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl14.ob1</name>
+    <value>ip-10-130-13-82.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl15.nn1</name>
+    <value>ip-10-169-45-20.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl15.nn2</name>
+    <value>ip-10-169-49-29.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl15.ob1</name>
+    <value>ip-10-130-161-174.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl0.nn1</name>
+    <value>ip-10-128-138-65.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl0.nn2</name>
+    <value>ip-10-128-138-66.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl0.ob1</name>
+    <value>ip-10-130-69-40.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl0.ob2</name>
+    <value>ob2-tl0.data-infra.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl1.nn3</name>
+    <value>ip-10-128-143-177.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl1.nn4</name>
+    <value>ip-10-128-143-178.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl1.ob1</name>
+    <value>ip-10-130-68-180.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.http-address.tl1.ob1</name>
+    <value>ip-10-130-68-180.idata-server.shopee.io:50070</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl2.nn5</name>
+    <value>ip-10-128-144-138.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl2.nn6</name>
+    <value>ip-10-128-144-139.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl3.nn7</name>
+    <value>ip-10-128-152-207.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl3.nn8</name>
+    <value>ip-10-128-152-208.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl3.ob1</name>
+    <value>ob1.tl3.data-infra.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl4.nn10</name>
+    <value>ip-10-128-152-203.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl4.nn9</name>
+    <value>ip-10-128-143-193.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl4.ob1</name>
+    <value>ip-10-130-73-25.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl5.nn11</name>
+    <value>ip-10-128-143-194.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl5.nn12</name>
+    <value>ip-10-128-152-204.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl5.ob1</name>
+    <value>ip-10-130-68-231.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl6.nn13</name>
+    <value>ip-10-128-143-195.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl6.nn14</name>
+    <value>ip-10-128-152-205.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl6.ob1</name>
+    <value>ip-10-130-176-44.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl7.nn15</name>
+    <value>ip-10-128-143-196.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl7.nn16</name>
+    <value>ip-10-128-152-206.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl7.ob1</name>
+    <value>ip-10-130-177-108.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl8.ob1</name>
+    <value>ip-10-130-177-172.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.https-address.tl9.ob1</name>
+    <value>ip-10-130-12-167.idata-server.shopee.io:50470</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.lock.detailed-metrics.enabled</name>
+    <value>true</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.name.dir</name>
+    <value>/hadoop/hdfs/namenode</value>
+    <final>true</final>
+  </property>
+
+  <property>
+    <name>dfs.namenode.name.dir.restore</name>
+    <value>false</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb21</name>
+    <value>ip-10-169-19-208.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb22</name>
+    <value>ip-10-169-19-221.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb23</name>
+    <value>ip-10-169-24-223.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb24</name>
+    <value>ip-10-169-25-100.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb25</name>
+    <value>ip-10-169-25-144.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb26</name>
+    <value>ip-10-169-25-15.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb27</name>
+    <value>ip-10-169-25-19.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb28</name>
+    <value>ip-10-169-25-221.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb29</name>
+    <value>ip-10-169-25-24.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb30</name>
+    <value>ip-10-169-25-29.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb31</name>
+    <value>ip-10-169-25-79.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb32</name>
+    <value>ip-10-169-26-100.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb33</name>
+    <value>ip-10-169-26-143.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb34</name>
+    <value>ip-10-169-26-15.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb35</name>
+    <value>ip-10-169-3-212.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb41</name>
+    <value>ip-10-169-1-200.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb42</name>
+    <value>ip-10-169-8-2.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb43</name>
+    <value>ip-10-169-9-16.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb44</name>
+    <value>ip-10-169-9-83.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb45</name>
+    <value>ip-10-169-9-227.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb46</name>
+    <value>ip-10-169-2-65.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb47</name>
+    <value>ip-10-169-2-143.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb48</name>
+    <value>ip-10-169-2-193.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb49</name>
+    <value>ip-10-169-10-16.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb50</name>
+    <value>ip-10-169-10-143.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb51</name>
+    <value>ip-10-169-10-207.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb52</name>
+    <value>ip-10-169-13-15.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb53</name>
+    <value>ip-10-169-24-23.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb54</name>
+    <value>ip-10-169-35-79.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb55</name>
+    <value>ip-10-169-35-153.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb56</name>
+    <value>ip-10-169-35-221.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb57</name>
+    <value>ip-10-169-36-79.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb58</name>
+    <value>ip-10-169-36-207.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb59</name>
+    <value>ip-10-169-37-79.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.R2.bb60</name>
+    <value>ip-10-169-37-143.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.D2.dd1</name>
+    <value>ip-10-67-0-90.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.D2.dd2</name>
+    <value>ip-10-67-1-74.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.D2.dd3</name>
+    <value>ip-10-67-3-73.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.D2.dd4</name>
+    <value>ip-10-67-4-83.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.D2.dd5</name>
+    <value>ip-10-67-6-131.idata-server.shopee.io:8888</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.ST4.nn1</name>
+    <value>ip-10-128-151-233.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.ST4.nn2</name>
+    <value>ip-10-128-151-232.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.ST5.nn1</name>
+    <value>nn1-st5.data-infra.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.ST5.nn2</name>
+    <value>nn2-st5.data-infra.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.ST6.nn1</name>
+    <value>ip-10-169-13-170.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.ST6.nn2</name>
+    <value>ip-10-169-13-29.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.cc1.nn1</name>
+    <value>nn1-cc1.data-infra.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.cc1.nn2</name>
+    <value>nn2-cc1.data-infra.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl11.nn1</name>
+    <value>ip-10-169-44-93.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl11.nn2</name>
+    <value>ip-10-169-45-193.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl11.ob1</name>
+    <value>ip-10-130-12-98.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl12.nn1</name>
+    <value>ip-10-169-44-79.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl12.nn2</name>
+    <value>ip-10-169-48-91.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl12.ob1</name>
+    <value>ip-10-130-12-133.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl13.nn1</name>
+    <value>ip-10-169-44-207.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl13.nn2</name>
+    <value>ip-10-169-49-15.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl13.ob1</name>
+    <value>ip-10-130-12-168.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl14.nn1</name>
+    <value>ip-10-169-45-18.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl14.nn2</name>
+    <value>ip-10-169-48-228.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl14.ob1</name>
+    <value>ip-10-130-13-82.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl15.nn1</name>
+    <value>ip-10-169-45-20.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl15.nn2</name>
+    <value>ip-10-169-49-29.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl15.ob1</name>
+    <value>ip-10-130-161-174.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl0.nn1</name>
+    <value>ip-10-128-138-65.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl0.nn2</name>
+    <value>ip-10-128-138-66.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl0.ob1</name>
+    <value>ip-10-130-69-40.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl0.ob2</name>
+    <value>ob2-tl0.data-infra.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl1.nn3</name>
+    <value>ip-10-128-143-177.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl1.nn4</name>
+    <value>ip-10-128-143-178.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl1.ob1</name>
+    <value>ip-10-130-68-180.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl2.nn5</name>
+    <value>ip-10-128-144-138.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl2.nn6</name>
+    <value>ip-10-128-144-139.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl2.ob1</name>
+    <value>ip-10-130-68-169.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl3.nn7</name>
+    <value>ip-10-128-152-207.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl3.nn8</name>
+    <value>ip-10-128-152-208.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl3.ob1</name>
+    <value>ob1.tl3.data-infra.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl4.nn10</name>
+    <value>ip-10-128-152-203.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl4.nn9</name>
+    <value>ip-10-128-143-193.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl4.ob1</name>
+    <value>ip-10-130-73-25.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl5.nn11</name>
+    <value>ip-10-128-143-194.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl5.nn12</name>
+    <value>ip-10-128-152-204.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl5.ob1</name>
+    <value>ip-10-130-68-231.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl6.nn13</name>
+    <value>ip-10-128-143-195.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl6.nn14</name>
+    <value>ip-10-128-152-205.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl6.ob1</name>
+    <value>ip-10-130-176-44.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl7.nn15</name>
+    <value>ip-10-128-143-196.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl7.nn16</name>
+    <value>ip-10-128-152-206.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl7.ob1</name>
+    <value>ip-10-130-177-108.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl8.ob1</name>
+    <value>ip-10-130-177-172.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.rpc-address.tl9.ob1</name>
+    <value>ip-10-130-12-167.idata-server.shopee.io:8020</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.safemode.threshold-pct</name>
+    <value>0.99</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.service.handler.count</name>
+    <value>256</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.ST5.nn1</name>
+    <value>nn1-st5.data-infra.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.ST5.nn2</name>
+    <value>nn2-st5.data-infra.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.ST6.nn1</name>
+    <value>ip-10-169-13-170.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.ST6.nn2</name>
+    <value>ip-10-169-13-29.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.cc1.nn1</name>
+    <value>nn1-cc1.data-infra.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.cc1.nn2</name>
+    <value>nn2-cc1.data-infra.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl11.nn1</name>
+    <value>ip-10-169-44-93.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl11.nn2</name>
+    <value>ip-10-169-45-193.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl11.ob1</name>
+    <value>ip-10-130-12-98.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl12.nn1</name>
+    <value>ip-10-169-44-79.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl12.nn2</name>
+    <value>ip-10-169-48-91.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl12.ob1</name>
+    <value>ip-10-130-12-133.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl13.nn1</name>
+    <value>ip-10-169-44-207.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl13.nn2</name>
+    <value>ip-10-169-49-15.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl13.ob1</name>
+    <value>ip-10-130-12-168.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl14.nn1</name>
+    <value>ip-10-169-45-18.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl14.nn2</name>
+    <value>ip-10-169-48-228.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl14.ob1</name>
+    <value>ip-10-130-13-82.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl15.nn1</name>
+    <value>ip-10-169-45-20.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl15.nn2</name>
+    <value>ip-10-169-49-29.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl15.ob1</name>
+    <value>ip-10-130-161-174.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl0.nn1</name>
+    <value>ip-10-128-138-65.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl0.nn2</name>
+    <value>ip-10-128-138-66.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl0.ob2</name>
+    <value>ob2-tl0.data-infra.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl1.nn3</name>
+    <value>ip-10-128-143-177.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl1.nn4</name>
+    <value>ip-10-128-143-178.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl2.nn5</name>
+    <value>ip-10-128-144-138.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl2.nn6</name>
+    <value>ip-10-128-144-139.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl3.nn7</name>
+    <value>ip-10-128-152-207.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl3.nn8</name>
+    <value>ip-10-128-152-208.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl3.ob1</name>
+    <value>ob1.tl3.data-infra.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl4.nn10</name>
+    <value>ip-10-128-152-203.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl4.nn9</name>
+    <value>ip-10-128-143-193.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl4.ob1</name>
+    <value>ip-10-130-73-25.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl5.nn11</name>
+    <value>ip-10-128-143-194.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl5.nn12</name>
+    <value>ip-10-128-152-204.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl5.ob1</name>
+    <value>ip-10-130-68-231.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl6.nn13</name>
+    <value>ip-10-128-143-195.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl6.nn14</name>
+    <value>ip-10-128-152-205.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl6.ob1</name>
+    <value>ip-10-130-176-44.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl7.nn15</name>
+    <value>ip-10-128-143-196.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl7.nn16</name>
+    <value>ip-10-128-152-206.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl7.ob1</name>
+    <value>ip-10-130-177-108.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl8.ob1</name>
+    <value>ip-10-130-177-172.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.servicerpc-address.tl9.ob1</name>
+    <value>ip-10-130-12-167.idata-server.shopee.io:8040</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.shared.edits.dir.tl11</name>
+    
<value>qjournal://ip-10-128-143-199.idata-server.shopee.io:8485;ip-10-128-144-147.idata-server.shopee.io:8485;ip-10-128-144-148.idata-server.shopee.io:8485;ip-10-128-144-179.idata-server.shopee.io:8485;ip-10-128-144-180.idata-server.shopee.io:8485;ip-10-128-143-179.idata-server.shopee.io:8485;ip-10-128-143-180.idata-server.shopee.io:8485/tl11</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.shared.edits.dir.tl12</name>
+    
<value>qjournal://ip-10-128-143-199.idata-server.shopee.io:8485;ip-10-128-144-147.idata-server.shopee.io:8485;ip-10-128-144-148.idata-server.shopee.io:8485;ip-10-128-144-179.idata-server.shopee.io:8485;ip-10-128-144-180.idata-server.shopee.io:8485;ip-10-128-143-179.idata-server.shopee.io:8485;ip-10-128-143-180.idata-server.shopee.io:8485/tl12</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.shared.edits.dir.tl13</name>
+    
<value>qjournal://ip-10-128-143-199.idata-server.shopee.io:8485;ip-10-128-144-147.idata-server.shopee.io:8485;ip-10-128-144-148.idata-server.shopee.io:8485;ip-10-128-144-179.idata-server.shopee.io:8485;ip-10-128-144-180.idata-server.shopee.io:8485;ip-10-128-143-179.idata-server.shopee.io:8485;ip-10-128-143-180.idata-server.shopee.io:8485/tl13</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.shared.edits.dir.tl14</name>
+    
<value>qjournal://ip-10-128-143-199.idata-server.shopee.io:8485;ip-10-128-144-147.idata-server.shopee.io:8485;ip-10-128-144-148.idata-server.shopee.io:8485;ip-10-128-144-179.idata-server.shopee.io:8485;ip-10-128-144-180.idata-server.shopee.io:8485;ip-10-128-143-179.idata-server.shopee.io:8485;ip-10-128-143-180.idata-server.shopee.io:8485/tl14</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.shared.edits.dir.tl15</name>
+    
<value>qjournal://ip-10-128-143-199.idata-server.shopee.io:8485;ip-10-128-144-147.idata-server.shopee.io:8485;ip-10-128-144-148.idata-server.shopee.io:8485;ip-10-128-144-179.idata-server.shopee.io:8485;ip-10-128-144-180.idata-server.shopee.io:8485;ip-10-128-143-179.idata-server.shopee.io:8485;ip-10-128-143-180.idata-server.shopee.io:8485/tl15</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.shared.edits.dir.tl0</name>
+    
<value>qjournal://ip-10-128-143-199.idata-server.shopee.io:8485;ip-10-128-144-147.idata-server.shopee.io:8485;ip-10-128-144-148.idata-server.shopee.io:8485;ip-10-128-144-179.idata-server.shopee.io:8485;ip-10-128-144-180.idata-server.shopee.io:8485;ip-10-128-143-179.idata-server.shopee.io:8485;ip-10-128-143-180.idata-server.shopee.io:8485/tl0</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.shared.edits.dir.tl1</name>
+    
<value>qjournal://ip-10-128-143-199.idata-server.shopee.io:8485;ip-10-128-144-147.idata-server.shopee.io:8485;ip-10-128-144-148.idata-server.shopee.io:8485;ip-10-128-144-179.idata-server.shopee.io:8485;ip-10-128-144-180.idata-server.shopee.io:8485;ip-10-128-143-179.idata-server.shopee.io:8485;ip-10-128-143-180.idata-server.shopee.io:8485/tl1</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.shared.edits.dir.tl2</name>
+    
<value>qjournal://ip-10-128-143-199.idata-server.shopee.io:8485;ip-10-128-144-147.idata-server.shopee.io:8485;ip-10-128-144-148.idata-server.shopee.io:8485;ip-10-128-144-179.idata-server.shopee.io:8485;ip-10-128-144-180.idata-server.shopee.io:8485;ip-10-128-143-179.idata-server.shopee.io:8485;ip-10-128-143-180.idata-server.shopee.io:8485/tl2</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.shared.edits.dir.tl3</name>
+    
<value>qjournal://ip-10-128-143-199.idata-server.shopee.io:8485;ip-10-128-144-147.idata-server.shopee.io:8485;ip-10-128-144-148.idata-server.shopee.io:8485;ip-10-128-144-179.idata-server.shopee.io:8485;ip-10-128-144-180.idata-server.shopee.io:8485;ip-10-128-143-179.idata-server.shopee.io:8485;ip-10-128-143-180.idata-server.shopee.io:8485/tl3</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.shared.edits.dir.tl4</name>
+    
<value>qjournal://ip-10-128-143-199.idata-server.shopee.io:8485;ip-10-128-144-147.idata-server.shopee.io:8485;ip-10-128-144-148.idata-server.shopee.io:8485;ip-10-128-144-179.idata-server.shopee.io:8485;ip-10-128-144-180.idata-server.shopee.io:8485;ip-10-128-143-179.idata-server.shopee.io:8485;ip-10-128-143-180.idata-server.shopee.io:8485/tl4</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.shared.edits.dir.tl5</name>
+    
<value>qjournal://ip-10-128-143-199.idata-server.shopee.io:8485;ip-10-128-144-147.idata-server.shopee.io:8485;ip-10-128-144-148.idata-server.shopee.io:8485;ip-10-128-144-179.idata-server.shopee.io:8485;ip-10-128-144-180.idata-server.shopee.io:8485;ip-10-128-143-179.idata-server.shopee.io:8485;ip-10-128-143-180.idata-server.shopee.io:8485/tl5</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.shared.edits.dir.tl6</name>
+    
<value>qjournal://ip-10-128-143-199.idata-server.shopee.io:8485;ip-10-128-144-147.idata-server.shopee.io:8485;ip-10-128-144-148.idata-server.shopee.io:8485;ip-10-128-144-179.idata-server.shopee.io:8485;ip-10-128-144-180.idata-server.shopee.io:8485;ip-10-128-143-179.idata-server.shopee.io:8485;ip-10-128-143-180.idata-server.shopee.io:8485/tl6</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.shared.edits.dir.tl7</name>
+    
<value>qjournal://ip-10-128-143-199.idata-server.shopee.io:8485;ip-10-128-144-147.idata-server.shopee.io:8485;ip-10-128-144-148.idata-server.shopee.io:8485;ip-10-128-144-179.idata-server.shopee.io:8485;ip-10-128-144-180.idata-server.shopee.io:8485;ip-10-128-143-179.idata-server.shopee.io:8485;ip-10-128-143-180.idata-server.shopee.io:8485/tl7</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.shared.edits.dir.tl8</name>
+    
<value>qjournal://ip-10-128-143-199.idata-server.shopee.io:8485;ip-10-128-144-147.idata-server.shopee.io:8485;ip-10-128-144-148.idata-server.shopee.io:8485;ip-10-128-144-179.idata-server.shopee.io:8485;ip-10-128-144-180.idata-server.shopee.io:8485;ip-10-128-143-179.idata-server.shopee.io:8485;ip-10-128-143-180.idata-server.shopee.io:8485/tl8</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.shared.edits.dir.tl9</name>
+    
<value>qjournal://ip-10-128-143-199.idata-server.shopee.io:8485;ip-10-128-144-147.idata-server.shopee.io:8485;ip-10-128-144-148.idata-server.shopee.io:8485;ip-10-128-144-179.idata-server.shopee.io:8485;ip-10-128-144-180.idata-server.shopee.io:8485;ip-10-128-143-179.idata-server.shopee.io:8485;ip-10-128-143-180.idata-server.shopee.io:8485/tl9</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.shared.edits.dir.tl10</name>
+    
<value>qjournal://ip-10-128-143-199.idata-server.shopee.io:8485;ip-10-128-144-147.idata-server.shopee.io:8485;ip-10-128-144-148.idata-server.shopee.io:8485;ip-10-128-144-179.idata-server.shopee.io:8485;ip-10-128-144-180.idata-server.shopee.io:8485;ip-10-128-143-179.idata-server.shopee.io:8485;ip-10-128-143-180.idata-server.shopee.io:8485/tl10</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.stale.datanode.interval</name>
+    <value>30000</value>
+  </property>
+
+  <property>
+    <name>dfs.namenode.write.stale.datanode.ratio</name>
+    <value>1.0f</value>
+  </property>
+
+  <property>
+    <name>dfs.nameservices</name>
+    <value>R2</value>
+  </property>
+
+  <property>
+    <name>dfs.nameservices.dfsrouter</name>
+    <value>tl0</value>
+  </property>
+
+  <property>
+    <name>dfs.nameservices.hdfs_client</name>
+    <value>R2</value>
+  </property>
+
+  <property>
+    <name>dfs.nameservices.hdfs_dev_client</name>
+    <value>tl3</value>
+  </property>
+
+  <property>
+    <name>dfs.nameservices.hdfs_staging_client</name>
+    <value>tl3</value>
+  </property>
+
+  <property>
+    <name>dfs.nameservices.hdfs_test_client</name>
+    <value>tl3</value>
+  </property>
+
+  <property>
+    <name>dfs.nameservices.hdfs_uat_client</name>
+    <value>tl3</value>
+  </property>
+
+  <property>
+    <name>dfs.nameservices.journalnode</name>
+    <value>tl0,tl1,tl2,tl3,tl4,tl5,tl6,tl7,tl8,tl9,tl10,ST4</value>
+  </property>
+
+  <property>
+    <name>dfs.nameservices.namenode</name>
+    <value>tl0</value>
+  </property>
+
+  <property>
+    <name>dfs.nameservices.zkfc_slave</name>
+    <value>tl0,tl1,tl2,tl3,tl4,tl5,tl6,tl7,tl8,tl9,tl10,ST4</value>
+  </property>
+
+  <property>
+    <name>dfs.permissions.enabled</name>
+    <value>true</value>
+  </property>
+
+  <property>
+    <name>dfs.permissions.superusergroup</name>
+    <value>supergroup</value>
+  </property>
+
+  <property>
+    <name>dfs.qjournal.select-input-streams.timeout.ms</name>
+    <value>90000</value>
+  </property>
+
+  <property>
+    <name>dfs.qjournal.start-segment.timeout.ms</name>
+    <value>90000</value>
+  </property>
+
+  <property>
+    <name>dfs.qjournal.write-txns.timeout.ms</name>
+    <value>90000</value>
+  </property>
+
+  <property>
+    <name>dfs.replication</name>
+    <value>3</value>
+  </property>
+
+  <property>
+    <name>dfs.replication.max</name>
+    <value>512</value>
+  </property>
+
+  <property>
+    <name>dfs.support.append</name>
+    <value>true</value>
+    <final>true</final>
+  </property>
+
+  <property>
+    <name>dfs.webhdfs.enabled</name>
+    <value>true</value>
+    <final>true</final>
+  </property>
+
+  <property>
+    <name>nfs.dump.dir</name>
+    <value>/tmp/.hdfs-nfs</value>
+  </property>
+
+  <property>
+    <name>nfs.metrics.percentiles.intervals</name>
+    <value>100</value>
+  </property>
+
+  <property>
+    <name>dfs.datanode.peer.stats.enabled</name>
+    <value>true</value>
+  </property>
+
+  <property>
+    <name>dfs.datanode.fileio.profiling.sampling.percentage</name>
+    <value>25</value>
+  </property>
+
+  <!-- limit the speed to get blocks from NameNode -->
+  <property>
+    <name>dfs.namenode.get-blocks.max-qps</name>
+    <value>100</value>
+  </property>
+
+  <!-- limit the concurrency of dispatching in ZoneMover -->
+  <property>
+    <name>dfs.zonemover.dispatcherThreads</name>
+    <value>2000</value>
+  </property>
+
+  <!-- limit the concurrency of each DataNode, this is by ZoneMover and 
DataNode and they may need different values  -->
+  <property>
+    <name>dfs.datanode.balance.max.concurrent.moves</name>
+    <value>10</value>
+  </property>
+
+  <property>
+    <name>dfs.block.replicator.classname</name>
+    
<value>org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyWithDataCenter</value>
+  </property>
+
+  <property>
+    <name>dfs.net.topology.impl</name>
+    <value>org.apache.hadoop.hdfs.net.DFSNetworkTopologyWithDataCenter</value>
+  </property>
+
+  <!-- add for ZoneMover monitorByTrigger feature -->
+  <property>
+    <name>dfs.zonemover.kafka.bootstrap.servers</name>
+    
<value>di-kafka01-bg1-bootstrap01-telin-sg.data-infra.shopee.io:9093,di-kafka01-bg1-bootstrap02-telin-sg.data-infra.shopee.io:9093,di-kafka01-bg1-bootstrap03-telin-sg.data-infra.shopee.io:9093</value>
+  </property>
+
+  <property>
+    <name>dfs.zonemover.kafka.topic</name>
+    <value>hdfs_audit_log</value>
+  </property>
+
+  <property>
+    <name>dfs.zonemover.kafka.group.id</name>
+    <value>multi_dc_zone_service</value>
+  </property>
+
+  <property>
+    <name>dfs.zonemover.kafka.username</name>
+    <value>regdi_multi_dc</value>
+  </property>
+
+  <property>
+    <name>dfs.zonemover.kafka.password</name>
+    <value>GUV84Kni7CZ4</value>
+  </property>
+  <!-- end add for ZoneMover monitorByTrigger feature -->
+
+  <property>
+    <name>dfs.client.treat.slownode.as.badnode</name>
+    <value>true</value>
+  </property>
+</configuration>
diff --git a/pom.xml b/pom.xml
index b97d6f37784..f4a1bcea812 100644
--- a/pom.xml
+++ b/pom.xml
@@ -113,7 +113,7 @@
         <slf4j.version>1.7.36</slf4j.version>
         <jna.version>5.13.0</jna.version>
         <jna-platform.version>5.13.0</jna-platform.version>
-        <hadoop.compile.version>3.3.6</hadoop.compile.version>
+        <hadoop.compile.version>3.3.sdi-079</hadoop.compile.version>
         <mockito.version>5.5.0</mockito.version>
         <!-- mockito-inline artifact was removed in mockito 5.3 (mockito 5.x 
is required for Java >17),
              however it is required in some cases when running against mockito 
4.x (mockito 4.x is required for Java <11. We use the following property to 
pick the proper artifact based on Java version (see pre-java-11 profile) -->
diff --git a/settings.xml b/settings.xml
new file mode 100644
index 00000000000..7a717d99073
--- /dev/null
+++ b/settings.xml
@@ -0,0 +1,278 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<!--
+ | This is the configuration file for Maven. It can be specified at two levels:
+ |
+ |  1. User Level. This settings.xml file provides configuration for a single 
user,
+ |                 and is normally provided in ${user.home}/.m2/settings.xml.
+ |
+ |                 NOTE: This location can be overridden with the CLI option:
+ |
+ |                 -s /path/to/user/settings.xml
+ |
+ |  2. Global Level. This settings.xml file provides configuration for all 
Maven
+ |                 users on a machine (assuming they're all using the same 
Maven
+ |                 installation). It's normally provided in
+ |                 ${maven.conf}/settings.xml.
+ |
+ |                 NOTE: This location can be overridden with the CLI option:
+ |
+ |                 -gs /path/to/global/settings.xml
+ |
+ | The sections in this sample file are intended to give you a running start at
+ | getting the most out of your Maven installation. Where appropriate, the 
default
+ | values (values used when the setting is not specified) are provided.
+ |
+ |-->
+<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0";
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
http://maven.apache.org/xsd/settings-1.0.0.xsd";>
+  <!-- localRepository
+   | The path to the local repository maven will use to store artifacts.
+   |
+   | Default: ${user.home}/.m2/repository
+  <localRepository>/path/to/local/repo</localRepository>
+  -->
+
+
+  <!-- interactiveMode
+   | This will determine whether maven prompts you when it needs input. If set 
to false,
+   | maven will use a sensible default value, perhaps based on some other 
setting, for
+   | the parameter in question.
+   |
+   | Default: true
+  <interactiveMode>true</interactiveMode>
+  -->
+
+  <!-- offline
+   | Determines whether maven should attempt to connect to the network when 
executing a build.
+   | This will have an effect on artifact downloads, artifact deployment, and 
others.
+   |
+   | Default: false
+  <offline>false</offline>
+  -->
+
+  <!-- pluginGroups
+   | This is a list of additional group identifiers that will be searched when 
resolving plugins by their prefix, i.e.
+   | when invoking a command line like "mvn prefix:goal". Maven will 
automatically add the group identifiers
+   | "org.apache.maven.plugins" and "org.codehaus.mojo" if these are not 
already contained in the list.
+   |-->
+  <pluginGroups>
+    <!-- pluginGroup
+     | Specifies a further group identifier to use for plugin lookup.
+    <pluginGroup>com.your.plugins</pluginGroup>
+    -->
+  </pluginGroups>
+
+  <!-- proxies
+   | This is a list of proxies which can be used on this machine to connect to 
the network.
+   | Unless otherwise specified (by system property or command-line switch), 
the first proxy
+   | specification in this list marked as active will be used.
+   |-->
+  <proxies>
+    <!-- proxy
+     | Specification for one proxy, to be used in connecting to the network.
+     |
+    <proxy>
+      <id>optional</id>
+      <active>true</active>
+      <protocol>http</protocol>
+      <username>proxyuser</username>
+      <password>proxypass</password>
+      <host>proxy.host.net</host>
+      <port>80</port>
+      <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
+    </proxy>
+    -->
+  </proxies>
+
+  <!-- servers
+   | This is a list of authentication profiles, keyed by the server-id used 
within the system.
+   | Authentication profiles can be used whenever maven must make a connection 
to a remote server.
+   |-->
+  <servers>
+
+    <!-- server
+     | Specifies the authentication information to use when connecting to a 
particular server, identified by
+     | a unique name within the system (referred to by the 'id' attribute 
below).
+     |
+     | NOTE: You should either specify username/password OR 
privateKey/passphrase, since these pairings are
+     |       used together.
+     |
+    <server>
+      <id>deploymentRepo</id>
+      <username>repouser</username>
+      <password>repopwd</password>
+    </server>
+    -->
+
+    <!-- Another sample, using keys to authenticate.
+    <server>
+      <id>siteServer</id>
+      <privateKey>/path/to/private/key</privateKey>
+      <passphrase>optional; leave empty if not used.</passphrase>
+    </server>
+    -->
+    <server>
+      <id>shopee-central</id>
+      <username>data.infra</username>
+      <password>1q2w3e4r</password>
+    </server>
+    <server>
+      <id>presto-central</id>
+      <username>data.infra</username>
+      <password>1q2w3e4r</password>
+    </server>
+  </servers>
+
+  <!-- mirrors
+   | This is a list of mirrors to be used in downloading artifacts from remote 
repositories.
+   |
+   | It works like this: a POM may declare a repository to use in resolving 
certain artifacts.
+   | However, this repository may have problems with heavy traffic at times, 
so people have mirrored
+   | it to several places.
+   |
+   | That repository definition will have a unique id, so we can create a 
mirror reference for that
+   | repository, to be used as an alternate download site. The mirror site 
will be the preferred
+   | server for that repository.
+   |-->
+  <mirrors>
+    <mirror>
+      <id>shopee-central</id>
+      <name>shopee-central</name>
+            
<url>http://nexus-repo.datainfra.shopee.io:8081/repository/maven-public/</url> 
+<!--            <url>http://localhost:8881/repository/maven-public/</url>-->
+      <mirrorOf>*</mirrorOf>
+    </mirror>
+    <mirror>
+      <id>presto-central</id>
+      <name>presto-central</name>
+           <!-- 
<url>http://nexus-repo.datainfra.shopee.io:8081/repository/maven-public/</url> 
-->
+          <url>http://localhost:8881/repository/presto-group/</url>
+      <mirrorOf>*</mirrorOf>
+    </mirror>
+    <!-- mirror
+     | Specifies a repository mirror site to use instead of a given 
repository. The repository that
+     | this mirror serves has an ID that matches the mirrorOf element of this 
mirror. IDs are used
+     | for inheritance and direct lookup purposes, and must be unique across 
the set of mirrors.
+     |
+    <mirror>
+      <id>mirrorId</id>
+      <mirrorOf>repositoryId</mirrorOf>
+      <name>Human Readable Name for this Mirror.</name>
+      <url>http://my.repository.com/repo/path</url>
+    </mirror>
+     -->
+  </mirrors>
+
+  <!-- profiles
+   | This is a list of profiles which can be activated in a variety of ways, 
and which can modify
+   | the build process. Profiles provided in the settings.xml are intended to 
provide local machine-
+   | specific paths and repository locations which allow the build to work in 
the local environment.
+   |
+   | For example, if you have an integration testing plugin - like cactus - 
that needs to know where
+   | your Tomcat instance is installed, you can provide a variable here such 
that the variable is
+   | dereferenced during the build process to configure the cactus plugin.
+   |
+   | As noted above, profiles can be activated in a variety of ways. One way - 
the activeProfiles
+   | section of this document (settings.xml) - will be discussed later. 
Another way essentially
+   | relies on the detection of a system property, either matching a 
particular value for the property,
+   | or merely testing its existence. Profiles can also be activated by JDK 
version prefix, where a
+   | value of '1.4' might activate a profile when the build is executed on a 
JDK version of '1.4.2_07'.
+   | Finally, the list of active profiles can be specified directly from the 
command line.
+   |
+   | NOTE: For profiles defined in the settings.xml, you are restricted to 
specifying only artifact
+   |       repositories, plugin repositories, and free-form properties to be 
used as configuration
+   |       variables for plugins in the POM.
+   |
+   |-->
+  <profiles>
+    <!-- profile
+     | Specifies a set of introductions to the build process, to be activated 
using one or more of the
+     | mechanisms described above. For inheritance purposes, and to activate 
profiles via <activatedProfiles/>
+     | or the command line, profiles have to have an ID that is unique.
+     |
+     | An encouraged best practice for profile identification is to use a 
consistent naming convention
+     | for profiles, such as 'env-dev', 'env-test', 'env-production', 
'user-jdcasey', 'user-brett', etc.
+     | This will make it more intuitive to understand what the set of 
introduced profiles is attempting
+     | to accomplish, particularly when you only have a list of profile id's 
for debug.
+     |
+     | This profile example uses the JDK version to trigger activation, and 
provides a JDK-specific repo.
+    <profile>
+      <id>jdk-1.4</id>
+      <activation>
+        <jdk>1.4</jdk>
+      </activation>
+      <repositories>
+        <repository>
+          <id>jdk14</id>
+          <name>Repository for JDK 1.4 builds</name>
+          <url>http://www.myhost.com/maven/jdk14</url>
+          <layout>default</layout>
+          <snapshotPolicy>always</snapshotPolicy>
+        </repository>
+      </repositories>
+    </profile>
+    -->
+
+    <!--
+     | Here is another profile, activated by the system property 'target-env' 
with a value of 'dev',
+     | which provides a specific path to the Tomcat instance. To use this, 
your plugin configuration
+     | might hypothetically look like:
+     |
+     | ...
+     | <plugin>
+     |   <groupId>org.myco.myplugins</groupId>
+     |   <artifactId>myplugin</artifactId>
+     |
+     |   <configuration>
+     |     <tomcatLocation>${tomcatPath}</tomcatLocation>
+     |   </configuration>
+     | </plugin>
+     | ...
+     |
+     | NOTE: If you just wanted to inject this configuration whenever someone 
set 'target-env' to
+     |       anything, you could just leave off the <value/> inside the 
activation-property.
+     |
+    <profile>
+      <id>env-dev</id>
+      <activation>
+        <property>
+          <name>target-env</name>
+          <value>dev</value>
+        </property>
+      </activation>
+      <properties>
+        <tomcatPath>/path/to/tomcat/instance</tomcatPath>
+      </properties>
+    </profile>
+    -->
+  </profiles>
+
+
+  <!-- activeProfiles
+   | List of profiles that are active for all builds.
+   |
+  <activeProfiles>
+    <activeProfile>alwaysActiveProfile</activeProfile>
+    <activeProfile>anotherAlwaysActiveProfile</activeProfile>
+  </activeProfiles>
+  -->
+</settings>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to