Repository: kylin
Updated Branches:
  refs/heads/KYLIN-2374 24cae5c73 -> 03e3dc928


Make some properties configable

Signed-off-by: shaofengshi <shaofeng...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/03e3dc92
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/03e3dc92
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/03e3dc92

Branch: refs/heads/KYLIN-2374
Commit: 03e3dc92862ba846b8098e83c79d8f7f32f774a9
Parents: 24cae5c
Author: xiefan46 <958034...@qq.com>
Authored: Fri Jan 20 18:15:56 2017 +0800
Committer: shaofengshi <shaofeng...@apache.org>
Committed: Fri Jan 20 18:19:11 2017 +0800

----------------------------------------------------------------------
 .../apache/kylin/common/KylinConfigBase.java    | 10 +++++++-
 .../test_case_data/sandbox/kylin.properties     |  4 +++
 .../storage/hdfs/ITHDFSResourceStoreTest.java   |  1 -
 .../kylin/storage/hdfs/ITLockManagerTest.java   |  1 -
 .../kylin/storage/hdfs/HDFSResourceStore.java   | 21 ++++++++-------
 .../apache/kylin/storage/hdfs/LockManager.java  | 19 +++++++-------
 .../kylin/storage/hdfs/ZookeeperConfig.java     | 27 --------------------
 7 files changed, 34 insertions(+), 49 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/03e3dc92/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
----------------------------------------------------------------------
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java 
b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
index 0602e9d..a2038aa 100644
--- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
+++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
@@ -775,7 +775,6 @@ abstract public class KylinConfigBase implements 
Serializable {
         return 
Float.valueOf(getOptional("kylin.engine.spark.rdd-partition-cut-mb", "10.0"));
     }
 
-
     public int getSparkMinPartition() {
         return Integer.valueOf(getOptional("kylin.engine.spark.min-partition", 
"1"));
     }
@@ -925,4 +924,13 @@ abstract public class KylinConfigBase implements 
Serializable {
         return 
Boolean.parseBoolean(getOptional("kylin.web.cross-domain-enabled", "true"));
     }
 
