GBase 8a MPP Cluster Kerberos 安全认证下的 HDFS 文件操作

1. GBase 8a MPP Cluster 集群安装 Kerberos 客户端

Kerberos 客户端的安装与配置主要分为以下几个步骤:

  • 在 GBase 8a MPP Cluster 的所有集群节点上,安装 Kerberos 客户端安装包,再将 Kerberos 客户端配置文件 /etc/krb5.conf 由 KDC 服务器复制到所有集群节点上的 /etc 目录下;
  • GBase 8a MPP Cluster 集群通过 kerberos 认证加载或者导出 HDFS 文件,要求 Kerberos 安装包的最低版本为 1.10;如检测到当前 Kerberos 版本低于1.10,会在 express.log 日志中打印 Kerberos version too old, require 1.10 or higher 信息;
  • 将 Kerberos 认证密钥文件 keytab 复制到所有节点指定目录,Coordinate 节点目录为 $GCLUSTER_BASE/config,data 节点目录为 $GBASE_BASE/config
  • 将 HTTPS 的 CA 根证书文件追加到所有节点的根证书文件中,其中 CA 根证书文件中包含一个或多个证书。
    Coordinate 节点根证书文件为:$GCLUSTER_BASE/config/ca-bundle.crt
    data 节点根证书文件为:$GBASE_BASE/config/ca-bundle.crt

2. 加载/导出 Kerberos 认证下 HDFS 文件

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 的 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 客户端。

3. GBase 8a MPP Cluster 安装 Kerberos 认证的影响

  • 集群扩容影响
    支持 Kerberos 认证的集群版本在执行扩容后,管理员需要执行 Kerberos 客户端安装与配置,手工完成 Kerberos 客户端环境部署。
  • 集群升级影响
    从不支持 Kerberos 认证的集群版本到支持 Kerberos 认证的集群版本的升级,管理员需要执行 Kerberos 客户端安装与配置,手工完成 Kerberos 客户端环境部署。
  • 集群节点替换工具
    支持 kerberos 认证的集群版本的节点替换功能。集群节点替换工具在同步文件时,需要将 $GCLUSTER_BASE/config$GBASE_BASE/config 下扩展名为 .kt.pem / .crt / .cer / .crl 的文件同步到被替换节点。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值