GBase GCDW
安装配置
文章

GCDW物理机版部署

发表于2025-09-12 17:58:38235次浏览7个评论


1.概述
本文主要介绍GCDW集群环境的部署及前期工作。
2.前期准备
2.1 kerberos认证 
参考kerberos认证资料
2.2 foundationdb部署
2.2.1 配置资源限制
vim /etc/security/limits.conf
*       soft    nofile  655360
*       hard    nofile  655360
*       soft  nproc  8192
*       hard  nproc  8192
2.2.2 将文件推送到集群各节点
cpush all:  /etc/security/limits.conf /etc/security/limits.conf
2.2.3 执行安装foundationdb
集群各节点安装foundationdb-clients
cexec all: "rpm -ich  /opt/gcdw/tools/foundation/foundationdb-clients-6.3.25-0.28e326a1fd200ce271ecf6883315f1126da49186.SNAPSHOT.el7.x86_64.rpm"

fdb服务端节点安装foundationdb-server
cexec fdb: "rpm -ivh  /opt/gcdw/tools/foundation/foundationdb-server-6.3.25-0.28e326a1fd200ce271ecf6883315f1126da49186.SNAPSHOT.el7.x86_64.rpm"
2.2.4 目录规划
(/opt/gcdw/ 为数据盘大分区挂载路径)
cexec  all: "usermod -s /bin/bash foundationdb"
cexec  all: "mkdir -p /opt/gcdw/foundationdb/data/"
cexec  all: "mkdir -p /opt/gcdw/foundationdb/log"
cexec  all: "chown -R foundationdb:foundationdb /etc/foundationdb/"
cexec  all: "chown -R foundationdb:foundationdb /opt/gcdw/foundationdb/"
cexec  all: "chmod 700 -R /opt/gcdw/foundationdb/"
cexec  fdb: "systemctl stop foundationdb.service"
2.2.5 修改foundationdb配置文件
vim /etc/foundationdb/fdb.cluster
K4iqGABU:nbJ1NwrS@本机IP:4500

vim /etc/foundationdb/foundationdb.conf
修改处:
datadir = /opt/gcdw/foundationdb/data/$ID
logdir = /opt/gcdw/foundationdb/log

注释处:(此文章未使用fdb备份功能)
#[backup_agent]
#command = /usr/lib/foundationdb/backup_agent/backup_agent
##logdir = /fdb/backup_log/foundationdb
#[backup_agent.1]

添加处:
详解!
多核CPU下用户可以通过在每个核上运行一个指定类型的FoundationDB进程来最大化性能,为每一个CPU核心按照进程类型添加一个[fdbserver.<ID>]进行配置,ID 不能重复,此部分的 ID 也用作网络端口和数据目录。

class=stateless:
Stateless 指的是系统或组件在处理请求时不保留任何先前的状态信息。每个请求都是独立的,系统不会记住之前的请求或用户的状态。这种设计通常用于提高系统的可伸缩性和简化实现。例如,HTTP协议本身是无状态的,每个请求都是独立的。

class=transaction:
Transaction 指的是一组操作,这些操作作为一个整体来执行,要么全部成功,要么全部失败。事务通常用于数据库系统中,以确保数据的一致性和完整性。例如,在银行系统中,转账操作会涉及到从一个账户扣款和向另一个账户存款,这两个操作必须作为一个事务处理,以确保两者都成功或都失败。

class=storage:
Storage 通常指的是用于保存数据的系统或机制。这可以包括数据库、文件系统、对象存储等。存储类通常负责数据的持久化、检索和管理。例如,关系数据库管理系统(RDBMS)就是一种存储系统,用于保存和查询结构化数据。

