配置OushuDB连接Secure HDFS (可选)

** 注意:HDFS可插拔存储外部表在kerberos环境下可以工作 **

准备工作

安装部署好Secure HDFS

安装部署好MIT Kerberos KDC

同步KDC和OushuDB cluster的系统时间

开始部署

登录KDC server,将Kerberos配置文件/etc/krb5.conf分发至OushuDB每个节点

scp /etc/krb5.conf <hawq-node>:/etc/krb5.conf

为postgres用户创建Kerberos principal并生成一个keytab文件

kadmin.local -q "addprinc -randkey postgres@REALM"
kadmin.local -q "xst -k /etc/security/keytabs/hawq.keytab postgres@REALM"

将keytab文件分发至OushuDB Master节点

scp /etc/security/keytabs/hawq.keytab <hawq-master>:/etc/security/keytabs/hawq.keytab

登录OushuDB Master,更改keytab文件的用户权限

chown gpadmin:gpadmin /etc/security/keytabs/hawq.keytab
chmod 400 /etc/security/keytabs/hawq.keytab

修改$GPHOME/etc/hawq-site.xml,添加如下内容:

<property>
   <name>enable_secure_filesystem</name>
   <value>ON</value>
</property>
<property>
   <name>krb_server_keyfile</name>
   <value>/etc/security/keytabs/hawq.keytab</value>
</property>

修改$GPHOME/etc/hdfs-client.xml,去掉如下所示的KDC注释:

<!-- KDC
...
KDC -->

分发至OushuDB各个节点

将HDFS上OushuDB数据目录属主改为postgres用户

sudo -u hdfs hadoop fs -chown -R postgres:gpadmin /<dfs_url>