更新时间:2024-11-29 GMT+08:00
配置安全的HBase Replication
配置场景
安全模式下,在交叉域设置Kerberos时,配置安全的HBase replication的过程。
前提条件
- 在Kerberos配置文件中必须定义所有FQDN映射到它的域。
- ONE.COM和TWO.COM的密码和keytab必须要一样。
操作步骤
- 为两个域创建krbtgt账户名。
比如,有ONE.COM和TWO.COM两个域,需要添加如下账户名:krbtgt/ONE.COM@TWO.COM及krbtgt/TWO.COM@ONE.COM。
在两个域中均添加这两个账户名。
kadmin: addprinc -e "<enc_type_list>" krbtgt/ONE.COM@TWO.COM kadmin: addprinc -e "<enc_type_list>" krbtgt/TWO.COM@ONE.COM
在这两个域之间必须至少有一个共同的keytab模式。
- 在Zookeeper中,为创建短名称添加规则。
Dzookeeper.security.auth_to_local是Zookeeper服务器进程的参数。以下例子说明了如何支持ONE.COM,在账户名中有两个成员(如service/instance@ONE.COM)。
Dzookeeper.security.auth_to_local=RULE:[2:\$1@\$0](.*@\\QONE.COM\\E$)s/@\\QONE.COM\\E$//DEFAULT
以上代码案例为在不同的域中支持ONE.COM。因此在replication中,需要为在从属集群域的主集群域添加规则。DEFAULT是已经添加了默认规则。
- 在Hadoop进程中,为创建短名称添加规则。
在从属集群的HBase进程中的“core-site.xml”配置文件的属性hadoop.security.auth_to_local。比如:支持ONE.COM:
<property> <name>hadoop.security.auth_to_local</name> <value>RULE:[2:$1@$0](.*@\QONE.COM\E$)s/@\QONE.COM\E$//DEFAULT</value> </property>
如果启用bulkload replication功能,那么在主集群HBase进程的配置文件“core-site.xml”中需要添加支持从属域的相同属性。
例如:
<property> <name>hadoop.security.auth_to_local</name> <value>RULE:[2:$1@$0](.*@\QTWO.COM\E$)s/@\QTWO.COM\E$//DEFAULT</value> </property>
父主题: 使用HBase