GBase新闻

专注于数据库软件产品和服务,致力于成为用户最信赖的数据库产品供应商

“G”术时刻:数据搬家不迷路 HBase迁往GBase 8a全流程指南

发布时间:2025-06-30

在数据驱动业务发展的当下,数据迁移就像给企业的“数字资产” 搬新家——既要保证 “家具” 完好无损,又要让新家布局合理。最近,总有社区的小伙伴咨询Hadoop业务数据如何平稳迁移到GBase数据库集群。下面就奉上详细的迁移实施过程供大家参考,让数据“搬家”不再“迷路”。

 

迁移实施方案

Hadoop集群提供材料

GBase 8a MPP Cluster接入HDFS数据,需要hadoop集群提供下面内容:

  • Hadoop集群namenode、datanode的主机名和ip映射关系

  • kerberos客户端配置文件krb5.conf

  • kerberos认证密钥文件kt, 及principal名称

  • 需开通的端口(RPC协议):

a)开通Hadoop集群所有节点 访问GBase集群所有管理节点的端口(默认5258)

b)开通Hadoop集群所有节点 访问GBase集群所有数据节点的端口(默认5050)

c)开通GBase集群所有节点)访问Hadoop集群所有节点的端口(如25000)

d)开通GBase集群所有节点到kdc服务器对应端口范围,如27230-27232(在krb5.conf中可以查到)

  • 所有迁移表的表结构

 

GBase集群实施方案

创建表结构

根据提供的表结构,在对应的database下创建迁移的表,建议创建为hash分布表。

配置/etc/hosts 

由于Hadoop和Kerberos对 DNS 解析依赖程度很高, 需要DNS支持正向( forward)和反向( reverse)查找, 在Kerberos认证环境中在加载和导出语句的URL中推荐使用主机名, 而不建议使用 IP 地址。

因此需要在GBase集群的所有节点的/etc/hosts中,配置Hadoop集群所有节点的主机名和IP映射关系。

安装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配置文件

把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

验证加载

在数据库中创建测试表,然后执行下面测试语句:

#在gbase账户下执行

gccli -uxxx -px
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 ‘|@|;

 

GBase集群安装Kerberos认证的影响 

集群扩容影响

在执行扩容后, 管理员需要执行Kerberos 客户端安装与配置, 手工完成Kerberos 客户端环境部署。 

集群升级影响 

从不支持Kerberos认证的集群版本到支持Kerberos认证的集群版本的升级, 管理员需要执行Kerberos客户端安装与配置, 手工完成Kerberos客户端环境部署。

节点替换工具

支持kerberos认证的集群版本的节点替换功能。 集群节点替换工具在同步文件时,需要将$GCLUSTER_BASE/config 或$GBASE_BASE/config 下扩展名为.kt的文件同步到被替换节点。