文档首页 > > 工具指南> GDS并行数据加载工具> 安装配置和启动GDS

安装配置和启动GDS

分享
更新时间: 2019/08/09 GMT+08:00

操作场景

DWS提供了数据服务工具GDS来帮助分发待导入的用户数据及实现数据的高速导入。GDS需部署到数据服务器上。

数据量大,数据存储在多个服务器上时,在每个数据服务器上安装配置、启动GDS后,各服务器上的数据可以并行入库。GDS在各台数据服务器上的安装配置和启动方法相同,本节以一台服务器为例进行说明。

背景信息

  • GDS支持在如下的操作系统中安装:

      

    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 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 V100R008C00版本与DWS 1.3.X版本配套),否则可能会出现导入导出失败或导入导出进程停止响应等情况。

    因此请勿使用历史版本的GDS进行导入。数据库版本升级后,请按照操作步骤中的办法下载新版本的GDS进行安装配置和启动。在导入导出开始时,DWS也会进行两端的版本一致性检测,不一致时会打屏显示报错信息并终止对应操作。

    GDS的版本号的查看办法为:在GDS工具的解压目录下执行如下命令。

    gds -V

    数据库版本的查看办法为:连接数据库后,执行如下SQL命令查看。

    SELECT version();

操作步骤

  1. 参见《数据仓库服务用户指南》中的“使用GDS导入或导出数据”章节,完成步骤“准备GDS服务器”、“下载GDS工具包和SSL证书”。
  2. 以root用户登录待安装GDS的数据服务器,创建存放GDS工具包的目录。

    mkdir -p /opt/bin

  3. 将GDS工具包上传至上一步所创建的目录中。

    以上传SUSE Linux版本的工具包为例 ,将GDS工具包“GaussDB-Kernel-V300R002C00-SUSE11-64bit-Gds.tar.gz”上传至上一步所创建的目录中。

  4. (可选)如果使用SSL加密传输,请一并上传SSL证书至2所创建的目录下。

      

  5. 在工具包所在目录下,解压工具包。

    cd /opt/bin
    tar -zxvf GaussDB-Kernel-V300R002C00-SUSE11-64bit-Gds.tar.gz

  6. 创建GDS专有用户及其所属的用户组。此用户用于启动GDS及读取源数据。

    groupadd gdsgrp
    useradd -g gdsgrp gds_user

  7. 分别修改工具包和数据源文件目录属主为GDS专有用户。

    chown -R gds_user:gdsgrp /opt/bin/gds 
    chown -R gds_user:gdsgrp /input_data 

  8. 切换到gds_user用户。

    su - gds_user

  9. 启动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

        示例:

        4中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,需要替换为能跟DWS通信的万兆网IP。监听端口的取值范围:1024~65535。默认值为:8098。本教程配置为:192.168.0.90:5000。
      • -H address_string:允许哪些主机连接和使用GDS服务。参数需为CIDR格式。此参数配置的目的是允许DWS集群可以访问GDS服务进行数据导入。所以请保证所配置的网段包含DWS集群各主机。
      • -l log_file:存放GDS的日志文件路径及文件名。本教程为“/opt/bin/gds/gds_log.txt”。
      • -D:后台运行GDS。仅支持Linux操作系统下使用。
      • -t worker_num:设置GDS并发线程数。DWS及数据服务器上的I/O资源均充足时,可以加大并发线程数。

        GDS是根据导入事务并发数来决定服务运行线程数的。也就是说即使启动GDS时设置了多线程,也并不会加速单个导入事务。未做过人为事务处理时,一条INSERT语句就是一个导入事务。

      • --enable-ssl:启用SSL加密方式传输数据。
      • --ssl-dir Cert_file:SSL证书所在目录。需与4中的证书保存目录保持一致。
      • 关于更多参数的设置信息请参考参数说明
    • 使用“gds_ctl.py”命令,启动GDS。
      1. 使用如下命令,进入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。
      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。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区