异常描述
配置Hue集成HBase的过程中,添加角色实例HBase Thrift Server后,把HBase Thrift身份验证(hbase.thrift.security.qop)配置为auth-conf
启动服务会出现HBase Thrift Server启动失败,报错如下:
代码语言:javascript复制Exception in thread "main" java.lang.IllegalArgumentException: Thrift HTTP Server's QoP is privacy, but hbase.thrift.ssl.enabled is false
at org.apache.hadoop.hbase.thrift.ThriftServerRunner.checkHttpSecurity(ThriftServerRunner.java:394)
at org.apache.hadoop.hbase.thrift.ThriftServerRunner.<init>(ThriftServerRunner.java:383)
at org.apache.hadoop.hbase.thrift.ThriftServer.doMain(ThriftServer.java:94)
at org.apache.hadoop.hbase.thrift.ThriftServer.main(ThriftServer.java:232)
异常分析
根据异常提示分析主要是因为HBase Thrift Server未启用hbase.thrift.ssl 验证,关于HBase Thrift 身份验证的三种方式说明如下:
auth-conf:Authentication,integrity,and confidentiality checking
auth-int:Authentication and integrity checking
auth:Authentication checking only
可以看到如果使用auth-conf验证方式必须要加密,也就是启用SSL。
解决办法
把HBase Thrift身份验证(hbase.thrift.security.qop)配置为auth-int或者auth,HBase Thrift Server可以正常启动。
如果要使用auth-conf验证方式,那么就必须启用SSL加密。
总结
在配置HBase Thrift身份验证的时候,如果要使用auth-conf的话,那么必须配置SSL,如果没有配置SSL就只能选择auth-int或者auth。