以下为64C机器配置。
##6 stateless process
[fdbserver.4500]
class=stateless
[fdbserver.4501]
class=stateless
[fdbserver.4502]
class=stateless
[fdbserver.4503]
class=stateless
[fdbserver.4504]
class=stateless
[fdbserver.4505]
class=stateless
##6 transaction process
[fdbserver.4520]
class=transaction
[fdbserver.4521]
class=transaction
[fdbserver.4522]
class=transaction
[fdbserver.4523]
class=transaction
[fdbserver.4524]
class=transaction
[fdbserver.4525]
class=transaction
##52 storage process
[fdbserver.4530]
class=storage 
[fdbserver.4531]
class=storage 
[fdbserver.4532]
class=storage 
[fdbserver.4533]
class=storage 
[fdbserver.4534]
class=storage 
[fdbserver.4535]
class=storage 
[fdbserver.4536]
class=storage 
[fdbserver.4537]
class=storage 
[fdbserver.4538]
class=storage 
[fdbserver.4539]
class=storage 
[fdbserver.4540]
class=storage 
[fdbserver.4541]
class=storage 
[fdbserver.4542]
class=storage 
[fdbserver.4543]
class=storage 
[fdbserver.4544]
class=storage 
[fdbserver.4545]
class=storage 
[fdbserver.4546]
class=storage 
[fdbserver.4547]
class=storage 
[fdbserver.4548]
class=storage 
[fdbserver.4549]
class=storage 
[fdbserver.4550]
class=storage 
[fdbserver.4551]
class=storage 
[fdbserver.4552]
class=storage 
[fdbserver.4553]
class=storage 
[fdbserver.4554]
class=storage 
[fdbserver.4555]
class=storage 
[fdbserver.4556]
class=storage 
[fdbserver.4557]
class=storage 
[fdbserver.4558]
class=storage 
[fdbserver.4559]
class=storage 
[fdbserver.4560]
class=storage 
[fdbserver.4561]
class=storage 
[fdbserver.4562]
class=storage 
[fdbserver.4563]
class=storage 
[fdbserver.4564]
class=storage 
[fdbserver.4565]
class=storage 
[fdbserver.4566]
class=storage 
[fdbserver.4567]
class=storage 
[fdbserver.4568]
class=storage 
[fdbserver.4569]
class=storage 
[fdbserver.4570]
class=storage 
[fdbserver.4571]
class=storage 
[fdbserver.4572]
class=storage 
[fdbserver.4573]
class=storage 
[fdbserver.4574]
class=storage 
[fdbserver.4575]
class=storage 
[fdbserver.4576]
class=storage 
[fdbserver.4577]
class=storage 
[fdbserver.4578]
class=storage 
[fdbserver.4579]
class=storage 
[fdbserver.4580]
class=storage 
2.2.6 将修改后的配置文件推送到各节点
cpush fdb: /etc/foundationdb/foundationdb.conf  /etc/foundationdb/foundationdb.conf
cpush all: /etc/foundationdb/fdb.cluster   /etc/foundationdb/fdb.cluster
2.2.7 启动fdb并配置开机自启动
cexec fdb: "systemctl restart foundationdb.service"
cexec fdb: "systemctl enable foundationdb.service"
cexec fdb: "ps -ef|grep foundation"
cexec fdb: "systemctl status foundationdb.service"
2.2.8初始化fdb
shell> fdbcli  -p qweasdzxc123$%^  (此处密码随意输入)

设置为SSD模式:
fdb> configure new triple ssd  #SSD盘执行该命令
fdb> exec

shell> fdbcli -p fdb%GCDW   (此处密码设置为后续登录密码)

添加fdb服务端IP:
fdb> coordinators 10.0.0.201:4500 10.0.0.202:4500 10.0.0.203:4500

执行configure命令: 此处3节点设置为double
fdb> configure double

冗余模式详解:
5节点的fdb集群设置为triple
3节点的fdb集群设置为double
1节点的fdb集群设置为single


