HDFS 中集成了Kerberos 安全认证情况下,
GBase 8a MPP Cluster 节点部署Kerberos
客户端后,
即可以执行加载或导出Kerberos 认证下的HDFS 文件。
加载或导出操作
需完成如下配置:
设置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 文件操作,可
参考本章节的5.2.1 和5.2.2 小节。
GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
472
执行加载导出前的配置需要注意:
HDFS 的HTTP 端口号默认为50070,HTTPS 端口号默认为50470,RPC 端口
号默认为9000,
三种协议的端口不同,
在加载或导出SQL 的URL 中的端口需
要与指定的协议一致。
使用HTTPS 协议连接HDFS 时,
因为客户端需要使用CA 根证书对HTTPS 地
址进行验证,所以在加载或导出SQL 的URL 中,指定的HDFS NameNode 的
主机名(或地址)必须与CA 签名的主机名(或地址)完全相同。
当不指定gbase_hdfs_keytab 参数值或指定的参数值为空字符串时,将使用
gbase_hdfs_principal 推定keytab 文件名,
此时应将keytab 文件复制到config 目
录下,keytab 文件的名称应与gbase_hdfs_principal 参数值对应,请参考配置文
件章节。例如:
set gbase_hdfs_principal='gbase/namenode@HADOOP.COM'则config 目录下
keytab 文件名应为:gbase_namenode.kt。
由于Hadoop 和Kerberos 对DNS 解析依赖程度很高,需要DNS 支持正向
(forward)和反向(reverse)查找,在Kerberos 认证环境中在加载和导出语句
的URL 中推荐使用主机名,而不建议使用IP 地址。
多套带不同kerberos 认证的hadoop 集群导入导出时配置
多套kerberos 配置文件合并
(多个kerberos server 的krb5 文件合并放在/etc
目录下);
Kerberos 相关的其他文件有多个就将多个都放到对应目录下,如多个
keytab 放到对应config 目录下,多个CA 证书也放到对应config 下;
GBase 8a集群导入导出hadoop的相关参数目前只有gbase_hdfs_namenodes
支持写多套hadoop 集群,其他参数只支持一套hadoop 集群,所以GBase
的hadoop 参数通过session 级参数动态配置,也可以用url 的参数方式写
在gbase_hdfs_namenodes 里;
由于GBase 8a 是通过api 访问kdc,所以不需要使用kinit 初始化kerberos
客户端。