HDFS 中集成了 Kerberos 安全认证情况下, GBase 8a 集群节点部署 Kerberos 客户端后,即可以执行加载或导出 Kerberos 认证下的 HDFS 文件,具体kerberos环境配置请参考:GBase 8a MPP数据库集群Kerberos环境配置
加载或导出操作需完成如下配置:
-
设置 gbase_hdfs_auth_mode=kerberos,指定使用 Kerberos 认证方式连接HDFS。
-
设置 gbase_hdfs_protocol=http/https/rpc,指定使用 HTTP/HTTPS/RPC 协议连接 HDFS。
-
设置 gbase_hdfs_principal=“xxx”,指定 kerberos 认证主体。
-
设置 gbase_hdfs_keytab=‘xxx’,指定 keytab 文件路径。
以上配置完成后,即可进行加载导出操作
执行加载导出前的配置需要注意:
-
HDFS 的 HTTP 端口号默认为 50070, HTTPS 端口号默认为 50470, RPC 端口号默认为 9000,三种协议的端口不同,在加载或导出 SQL 的 URL 中的端口需要与指定的协议一致。
-
使用 HTTPS 协议连接 HDFS 时,因为客户端需要使用 CA 根证书对 HTTPS 地址进行验证,所以在加载或导出 SQL 的 URL 中,指定的 HDFS NameNode 的主机名(或地址)必须与 CA 签名的主机名(或地址)完全相同。
-
当不指定 gbase_hdfs_keytab 参数值或指定的参数值为空字符串时,将使用
-
由于 hadoop 和 kerberos 对 dns 解析依赖程度很高,需要 dns 支持正向( forward)和反向( reverse) 查找,在 kerberos 认证环境中在加载和导出语句的 URL 中推荐使用主机名,而不建议使用 IP 地址。