设置foundationdb集群进程数,生产上按照proxies=8、resolvers=1、logs=30配置三种进程。
fdb> configure proxies=8
fdb> configure resolvers=1
fdb> configure logs=30
2.2.9将fdb.cluster 推送到各节点
cpush all: /etc/foundationdb/fdb.cluster   /etc/foundationdb/fdb.cluster
2.2.10执行status命令查看状态
shell> fdbcli -p fdb%GCDW 
fdb> status details
10.0.0.201:4500 (reachable)
10.0.0.202:4500 (reachable)
10.0.0.203:4500 (reachable)
回显中显示如上为服务正常运行,到此fdb部署完成
3.GCDW部署
3.1 配置资源限制
vim /etc/security/limits.conf
gbase soft sugpending unlimited
gbase hard sugpending unlimited
gbase soft nproc unlimited
gbase hard nproc unlimited
3.2 将文件推行送到集群各节点
cpush all: /etc/security/limits.conf /etc/security/limits.conf
3.3 配置/etc/hosts,
vim /etc/hosts
将hadoop集群的主备namenode的IP列表及对应主机名,所有datanode的IP列表及对应主机名,kdc域名ip列表及对应主机名添加到/etc/hosts。
3.4 将文件推送到各节点
cpush all: /etc/hosts /etc/hosts
3.5 gbse用户配置互信免密
略~
3.6 解压安装包
tar -xf /opt/tools/GCDW-NoLicense-9.8.0.7.6-redhat8-x86_64.tar.bz2  -C /opt/gcdw/
3.7 gcdw目录授权
chown -R gbase.gbase /opt/gcdw/
3.8 分发SetSysEnv.py并执行
cpush all: /opt/gcdw/gcinstall/SetSysEnv.py /opt/gcdw/SetSysEnv.py
cexec all: "python /opt/gcdw/SetSysEnv.py --dbaUser=gbase --installPrefix=/opt/gcdw --cgroup"
3.9 demo.options Kerberos认证方式的配置参数详解
gcluster_instance_name= 实例名
instance_root_name= 集群最高用户
instance_root_password= 集群最高用户的密码
GCDW_STORAGE_STYLE= 存储类型,目前支持s3和hdfs两种类型。
GCDW_HDFS_NAMENODES= namenode节点的地址和端口,暂未使用
GCDW_HDFS_URI= 【hdp\hdfs】://用户@地址:端口/【路径/】  
hdp为http协议,hdfs为rpc协议。
用户:使用的kerberos的用户。
地址:namenode节点的地址。
端口:namenode的http或rpc端口
路径:租户提供,需要对用户有读写权限。
GCDW_HDFS_AUTH_MODE= 默认不填写是简单认证模式,本处改成kerberos
GCDW_HDFS_PRINCIPAL= klist获取,比如hdfs/gcdw@HADOOP.COM
GCDW_HDFS_KEYTAB= 包含kerberos用户和密码的凭据文件,可以从远端ftp下载,也可以指定本地文件,比如/opt/hdfs.keytab
GCDW_HDFS_KERBEROS_CONFIG= kerberos的配置文件,是从KDC机器上复制过来的,必须保持一致。 可以用ftp下载,也可以用本地,比如/etc/krb5.conf
3.10 执行部署脚本
cd /opt/gcdw/gcinstall
./gcinstall.py --silent=demo.options
3.11 部署成功后检查
集群安装完成后检查
account --show
3.12 修改gcluster参数
所有节点分别执行,使用安装节点的gbase用户,进入/opt/节点ip/gcluster/config目录,执行

vim gbase_8a_gcluster.cnf

[gbased]

……

gcdw_hdfs_client_timeout=600

_t_gcluster_support_cte=1

table_definition_cache=5120

table_open_cache=1280

gcluster_random_insert=1

gcluster_send_client_data_timeout=1800

group_concat_max_len=10240

……

#加载参数

gbase_hdfs_auth_mode = kerberos

gbase_hdfs_protocol = rpc

gbase_hdfs_keytab = /etc/user.keytab

gbase_hdfs_principal = hadoop/namenode@HADOOP.COM

gcdw_hdfs_namenodes =                                 --9.8.0.7.7_patch.2版本必须设置该参数

