This is an automated email from the ASF dual-hosted git repository. tuhaihe pushed a commit to branch REL_2_STABLE in repository https://gitbox.apache.org/repos/asf/cloudberry-pxf.git
commit db92e0516d4357d927329e28f10d5c2cea7cf53a Author: Nikolay Antonov <[email protected]> AuthorDate: Wed Apr 15 08:37:23 2026 +0500 Automation: run HBASE in standalone mode (#95) Start HBase only for test groups that require it (hbase, proxy) instead of launching it as part of the default Hadoop stack. This frees RAM for all other test groups. Additionally, run HBase in standalone mode: * No separate RegionServer process * No separate ZooKeeper process * No dependency on HDFS --- .../pxf/automation/components/hbase/HBase.java | 20 ++++- .../pxf/automation/features/hbase/HBaseTest.java | 48 +++++------ .../pxf/automation/smoke/HBaseSmokeTest.java | 99 ---------------------- automation/src/test/resources/sut/default.xml | 1 + ci/docker/pxf-cbdb-dev/common/script/entrypoint.sh | 18 +--- ci/docker/pxf-cbdb-dev/common/script/pxf-env.sh | 2 +- ci/docker/pxf-cbdb-dev/common/script/run_tests.sh | 21 +++++ ci/docker/pxf-cbdb-dev/common/script/utils.sh | 11 +-- ci/singlecluster/Dockerfile | 10 --- ci/singlecluster/README.HDP3.md | 10 +-- ci/singlecluster/bin/gphd-env.sh | 17 ---- ci/singlecluster/bin/hbase-regionserver.sh | 79 ----------------- ci/singlecluster/bin/init-gphd.sh | 3 +- ci/singlecluster/bin/start-gphd.sh | 1 - ci/singlecluster/bin/start-hbase.sh | 32 +------ ci/singlecluster/bin/start-zookeeper.sh | 24 ------ ci/singlecluster/bin/stop-gphd.sh | 3 - ci/singlecluster/bin/stop-hbase.sh | 31 +------ ci/singlecluster/bin/stop-zookeeper.sh | 10 --- ci/singlecluster/conf/gphd-conf.sh | 3 +- ci/singlecluster/templates/hbase/conf/hbase-env.sh | 2 +- .../templates/hbase/conf/hbase-site.xml | 31 ++++--- ci/singlecluster/templates/zookeeper/conf/zoo.cfg | 26 ------ 23 files changed, 97 insertions(+), 405 deletions(-) diff --git a/automation/src/main/java/org/apache/cloudberry/pxf/automation/components/hbase/HBase.java b/automation/src/main/java/org/apache/cloudberry/pxf/automation/components/hbase/HBase.java index c881cc07..26ac3471 100755 --- a/automation/src/main/java/org/apache/cloudberry/pxf/automation/components/hbase/HBase.java +++ b/automation/src/main/java/org/apache/cloudberry/pxf/automation/components/hbase/HBase.java @@ -16,6 +16,7 @@ import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.ZooKeeperConnectionException; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.ClusterConnection; import org.apache.hadoop.hbase.client.Connection; @@ -74,10 +75,10 @@ public class HBase extends BaseSystemObject implements IDbFunctionality { if (StringUtils.isNotEmpty(hbaseRoot)) { config.addResource(new Path(getHbaseRoot() + "/conf/hbase-site.xml")); } else { - config.set("hbase.rootdir", "hdfs://" + host + ":8020/hbase"); + throw new RuntimeException("No path to hbase-site specified. Please configure hbaseRoot property."); } - HBaseAdmin.checkHBaseAvailable(config); + waitHBaseAvailable(config); connection = ConnectionFactory.createConnection(config); admin = connection.getAdmin(); if (admin.getClusterStatus().getServersSize() == 0) { @@ -90,6 +91,21 @@ public class HBase extends BaseSystemObject implements IDbFunctionality { ReportUtils.stopLevel(report); } + private void waitHBaseAvailable(Configuration config) throws Exception { + int attemptsLeft = 50; + while (attemptsLeft > 0) { + try { + HBaseAdmin.checkHBaseAvailable(config); + return; + } catch (IOException e) { + Thread.sleep(500); + attemptsLeft--; + ReportUtils.report(report, getClass(), "HBase availability probe failed: " + e.getMessage(), Reporter.WARNING); + } + } + throw new RuntimeException("HBase did not become available after 50 attempts (25s)"); + } + @Override public void close() { if (admin != null) { diff --git a/automation/src/test/java/org/apache/cloudberry/pxf/automation/features/hbase/HBaseTest.java b/automation/src/test/java/org/apache/cloudberry/pxf/automation/features/hbase/HBaseTest.java index b8058a77..c27055d8 100755 --- a/automation/src/test/java/org/apache/cloudberry/pxf/automation/features/hbase/HBaseTest.java +++ b/automation/src/test/java/org/apache/cloudberry/pxf/automation/features/hbase/HBaseTest.java @@ -152,7 +152,7 @@ public class HBaseTest extends BaseFeature { * * @throws Exception if test fails to run */ - @Test(groups = { "hbase", "features", "sanity", "gpdb" }) + @Test(groups = { "hbase" }) public void sanity() throws Exception { verifyFilterResults(hbaseTable, exTable, "", NO_FILTER, "sanity", false); @@ -164,7 +164,7 @@ public class HBaseTest extends BaseFeature { * @throws Exception if test fails to run */ // TODO: pxf_regress shows diff for this test. Should be fixed. - @Test(enabled = false, groups = { "hbase", "features", "gpdb" }) + @Test(enabled = false, groups = { "hbase" }) public void lowerFilter() throws Exception { String whereClause = " WHERE \"cf1:q3\" < '00000030'"; @@ -178,7 +178,7 @@ public class HBaseTest extends BaseFeature { * @throws Exception if test fails to run */ // TODO: pxf_regress shows diff for this test. Should be fixed. - @Test(enabled = false, groups = { "hbase", "features", "gpdb" }) + @Test(enabled = false, groups = { "hbase" }) public void rangeFilter() throws Exception { String whereClause = " WHERE \"cf1:q3\" > '00000090' AND \"cf1:q3\" <= '00000103'"; @@ -192,7 +192,7 @@ public class HBaseTest extends BaseFeature { * @throws Exception if test fails to run */ // TODO: pxf_regress shows diff for this test. Should be fixed. - @Test(enabled = false, groups = { "hbase", "features", "gpdb" }) + @Test(enabled = false, groups = { "hbase" }) public void specificRowFilter() throws Exception { String whereClause = " WHERE \"cf1:q3\" = 4"; @@ -206,7 +206,7 @@ public class HBaseTest extends BaseFeature { * @throws Exception if test fails to run */ // TODO: pxf_regress shows diff for this test. Should be fixed. - @Test(enabled = false, groups = { "hbase", "features", "gpdb" }) + @Test(enabled = false, groups = { "hbase" }) public void notEqualsFilter() throws Exception { String whereClause = " WHERE \"cf1:q3\" != 30"; @@ -220,7 +220,7 @@ public class HBaseTest extends BaseFeature { * @throws Exception if test fails to run */ // TODO: pxf_regress shows diff for this test. Should be fixed. - @Test(enabled = false, groups = { "hbase", "features", "gpdb" }) + @Test(enabled = false, groups = { "hbase" }) public void rowkeyEqualsFilter() throws Exception { String whereClause = " WHERE recordkey = '00000090'"; @@ -234,7 +234,7 @@ public class HBaseTest extends BaseFeature { * @throws Exception if test fails to run */ // TODO: pxf_regress shows diff for this test. Should be fixed. - @Test(enabled = false, groups = { "hbase", "features", "gpdb" }) + @Test(enabled = false, groups = { "hbase" }) public void rowkeyRangeFilter() throws Exception { String whereClause = " WHERE recordkey > '00000090' AND recordkey <= '00000103'"; @@ -248,7 +248,7 @@ public class HBaseTest extends BaseFeature { * @throws Exception if test fails to run */ // TODO: pxf_regress shows diff for this test. Should be fixed. - @Test(enabled = false, groups = { "hbase", "features", "gpdb" }) + @Test(enabled = false, groups = { "hbase" }) public void multipleQualifiersPushdownFilter() throws Exception { String whereClause = " WHERE recordkey != '00000002' AND \"cf1:q3\" > 6 AND \"cf1:q8\" < 10 AND \"cf1:q9\" > 0"; @@ -263,7 +263,7 @@ public class HBaseTest extends BaseFeature { * * @throws Exception if test fails to run */ - @Test(groups = { "hbase", "features", "gpdb" }) + @Test(groups = { "hbase" }) public void partialFilterPushdown() throws Exception { String whereClause = " WHERE \"cf1:q3\" > 6 AND \"cf1:q7\" = '42'"; @@ -279,7 +279,7 @@ public class HBaseTest extends BaseFeature { * @throws Exception if test fails to run */ // TODO: pxf_regress shows diff for this test. Should be fixed. - @Test(enabled = false, groups = { "hbase", "features", "gpdb" }) + @Test(enabled = false, groups = { "hbase" }) public void textFilter() throws Exception { String whereClause = " WHERE \"cf1:q2\" = 'UTF8_計算機用語_00000024'"; @@ -292,7 +292,7 @@ public class HBaseTest extends BaseFeature { * * @throws Exception if test fails to run */ - @Test(groups = { "hbase", "features", "gpdb" }) + @Test(groups = { "hbase" }) public void doubleFilter() throws Exception { String whereClause = " WHERE \"cf1:q5\" > 91.92 AND \"cf1:q6\" <= 99999999.99"; @@ -306,7 +306,7 @@ public class HBaseTest extends BaseFeature { * * @throws Exception if test fails to run */ - @Test(groups = { "hbase", "features", "gpdb" }) + @Test(groups = { "hbase" }) public void orFilter() throws Exception { String whereClause = " WHERE \"cf1:q3\" < 10 OR \"cf1:q5\" > 90"; @@ -323,7 +323,7 @@ public class HBaseTest extends BaseFeature { * * @throws Exception if test fails to run */ - @Test(groups = { "hbase", "features", "gpdb" }) + @Test(groups = { "hbase" }) public void mixedFilterPushdownOrAnd() throws Exception { String whereClause = " WHERE (\"cf1:q3\" < 10 OR \"cf1:q5\" > 90) AND (\"cf1:q3\" > 5 AND \"cf1:q8\" < 30)"; @@ -344,7 +344,7 @@ public class HBaseTest extends BaseFeature { * * @throws Exception if test fails to run */ - @Test(groups = { "hbase", "features", "gpdb" }) + @Test(groups = { "hbase" }) public void isNullFilter() throws Exception { String whereClause = " WHERE \"cf1:q3\" is null"; @@ -358,7 +358,7 @@ public class HBaseTest extends BaseFeature { * * @throws Exception if test fails to run */ - @Test(groups = { "hbase", "features", "gpdb" }) + @Test(groups = { "hbase" }) public void differentColumnNames() throws Exception { exTableNullHBase = TableFactory.getPxfHBaseReadableTable( @@ -377,7 +377,7 @@ public class HBaseTest extends BaseFeature { * * @throws Exception if test fails to run */ - @Test(groups = { "hbase", "features", "gpdb" }) + @Test(groups = { "hbase" }) public void disableLookupTable() throws Exception { try { @@ -396,7 +396,7 @@ public class HBaseTest extends BaseFeature { * * @throws Exception if test fails to run */ - @Test(groups = { "hbase", "features", "gpdb" }) + @Test(groups = { "hbase" }) public void noLookupTable() throws Exception { try { @@ -415,7 +415,7 @@ public class HBaseTest extends BaseFeature { * * @throws Exception if test fails to run */ - @Test(groups = { "hbase", "features", "gpdb" }) + @Test(groups = { "hbase" }) public void removeColumnFromLookupTable() throws Exception { try { @@ -435,7 +435,7 @@ public class HBaseTest extends BaseFeature { * @throws Exception if test fails to run */ // TODO: pxf_regress shows diff for this test. Should be fixed. - @Test(enabled = false, groups = { "hbase", "features", "gpdb" }) + @Test(enabled = false, groups = { "hbase" }) public void recordkeyAsInteger() throws Exception { // create external table with record key as INTEGER @@ -457,7 +457,7 @@ public class HBaseTest extends BaseFeature { * * @throws Exception if test fails to run */ - @Test(groups = { "hbase", "features", "gpdb" }) + @Test(groups = { "hbase" }) public void notExistingHBaseTable() throws Exception { ReadableExternalTable notExistsHBaseTableExtTable = TableFactory.getPxfHBaseReadableTable( @@ -474,7 +474,7 @@ public class HBaseTest extends BaseFeature { * * @throws Exception if test fails to run */ - @Test(groups = { "hbase", "features", "gpdb" }) + @Test(groups = { "hbase" }) public void multiRegionsData() throws Exception { HBaseTable multiDataHBaseTable = new HBaseTable( @@ -513,7 +513,7 @@ public class HBaseTest extends BaseFeature { * * @throws Exception if test fails to run */ - @Test(groups = { "hbase", "features", "gpdb" }) + @Test(groups = { "hbase" }) public void longHBaseQualifierNameNoLookupTable() throws Exception { HBaseTable longQualifiersNamesHBaseTable = new HBaseTable( @@ -559,7 +559,7 @@ public class HBaseTest extends BaseFeature { * * @throws Exception if test fails to run */ - @Test(groups = { "hbase", "features", "gpdb" }) + @Test(groups = { "hbase" }) public void longHBaseQualifierNameUsingLookupTable() throws Exception { HBaseTable longQualifiersNamesHBaseTable = new HBaseTable( @@ -600,7 +600,7 @@ public class HBaseTest extends BaseFeature { * * @throws Exception if test fails to run */ - @Test(groups = { "hbase", "features", "gpdb" }) + @Test(groups = { "hbase" }) public void emptyHBaseTable() throws Exception { HBaseTable emptyTable = new HBaseTable("empty_table", new String[] { "cf1" }); diff --git a/automation/src/test/java/org/apache/cloudberry/pxf/automation/smoke/HBaseSmokeTest.java b/automation/src/test/java/org/apache/cloudberry/pxf/automation/smoke/HBaseSmokeTest.java deleted file mode 100755 index 7f3c2e94..00000000 --- a/automation/src/test/java/org/apache/cloudberry/pxf/automation/smoke/HBaseSmokeTest.java +++ /dev/null @@ -1,99 +0,0 @@ -package org.apache.cloudberry.pxf.automation.smoke; - -import annotations.WorksWithFDW; -import jsystem.framework.system.SystemManagerImpl; - -import org.apache.cloudberry.pxf.automation.components.common.ShellSystemObject; -import org.apache.cloudberry.pxf.automation.components.hbase.HBase; -import org.apache.cloudberry.pxf.automation.structures.tables.basic.Table; -import org.apache.cloudberry.pxf.automation.structures.tables.hbase.HBaseTable; -import org.apache.cloudberry.pxf.automation.structures.tables.hbase.LookupTable; -import org.apache.cloudberry.pxf.automation.structures.tables.utils.TableFactory; -import org.testng.annotations.Test; - -import org.apache.cloudberry.pxf.automation.datapreparer.hbase.HBaseSmokeDataPreparer; - -/** Basic PXF on HBase table filled with small data. */ -public class HBaseSmokeTest extends BaseSmoke { - HBase hbase; - Table dataTable; - HBaseTable hbaseTable; - LookupTable lookupTable; - - @Override - public void beforeClass() throws Exception { - // Initialize HBase System Object - hbase = (HBase) SystemManagerImpl.getInstance().getSystemObject("hbase"); - - // if hbase authorization is not enabled then grant will not be - // performed - hbase.grantGlobalForUser("pxf"); - } - - @Override - protected void prepareData() throws Exception { - // Create HBase Table - hbaseTable = new HBaseTable("hbase_table", new String[] { "col" }); - hbaseTable.setNumberOfSplits(0); - hbaseTable.setRowsPerSplit(100); - hbaseTable.setRowKeyPrefix("row"); - hbaseTable.setQualifiers(new String[] { - "name", - "number", - "doub", - "longnum", - "bool" }); - - hbase.createTableAndVerify(hbaseTable); - - // Prepare data for HBase table - HBaseSmokeDataPreparer dataPreparer = new HBaseSmokeDataPreparer(); - dataPreparer.setColumnFamilyName(hbaseTable.getFields()[0]); - dataPreparer.prepareData(hbaseTable.getRowsPerSplit(), hbaseTable); - - hbase.put(hbaseTable); - - Thread.sleep(ShellSystemObject._5_SECONDS); - } - - @Override - protected void createTables() throws Exception { - // Create GPDB external table - exTable = TableFactory.getPxfHBaseReadableTable("pxf_smoke_small_data", - new String[] { - "name text", - "num integer", - "dub double precision", - "longnum bigint", - "bool boolean" }, hbaseTable); - exTable.setHost(pxfHost); - exTable.setPort(pxfPort); - gpdb.createTableAndVerify(exTable); - - // Create PXF Lookup HBase table - lookupTable = new LookupTable(); - lookupTable.addMapping(hbaseTable.getName(), "name", "col:name"); - lookupTable.addMapping(hbaseTable.getName(), "num", "col:number"); - lookupTable.addMapping(hbaseTable.getName(), "dub", "col:doub"); - lookupTable.addMapping(hbaseTable.getName(), "longnum", "col:longnum"); - lookupTable.addMapping(hbaseTable.getName(), "bool", "col:bool"); - - hbase.createTableAndVerify(lookupTable); - hbase.put(lookupTable); - - Thread.sleep(ShellSystemObject._5_SECONDS); - } - - @Override - protected void queryResults() throws Exception { - // Give HBase a moment to settle after table creation and data load - Thread.sleep(ShellSystemObject._5_SECONDS); - runSqlTest("smoke/small_data"); - } - - @Test(groups = { "smoke", "gpdb", "hbase" }) - @WorksWithFDW - public void test() throws Exception { - runTest(); - } -} diff --git a/automation/src/test/resources/sut/default.xml b/automation/src/test/resources/sut/default.xml index 7c9c4b68..31113e69 100644 --- a/automation/src/test/resources/sut/default.xml +++ b/automation/src/test/resources/sut/default.xml @@ -72,6 +72,7 @@ <hbase> <class>org.apache.cloudberry.pxf.automation.components.hbase.HBase</class> <host>localhost</host> + <hbaseRoot>/home/gpadmin/workspace/singlecluster/hbase</hbaseRoot> </hbase> <hive> diff --git a/ci/docker/pxf-cbdb-dev/common/script/entrypoint.sh b/ci/docker/pxf-cbdb-dev/common/script/entrypoint.sh index 832e5067..08e2c531 100755 --- a/ci/docker/pxf-cbdb-dev/common/script/entrypoint.sh +++ b/ci/docker/pxf-cbdb-dev/common/script/entrypoint.sh @@ -32,7 +32,6 @@ source "${COMMON_SCRIPTS}/utils.sh" HADOOP_ROOT=${GPHD_ROOT}/hadoop HIVE_ROOT=${GPHD_ROOT}/hive HBASE_ROOT=${GPHD_ROOT}/hbase -ZOOKEEPER_ROOT=${GPHD_ROOT}/zookeeper # -------------------------------------------------------------------- # OS detection: "deb" (Ubuntu/Debian) or "rpm" (Rocky/RHEL/CentOS) @@ -447,12 +446,6 @@ prepare_hadoop_stack() { source "${GPHD_ROOT}/bin/gphd-env.sh" cd "${REPO_DIR}/automation" make symlink_pxf_jars - cp /home/gpadmin/automation_tmp_lib/pxf-hbase.jar "$GPHD_ROOT/hbase/lib/" || true - # Ensure HBase sees PXF comparator classes even if automation_tmp_lib was empty - if [ ! -f "${GPHD_ROOT}/hbase/lib/pxf-hbase.jar" ]; then - pxf_app=$(ls -1v /usr/local/pxf/application/pxf-app-*.jar | grep -v 'plain' | tail -n 1) - unzip -qq -j "${pxf_app}" 'BOOT-INF/lib/pxf-hbase-*.jar' -d "${GPHD_ROOT}/hbase/lib/" - fi # clean stale Hive locks and stop any leftover services to avoid start failures rm -f "${GPHD_ROOT}/storage/hive/metastore_db/"*.lck 2>/dev/null || true rm -f "${GPHD_ROOT}/storage/pids"/hive-*.pid 2>/dev/null || true @@ -468,20 +461,15 @@ prepare_hadoop_stack() { log "initializing HDFS namenode..." ${GPHD_ROOT}/bin/init-gphd.sh 2>&1 || log "init-gphd.sh failed with exit code $?" fi - log "starting HDFS/YARN/HBase via start-gphd.sh..." + # HBase is started on demand per test group, not as part of the default stack + export START_HBASE=false + log "starting HDFS/YARN via start-gphd.sh..." if ! ${GPHD_ROOT}/bin/start-gphd.sh 2>&1; then log "start-gphd.sh returned non-zero (services may already be running), continue" fi # Wait for HDFS DataNode to be ready before proceeding; Tez upload in # start_hive_services will fail if no DataNode is accepting writes. wait_for_datanode - if ! ${GPHD_ROOT}/bin/start-zookeeper.sh; then - log "start-zookeeper.sh returned non-zero (may already be running)" - fi - # ensure HBase is up - if ! ${GPHD_ROOT}/bin/start-hbase.sh; then - log "start-hbase.sh returned non-zero (services may already be running), continue" - fi start_hive_services } diff --git a/ci/docker/pxf-cbdb-dev/common/script/pxf-env.sh b/ci/docker/pxf-cbdb-dev/common/script/pxf-env.sh index 81b23556..e25f7bb2 100755 --- a/ci/docker/pxf-cbdb-dev/common/script/pxf-env.sh +++ b/ci/docker/pxf-cbdb-dev/common/script/pxf-env.sh @@ -49,7 +49,7 @@ export PXF_HOME=${PXF_HOME:-/usr/local/pxf} export PXF_BASE=${PXF_BASE:-/home/gpadmin/pxf-base} export GPHD_ROOT=${GPHD_ROOT:-/home/gpadmin/workspace/singlecluster} export GOPATH=${GOPATH:-/home/gpadmin/go} -export PATH="$GPHD_ROOT/bin:$GPHD_ROOT/hadoop/bin:$GPHD_ROOT/hive/bin:$GPHD_ROOT/hbase/bin:$GPHD_ROOT/zookeeper/bin:$JAVA_BUILD/bin:/usr/local/go/bin:$GOPATH/bin:$GPHOME/bin:$PXF_HOME/bin:$PATH" +export PATH="$GPHD_ROOT/bin:$GPHD_ROOT/hadoop/bin:$GPHD_ROOT/hive/bin:$GPHD_ROOT/hbase/bin:$JAVA_BUILD/bin:/usr/local/go/bin:$GOPATH/bin:$GPHOME/bin:$PXF_HOME/bin:$PATH" export COMMON_JAVA_OPTS=${COMMON_JAVA_OPTS:-} # -------------------------------------------------------------------- diff --git a/ci/docker/pxf-cbdb-dev/common/script/run_tests.sh b/ci/docker/pxf-cbdb-dev/common/script/run_tests.sh index 63b99352..40bd2bd0 100755 --- a/ci/docker/pxf-cbdb-dev/common/script/run_tests.sh +++ b/ci/docker/pxf-cbdb-dev/common/script/run_tests.sh @@ -111,6 +111,24 @@ cleanup_hive_state() { hdfs dfs -rm -r -f /hive/warehouse/hive_small_data_orc >/dev/null 2>&1 || true } +start_hbase() { + echo "[run_tests] copying pxf-hbase.jar to HBase lib..." + cp /home/gpadmin/automation_tmp_lib/pxf-hbase.jar "${GPHD_ROOT}/hbase/lib/" 2>/dev/null || true + if [ ! -f "${GPHD_ROOT}/hbase/lib/pxf-hbase.jar" ]; then + pxf_app=$(ls -1v /usr/local/pxf/application/pxf-app-*.jar 2>/dev/null | grep -v 'plain' | tail -n 1) + [ -n "${pxf_app}" ] && unzip -qq -j "${pxf_app}" 'BOOT-INF/lib/pxf-hbase-*.jar' -d "${GPHD_ROOT}/hbase/lib/" || true + fi + if pgrep -f HMaster >/dev/null 2>&1; then + echo "[run_tests] HBase HMaster already running, skipping start" + else + echo "[run_tests] starting HBase..." + "${GPHD_ROOT}/bin/start-hbase.sh" + fi + echo "[run_tests] waiting for HBase ZooKeeper on 127.0.0.1:2181..." + wait_port 127.0.0.1 2181 30 2 || { echo "[run_tests] ERROR: HBase ZooKeeper did not become ready on 127.0.0.1:2181"; return 1; } + echo "[run_tests] HBase ZooKeeper is ready" +} + cleanup_hbase_state() { echo "disable 'pxflookup'; drop 'pxflookup'; disable 'hbase_table'; drop 'hbase_table'; @@ -445,6 +463,7 @@ base_test(){ save_test_reports "hive" echo "[run_tests] GROUP=hive finished" + start_hbase cleanup_hbase_state make GROUP="hbase" || true save_test_reports "hbase" @@ -891,6 +910,7 @@ run_single_group() { save_test_reports "hive" ;; hbase) + start_hbase cleanup_hbase_state export PROTOCOL= make GROUP="hbase" @@ -924,6 +944,7 @@ run_single_group() { performance_test ;; proxy) + start_hbase export PROTOCOL= make GROUP="proxy" save_test_reports "proxy" diff --git a/ci/docker/pxf-cbdb-dev/common/script/utils.sh b/ci/docker/pxf-cbdb-dev/common/script/utils.sh index c055dd25..b6936ef5 100755 --- a/ci/docker/pxf-cbdb-dev/common/script/utils.sh +++ b/ci/docker/pxf-cbdb-dev/common/script/utils.sh @@ -52,14 +52,12 @@ check_hbase() { local hbase_host="${HBASE_HOST:-$(hostname -I | awk '{print $1}')}" hbase_host=${hbase_host:-127.0.0.1} + # In standalone mode HMaster embeds RegionServer and ZooKeeper in a single JVM, + # so only the HMaster process exists — no separate HRegionServer process. if ! echo "$jps_out" | grep -q HMaster && ! pgrep -f HMaster >/dev/null 2>&1; then die "HBase HMaster not running" fi - if ! echo "$jps_out" | grep -q HRegionServer && ! pgrep -f HRegionServer >/dev/null 2>&1; then - die "HBase RegionServer not running" - fi - local hbase_ok=true if ! printf "status 'simple'\n" | "${HBASE_ROOT}/bin/hbase" shell -n >/tmp/hbase_status.log 2>&1; then hbase_ok=false @@ -121,7 +119,7 @@ _detect_java8_default() { } health_check() { - log "sanity check Hadoop/Hive/HBase/PXF" + log "sanity check HDFS/Hive/PXF" GPHD_ROOT=${GPHD_ROOT:-/home/gpadmin/workspace/singlecluster} HADOOP_ROOT=${HADOOP_ROOT:-${GPHD_ROOT}/hadoop} HBASE_ROOT=${HBASE_ROOT:-${GPHD_ROOT}/hbase} @@ -133,9 +131,8 @@ health_check() { [ -f "${GPHD_ROOT}/bin/gphd-env.sh" ] && source "${GPHD_ROOT}/bin/gphd-env.sh" check_jvm_procs - check_hbase check_hdfs check_hive check_pxf - log "all components healthy: HDFS/HBase/Hive/PXF" + log "all components healthy: HDFS/Hive/PXF" } diff --git a/ci/singlecluster/Dockerfile b/ci/singlecluster/Dockerfile index a16c3e9f..11e561ad 100644 --- a/ci/singlecluster/Dockerfile +++ b/ci/singlecluster/Dockerfile @@ -39,7 +39,6 @@ RUN if command -v apt-get >/dev/null 2>&1; then \ # TODO: update hive to support java 11+ ENV HADOOP_VERSION=3.1.2 ENV HIVE_VERSION=3.1.3 -ENV ZOOKEEPER_VERSION=3.5.9 ENV HBASE_VERSION=2.3.7 ENV TEZ_VERSION=0.9.2 ENV GO_VERSION=1.24.0 @@ -47,7 +46,6 @@ ENV GO_VERSION=1.24.0 # checksums from archive.apache.org ENV HADOOP_SHA512="0e0ee817c89b3c4eb761eca7f16640742a83b0e99b6fda26c1bee2baabedad93aab86e252bf5f1e2381c6d464bc4003d10c7cc0f61b2062f4c59732ca24d1bd9" ENV HIVE_SHA256="0c9b6a6359a7341b6029cc9347435ee7b379f93846f779d710b13f795b54bb16" -ENV ZOOKEEPER_SHA512="0e5a64713abc6f36d961dd61a06f681868171a9d9228366e512a01324806d263e05508029c94d8e18307811867cdc39d848e736c252bf56c461273ef74c66a45" ENV HBASE_SHA512="1032521025660daa70260cdc931f52a26c87596be444451fe1fa88b526ede55e9d6b4220e91ff6f7422bec11f30d64fa6745e95a9c36971fdb1a264a2c745693" ENV TEZ_SHA512="a2d94bd9fa778d42a8bac9d9da8e263e469ddfef93968b06434716554995f490231de5607541ac236e770aa0158b64250c38bc1cd57dbfa629fea705f2ffa2f5" @@ -58,7 +56,6 @@ ENV APACHE_MIRROR="repo.huaweicloud.com/apache" ENV HADOOP_URL="https://$APACHE_MIRROR/hadoop/common/hadoop-$HADOOP_VERSION/hadoop-$HADOOP_VERSION.tar.gz" ENV HIVE_URL="https://$APACHE_MIRROR/hive/hive-$HIVE_VERSION/apache-hive-$HIVE_VERSION-bin.tar.gz" -ENV ZOOKEEPER_URL="https://$APACHE_MIRROR/zookeeper/zookeeper-$ZOOKEEPER_VERSION/apache-zookeeper-$ZOOKEEPER_VERSION-bin.tar.gz" ENV HBASE_URL="https://$APACHE_MIRROR/hbase/$HBASE_VERSION/hbase-$HBASE_VERSION-bin.tar.gz" ENV TEZ_URL="https://$APACHE_MIRROR/tez/$TEZ_VERSION/apache-tez-$TEZ_VERSION-bin.tar.gz" @@ -66,7 +63,6 @@ ENV GPHD_ROOT=/home/gpadmin/workspace/singlecluster ENV HADOOP_ROOT=$GPHD_ROOT/hadoop ENV HBASE_ROOT=$GPHD_ROOT/hbase ENV HIVE_ROOT=$GPHD_ROOT/hive -ENV ZOOKEEPER_ROOT=$GPHD_ROOT/zookeeper ENV TEZ_ROOT=$GPHD_ROOT/tez RUN mkdir -p $HADOOP_ROOT && \ @@ -83,12 +79,6 @@ RUN mkdir -p $HIVE_ROOT && \ tar xvf /tmp/hive.tar.gz -C $HIVE_ROOT --strip-components 1 && \ rm /tmp/hive.tar.gz -RUN mkdir -p $ZOOKEEPER_ROOT && \ - curl -fSL $ZOOKEEPER_URL -o /tmp/zookeeper.tar.gz && \ - echo "$ZOOKEEPER_SHA512 /tmp/zookeeper.tar.gz" | sha512sum -c && \ - tar xvf /tmp/zookeeper.tar.gz -C $ZOOKEEPER_ROOT --strip-components 1 --exclude="docs/*" && \ - rm /tmp/zookeeper.tar.gz - RUN mkdir -p $HBASE_ROOT && \ curl -fSL "$HBASE_URL" -o /tmp/hbase.tar.gz && \ echo "$HBASE_SHA512 /tmp/hbase.tar.gz" | sha512sum -c && \ diff --git a/ci/singlecluster/README.HDP3.md b/ci/singlecluster/README.HDP3.md index 3a906e50..4afd6cea 100644 --- a/ci/singlecluster/README.HDP3.md +++ b/ci/singlecluster/README.HDP3.md @@ -6,7 +6,6 @@ It contains the following versions: - Hadoop 3.3.6 - Hive 3.1.3 -- Zookeeper 3.5.9 - HBase 2.3.7 - Tez 0.9.2 @@ -40,8 +39,7 @@ Initialization export HADOOP_ROOT=$GPHD_ROOT/hadoop export HBASE_ROOT=$GPHD_ROOT/hbase export HIVE_ROOT=$GPHD_ROOT/hive - export ZOOKEEPER_ROOT=$GPHD_ROOT/zookeeper - export PATH=$PATH:$GPHD_ROOT/bin:$HADOOP_ROOT/bin:$HBASE_ROOT/bin:$HIVE_ROOT/bin:$ZOOKEEPER_ROOT/bin + export PATH=$PATH:$GPHD_ROOT/bin:$HADOOP_ROOT/bin:$HBASE_ROOT/bin:$HIVE_ROOT/bin ``` Usage @@ -53,10 +51,8 @@ Usage - `$GPHD_ROOT/bin/start-hdfs.sh` - Start PXF only (Install pxf first to make this work. [See Install PXF session here](https://cwiki.apache.org/confluence/display/HAWQ/PXF+Build+and+Install)) - `$GPHD_ROOT/bin/start-pxf.sh` -- Start HBase only (requires hdfs and zookeeper) +- Start HBase only (standalone mode) - `$GPHD_ROOT/bin/start-hbase.sh` -- Start ZooKeeper only - - `$GPHD_ROOT/bin/start-zookeeper.sh` - Start YARN only - `$GPHD_ROOT/bin/start-yarn.sh` - Start Hive (MetaStore) @@ -64,7 +60,7 @@ Usage - Stop all PHD services - `$GPHD_ROOT/bin/stop-gphd.sh` - Stop an individual component - - `$GPHD_ROOT/bin/stop-[hdfs|pxf|hbase|zookeeper|yarn|hive].sh` + - `$GPHD_ROOT/bin/stop-[hdfs|pxf|hbase|yarn|hive].sh` - Start/stop HiveServer2 - `$GPHD_ROOT/bin/hive-service.sh hiveserver2 start` - `$GPHD_ROOT/bin/hive-service.sh hiveserver2 stop` diff --git a/ci/singlecluster/bin/gphd-env.sh b/ci/singlecluster/bin/gphd-env.sh index 418f3cdc..ea528361 100755 --- a/ci/singlecluster/bin/gphd-env.sh +++ b/ci/singlecluster/bin/gphd-env.sh @@ -27,7 +27,6 @@ fi # Some basic definitions export HADOOP_ROOT=${GPHD_ROOT}/hadoop export HBASE_ROOT=${GPHD_ROOT}/hbase -export ZOOKEEPER_ROOT=${GPHD_ROOT}/zookeeper export HIVE_ROOT=${GPHD_ROOT}/hive export TEZ_ROOT=${GPHD_ROOT}/tez export RANGER_ROOT=${GPHD_ROOT}/ranger @@ -37,12 +36,10 @@ export PIDS_ROOT=${STORAGE_ROOT}/pids export HADOOP_BIN=${HADOOP_ROOT}/bin export HADOOP_SBIN=${HADOOP_ROOT}/sbin -export ZOOKEEPER_BIN=${ZOOKEEPER_ROOT}/bin export HBASE_BIN=${HBASE_ROOT}/bin export HIVE_BIN=${HIVE_ROOT}/bin export HADOOP_CONF=${HADOOP_ROOT}/etc/hadoop -export ZOOKEEPER_CONF=${ZOOKEEPER_ROOT}/conf export HBASE_HOME=${HBASE_ROOT} export HBASE_CONF=${HBASE_ROOT}/conf export HIVE_CONF=${HIVE_ROOT}/conf @@ -80,17 +77,3 @@ function hdfs_running() `${bin}/hdfs dfsadmin -Dipc.client.connect.max.retries.on.timeouts=0 -safemode get 2>&1 | grep -q "Safe mode is OFF"` return $? } - -function zookeeper_running() -{ - local retval=1 - for i in {1..10}; do - sleep 5s - ${ZOOKEEPER_BIN}/zkServer.sh status > /dev/null 2>&1 - retval=$? - if [ ${retval} -eq 0 ]; then - return 0 - fi - done - return ${retval} -} diff --git a/ci/singlecluster/bin/hbase-regionserver.sh b/ci/singlecluster/bin/hbase-regionserver.sh deleted file mode 100755 index 10ce3c5d..00000000 --- a/ci/singlecluster/bin/hbase-regionserver.sh +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/env bash - -usage="Usage: `basename $0` <start|stop> <node_id>" - -if [ $# -ne 2 ]; then - echo ${usage} - exit 1 -fi - -command=$1 -nodeid=$2 - -# Load settings -root=`cd \`dirname $0\`/..;pwd` -bin=${root}/bin -. ${bin}/gphd-env.sh - -hbase_root=${HBASE_ROOT} -hbase_conf=${HBASE_CONF} -hbase_bin=${HBASE_BIN} - -regionserver_root=${HBASE_STORAGE_ROOT}/regionserver$nodeid -regionserver_conf=${regionserver_root}/conf - -export HBASE_REGIONSERVER_OPTS="-Dhbase.tmp.dir=$regionserver_root/tmp" -export HBASE_CONF_DIR=${regionserver_conf} -export HBASE_IDENT_STRING=${USER}-node${nodeid} - -function clear_conf_directory() -{ - if [ -d ${regionserver_conf} ]; then - rm -rf ${regionserver_conf} - fi - mkdir -p ${regionserver_conf} -} - -function setup_hbasesite() -{ - cat ${hbase_conf}/hbase-site.xml | \ - sed "/^<configuration>$/ a\\ - <property>\\ - <name>hbase.regionserver.port</name>\\ - <value>6002$nodeid</value>\\ - </property>\\ - <property>\\ - <name>hbase.regionserver.info.port</name>\\ - <value>6003$nodeid</value>\\ - </property>\\ - " > ${regionserver_conf}/hbase-site.xml -} - -function copy_conf_files() -{ - for file in $(find ${hbase_conf} -type f -not -iname "*~"); do - cp ${file} ${regionserver_conf}/$(basename ${file}) - done -} - -function handle_start() -{ - clear_conf_directory - copy_conf_files - setup_hbasesite -} - -case "$command" in - "start" ) - handle_start - ;; - "stop" ) - ;; - * ) - echo unknown command "$command" - echo ${usage} - exit 1 - ;; -esac - -${hbase_bin}/hbase-daemon.sh --config ${regionserver_conf} ${command} regionserver diff --git a/ci/singlecluster/bin/init-gphd.sh b/ci/singlecluster/bin/init-gphd.sh index 2d7c4f0d..d41f93a0 100755 --- a/ci/singlecluster/bin/init-gphd.sh +++ b/ci/singlecluster/bin/init-gphd.sh @@ -42,6 +42,5 @@ echo export GPHD_ROOT=${GPHD_ROOT} echo export HADOOP_ROOT=\$GPHD_ROOT/hadoop echo export HBASE_ROOT=\$GPHD_ROOT/hbase echo export HIVE_ROOT=\$GPHD_ROOT/hive -echo export ZOOKEEPER_ROOT=\$GPHD_ROOT/zookeeper -echo export PATH=\$PATH:\$GPHD_ROOT/bin:\$HADOOP_ROOT/bin:\$HBASE_ROOT/bin:\$HIVE_ROOT/bin:\$ZOOKEEPER_ROOT/bin +echo export PATH=\$PATH:\$GPHD_ROOT/bin:\$HADOOP_ROOT/bin:\$HBASE_ROOT/bin:\$HIVE_ROOT/bin echo ------------------------------------------------------------- diff --git a/ci/singlecluster/bin/start-gphd.sh b/ci/singlecluster/bin/start-gphd.sh index 3fe07e85..460b851e 100755 --- a/ci/singlecluster/bin/start-gphd.sh +++ b/ci/singlecluster/bin/start-gphd.sh @@ -30,5 +30,4 @@ if [ "$START_HBASE" != "true" ]; then exit 0 fi -${bin}/start-zookeeper.sh || exit 1 ${bin}/start-hbase.sh || exit 1 diff --git a/ci/singlecluster/bin/start-hbase.sh b/ci/singlecluster/bin/start-hbase.sh index 7d238f95..6b8d14ec 100755 --- a/ci/singlecluster/bin/start-hbase.sh +++ b/ci/singlecluster/bin/start-hbase.sh @@ -5,33 +5,5 @@ root=`cd \`dirname $0\`/..;pwd` bin=${root}/bin . ${bin}/gphd-env.sh -# Check to see HDFS is up -hdfs_running -if [ $? != 0 ]; then - echo HDFS is not ready, HBase cannot start - echo Please see HDFS is up and out of safemode - exit 1 -fi - -# Check to see Zookeeper is up -zookeeper_running -if [ $? != 0 ]; then - echo Zookeeper is not running, HBase cannot start - echo Have you start-zookeeper.sh ? - exit 1 -fi - -echo Starting HBase... -# Start master -${HBASE_BIN}/hbase-daemon.sh --config ${HBASE_CONF} start master - -# Start regions -for (( i=0; i < $SLAVES; i++ )); do - ${bin}/hbase-regionserver.sh start ${i} | sed "s/^/node $i: /" -done - -# Start Stargate -if [ "$START_STARGATE" == "true" ]; then - echo Starting Stargate... - ${HBASE_BIN}/hbase-daemon.sh --config ${HBASE_CONF} start rest -p ${STARGATE_PORT} -fi +echo Starting HBase standalone... +${HBASE_ROOT}/bin/start-hbase.sh \ No newline at end of file diff --git a/ci/singlecluster/bin/start-zookeeper.sh b/ci/singlecluster/bin/start-zookeeper.sh deleted file mode 100755 index 673b90b9..00000000 --- a/ci/singlecluster/bin/start-zookeeper.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash - -# Load settings -root=`cd \`dirname $0\`/..;pwd` -bin=${root}/bin -. ${bin}/gphd-env.sh - -zookeeper_cfg=$ZOOKEEPER_CONF/zoo.cfg -zookeeper_cfg_tmp=$zookeeper_cfg.preped - -sudo chown -R gpadmin:gpadmin "${ZOOKEEPER_CONF}" - -sed "s|dataDir.*$|dataDir=$ZOOKEEPER_STORAGE_ROOT|" ${zookeeper_cfg} > ${zookeeper_cfg_tmp} -rm -f ${zookeeper_cfg} -mv ${zookeeper_cfg_tmp} ${zookeeper_cfg} - -mkdir -p ${ZOOKEEPER_STORAGE_ROOT} - -export ZOO_LOG_DIR=${LOGS_ROOT} - -echo Starting Zookeeper... -pushd ${ZOOKEEPER_ROOT} > /dev/null -bin/zkServer.sh start -popd > /dev/null diff --git a/ci/singlecluster/bin/stop-gphd.sh b/ci/singlecluster/bin/stop-gphd.sh index 0adb04db..02934632 100755 --- a/ci/singlecluster/bin/stop-gphd.sh +++ b/ci/singlecluster/bin/stop-gphd.sh @@ -8,9 +8,6 @@ bin=${root}/bin if [ "$START_HBASE" == "true" ]; then echo Stopping HBase... ${bin}/stop-hbase.sh - - echo Stopping Zookeeper... - ${bin}/stop-zookeeper.sh fi if [ "$START_PXF" == "true" ]; then diff --git a/ci/singlecluster/bin/stop-hbase.sh b/ci/singlecluster/bin/stop-hbase.sh index ad12c144..97204e33 100755 --- a/ci/singlecluster/bin/stop-hbase.sh +++ b/ci/singlecluster/bin/stop-hbase.sh @@ -7,32 +7,5 @@ bin=${root}/bin # TODO cleanup after hbase? -if [ "$START_STARGATE" == "true" ]; then - echo Stopping Stargate... - ${HBASE_BIN}/hbase-daemon.sh --config ${HBASE_CONF} stop rest -fi - -# stop region servers -for (( i=0; i < ${SLAVES}; i++ )); do - ${bin}/hbase-regionserver.sh stop ${i} | sed "s/^/node $i: /" -done - -# stop master -pid=`echo ${PIDS_ROOT}/hbase-*-master.pid` -hbase_pid=`cat ${pid}` -command=master -hbase_stop_timeout=9 - -${bin}/hbase ${command} stop > /dev/null 2>&1 & - -if kill -0 ${hbase_pid} > /dev/null 2>&1; then - echo stopping ${command} - kill ${hbase_pid} - sleep ${hbase_stop_timeout} - if kill -0 ${hbase_pid} > /dev/null 2>&1; then - echo "$command did not stop gracefully after $hbase_stop_timeout seconds: killing with kill -9" - kill -9 ${hbase_pid} - fi -else - echo no ${command} to stop -fi +echo Stopping HBase standalone... +${HBASE_ROOT}/bin/stop-hbase.sh \ No newline at end of file diff --git a/ci/singlecluster/bin/stop-zookeeper.sh b/ci/singlecluster/bin/stop-zookeeper.sh deleted file mode 100755 index 6970438b..00000000 --- a/ci/singlecluster/bin/stop-zookeeper.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash - -# Load settings -root=`cd \`dirname $0\`/..;pwd` -bin=${root}/bin -. ${bin}/gphd-env.sh - -pushd ${ZOOKEEPER_ROOT} > /dev/null -bin/zkServer.sh stop -popd > /dev/null diff --git a/ci/singlecluster/conf/gphd-conf.sh b/ci/singlecluster/conf/gphd-conf.sh index fc35cb8c..178728c9 100755 --- a/ci/singlecluster/conf/gphd-conf.sh +++ b/ci/singlecluster/conf/gphd-conf.sh @@ -16,7 +16,6 @@ if [ -z "${JAVA_HOME:-}" ]; then fi export STORAGE_ROOT=$GPHD_ROOT/storage export HADOOP_STORAGE_ROOT=$STORAGE_ROOT/hadoop -export ZOOKEEPER_STORAGE_ROOT=$STORAGE_ROOT/zookeeper export HBASE_STORAGE_ROOT=$STORAGE_ROOT/hbase export HIVE_STORAGE_ROOT=$STORAGE_ROOT/hive export PXF_STORAGE_ROOT=$STORAGE_ROOT/pxf @@ -26,7 +25,7 @@ export RANGER_STORAGE_ROOT=$STORAGE_ROOT/ranger export SLAVES=${SLAVES:-1} # Automatically start HBase during GPHD startup -export START_HBASE=true +export START_HBASE=false # Automatically start Stargate during HBase startup export START_STARGATE=false diff --git a/ci/singlecluster/templates/hbase/conf/hbase-env.sh b/ci/singlecluster/templates/hbase/conf/hbase-env.sh index 36f3aadf..f6b292dd 100755 --- a/ci/singlecluster/templates/hbase/conf/hbase-env.sh +++ b/ci/singlecluster/templates/hbase/conf/hbase-env.sh @@ -91,7 +91,7 @@ export HBASE_PID_DIR=$PIDS_ROOT # export HBASE_SLAVE_SLEEP=0.1 # Tell HBase whether it should manage it's own instance of Zookeeper or not. -export HBASE_MANAGES_ZK=false +export HBASE_MANAGES_ZK=true # Prefer JAVA_HOME from gphd-env.sh; fail fast if missing to avoid divergent per-service detection. if [ -z "${JAVA_HOME:-}" ]; then diff --git a/ci/singlecluster/templates/hbase/conf/hbase-site.xml b/ci/singlecluster/templates/hbase/conf/hbase-site.xml index 00841290..dad64bb3 100755 --- a/ci/singlecluster/templates/hbase/conf/hbase-site.xml +++ b/ci/singlecluster/templates/hbase/conf/hbase-site.xml @@ -24,28 +24,27 @@ <configuration> <property> <name>hbase.rootdir</name> - <value>hdfs://0.0.0.0:8020/hbase</value> + <value>file:///home/gpadmin/workspace/singlecluster/storage/hbase</value> </property> <property> - <name>dfs.replication</name> - <value>3</value> + <name>hbase.zookeeper.property.dataDir</name> + <value>/home/gpadmin/workspace/singlecluster/storage/hbase-zk</value> </property> <property> - <name>dfs.support.append</name> - <value>true</value> + <name>hbase.cluster.distributed</name> + <value>false</value> </property> <property> - <name>hbase.cluster.distributed</name> - <value>true</value> + <!-- Explicit use IPv4 address instead of "localhost" to prevent Java from + resolving it to ::1 (IPv6) first, which causes ConnectionLoss errors + when the embedded ZooKeeper only listens on 127.0.0.1. --> + <name>hbase.zookeeper.quorum</name> + <value>127.0.0.1</value> + </property> + <property> + <name>hbase.zookeeper.property.clientPort</name> + <value>2181</value> </property> - <property> - <name>hbase.zookeeper.quorum</name> - <value>127.0.0.1</value> - </property> - <property> - <name>hbase.zookeeper.property.clientPort</name> - <value>2181</value> - </property> <property> <name>hadoop.proxyuser.gpadmin.hosts</name> <value>*</value> @@ -89,4 +88,4 @@ <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property> -</configuration> +</configuration> \ No newline at end of file diff --git a/ci/singlecluster/templates/zookeeper/conf/zoo.cfg b/ci/singlecluster/templates/zookeeper/conf/zoo.cfg deleted file mode 100755 index bd8dc90a..00000000 --- a/ci/singlecluster/templates/zookeeper/conf/zoo.cfg +++ /dev/null @@ -1,26 +0,0 @@ -# The number of milliseconds of each tick -tickTime=2000 -# The number of ticks that the initial -# synchronization phase can take -initLimit=10 -# The number of ticks that can pass between -# sending a request and getting an acknowledgement -syncLimit=5 -# the directory where the snapshot is stored. -# do not use /tmp for storage, /tmp here is just -# example sakes. -# automatically updated by GPHD-sc scripts -dataDir=/tmp/zookeeper -# the port at which the clients will connect -clientPort=2181 -# -# Be sure to read the maintenance section of the -# administrator guide before turning on autopurge. -# -# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance -# -# The number of snapshots to retain in dataDir -#autopurge.snapRetainCount=3 -# Purge task interval in hours -# Set to "0" to disable auto purge feature -#autopurge.purgeInterval=1 --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
