近期某项目上完成了hadoop迁移数据到南大通用GBase 8a数据库,下面为迁移详细实施过程,以供参考。

2.1.创建表结构
根据提供的表结构,在对应的database下创建迁移的表,建议创建为hash分布表。
2.2.配置/etc/hosts
由于 Hadoop 和 Kerberos 对 DNS 解析依赖程度很高, 需要 DNS 支持正向( forward) 和反向( reverse) 查找, 在 Kerberos 认证环境中在加载和导出语句的 URL 中推荐使用主机名, 而不建议使用 IP 地址。
因此需要在Gbase 集群的所有节点的/etc/hosts中,配置hadoop集群所有节点的主机名和IP映射关系。
2.3.安装kerberos客户端
在Gbase 集群的所有节点的安装kerberos客户端,具体安装要求如下:
#在root账户下执行
yum install libkadm5 krb5-libs krb5-devel krb5-workstation
需要修改信息yitong_guest.kt属主,并分发到集群节点的config下。
修改此文件属主为gbase权限为644()
#在root账户下执行
chown gbase: gbase biao_guest.kt
chmod 644 biao_guest.kt
分发到集群的config路径下:
#在gbase账户下执行
cpush coor:biao_guest.kt /gbase/gcluster/config
cpush data:biao_guest.kt /gbase/gnode/config
把KDC配置文件分发到集群所有节点的/etc/下:
#在root账户下执行
cpush all: krb5.cnf /etc/
登录到数据库中,执行下面命令:
#在gbase账户下执行
gccli -uxxx -pxxx
gbase>
set global gbase_hdfs_auth_mode=kerberos ;
set globl gbase_hdfs_protocol=RPC’;
set globl gbase_hdfs_port=25000’;
Set global gbase_hdfs_principal =’biao_guest@HADOOP.COM’;
Set global gbase_hdfs_namenodes=’namenode1,namenode2’;
#管理节点:
Set globalgbase_hdfs_kt =’/gbase/gcluster/config/biao_guest.kt’;
# 数据节点:
gncli -uxxx -pxxx
Set global gbase_hdfs_kt =’/gbase/gnode/config/biao_guest.kt’;
注意:在加载验证成功后,需要把上述参数配置在config文件中,以免集群节点服务重启后失效。
管理节点上执行:
kinit -kt /gbase/gcluster/config/biao_guest.kt biao_guest@HADOOP.COM
数据节点上执行:
kinit -kt /gbase/gnode/config/biao_guest.kt biao_guest@HADOOP.COM
2.8.验证加载
在数据库中创建测试表,然后执行下面测试语句:
#在gbase账户下执行
gccli -uxxx -pxxx
gbase>load data infile ‘hdp://biao_guest@namenode1:25000//user/biao_guest/gbasetest20250313.txt’ into table all_judicial_inquiry_new_2020 data_format 3 fields terminated by ‘|@|;
3.Gbase集群安装 Kerberos 认证的影响
3.1.集群扩容影响
在执行扩容后, 管理员需要执行 Kerberos 客户端安装与配置, 手工完成 Kerberos 客户端环境部署。
3.2.集群升级影响
从不支持 Kerberos 认证的集群版本到支持 Kerberos 认证的集群版本的升级, 管理员
需要执行 Kerberos 客户端安装与配置, 手工完成 Kerberos 客户端环境部署。
3.3.节点替换工具
支持 kerberos 认证的集群版本的节点替换功能。 集群节点替换工具在同步文件时, 需要将$GCLUSTER_BASE/config 或$GBASE_BASE/config 下扩展名为.kt的文件同步到被替换节点。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69979120/viewspace-3089477/ ,如需转载,请注明出处,否则将追究法律责任。