gbase_hdfs_namenodes = 10.225.9.200,10.225.9.211|gxsjzx-CN04-9-200,gxsjzx-CN03-9-211|10.225.9.181,10.225.9.184|gxsjzx-CN05-9-181,gxsjzx-CN08-9-184|10.225.9.188,10.225.9.192|gxsjzx-CN09-9-188,gxsjzx-CN010-9-192|10.225.11.178,10.225.11.191|gxsjzx-CN14-11-178,gxsjzx-CN13-11-191|10.225.11.186,10.225.11.168|gxsjzx-CN16-11-186,gxsjzx-CN15-11-168|10.225.11.190,10.225.11.175|gxsjzx-CN18-11-190,gxsjzx-CN17-11-175                        --格式为   ns01主ip,ns01备ip|ns01主主机名,ns01备主机名 ...

 

[gbasedump]

保存退出,修改其他管理节点的gbase_8a_gcluster.cnf,最后重启gcluster服务(涉及ip不同,必须手动修改)
3.13 修改gnode参数
所有节点分别执行,使用gbase用户,进入 第一个数据节点/opt/节点ip/gnode/config目录,执行

vim gbase_8a_gbase.cnf  

……

[gbased]

……

gbase_loader_parallel_degree=4

gbase_parallel_degree=4

gbase_parallel_max_thread_in_pool=512

gbase_loader_read_timeout=5000

gbase_loader_max_line_length=32M

gbase_export_directory=0

thread_stack=524288

table_definition_cache=5120

table_open_cache=1280

_gbase_sis_ctq_threads=512

group_concat_max_len=10240

gbase_buffer_insert=2G

……

#加载参数

gbase_hdfs_auth_mode = kerberos

gbase_hdfs_protocol = rpc

gbase_hdfs_keytab = /etc/user.keytab

gbase_hdfs_principal = hadoop/namenode@HADOOP.COM

gcdw_hdfs_namenodes =                                 --9.8.0.7.7_patch.2版本必须设置该参数

gbase_hdfs_namenodes = 10.225.9.200,10.225.9.211|gxsjzx-CN04-9-200,gxsjzx-CN03-9-211|10.225.9.181,10.225.9.184|gxsjzx-CN05-9-181,gxsjzx-CN08-9-184|10.225.9.188,10.225.9.192|gxsjzx-CN09-9-188,gxsjzx-CN010-9-192|10.225.11.178,10.225.11.191|gxsjzx-CN14-11-178,gxsjzx-CN13-11-191|10.225.11.186,10.225.11.168|gxsjzx-CN16-11-186,gxsjzx-CN15-11-168|10.225.11.190,10.225.11.175|gxsjzx-CN18-11-190,gxsjzx-CN17-11-175            --格式为   ns01主ip,ns01备ip|ns01主主机名,ns01备主机名 ...

[gbasedump]

保存退出,修改其他管理节点的gbase_8a_gbase.cnf,最后重启gbase服务(涉及ip不同,必须手动修改)
3.14 设置开机自启动
cexec wh: 'echo "su - gbase -c \"gcluster_services all start\"" >> /etc/rc.d/rc.local'

cexec coor: 'echo "su - gbase -c \"gcware_services all start\"" >> /etc/rc.d/rc.local'

cexec wh: 'chmod +x /etc/rc.d/rc.local'
3.15 创建warehouse
gcadmin createwh e wh.xml

 

vim wh.xml

添加node ip

修改wh_name,comment message。

 

执行创建warehouse。

gcadmin createwh wh.xml
至此GCDW部署完成

评论

登录后才可以发表评论
GBase用户21143发表于 10个月前
向你学习!
GBase用户21182发表于 10个月前
学习一下。
我是火炎焱燚发表于 10个月前
6666
崔哥发表于 7个月前
明月淡飞琼,阴云薄中酒。收尽盈盈舞絮飘,点点轻鸥咒。晴浦晚风寒,青山玉骨瘦。回看亭亭雪映窗,淡淡烟垂岫。
崔哥发表于 3个月前
黄师塔前江水东,春光懒困倚微风。桃花一簇开无主,可爱深红爱浅红?
GBase用户51934发表于 2个月前
学习了
GBase用户47954发表于 2个月前
感谢作者的精彩分享!