+    //zoo keeper
+    public String getZooKeeperHost() {
+        return getOptional("kylin.storage-zookeeper.host", "localhost");
+    }
+
+    public String getZooKeeperPort() {
+        return getOptional("kylin.storage-zookeeper.port", "2181");
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/03e3dc92/examples/test_case_data/sandbox/kylin.properties
----------------------------------------------------------------------
diff --git a/examples/test_case_data/sandbox/kylin.properties 
b/examples/test_case_data/sandbox/kylin.properties
index 2d3cd79..cc28541 100644
--- a/examples/test_case_data/sandbox/kylin.properties
+++ b/examples/test_case_data/sandbox/kylin.properties
@@ -177,3 +177,7 @@ 
kylin.engine.spark-conf.spark.eventLog.dir=hdfs\:///kylin/spark-history
 #kylin.engine.spark-conf.spark.yarn.queue=default
 
#kylin.engine.spark-conf.spark.yarn.jar=hdfs://sandbox.hortonworks.com:8020/kylin/spark/spark-assembly-1.6.3-hadoop2.6.0.jar
 
#kylin.engine.spark-conf.spark.io.compression.codec=org.apache.spark.io.SnappyCompressionCodec
+
+
+#zoo keeper
+kylin.storage-zookeeper.host=sandbox
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/kylin/blob/03e3dc92/kylin-it/src/test/java/org/apache/kylin/storage/hdfs/ITHDFSResourceStoreTest.java
----------------------------------------------------------------------
diff --git 
a/kylin-it/src/test/java/org/apache/kylin/storage/hdfs/ITHDFSResourceStoreTest.java
 
b/kylin-it/src/test/java/org/apache/kylin/storage/hdfs/ITHDFSResourceStoreTest.java
index 41bbcc0..27d8a3c 100644
--- 
a/kylin-it/src/test/java/org/apache/kylin/storage/hdfs/ITHDFSResourceStoreTest.java
+++ 
b/kylin-it/src/test/java/org/apache/kylin/storage/hdfs/ITHDFSResourceStoreTest.java
@@ -24,7 +24,6 @@ import org.apache.kylin.common.persistence.ResourceStoreTest;
 import org.apache.kylin.common.util.HBaseMetadataTestCase;
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/03e3dc92/kylin-it/src/test/java/org/apache/kylin/storage/hdfs/ITLockManagerTest.java
----------------------------------------------------------------------
diff --git 
a/kylin-it/src/test/java/org/apache/kylin/storage/hdfs/ITLockManagerTest.java 
b/kylin-it/src/test/java/org/apache/kylin/storage/hdfs/ITLockManagerTest.java
index 56347e4..2b58d30 100644
--- 
a/kylin-it/src/test/java/org/apache/kylin/storage/hdfs/ITLockManagerTest.java
+++ 
b/kylin-it/src/test/java/org/apache/kylin/storage/hdfs/ITLockManagerTest.java
@@ -26,7 +26,6 @@ import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.util.HBaseMetadataTestCase;
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import java.io.Closeable;

http://git-wip-us.apache.org/repos/asf/kylin/blob/03e3dc92/storage-hbase/src/main/java/org/apache/kylin/storage/hdfs/HDFSResourceStore.java
----------------------------------------------------------------------
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hdfs/HDFSResourceStore.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hdfs/HDFSResourceStore.java
index 8cb9f0d..a746a97 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hdfs/HDFSResourceStore.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hdfs/HDFSResourceStore.java
@@ -43,14 +43,18 @@ import java.util.concurrent.TimeUnit;
 
 public class HDFSResourceStore extends ResourceStore {
 
+    private static final Logger logger = 
LoggerFactory.getLogger(HDFSResourceStore.class);
+
+    private static final long DEFAULT_ACQUIRE_LOCK_TIMEOUT = 10;
+
     private static final String DEFAULT_FOLDER_NAME = "kylin_default_instance";
 
+    private static final String DEFAULT_METADATA_FOLDER_NAME = "hdfs_metadata";
+
     private Path hdfsMetaPath;
 
     private FileSystem fs;
 
-    private static final Logger logger = 
LoggerFactory.getLogger(HDFSResourceStore.class);
-
     private LockManager lockManager;
 
     //public for test. Normal should be protected
@@ -59,7 +63,7 @@ public class HDFSResourceStore extends ResourceStore {
         String metadataUrl = kylinConfig.getMetadataUrl();
         int cut = metadataUrl.indexOf('@');
         String metaDirName = cut < 0 ? DEFAULT_FOLDER_NAME : 
metadataUrl.substring(0, cut);
-        metaDirName += "/hdfs_metadata";
+        metaDirName += "/" + DEFAULT_METADATA_FOLDER_NAME;
         logger.info("meta dir name :" + metaDirName);
         createMetaFolder(metaDirName, kylinConfig);
     }
@@ -73,13 +77,13 @@ public class HDFSResourceStore extends ResourceStore {
             throw new IOException("HDFS working dir not exist");
         }
         //creat lock manager
-        this.lockManager = new 
LockManager(kylinConfig,kylinConfig.getRawHdfsWorkingDirectory() + metaDirName);
+        this.lockManager = new LockManager(kylinConfig, 
kylinConfig.getRawHdfsWorkingDirectory() + metaDirName);
         //create hdfs meta path
         hdfsMetaPath = new Path(hdfsWorkingPath, metaDirName);
         if (!fs.exists(hdfsMetaPath)) {
             ResourceLock lock = 
lockManager.getLock(lockManager.getLockPath("/"));
             try {
-                if (lock.acquire(ZookeeperConfig.DEFAULT_TIMEOUT, 
TimeUnit.MINUTES)) {
+                if (lock.acquire(DEFAULT_ACQUIRE_LOCK_TIMEOUT, 
TimeUnit.MINUTES)) {
                     logger.info("get root lock successfully");
                     if (!fs.exists(hdfsMetaPath)) {
                         fs.mkdirs(hdfsMetaPath);
@@ -163,7 +167,7 @@ public class HDFSResourceStore extends ResourceStore {
         ResourceLock lock = null;
         try {
             lock = lockManager.getLock(resPath);
-            lock.acquire(ZookeeperConfig.DEFAULT_TIMEOUT, TimeUnit.MINUTES);
+            lock.acquire(DEFAULT_ACQUIRE_LOCK_TIMEOUT, TimeUnit.MINUTES);
             in = fs.open(p);
             long t = in.readLong();
             return t;
@@ -185,7 +189,7 @@ public class HDFSResourceStore extends ResourceStore {
         ResourceLock lock = null;
         try {
             lock = lockManager.getLock(resPath);
-            lock.acquire(ZookeeperConfig.DEFAULT_TIMEOUT, TimeUnit.MINUTES);
+            lock.acquire(DEFAULT_ACQUIRE_LOCK_TIMEOUT, TimeUnit.MINUTES);
             out = fs.create(p, true);
             out.writeLong(ts);
             IOUtils.copy(content, out);
@@ -221,7 +225,7 @@ public class HDFSResourceStore extends ResourceStore {
         ResourceLock lock = null;
         try {
             lock = lockManager.getLock(resPath);
-            lock.acquire(ZookeeperConfig.DEFAULT_TIMEOUT, TimeUnit.MINUTES);
+            lock.acquire(DEFAULT_ACQUIRE_LOCK_TIMEOUT, TimeUnit.MINUTES);
             Path p = getRealHDFSPath(resPath);
             if (fs.exists(p)) {
                 fs.delete(p, true);
@@ -244,5 +248,4 @@ public class HDFSResourceStore extends ResourceStore {
         return new Path(this.hdfsMetaPath, resourcePath);
     }
 
-
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/03e3dc92/storage-hbase/src/main/java/org/apache/kylin/storage/hdfs/LockManager.java
----------------------------------------------------------------------
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hdfs/LockManager.java 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hdfs/LockManager.java
index a4d0080..4959718 100644
--- a/storage-hbase/src/main/java/org/apache/kylin/storage/hdfs/LockManager.java
+++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hdfs/LockManager.java
@@ -27,7 +27,6 @@ import 
org.apache.curator.framework.recipes.locks.InterProcessMutex;
 import org.apache.curator.retry.ExponentialBackoffRetry;
 import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.storage.hbase.util.ZookeeperDistributedJobLock;
-import org.apache.zookeeper.CreateMode;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -44,15 +43,15 @@ public class LockManager {
 
     private String lockRootPath;
 
-    public LockManager(String lockRootPath) throws Exception{
+    public LockManager(String lockRootPath) throws Exception {
 
-        this(KylinConfig.getInstanceFromEnv(),lockRootPath);
+        this(KylinConfig.getInstanceFromEnv(), lockRootPath);
     }
 
-    public LockManager(KylinConfig config,String lockRootPath) throws 
Exception{
+    public LockManager(KylinConfig config, String lockRootPath) throws 
Exception {
         this.config = config;
         this.lockRootPath = lockRootPath;
-        String zkConnectString = getZKConnectString();
+        String zkConnectString = getZKConnectString(config);
         logger.info("zk connection string:" + zkConnectString);
         if (StringUtils.isEmpty(zkConnectString)) {
             throw new IllegalArgumentException("ZOOKEEPER_QUORUM is empty!");
@@ -60,7 +59,7 @@ public class LockManager {
         RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3);
         zkClient = CuratorFrameworkFactory.newClient(zkConnectString, 
retryPolicy);
         zkClient.start();
-        if(zkClient.checkExists().forPath(lockRootPath) == null)
+        if (zkClient.checkExists().forPath(lockRootPath) == null)
             zkClient.create().creatingParentsIfNeeded().forPath(lockRootPath);
         Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
             @Override
@@ -86,10 +85,10 @@ public class LockManager {
         }
     }
 
-    private static String getZKConnectString() {
-        final String serverList = ZookeeperConfig.DEFAULT_ZK_HOST;
-        final String port = ZookeeperConfig.DEFAULT_ZK_PORT;
-        return 
StringUtils.join(Iterables.transform(Arrays.asList(serverList.split(",")), new 
Function<String, String>() {
+    private static String getZKConnectString(KylinConfig kylinConfig) {
+        final String host = kylinConfig.getZooKeeperHost();
+        final String port = kylinConfig.getZooKeeperPort();
+        return 
StringUtils.join(Iterables.transform(Arrays.asList(host.split(",")), new 
Function<String, String>() {
             @Nullable
             @Override
             public String apply(String input) {

http://git-wip-us.apache.org/repos/asf/kylin/blob/03e3dc92/storage-hbase/src/main/java/org/apache/kylin/storage/hdfs/ZookeeperConfig.java
----------------------------------------------------------------------
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hdfs/ZookeeperConfig.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hdfs/ZookeeperConfig.java
deleted file mode 100644
index 3f67e8d..0000000
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hdfs/ZookeeperConfig.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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.
-*/
-package org.apache.kylin.storage.hdfs;
-
-
-public interface ZookeeperConfig {
-    String DEFAULT_ZK_HOST = "sandbox";
-
-    String DEFAULT_ZK_PORT = "2181";
-
-    long DEFAULT_TIMEOUT = 10;
-}

Reply via email to