文档编写目的
Fayson在前面介绍了《0635-5.16.1-Hue集成HBase出现Api Error异常分析》和《0647-6.1.1-Hue集成HBase出现Api Error异常分析(续)》文章中说明了C5和C6中Hue与HBase集成的异常分析。本篇文章Fayson主要如何在C6.2.0的安全环境下使用Hue访问HBase。
- 测试环境:
1.Redhat7.2
2.采用root用户操作
3.CM/CDH6.2.0
HBase Thrift安装
Hue中访问HBase是通过HBase Thrift Server服务进行访问,所以第一步,我们需要添加HBase Thrift Server。
1.在CM进入HBase组件,点击添加角色实例
2.选择需要添加的主机进行添加
3.添加成功并启动HBase Thrift Server服务
HBase Thrift配置
服务添加完成后,进行HBase的一些配置
1.从CM进入HBase,点击配置,搜索thrift,按照下图配置
2.在HBase代理用户组和HBase代理用户主机都配置为*
3.HBase Thrift身份验证选择auth或者auth-int都可以。这里如果选择auth-conf会提示需要启用ssl,导致HBase Thrift Server启动失败。
4.在hbase-site.xml 的 HBase 服务高级配置代码段(安全阀)这里添加下面的参数
代码语言:javascript复制<property>
<name>hbase.thrift.spnego.principal</name>
<value>HTTP/cdh01.hadoop.com@HADOOP.COM</value>
</property><property>
<name>hbase.thrift.spnego.keytab.file</name>
<value>hbase.keytab</value>
</property>
Hue集成HBase配置
1.进入Hue服务的配置界面,搜索hue_safety_valve.ini添加如下配置
代码语言:javascript复制[hbase]
hbase_conf_dir=/etc/hbase/conf
thrift_transport=buffered
配置完成,重启HBase和Hue。
Hue中测试HBase
1.进入Hue服务界面点击“Web UI”
2.使用admin用户登录Hue,由于admin没有HBase的访问权限,所以看不到表
3.使用hbase用户登录进行测试,如下图,可以看到HBase中已经建好的表
点击进去,,和命令行显示相同查看数据也正常,集成成功。
总结
1.HBase Thrift身份验证选择auth-conf会导致Thrift Server启动失败,因为没有启用hbase.thrift.ssl ,把身份验证修改为auth或者auth-int即可
2.hbase.thrift.support.proxyuser(启用 HBase Thrift 代理用户)这个配置必须勾选,如果不勾选,不论你用什么用户登陆Hue,都显示的是user=hue,没有操作HBase的权限。