在CDH 5.7.2-1.cdh5.7.2.po.18中,我正在尝试使用Cloudera Manager将HBase配置为使用可见性标签和授权,如下面的Cloudera社区帖子中所述:
Cloudera Manager hbase 可见性标签
使用 Cloudera Manager,我已成功更新以下属性的值:
- hbase.coprocessor.region.classes: 设置为 org.apache.hadoop.hbase.security.visibility.VisibilityController
- hbase.coprocessor.master.classes: 设置为 org.apache.hadoop.hbase.security.visibility.VisibilityController
- hbase.security.authorization:设置为 true
不幸的是,无论出于何种原因,Cloudera Manager 都没有公开 hfile.format.version 变量,所以我无法将其设置为 3。
当我在仅更新上述三个变量后重新启动 HBase 时,角色日志中会出现如下错误:
ERROR org.apache.hadoop.hbase.coprocessor.CoprocessorHost:协处理器org.apache.hadoop.hbase.security.visibility.VisibilityController 抛出了java.lang.RuntimeException:至少需要3的HFile版本才能保留安全标签。考虑相应地设置 hfile.format.version。
我很想相应地设置 hfile.format.version,但是...当它没有在Cloudera Manager中公开时,我将如何做到这一点?例如,文件系统上是否有一些我可以修改的配置文件?Cloudera Manager必须从某个地方获取当前设置。
谢谢!
Cloudera Manager有一个配置部分,它称之为安全阀。 它将允许您将任意属性设置为所需的任何值。 有关以下示例,请参阅此文档:
- 转到 HBase 服务。
- 单击配置选项卡。
- 选择"作用域">"区域服务器"。
- 选择"类别">"高级"。
-
找到 HBase 服务高级配置片段(安全阀(的 hbase-site.xml 属性,或通过在"搜索"框中键入其名称来搜索它。
-
添加您的自定义 XML(例如(:
<property> <name>property-name</name> <value>property-value</value> </property>