Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
v1.2
-
None
-
None
-
Kylin downloaded from https://dist.apache.org/repos/dist/release/kylin/apache-kylin-1.2/apache-kylin-1.2-bin.tar.gz
Hbase: 0.98.16.1 from community
Description
we want to change hbase namespace from "default" to "ALALEI",for security reason
env:
Kylin downloaded from https://dist.apache.org/repos/dist/release/kylin/apache-kylin-1.2/apache-kylin-1.2-bin.tar.gz
Hbase: 0.98.16.1 from community
conf/kylin.properties
kylin.metadata.url=ALALEI:kylin_metadata@hbase
when building sample cube,step 1 hangs on:
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:java.lang.IllegalArgumentException: Pathname /user/alalei/kylin/ALALEI:kylin_metadata/kylin-c39f5ba8-37cf-4da9-a995-b71fce988259/kylin_intermediate_kylin_sales_cube_desc_19700101000000_20160201000000_c39f5ba8_37cf_4da9_a995_b71fce988259 from /user/alalei/kylin/ALALEI:kylin_metadata/kylin-c39f5ba8-37cf-4da9-a995-b71fce988259/kylin_intermediate_kylin_sales_cube_desc_19700101000000_20160201000000_c39f5ba8_37cf_4da9_a995_b71fce988259 is not a valid DFS filename.)
at org.apache.kylin.common.util.CliCommandExecutor.execute(CliCommandExecutor.java:90)
at org.apache.kylin.job.common.ShellExecutable.doWork(ShellExecutable.java:52)
at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:107)
at org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:51)
at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:107)
at org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:130)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
the above kylin.metadata.url with namespace works fine with hbase operation,and i can see hbase new tables created under namespace "ALALEI"
the error happens in ./job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java with function generateCreateTableStatement,where the second parameter storageDfsDir defined in getMetadataUrlPrefix from ./common/src/main/java/org/apache/kylin/common/KylinConfig.java
hdfs don't allow special colon in hdfs url path,so hive related create table ddl with location can't be executed