云服务器内容精选

  • 操作步骤 登录弹性云服务器管理控制台。 登录已创建好的Linux系统云服务器,用于同时访问SFS容量型文件系统和SFS Turbo文件系统。 输入以下挂载命令,用于访问文件系统1。文件系统1可以是SFS容量型文件系统或SFS Turbo文件系统。 mount -t nfs -o vers=3,timeo=600,noresvport,nolock 文件系统1挂载地址 /mnt/src 输入以下挂载命令,用于访问文件系统2。文件系统2可以是SFS容量型文件系统或SFS Turbo文件系统。 mount -t nfs -o vers=3,timeo=600,noresvport,nolock 文件系统2挂载地址 /mnt/dst 下载并安装rclone工具。下载地址请参见https://rclone.org/downloads/。 执行以下命令,进行数据同步。 rclone copy /mnt/src /mnt/dst -P --transfers 32 --checkers 64 --links --create-empty-src-dirs 参数说明如下,transfers和checkers数目可以根据系统规格自行配置: /mnt/src :源路径 /mnt/dst:目标路径 --transfers:传输文件的并发数目。 --checkers:扫描本地文件的并发数目。 -P:数据拷贝进度。 --links:复制源端的软链接,目的端保持为软链接的形式。 --copy-links:复制源端软链接指向的文件内容,目的端变成文件的形式,不再是软链接。 --create-empty-src-dirs:复制源端的空目录到目的端。 等待数据完成同步后,可前往目标文件系统查看是否已成功迁移。
  • 不同Region 当源集群与目标集群处于不同Region时,用Distcp工具将源集群数据拷贝到OBS,借助OBS跨区域复制功能(请参见跨区域复制)将数据复制到对应目的集群所在Region的OBS,然后通过Distcp工具将OBS数据拷贝到目的集群的HDFS上。由于执行Distcp无法为OBS上的文件设置权限、属主/组等信息,因此当前场景在进行数据导出时也需要将HDFS的元数据信息进行导出并拷贝,以防HDFS文件属性信息丢失。
  • 线下集群向云迁移 线下集群可以通过如下两种方式将数据迁移至云: 云专线(DC) 为源集群与目标集群之间建立云专线,打通线下集群出口网关与线上VPC之间的网络,然后参考同Region执行Distcp进行拷贝。 数据快递服务(DES) 对于TB或PB级数据上云的场景,华为云提供数据快递服务 DES。将线下集群数据及已导出的元数据拷贝到DES盒子,快递服务将数据递送到华为云机房,然后通过云数据迁移 CDM将DES盒子数据拷贝到HDFS。
  • 不同Region 当源集群与目标集群处于不同Region时,用Distcp工具将源集群数据拷贝到OBS,借助OBS跨区域复制功能(请参见跨区域复制)将数据复制到对应目的集群所在Region的OBS,然后通过Distcp工具将OBS数据拷贝到目的集群的HDFS上。由于执行Distcp无法为OBS上的文件设置权限、属主/组等信息,因此当前场景在进行数据导出时也需要将HDFS的元数据信息进行导出并拷贝,以防HDFS文件属性信息丢失。
  • 线下集群向云迁移 线下集群可以通过如下两种方式将数据迁移至云: 云专线(DC) 为源集群与目标集群之间建立云专线,打通线下集群出口网关与线上VPC之间的网络,然后参考同Region执行Distcp进行拷贝。 数据快递服务(DES) 对于TB或PB级数据上云的场景,华为云提供数据快递服务 DES。将线下集群数据及已导出的元数据拷贝到DES盒子,快递服务将数据递送到华为云机房,然后通过云数据迁移 CDM将DES盒子数据拷贝到HDFS。
  • 数据迁移常用端口 表1 MRS数据迁移常用组件 组件 配置参数 默认端口 端口说明 HDFS dfs.namenode.rpc.port 9820 Hadoop 2.x和Hadoop 3.x版本。 迁移过程中,需要访问NameNode获取文件列表。 dfs.datanode.port 25009 迁移过程中,需要访问DataNode读取具体文件数据。 ZooKeeper clientPort 2181 ZooKeeper客户端连接ZooKeeper服务器。 Kerberos kdc_ports 21732 Kerberos服务认证,非Kerberos集群不涉及。 Hive hive.metastore.port 9083 Hive 2.x和Hive3.x版本。 MetaStore提供Thrift服务的端口。迁移过程中,需要访问该端口查询表元数据信息。 HBase hbase.master.port 16000 HBase1.x和HBase 2.x版本。 HMaster RPC端口。该端口用于HBase客户端连接到HMaster。 hbase.regionserver.port 16020 RS (RegoinServer) RPC端口。该端口用于HBase客户端连接到RegionServer。 Manager N/A 28443 FusionInsight/MRS Manager页面端口。 CDM迁移时候访问该地址获取集群配置。 N/A 20009 FusionInsight/MRS Manager CAS协议端口,用于登录认证。
  • 数据迁移网络方案说明 进行大数据迁移时,需要保证源端集群和目的端集群之间的网络互通,例如使用hadoop distcp命令跨集群复制数据时需要所有DataNode节点网络互通。根据不同的迁移场景需要使用不通的方式先打通两套集群之间网络连接。 客户线下数据中心迁移数据到华为云MRS集群,通过云专线服务为用户搭建本地数据中心与云上VPC之间的专属连接通道。可以使用华为云的云专线服务或使用第三方的云专线服务来连通华为云网络。 图1 线下数据中心迁移 客户在华为云上自建大数据集群(或老版本的MRS集群)需要迁移到华为云MRS集群,且在同一个Region区域和VPC子网,可以使自建集群和MRS集群使用相同安全组、VPC、子网网络,从而保证网络连通。 图2 线上同Region同VPC迁移 客户在华为云上自建大数据集群(或老版本的MRS集群)需要迁移到华为云MRS集群,且在同一个Region区域,但是使用不同VPC子网。需要使用VPC对等连接方式配置网络连通。 图3 线上同Region不同VPC迁移 客户在华为云上自建大数据集群(或老版本的MRS集群)需要迁移到华为云MRS集权,但在不同Region区域,可以通过使用云连接构建跨区域VPC的网络连接。 图4 线上不同Region迁移
  • 操作步骤 将数据文件上传到客户端所在节点,例如上传名为“data.csv”的文件到客户端所在节点的“/opt/test”目录下,分隔符为“|^[”,文件内容如下所示: 以客户端安装用户,登录安装客户端的节点。 执行以下命令切换到客户端目录。 cd 客户端安装目录 执行以下命令配置环境变量。 source bigdata_env 如果当前集群已启用Kerberos认证,执行以下命令认证当前用户,当前用户需要具有创建HBase表的权限和HDFS的操作权限: kinit 组件业务用户 如果当前集群未启用Kerberos认证,则执行以下命令设置Hadoop用户名: export HADOOP_USER_NAME=hbase 执行以下命令,把1的数据文件“data.csv”上传至HDFS目录,例如上传至“/tmp”目录: hdfs dfs -put /opt/test/data.csv /tmp 执行Phoenix客户端命令。 sqlline.py 执行以下命令创建TEST表: CREATE TABLE TEST ( ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR, AGE INTEGER, ADDRESS VARCHAR, GENDER BOOLEAN, A DECIMAL, B DECIMAL ) split on (1, 2, 3,4,5,6,7,8,9); 表创建成功后,执行!quit退出Phoenix命令行。 执行导入命令: hbase org.apache.phoenix.mapreduce.CsvBulkLoadTool -md '自定义分隔符' -t 表名 -i 数据路径 例如:导入数据文件“data.csv”到TEST表: hbase org.apache.phoenix.mapreduce.CsvBulkLoadTool -md '|^[' -t TEST -i /tmp/data.csv 执行以下命令,查看导入表TEST的数据: sqlline.py SELECT * FROM TEST LIMIT 10;
  • 操作步骤 直接执行如下命令统计满足如下条件的行数。rowkey在从“row_start”到“row_stop”的范围,字段“f3:age”的值为“25”,rowkey的前两个字符为“mi”的行数。 hbase com.huawei.hadoop.hbase.tools.bulkload.RowCounter -Dcounter.rowkey.start="row_start" -Dcounter.rowkey.stop="row_stop" -Dcounter.qualifier="f3:age:25" -Dcounter.rowkey.value="substring(0,2) == 'mi'" table1 -Dcounter.rowkey.start="row_start":表示开始的rowkey为"row_start"。 -Dcounter.rowkey.stop="row_stop":表示结束的rowkey为"row_stop"。 -Dcounter.qualifier="f3:age:25":表示列族f3中列为age的列值为25。 -Dcounter.rowkey.value="substring(0,2) == 'mi'":表示rowkey的值中前两个为mi。 如果指定了“row_start”和“row_stop”,则统计的为大于等于“row_start”并且小于“row_stop”的数据。
  • 支持区域 当前已上传OBS数据的区域如表1所示。 表1 区域和OBS桶名 区域 OBS桶名 华北-北京一 dws-demo-cn-north-1 华北-北京二 dws-demo-cn-north-2 华北-北京四 dws-demo-cn-north-4 华北-乌兰察布一 dws-demo-cn-north-9 华东-上海一 dws-demo-cn-east-3 华东-上海二 dws-demo-cn-east-2 华南-广州 dws-demo-cn-south-1 华南-广州友好 dws-demo-cn-south-4 中国-香港 dws-demo-ap-southeast-1 亚太-新加坡 dws-demo-ap-southeast-3 亚太-曼谷 dws-demo-ap-southeast-2 拉美-圣地亚哥 dws-demo-la-south-2 非洲-约翰内斯堡 dws-demo-af-south-1 拉美-墨西哥城一 dws-demo-na-mexico-1 拉美-墨西哥城二 dws-demo-la-north-2 莫斯科二 dws-demo-ru-northwest-2 拉美-圣保罗一 dws-demo-sa-brazil-1
  • 步骤三:安装并启动GDS服务器 参见弹性云服务的购买弹性云服务器创建弹性云服务器,注意ECS与DWS创建在同一个区域、VPC内,本例ECS镜像选择CentOS 7.6版本。 下载GDS工具包。 登录GaussDB(DWS)管理控制台。 在左侧导航栏中,单击“连接管理”。 在“命令行客户端”的下拉列表中,选择对应版本的GDS客户端。 请根据集群版本和安装客户端的操作系统,选择对应版本。 客户端CPU架构要和集群一致,如果集群是X86规格,则也应该选择X86客户端。 单击“下载”。 使用SFTP工具将下载的客户端(本实验以dws_client_8.2.x_redhat_x64.zip为例)上传至ECS的/opt目录下。 使用root用户登录ECS执行以下命令,进入/opt目录,解压客户端。 1 2 cd /opt unzip dws_client_8.2.x_redhat_x64.zip 创建GDS专有用户及所属用户组,此用户用于启动GDS及读取源数据。 1 2 groupadd gdsgrp useradd -g gdsgrp gds_user 分别修改工具包和数据源文件目录属主为GDS专有用户。 1 2 chown -R gds_user:gdsgrp /opt/gds/bin chown -R gds_user:gdsgrp /opt 切换到gds用户。 1 su - gds_user 执行以下命令进入gds目录,并执行环境变量。 1 2 cd /opt/gds/bin source gds_env 执行以下命令启动gds,其中ECS内网IP通过ECS控制台查看如下。 1 /opt/gds/bin/gds -d /opt -p ECS内网IP:5000 -H 0.0.0.0/0 -l /opt/gds/bin/gds_log.txt -D -t 2 放通ECS到DWS之间的网络端口。 由于GDS服务器(即本实验ECS)与DWS需要建立通讯,ECS默认的安全组入方向并没有放通GDS端口5000和DWS端口8000,需执行以下步骤: 回到弹性云服务器ECS的控制台,单击云服务器名称进入详情。 切换到“安全组”页签,单击“配置规则”。 选择“入方向规则”,单击“添加规则”,优先级输入1,协议端口输入5000,单击“确认”。 按以上方式,另外添加一行8000的入方向规则。
  • 配置Oracle数据库连接 连接Oracle数据库时,连接参数如表1所示。 作业运行中禁止修改密码或者更换用户。在作业运行过程中修改密码或者更换用户,密码不会立即生效且作业会运行失败。 表1 Oracle数据库连接参数 参数名 说明 取值样例 名称 连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。 oracle_link 数据库服务器 配置为要连接的数据库的IP地址或域名。 192.168.0.1 端口 配置为要连接的数据库的端口。 默认端口:1521 数据库连接类型 选择Oracle数据库连接类型: Service Name:通过SERVICE_NAME连接Oracle数据库。 SID:通过SID连接Oracle数据库。 SID 实例名称 配置Oracle实例ID,用于实例区分各个数据库。“数据库连接类型”选择“SID”时才有该参数。 dbname 数据库名称 配置为要连接的数据库名称。“数据库连接类型”选择“Service Name”时才有该参数。 dbname 用户名 待连接数据库的用户。该数据库用户需要有数据表的读写权限,以及对元数据的读取权限。 cdm 密码 用户密码。 - 使用Agent Agent功能待下线,无需配置。 - Agent Agent功能待下线,无需配置。 - Oracle版本 创建Oracle连接时才有该参数,根据您Oracle数据库的版本来选择。当出现“java.sql.SQLException: Protocol violation异常”时,可以尝试更换版本号。 高于12.1 一次请求行数 可选参数,单击“显示高级属性”后显示。 指定每次请求获取的行数,根据数据源端和作业数据规模的大小配置该参数。如果配置过大或过小,可能影响作业的时长。 Oracle到DWS迁移时,可能出现目的端写太久导致迁移超时的情况。此时请减少Oracle源端“一次请求行数”参数值的设置。 1000 连接属性 可选参数,单击“添加”可增加多个指定数据源的JDBC连接器的属性,参考对应数据库的JDBC连接器说明文档进行配置。 常见配置举例如下: oracle.net.CONNECT_TIMEOUT=60000与oracle.jdbc.ReadTimeout=300000:迁移数据量较大、或通过查询语句检索全表时,会由于连接超时导致迁移失败。此时可自定义连接超时时间与读取超时时间(单位ms),避免超时导致失败。 sslmode=require 引用符号 可选参数,连接引用表名或列名时的分隔符号,参考对应数据库的产品文档进行配置。 " 驱动版本 不同类型的关系数据库,需要适配不同的驱动,更多详情请参见如何获取驱动。 - 父主题: 管理连接
  • 配置PostgreSQL/SQLServer连接 连接PostgreSQL/SQLServer时,相关参数如表1所示,金仓和GaussDB数据源可通过PostgreSQL连接器进行连接,支持的迁移作业的源端、目的端情况与PostgreSQL数据源一致。 作业运行中禁止修改密码或者更换用户。在作业运行过程中修改密码或者更换用户,密码不会立即生效且作业会运行失败。 表1 PostgreSQL/SQLServer连接参数 参数名 说明 取值样例 名称 连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。 sql_link 数据库服务器 配置为要连接的数据库的IP地址或域名。 单击输入框后的“选择”,可获取用户的实例列表。 192.168.0.1 端口 配置为要连接的数据库的端口。 不同的数据库端口不同,请根据具体情况配置。例如: SQLServer默认端口:1433 PostgreSQL默认端口:5432 数据库名称 配置为要连接的数据库名称。 dbname 用户名 待连接数据库的用户。该数据库用户需要有数据表的读写权限,以及对元数据的读取权限。 cdm 密码 用户名密码。 - 使用Agent Agent功能待下线,无需配置。 - Agent Agent功能待下线,无需配置。 - 驱动版本 不同类型的关系数据库,需要适配不同的驱动,更多详情请参见如何获取驱动。 - 单次请求行数 可选参数,单击“显示高级属性”后显示。 指定每次请求获取的行数,根据数据源端和作业数据规模的大小配置该参数。如果配置过大或过小,可能影响作业的时长。 1000 连接属性 可选参数,单击“添加”可增加多个指定数据源的JDBC连接器的属性,参考对应数据库的JDBC连接器说明文档进行配置。 常见配置举例如下: connectTimeout=60与socketTimeout=300:迁移数据量较大、或通过查询语句检索全表时,会由于连接超时导致迁移失败。此时可自定义连接超时时间与socket超时时间(单位s),避免超时导致失败。 useCursorFetch=false:CDM作业默认打开了JDBC连接器与关系型数据库通信使用二进制协议开关,即useCursorFetch=true。部分第三方可能存在兼容问题导致迁移时间转换出错,可以关闭此开关。 trustServerCertificate=true:在创建安全连接的时候可能会报PKIX错误,建议设置为true。 sslmode=require 引用符号 可选参数,连接引用表名或列名时的分隔符号,参考对应数据库的产品文档进行配置。 " 父主题: 管理连接
  • 配置SAP HANA连接 连接SAP HANA时,相关参数如表1所示。 作业运行中禁止修改密码或者更换用户。在作业运行过程中修改密码或者更换用户,密码不会立即生效且作业会运行失败。 表1 SAP HANA连接参数 参数名 说明 取值样例 名称 连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。 sap_link 数据库服务器 配置为要连接的数据库的IP地址或域名。 单击输入框后的“选择”,可获取用户的实例列表。 192.168.0.1 端口 配置为要连接的数据库的端口。 不同的数据库端口不同,请根据具体情况配置。 数据库名称 配置为要连接的数据库名称。 dbname 用户名 待连接数据库的用户。该数据库用户需要有数据表的读写权限,以及对元数据的读取权限。 cdm 密码 用户名密码。 - 使用Agent Agent功能待下线,无需配置。 - Agent Agent功能待下线,无需配置。 - 单次请求行数 可选参数,单击“显示高级属性”后显示。 指定每次请求获取的行数,根据数据源端和作业数据规模的大小配置该参数。如果配置过大或过小,可能影响作业的时长。 1000 连接属性 可选参数,单击“添加”可增加多个指定数据源的JDBC连接器的属性,参考对应数据库的JDBC连接器说明文档进行配置。 常见配置举例如下: connectTimeout=360000与socketTimeout=360000:迁移数据量较大、或通过查询语句检索全表时,会由于连接超时导致迁移失败。此时可自定义连接超时时间与socket超时时间(单位ms),避免超时导致失败。 useCursorFetch=false:CDM作业默认打开了JDBC连接器与关系型数据库通信使用二进制协议开关,即useCursorFetch=true。部分第三方可能存在兼容问题导致迁移时间转换出错,可以关闭此开关;开源MySQL数据库支持useCursorFetch参数,无需对此参数进行设置。 sslmode=require 引用符号 可选参数,连接引用表名或列名时的分隔符号,参考对应数据库的产品文档进行配置。 ' 父主题: 管理连接
  • 配置分库连接 分库指的是同时连接多个后端数据源,该连接可作为作业源端,将多个数据源的数据合一迁移到其他数据源上。连接参数如表1所示。 作业运行中禁止修改密码或者更换用户。在作业运行过程中修改密码或者更换用户,密码不会立即生效且作业会运行失败。 表1 分库连接参数 参数名 说明 取值样例 名称 连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。 my_link 用户名 待连接数据库的用户。 仅当“数据源列表”中某个后端数据库A未配置用户名密码时,该配置对A生效。如果后端数据库B已配置用户名密码,此处配置不对B生效。 cdm 密码 待连接数据库的用户密码。 仅当“数据源列表”中某个后端数据库A未配置用户名密码时,该配置对A生效。如果后端数据库B已配置用户名密码,此处配置不对B生效。 - 使用Agent Agent功能待下线,无需配置。 - Agent Agent功能待下线,无需配置。 - 后端数据源 输入后端数据库的类型,当前仅支持MYSQL。 MYSQL 数据源列表 输入后端数据库的IP、端口、数据库名称、账户名、密码,以“:”隔开。即ip:port:dbs:username:password,其中username:password可以不填,此时以“用户名”、“密码”配置为准。 如果此处有多个后端数据库,需要确保表结构一致,并使用“|”分隔数据源。如果密码包含“|”或者“:”,可使用“\”转义。 例如“192.168.3.0:3306:cdm|192.168.2.2:3306:cdm:user:password”表示,第一个后端数据库IP为192.168.3.0,端口为3306,数据库名称为cdm,账户名密码以“用户名”、“密码”处配置为准;第二个后端数据库IP为192.168.2.2,端口为3306,数据库名称为cdm,账户名为“user”、密码为“password”。 192.168.3.0:3306:cdm|192.168.2.2:3306:cdm:user:password 单次请求行数 可选参数,单击“显示高级属性”后显示。 指定每次请求获取的行数,根据数据源和作业数据规模的大小配置该参数。如果配置过大或过小,可能影响作业的时长。 1000 连接属性 可选参数,单击“添加”可增加多个指定数据源的JDBC连接器的属性,参考对应数据库的JDBC连接器说明文档进行配置。 sslmode=require 引用符号 可选参数,连接引用表名或列名时的分隔符号,参考对应数据库的产品文档进行配置。 ' 父主题: 管理连接