计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
弹性伸缩 AS
镜像服务 IMS
专属主机 DeH
函数工作流 FunctionGraph
云手机服务器 CPH
Huawei Cloud EulerOS
网络
虚拟私有云 VPC
弹性公网IP EIP
虚拟专用网络 VPN
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
VPC终端节点 VPCEP
云连接 CC
企业路由器 ER
企业交换机 ESW
全球加速 GA
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
边缘安全 EdgeSec
威胁检测服务 MTD
CDN与智能边缘
内容分发网络 CDN
CloudPond云服务
智能边缘云 IEC
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
云搜索服务 CSS
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
数据可视化 DLV
数据湖工厂 DLF
湖仓构建 LakeFormation
企业应用
云桌面 Workspace
应用与数据集成平台 ROMA Connect
云解析服务 DNS
专属云
专属计算集群 DCC
IoT物联网
IoT物联网
设备接入 IoTDA
智能边缘平台 IEF
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
国际站常见问题
ICP备案
我的凭证
支持计划
客户运营能力
合作伙伴支持计划
专业服务
区块链
区块链服务 BCS
Web3节点引擎服务 NES
解决方案
SAP
高性能计算 HPC
视频
视频直播 Live
视频点播 VOD
媒体处理 MPC
实时音视频 SparkRTC
数字内容生产线 MetaStudio
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
存储容灾服务 SDRS
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
专属分布式存储服务 DSS
容器
云容器引擎 CCE
容器镜像服务 SWR
应用服务网格 ASM
华为云UCS
云容器实例 CCI
管理与监管
云监控服务 CES
统一身份认证服务 IAM
资源编排服务 RFS
云审计服务 CTS
标签管理服务 TMS
云日志服务 LTS
配置审计 Config
资源访问管理 RAM
消息通知服务 SMN
应用运维管理 AOM
应用性能管理 APM
组织 Organizations
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
应用身份管理服务 OneAccess
数据库
云数据库 RDS
文档数据库服务 DDS
数据管理服务 DAS
数据复制服务 DRS
云数据库 GeminiDB
云数据库 GaussDB
分布式数据库中间件 DDM
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
人脸识别服务 FRS
图引擎服务 GES
图像识别 Image
内容审核 Moderation
文字识别 OCR
AI开发平台ModelArts
图像搜索 ImageSearch
对话机器人服务 CBS
华为HiLens
视频智能分析服务 VIAS
语音交互服务 SIS
应用中间件
分布式缓存服务 DCS
API网关 APIG
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
多活高可用服务 MAS
事件网格 EG
企业协同
华为云会议 Meeting
云通信
消息&短信 MSGSMS
云生态
合作伙伴中心
云商店
开发者工具
SDK开发指南
API签名指南
Terraform
华为云命令行工具服务 KooCLI
其他
产品价格详情
系统权限
管理控制台
客户关联华为云合作伙伴须知
消息中心
公共问题
开发与运维
应用管理与运维平台 ServiceStage
软件开发生产线 CodeArts
需求管理 CodeArts Req
部署 CodeArts Deploy
性能测试 CodeArts PerfTest
编译构建 CodeArts Build
流水线 CodeArts Pipeline
制品仓库 CodeArts Artifact
测试计划 CodeArts TestPlan
代码检查 CodeArts Check
代码托管 CodeArts Repo
云应用引擎 CAE
开天aPaaS
云消息服务 KooMessage
云手机服务 KooPhone
云空间服务 KooDrive
更新时间:2022-08-16 GMT+08:00

安装配置和启动GDS

操作场景

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

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

背景信息

  1. GDS的版本需与集群版本保持一致(如:GDS V100R008C00版本与DWS 1.3.X版本配套),否则可能会出现导入导出失败或导入导出进程停止响应等情况。

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

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

    gds -V

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

    1
    SELECT version();
    

操作步骤

  1. 在使用GDS导入/导出数据前,请先参考《数据仓库服务用户指南》的“教程:使用GDS导入数据 > 步骤1:准备ECS作为GDS服务器”中的步骤:“准备弹性云服务器作为GDS服务器”、“下载GDS工具包和SSL证书”。
  2. 以root用户登录待安装GDS的数据服务器,创建存放GDS工具包的目录。

    mkdir -p /opt/bin/dws

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

    以上传SUSE Linux版本的工具包为例 ,将GDS工具包“dws_client_8.1.x_suse_x64.zip”上传至上一步所创建的目录中。

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

    cd /opt/bin/dws
    unzip dws_client_8.1.x_suse_x64.zip

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

    groupadd gdsgrp
    useradd -g gdsgrp gds_user

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

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

  8. 切换到gds_user用户。

    su - gds_user

    若当前集群版本为8.0.x及以前版本,请跳过步骤9,直接执行步骤10

    若当前集群版本为8.1.x版本,则正常执行以下步骤。

  9. 执行环境依赖脚本。(仅8.1.x版本适用)

    cd /opt/bin/dws/gds/bin
    source gds_env

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

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

      • --enable-ssl:启用SSL加密方式传输数据。
      • --ssl-dir Cert_file:SSL证书所在目录。需与4中的证书保存目录保持一致。
      • 关于更多参数的设置信息请参考《数据仓库服务工具指南》中的“GDS并行数据加载工具 > gds命令简介”。
    • 方式二:将启动参数写进配置文件“gds.conf”后, 使用“gds_ctl.py”命令启动。
      1. 使用如下命令,进入GDS工具包的“config”目录下,配置“gds.conf”文件。“gds.conf”配置详细信息请参考表1
        vim /opt/bin/dws/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”目录下。该目录需要拥有GDS读写权限的用户自行创建。
        • 单个数据文件大小为100MB。
        • 每个错误日志大小为100MB。
        • 日志保存在“/log/gds_log.txt”文件中。该目录需要拥有GDS读写权限的用户自行创建。
        • 只允许IP为10.10.0.*的节点进行连接。
        • GDS进程以后台方式运行。
        • 递归数据文件目录。
        • 指定并发导入工作线程数目为2。
      2. 执行如下命令启动GDS并确认GDS是否启动成功。
        python3 gds_ctl.py start

        示例:

        cd /opt/bin/dws/gds/bin
        python3 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 < size < 1TB)
         -S size           Set size of data segment.(1MB < size < 100TB)
         -t worker_num     Set number of worker thread in multi-thread mode, the upper limit is 32. If without 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。

我们使用cookie来确保您的高速浏览体验。继续浏览本站,即表示您同意我们使用cookie。 详情