安装配置和启动GDS
操作场景
GaussDB 200提供了数据服务工具GDS来帮助分发待导入的用户数据及实现数据的高速导入。GDS需部署到数据服务器上。
数据量大,数据存储在多个服务器上时,在每个数据服务器上安装配置、启动GDS后,各服务器上的数据可以并行入库。GDS在各台数据服务器上的安装配置和启动方法相同,本节以一台服务器为例进行说明。
背景信息
- GDS支持在如下的操作系统中安装:
鲲鹏平台:
- Community Enterprise Operating System 7.6。
- EulerOS 2.0 SP8。
- Red Hat Enterprise Linux Server release 7.5。
- 中标麒麟7.5/7.6。
x86平台:- SUSE Linux Enterprise Server 10 SP4 x86_64。
- SUSE Linux Enterprise Server 11 SP1/SP2/SP3/SP4 x86_64。
- SUSE Linux Enterprise Server 12 SP0/SP1/SP2/SP3 x86_64。
- Red Hat Enterprise Linux Server release 6.4/6.5/6.6/6.7/6.8/6.9/7.0/7.1/7.2/7.3/7.4/7.5 x86_64。
- Community Enterprise Operating System 6.4/6.5/6.6/6.7/6.8/6.9/7.0/7.1/7.2/7.3/7.4 x86_64。
- GDS的版本需与集群版本保持一致,否则可能会出现导入导出失败或导入导出进程停止响应等情况。
因此请勿使用历史版本的GDS进行导入。数据库版本升级后,请按照操作步骤中的办法下载新版本的GDS进行安装配置和启动。在导入导出开始时,GaussDB 200也会进行两端的版本一致性检测,不一致时会打屏显示报错信息并终止对应操作。
GDS的版本号的查看办法为:在GDS工具的解压目录下执行如下命令。
gds -V
数据库版本的查看办法为:连接数据库后,执行如下SQL命令查看。
1
SELECT version();
- GDS所在的数据服务器必须按照推荐的操作系统以及通信参数进行配置,与集群的配置参数保持一致,确保GDS数据服务器与集群通信正常,避免发生网络断连等问题,影响业务的正常执行。当前巡检包可以完成单机的系统参数检查,具体巡检步骤为:
- 拷贝巡检包到GDS数据服务器。
- 使用root用户执行如下命令,检查系统配置参数。
gs_check -i CheckSysParams -L
- 根据提示,对与期望值不匹配参数进行修改,再次执行上述命令进行验证。
假设遇到提示信息“Warning reason: variable 'net.ipv4.tcp_retries1' RealValue '3' ExpectedValue '5'.”,则使用如下命令:
vim /etc/sysctl.conf //设置参数net.ipv4.tcp_retries1=5 sysctl -p //使参数生效
操作步骤
- 以root用户登录待安装GDS的数据服务器,创建存放GDS工具包的目录。
mkdir -p /opt/bin
- 将GDS工具包上传至上一步所创建的目录中。
以上传SUSE Linux版本的工具包为例 ,将软件安装包“GaussDB_200_6.5.1_SLES.tar.gz\FusionInsight\software\packs\FusionInsight_MPPDB_6.5.1_SLES.tar.gz\FusionInsight_MPPDB\software\components\package\FusionInsight-MPPDB-6.5.1.tar.gz\package\Gauss-MPPDB-ALL-PACKAGES.tar.gz”下的GDS工具包“GaussDB-Kernel-V300R002C00-SUSE11-64bit-Gds.tar.gz”上传至上一步所创建的目录中。
- (可选)如果使用SSL加密传输,请一并上传SSL证书至1所创建的目录下。
GaussDB 200预置了这些证书,放置在了数据目录${BIGDATA_DATA_HOME}/share/sslcert/gds下。请下载并上传。
- 在工具包所在目录下,解压工具包。
cd /opt/bin tar -zxvf GaussDB-Kernel-V300R002C00-SUSE11-64bit-Gds.tar.gz export LD_LIBRARY_PATH="/opt/bin/lib:$LD_LIBRARY_PATH" // GDS依赖了Cjson动态库,使用时,需配置动态库路径。
- 创建GDS专有用户及其所属的用户组。此用户用于启动GDS及读取源数据。
groupadd gdsgrp useradd -g gdsgrp gds_user
- 分别修改工具包和数据源文件目录属主为GDS专有用户。
chown -R gds_user:gdsgrp /opt/bin/gds chown -R gds_user:gdsgrp /input_data
- 切换到gds_user用户。
su - gds_user
- 启动GDS服务。
GDS是绿色软件,解压后启动即可。GDS启动方式有两种。一种是直接使用“gds”命令,在命令项中设置启动参数。另一种是将启动参数写进配置文件“gds.conf”后, 使用“gds_ctl.py”命令启动。对于集中一次性导入的场景推荐使用第一种方式。对于需要隔段时间再次导入的场景,推荐配置文件的形式以提升启动效率。- 使用“gds”命令,启动GDS。
- 非SSL模式传输数据的情况下,启动GDS。
gds -d dir -p ip:port -H address_string -l log_file -D -t worker_num
示例:
/opt/bin/gds/gds -d /input_data/ -p 192.168.0.90:5000 -H 10.10.0.1/24 -l /opt/bin/gds/gds_log.txt -D -t 2
- 使用SSL加密方式传输数据的情况下,启动GDS。
gds -d dir -p ip:port -H address_string -l log_file -D -t worker_num --enable-ssl --ssl-dir Cert_file
示例:
以3中SSL证书以上传至/opt/bin为例,命令如下。/opt/bin/gds/gds -d /input_data/ -p 192.168.0.90:5000 -H 10.10.0.1/24 -l /opt/bin/gds/gds_log.txt -D --enable-ssl --ssl-dir /opt/bin/
命令中的斜体部分请根据实际替换。
- -d dir:保存有待导入数据的数据文件所在目录。本教程中为“/input_data/”。
- -p ip:port:GDS监听IP和监听端口。默认值为:127.0.0.1,需要替换为能跟GaussDB 200通信的万兆网IP。监听端口的取值范围:1024~65535。默认值为:8098。本教程配置为:192.168.0.90:5000。
- -H address_string:允许哪些主机连接和使用GDS服务。参数需为CIDR格式。此参数配置的目的是允许GaussDB 200集群可以访问GDS服务进行数据导入。所以请保证所配置的网段包含GaussDB 200集群各主机。
- -l log_file:存放GDS的日志文件路径及文件名。本教程为“/opt/bin/gds/gds_log.txt”。
- -D:后台运行GDS。仅支持Linux操作系统下使用。
- -t worker_num:设置GDS并发线程数。GaussDB 200及数据服务器上的I/O资源均充足时,可以加大并发线程数。
GDS是根据导入事务并发数来决定服务运行线程数的。也就是说即使启动GDS时设置了多线程,也并不会加速单个导入事务。未做过人为事务处理时,一条INSERT语句就是一个导入事务。
- --enable-ssl:启用SSL加密方式传输数据。
- --ssl-dir Cert_file:SSL证书所在目录。需与3中的证书保存目录保持一致。
- 关于更多参数的设置信息请参考参数说明。
- 使用“gds_ctl.py”命令,启动GDS。
- 使用如下命令,进入GDS工具包的“config”目录下,配置“gds.conf”文件。“gds.conf”配置详细信息请参考表1。
vim /opt/bin/gds/config/gds.conf
示例:
配置“gds.conf”文件如下:
<?xml version="1.0"?> <config> <gds name="gds1" ip="192.168.0.90" port="5000" data_dir="/input_data/" err_dir="/err" data_seg="100MB" err_seg="100MB" log_file="/log/gds_log.txt" host="10.10.0.1/24" daemon='true' recursive="true" parallel="32"></gds> </config>
配置文件信息如下:
- 数据服务器所在IP为192.168.0.90,GDS监听端口为5000。
- 数据文件存放在“/input_data/”目录下。
- 错误日志文件存放在“/err”目录下。
- 单个数据文件大小为100MB。
- 每个错误日志大小为100MB。
- 日志保存在“/log/gds_log.txt”文件中。
- 只允许IP为10.10.0.*的节点进行连接。
- GDS进程以后台方式运行。
- 递归数据文件目录。
- 指定并发导入工作线程数目为2。
- 执行如下命令启动GDS并确认GDS是否启动成功。
python gds_ctl.py start
示例:
cd /opt/bin/gds python gds_ctl.py start Start GDS gds1 [OK] gds [options]: -d dir Set data directory. -p port Set GDS listening port. ip:port Set GDS listening ip address and port. -l log_file Set log file. -H secure_ip_range Set secure IP checklist in CIDR notation. Required for GDS to start. -e dir Set error log directory. -E size Set size of per error log segment.(0 < si ze < 1TB) -S size Set size of data segment.(1MB < size < 10 0TB) -t worker_num Set number of worker thread in multi-thre ad mode, the upper limit is 32. If withou t setting, the default value is 1. -s status_file Enable GDS status report. -D Run the GDS as a daemon process. -r Read the working directory recursively. -h Display usage.
gds.conf参数说明
表1 gds.conf配置说明 属性
说明
取值范围
name
标识名。
-
ip
监听ip地址。
IP需为合法IP地址。
IP的默认值:127.0.0.1
port
监听端口号。
取值范围:1024~65535,正整数。
默认值:8098。
data_dir
数据文件目录。
-
err_dir
错误日志文件目录。
默认值:数据文件目录
log_file
日志文件路径。
-
host
设置允许连接到GDS的主机IP地址(参数为CIDR格式,仅支持linux系统)。
-
recursive
是否递归数据文件目录。
取值范围:
- true:递归 。
- false:不递归。
默认值:false。
daemon
是否以DAEMON(后台)模式运行。
取值范围:
- true:以DAEMON模式运行。
- false:不以DAEMON模式运行。
默认值:false。
parallel
导入工作线程并发数目。
取值范围:0~32,正整数。
默认值:1。
查看更多:华为GaussDB 200 通过外表并行导入「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」关注作者【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。评论
- 使用SSL加密方式传输数据的情况下,启动GDS。
- 非SSL模式传输数据的情况下,启动GDS。
- 将GDS工具包上传至上一步所创建的目录中。
- 根据提示,对与期望值不匹配参数进行修改,再次执行上述命令进行验证。
- GDS所在的数据服务器必须按照推荐的操作系统以及通信参数进行配置,与集群的配置参数保持一致,确保GDS数据服务器与集群通信正常,避免发生网络断连等问题,影响业务的正常执行。