phoenix 异步建立二级索引失败,hbase表名需大写

环境:phoenix-5.0.0-Hbase-2.0.0
关于怎么建立二级索引的原理及方法,我就不复述了,有需要的可以看看下面这些博客,挺好的
转至:https://www.cnblogs.com/haoxinyue/p/6724365.html
https://www.cnblogs.com/mario-nb/p/6350266.html?utm_source=itdadao&utm_medium=referral

在这里我想强调的是,当我们的hbase表数据非常大时,测试大概5000万以上的数据建二级索引就会遇到连接超时的问题。

当然我们也可以调整连接时间如下:
在客户端配置文件hbase-site.xml中,把超时参数设置大一些,足够build索引数据的时间。

<property><name>phoenix.query.timeoutMs</name>
<value>1200000</value>
</property>
<property><name>phoenix.query.keepAliveMs</name>
<value>1200000</value>
</property>
<property><name>hbase.rpc.timeout</name>
<value>1200000</value>
</property>
<property><name>hbase.regionserver.lease.period</name>
<value>1200000</value>
</property>
<property><name>hbase.client.operation.timeout</name>
<value>1200000</value>
</property>
<property><name>hbase.client.scanner.caching</name>
<value>1000</value>
</property>
<property><name>hbase.client.scanner.timeout.period</name>
<value>1200000</value>
</property>

这种方式显然看起来就不太友好
所以,我们就想到了用异步索引的方式去建立

照着网上的方式:兴高采烈的去开干了,在linux输入以下命令:

${HBASE_HOME}/bin/hbase org.apache.phoenix.mapreduce.index.IndexTool
  --schema MY_SCHEMA --data-table MY_TABLE --index-table ASYNC_IDX
  --output-path ASYNC_IDX_HFILES

结果直接就报错了:

它竟然说我的索引不是数表的索引,我当时就蒙了,这是咋回事呢?马上跑到phoenix client去查看,分明就是它的索引啊 ,可以通过命令查看

select TABLE_NAME,DATA_TABLE_NAME,INDEX_TYPE,INDEX_STATE,INDEX_DISABLE_TIMESTAMP from system.catalog where INDEX_TYPE is not null;

那又是咋回事啊,想想是不是建索引出问题了,遂不信邪的再一次实验,继续出错,错误如出一辙,正当我准备放弃的时候。突然发现这好像有些不对,

我的表分明是小写的t33,咋它说我的索引表却不是T33的index呢,是不是这个IndexTool有某种方式,将所有的表都转化为大写的呢,还是它只认识大写的表

接下来我就创建了一个大写的表去建索引,果然这次并没报错误,至于具体是哪种原因,没找到方法去研究。

结论:平时总喜欢建小写的hbase表,因为大写的看着别扭,这不自己把自己坑了几天,过程用同步索引都因为超时等各种原因,导致失败多次,让我哭会。。。。

大家又遇到这个问题么?

原文链接:https://www.cnblogs.com/henyu/p/9179653.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值