Hi Yaowu,

Could you please update this patch in KYLIN-2846? Storage cleanup should
also support customized namespace. Thanks.

2017-10-18 20:37 GMT+08:00 曾耀武 <zeng.ya...@immomo.com>:

>
> 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 <shaofeng...@apache.org>
> 答复: user <user@kylin.apache.org>
> 日期: 2017年10月17日 星期二 下午4:16
> 至: user <user@kylin.apache.org>
> 主题: [外部邮件] 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 <yuyong.z...@ele.me>写道:
>
>>
>> sh metastore.sh clean --delete true
>>
>> sh kylin.sh org.apache.kylin.storage.hbase.util.StorageCleanupJob
>> --delete true
>>  原始邮件
>> *发件人:* 曾耀武<zeng.ya...@immomo.com>
>> *收件人:* user<user@kylin.apache.org>
>> *发送时间:* 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" <yuyong.z...@ele.me>
>> 答复: user <user@kylin.apache.org>
>> 日期: 2017年10月17日 星期二 下午3:04
>> 至: user <user@kylin.apache.org>
>> 主题: [外部邮件] 回复:kylin drop cube segment Htable 仍然存在
>>
>> cleanup storage
>>
>> http://kylin.apache.org/docs15/howto/howto_cleanup_storage.html
>>
>>  原始邮件
>> *发件人:* 曾耀武<zeng.ya...@immomo.com>
>> *收件人:* user<user@kylin.apache.org>
>> *发送时间:* 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 史少锋
>
>


-- 
Best regards,

Shaofeng Shi 史少锋

Reply via email to