Yeah I have checked it was a bug , because I used hbase namespace “kylin” with
the patch
"https://issues.apache.org/jira/secure/attachment/12885320/KYLIN-2846-001.patch”
And I modified the code as below and it works well:
MOMO@MOMOdeMacBook-Pro-5:~/gitworkspace/kylin2.0/kylin/dist/apache-kylin-2.1.0-bin/tool$
git diff
../../../server-base/src/main/java/org/apache/kylin/rest/job/StorageCleanJobHbaseUtil.java
diff --git
a/server-base/src/main/java/org/apache/kylin/rest/job/StorageCleanJobHbaseUtil.java
b/server-base/src/main/java/org/apache/kylin/rest/job/StorageCleanJobHbaseUtil.java
index 3728ea1..937d02d 100644
---
a/server-base/src/main/java/org/apache/kylin/rest/job/StorageCleanJobHbaseUtil.java
+++
b/server-base/src/main/java/org/apache/kylin/rest/job/StorageCleanJobHbaseUtil.java
@@ -46,15 +46,28 @@ public class StorageCleanJobHbaseUtil {
public static void cleanUnusedHBaseTables(boolean delete, int
deleteTimeout) throws IOException {
Configuration conf = HBaseConfiguration.create();
- CubeManager cubeMgr =
CubeManager.getInstance(KylinConfig.getInstanceFromEnv());
+ KylinConfig config = KylinConfig.getInstanceFromEnv();
+ CubeManager cubeMgr = CubeManager.getInstance(config);
// get all kylin hbase tables
try (HBaseAdmin hbaseAdmin = new HBaseAdmin(conf)) {
- String tableNamePrefix =
IRealizationConstants.SharedHbaseStorageLocationPrefix;
+ String namespace = config.getHBaseStorageNameSpace();
+ StringBuffer sb = new StringBuffer();
+ String tableNamePrefix = null;
+ if(namespace.equals("default")){
+ tableNamePrefix =
IRealizationConstants.SharedHbaseStorageLocationPrefix;
+ }else{
+ sb.append(config.getHBaseStorageNameSpace()).append(":");
+
sb.append(IRealizationConstants.SharedHbaseStorageLocationPrefix);
+ tableNamePrefix = sb.toString();
+ }
+
发件人: ShaoFeng Shi <[email protected]<mailto:[email protected]>>
答复: user <[email protected]<mailto:[email protected]>>
日期: 2017年10月17日 星期二 下午4:16
至: user <[email protected]<mailto:[email protected]>>
主题: [外部邮件] Re: [外部邮件] 回复:kylin drop cube segment Htable 仍然存在
Hi yaowu,
The StorageCleanupJob will delete the hbase tables that has no reference; If
you found it didn't work, please check the output log of that command. It
should say something.
在 2017年10月17日 下午3:39,yuyong.zhai
<[email protected]<mailto:[email protected]>>写道:
sh metastore.sh clean --delete true
sh kylin.sh org.apache.kylin.storage.hbase.util.StorageCleanupJob --delete true
原始邮件
发件人: 曾耀武<[email protected]<mailto:[email protected]>>
收件人: user<[email protected]<mailto:[email protected]>>
发送时间: 2017年10月17日(周二) 15:23
主题: Re: [外部邮件] 回复:kylin drop cube segment Htable 仍然存在
这个我看了,执行之后发现只是删除了 hive 中间表 kylin_intermediate_* 任务失败遗留的中间表 和
hdfs://nameservice1:8020/kylin/kylin-kylin_metadata/ 目录下没用的临时目录,
hbase 里的 segment 表仍然存在的
发件人: "yuyong.zhai" <[email protected]<mailto:[email protected]>>
答复: user <[email protected]<mailto:[email protected]>>
日期: 2017年10月17日 星期二 下午3:04
至: user <[email protected]<mailto:[email protected]>>
主题: [外部邮件] 回复:kylin drop cube segment Htable 仍然存在
cleanup storage
http://kylin.apache.org/docs15/howto/howto_cleanup_storage.html
原始邮件
发件人: 曾耀武<[email protected]<mailto:[email protected]>>
收件人: user<[email protected]<mailto:[email protected]>>
发送时间: 2017年10月17日(周二) 14:02
主题: kylin drop cube segment Htable 仍然存在
嗨,all ,在清理没用的cube (kylin2.1.0) 时,发现cube 被purge和drop 之后,对应的segment hbase 表仍然在
base中存在,只是在kylinmeta 表的里的元信息被清除, 这是我的特例还是为了数据安全特意让他存在,
只能人工删除相关的表呢?
Best regards
--
Best regards,
Shaofeng Shi 史少锋