GCDW物理机版部署
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部署完成
评论
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526