CDH 6.0.1 版本 默认配置下 HUE | happybase 无法访问 Hbase 的问题

本文主要讲述 CDH 6.0.1 版本下 HUE 无法直接连接 HBase 2.0 的问题。默认配置下,HUE 无法配置 thift.compact 启用,开启相关选项会导致连接报错,需将 HBase 参数置为 False。同时,happybase 默认配置也无法直接访问,调整 protocol 和 transport 参数后可正确访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一个问题 HUE 无法直接连接到 HBase

在默认配置下 CDH 6.0.1 版本下的 HBase2.0 使用了默认配置

hbase.regionserver.thrift.compact = True

也就是是被勾选的状态,但是 HUE 我找了半天发现无法配置 thift.compact 的启用。所以要使用 hue 来使用 HBase 2.0 就需要把这个 HBase 的参数置为 False

hbase.regionserver.thrift.compact 是否使用Thrift TCompactProtocol,如果你每列数据比较大,可以试着开启,减少带宽。

这里就比较坑的一点是,CDH 官方文档让开启

启用 HBase Thrift Http 服务器
hbase.regionserver.thrift.http
HBase(服务范围)
启用 HBase Thrift 代理用户
hbase.thrift.support.proxyuser
HBase(服务范围)

这两个选项,但是经过实际测试,开启这两个选项不仅会让 hue 无法连接上去,就连 happybase 也会报错。所以关闭了,详情可以参考 reference 里面的 「Sharing how to solve HUE and HBase connect problem on CDH 6.0.1」文章。

 

另外使用 happybase 的默认配置对其进行访问,也无法直接访问,原因是来自于 happybase 默认的 protocol 和 transport 不兼容不一样。

当我们参照 「Sharing how to solve HUE and HBase connect problem on CDH 6.0.1」关闭相关参数之后。设置 protocol 为 compact 和 transport 是 framed

默认参数使用的是 protocol 为 binary 和 transport 是 buffred

connection = happybase.Connection('xxxx', 9090, transport='framed', protocol='compact')

调整好之后就可以正确访问了!

 

 

Reference:

https://community.cloudera.com/t5/Web-UI-Hue-Beeswax/Sharing-how-to-solve-HUE-and-HBase-connect-problem-on-CDH-6/td-p/82030  Sharing how to solve HUE and HBase connect problem on CDH 6.0.1

https://github.com/wbolster/happybase/issues/161  Getting cybin.ProtocolError: No protocol version header error

http://my.525.life/article?id=1510739742002  hadoop组件---面向列的开源数据库(三)---hbase的接口thrift(需整理和csdn)

转载于:https://www.cnblogs.com/piperck/p/11166451.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值