华为云用户手册

  • 能直接通过ssh访问CloudTable的计算节点吗? 不能。CloudTable的底层计算单元运行在一个VPC网络中,VPC即虚拟私有云,是通过逻辑方式进行网络隔离,提供安全、隔离的网络环境,为您的数据提供了一层保护。您只能使用客户端工具或者应用程序连接到CloudTable的ZK链接地址(即HBase的连接地址)对CloudTable进行访问。 OpenTSDB功能目前只适用于HBase的1.3.1版本。 父主题: 连接访问类
  • hbase-site.xml能自己配置么? 客户端的hbase-site.xml文件 如果您部署了HBase Shell客户端,您就可以配置客户端目录下的“hbase/conf/hbase-site.xml”文件。 服务器端的hbase-site.xml文件 您不能直接编辑服务端的hbase-site.xml文件,但是可以在 表格存储服务 管理控制台中修改hbase-site.xml文件中的部分参数,详情请参见修改集群HBase参数。如果修改这些参数无法满足您的需求,如需修改其他参数请联系技术支持人员。 父主题: 连接访问类
  • 处理方法 删除其他节点上的表格以及存放的数据,可解决此问题。 创建数据库。 create database demo ON CLUSTER default_cluster; 使用数据库,在新建的数据库中创建表。 use demo; 创建表test。 CREATE TABLE demo.test ON CLUSTER default_cluster(`EventDate` DateTime, `id` UInt64)ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/default/test', '{replica}') PARTITION BY toYYYYMM(EventDate) ORDER BY id; 删除表格。 drop table test SYNC; 再次创建同名表格,出现以下现象。 ┌─host──────────┬─port─┬─status─┬─error──────────────────────────────────────────────────────────────────────────────────────────────┬─num_hosts_remaining─┬─num_hosts_active─┐│ 192.168.2.185 │ 9000 │ 57 │ Code: 57. DB::Exception: Table demo.test already exists. (TABLE_ALREADY_EXISTS) (version 22.3.2.1) │ 1 │ 1 │└───────────────┴──────┴────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┴─────────────────────┴──────────────────┘┌─host─────────┬─port─┬─status─┬─error─┬─num_hosts_remaining─┬─num_hosts_active─┐│ 192.168.2.16 │ 9000 │ 0 │ │ 0 │ 0 │└──────────────┴──────┴────────┴───────┴─────────────────────┴──────────────────┘ 方法一:用以下删除命令会删除每个节点上的表以及存放的相关数据。 drop table test ON CLUSTER default_cluster SYNC; 创建同名表格,创建成功。 方法二:进入其他节点删除表格。 drop table test SYNC;
  • 使用场景 连通同区域CloudTable集群与跨VPC对端集群。 连通跨区域CloudTable集群与对端集群。 公网访问CloudTable集群。 连通CloudTable集群和线下数据中心。 表1 使用方案 场景 支持组件 方案 约束与限制 连通同区域CloudTable集群与跨VPC对端集群 ClickHouse/Doris VPC对等连接:对等连接用于连通同一个区域内的VPC,您可以在相同账户下或者不同账户下的VPC之间创建对等连接。更多信息请参见对等连接概述章节。 CloudTable集群访问对端集群,需要为集群添加路由。 说明: 路由添加请联系技术人员。 连通跨区域CloudTable集群与对端集群 ClickHouse/Doris 云连接CC:云连接可以接入不同区域的VPC,快速实现跨区域网络构建。更多信息请参见什么是云连接章节。 CloudTable集群访问对端集群,需要为集群添加路由。 说明: 路由添加请联系技术人员。 公网访问CloudTable集群 ClickHouse/Doris 绑定ELB,通过ELB绑定的EIP,为集群提供公网访问的能力,同时提供负载均衡能力。更多信息请参见什么是ELB章节。 无法访问对端集群。 连通CloudTable集群和线下数据中心 ClickHouse/Doris 云专线(DC):DC用于搭建线下数据中心和云上VPC之间高速、低时延、稳定安全的专属连接通道,通过DC可以构建大规模混合云组网。更多信息请参见什么是云专线章节。 虚拟专用网络 (VPN):VPN用于在线下数据中心和云上VPC之间建立一条安全加密的公网通信隧道。更多信息请参见什么是虚拟专用网络章节。 CloudTable集群访问对端集群,需要为集群添加路由。 说明: 路由添加请联系技术人员。 HBase公网访问配置: 可以给HBase集群的hmaster和regionserver节点分别对应一个公网ip, NAT绑定集群的VPC,配置DNAT规格,全端口映射。更多信息请参考NAT网关配置章节。 客户端终端配置hosts主机映射。 hosts映射的主机名,以及hmaster和regionserver的私网ip都需要找技术人员获取。
  • 处理方法 在其他的节点上创建数据库。 方法一: 创建数据库。 create database demo; 使用数据库demo。 use demo; 创建表格test,显示结果如图1所示,其他节点不存在数据库demo。 CREATE TABLE demo.test ON CLUSTER default_cluster(`EventDate` DateTime, `id` UInt64)ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/default/test', '{replica}') PARTITION BY toYYYYMM(EventDate) ORDER BY id; 解决办法,在其他节点上创建数据库demo,再创建表格,结果如下图所示。 图2 创建表格结果示意图 方法二: 删除数据库,用此命令创建后,每个节点都会创建的数据库。 create database demo ON CLUSTER default_cluster; 在创建表格就不会出现图中所示问题。
  • 字符集检查 对源库和目标库的字符集进行检查,将检查结果展示给用户,该检查仅为字符集兼容结果提示性信息,与后续操作无关,字符集兼容情况如表1到表3所示。 字符集兼容性结果说明: 告警:源库和目标库字符集不完全兼容。 成功:源库和目标库字符集兼容。 表1 Oracle到 GaussDB 字符集兼容情况 源库 目标库 检查结果 SQL_ASCII SQL_ASCII 成功 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 警告 UTF16 警告 UTF8 警告 UTF32 警告 其他字符集 警告 US7ASCII SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 警告 UTF16 警告 UTF8 警告 UTF32 警告 其他字符集 警告 ISO-8859-1 SQL_ASCII 警告 ISO-8859-1 成功 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 警告 UTF16 警告 UTF8 警告 UTF32 警告 其他字符集 警告 LATIN1 SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 成功 GB2312 警告 GBK 警告 GB18030 警告 UTF16 警告 UTF8 警告 UTF32 警告 其他字符集 警告 GB2312 SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 成功 GBK 成功 GB18030 成功 UTF16 成功 UTF8 成功 UTF32 成功 其他字符集 警告 ZHS16GBK SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 成功 GB18030 成功 UTF16 成功 UTF8 成功 UTF32 成功 其他字符集 警告 GBK SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 成功 GB18030 成功 UTF16 成功 UTF8 成功 UTF32 成功 其他字符集 警告 ZHS32GB18030 SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 成功 UTF16 成功 UTF8 成功 UTF32 成功 其他字符集 警告 GB18030 SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 成功 UTF16 成功 UTF8 成功 UTF32 成功 其他字符集 警告 AL16UTF16 SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 警告 UTF16 成功 UTF8 成功 UTF32 成功 其他字符集 警告 UTF16 SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 警告 UTF16 成功 UTF8 成功 UTF32 成功 其他字符集 警告 AL32UTF8 SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 警告 UTF16 成功 UTF8 成功 UTF32 成功 其他字符集 警告 UTF8 SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 警告 UTF16 成功 UTF8 成功 UTF32 成功 其他字符集 警告 UTF32 SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 警告 UTF16 成功 UTF8 成功 UTF32 成功 其他字符集 警告 其他字符集 SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 警告 UTF16 警告 UTF8 警告 UTF32 警告 其他字符集 警告 表2 MySQL到GaussDB字符集兼容情况 源库 目标库 检查结果 ISO-8859-1/LATIN1 SQL_ASCII 警告 ISO-8859-1 成功 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 警告 UTF16 警告 UTF8 警告 UTF32 警告 其他字符集 警告 GB2312 SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 成功 GBK 成功 GB18030 成功 UTF16 成功 UTF8 成功 UTF32 成功 其他字符集 警告 GBK SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 成功 GB18030 成功 UTF16 成功 UTF8 成功 UTF32 成功 其他字符集 警告 GB18030 SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 成功 UTF16 成功 UTF8 成功 UTF32 成功 其他字符集 警告 UTF16 SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 警告 UTF16 成功 UTF8 成功 UTF32 成功 其他字符集 警告 UTF8 SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 警告 UTF16 成功 UTF8 成功 UTF32 成功 其他字符集 警告 UTF32 SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 警告 UTF16 成功 UTF8 成功 UTF32 成功 其他字符集 警告 ASCII SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 警告 UTF16 警告 UTF8 警告 UTF32 警告 其他字符集 警告 UTF8MB3 SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 成功 UTF16 成功 UTF8 成功 UTF32 成功 其他字符集 警告 UTF8MB4 SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 警告 UTF16 成功 UTF8 成功 UTF32 成功 其他字符集 警告 UTF16LE SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 警告 UTF16 成功 UTF8 成功 UTF32 成功 其他字符集 警告 其他字符集 SQL_ASCII 警告 ISO-8859-1 警告 LATIN1 警告 GB2312 警告 GBK 警告 GB18030 警告 UTF16 警告 UTF8 警告 UTF32 警告 其他字符集 警告 表3 Oracle到MySQL字符集兼容情况 源库 目标库 检查结果 SQL_ASCII ASCII 成功 LATIN1/ISO-8859-1 警告 GB2312 警告 GBK 警告 UTF8MB3 警告 GB18030 警告 UTF16 警告 UTF16LE 警告 UTF8 警告 UTF32 警告 UTF8MB4 警告 其他字符集 警告 US7ASCII ASCII 警告 LATIN1/ISO-8859-1 警告 GB2312 警告 GBK 警告 UTF8MB3 警告 GB18030 警告 UTF16 警告 UTF16LE 警告 UTF8 警告 UTF32 警告 UTF8MB4 警告 其他字符集 警告 ISO-8859-1 ASCII 警告 LATIN1/ISO-8859-1 成功 GB2312 警告 GBK 警告 UTF8MB3 警告 GB18030 警告 UTF16 警告 UTF16LE 警告 UTF8 警告 UTF32 警告 UTF8MB4 警告 其他字符集 警告 LATIN1 ASCII 警告 LATIN1/ISO-8859-1 成功 GB2312 警告 GBK 警告 UTF8MB3 警告 GB18030 警告 UTF16 警告 UTF16LE 警告 UTF8 警告 UTF32 警告 UTF8MB4 警告 其他字符集 警告 GB2312 ASCII 警告 LATIN1/ISO-8859-1 警告 GB2312 成功 GBK 成功 UTF8MB3 成功 GB18030 成功 UTF16 成功 UTF16LE 成功 UTF8 成功 UTF32 成功 UTF8MB4 成功 其他字符集 警告 ZHS16GBK ASCII 警告 LATIN1/ISO-8859-1 警告 GB2312 警告 GBK 成功 UTF8MB3 成功 GB18030 成功 UTF16 成功 UTF16LE 成功 UTF8 成功 UTF32 成功 UTF8MB4 成功 其他字符集 警告 GBK ASCII 警告 LATIN1/ISO-8859-1 警告 GB2312 警告 GBK 成功 UTF8MB3 成功 GB18030 成功 UTF16 成功 UTF16LE 成功 UTF8 成功 UTF32 成功 UTF8MB4 成功 其他字符集 警告 ZHS32GB18030 ASCII 警告 LATIN1/ISO-8859-1 警告 GB2312 警告 GBK 成功 UTF8MB3 成功 GB18030 成功 UTF16 成功 UTF16LE 成功 UTF8 成功 UTF32 成功 UTF8MB4 成功 其他字符集 警告 GB18030 ASCII 警告 LATIN1/ISO-8859-1 警告 GB2312 警告 GBK 警告 UTF8MB3 警告 GB18030 成功 UTF16 成功 UTF16LE 成功 UTF8 成功 UTF32 成功 UTF8MB4 成功 其他字符集 警告 AL16UTF16 ASCII 警告 LATIN1/ISO-8859-1 警告 GB2312 警告 GBK 警告 UTF8MB3 警告 GB18030 警告 UTF16 成功 UTF16LE 成功 UTF8 成功 UTF32 成功 UTF8MB4 成功 其他字符集 警告 UTF16 ASCII 警告 LATIN1/ISO-8859-1 警告 GB2312 警告 GBK 警告 UTF8MB3 警告 GB18030 警告 UTF16 成功 UTF16LE 成功 UTF8 成功 UTF32 成功 UTF8MB4 成功 其他字符集 警告 AL32UTF8 ASCII 警告 LATIN1/ISO-8859-1 警告 GB2312 警告 GBK 警告 UTF8MB3 警告 GB18030 警告 UTF16 成功 UTF16LE 成功 UTF8 成功 UTF32 成功 UTF8MB4 成功 其他字符集 警告 UTF8 ASCII 警告 LATIN1/ISO-8859-1 警告 GB2312 警告 GBK 警告 UTF8MB3 警告 GB18030 警告 UTF16 成功 UTF16LE 成功 UTF8 成功 UTF32 成功 UTF8MB4 成功 其他字符集 警告 UTF32 ASCII 警告 LATIN1/ISO-8859-1 警告 GB2312 警告 GBK 警告 UTF8MB3 警告 GB18030 警告 UTF16 成功 UTF16LE 成功 UTF8 成功 UTF32 成功 UTF8MB4 成功 其他字符集 警告 其他字符集 ASCII 警告 LATIN1/ISO-8859-1 警告 GB2312 警告 GBK 警告 UTF8MB3 警告 GB18030 警告 UTF16 警告 UTF16LE 警告 UTF8 警告 UTF32 警告 UTF8MB4 警告 父主题: 迁移预检查说明
  • 对象迁移 在完成了数据库评估,并确认目标数据库后,可以开始正式的数据库对象迁移,在该模块中,UGO将一步一步引导用户制定转换计划、设计转换方案,并帮用户完成语法自动转换和一键迁移。对于转换失败或迁移失败的对象,还提供了对象编辑、批量修改等功能,简化手动改造工作的同时还会确保每次修改的留痕,提供历史修改记录查看和回滚的能力。 实施对象迁移 对象迁移项目管理 迁移预检查说明 语法转换说明 数据类型转换说明
  • UGO自定义策略样例 示例1:授权用户创建评估项目 {"Version": "1.1","Statement": [{"Action": ["ugo:evaluationJob:create"] "Effect": "Allow",}]} 示例2:拒绝用户删除评估项目 拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先。 如果您给用户授予UGO FullAccess的系统策略,但不希望用户拥有UGO FullAccess中定义的删除评估项目,您可以创建一条拒绝删除云服务的自定义策略,然后同时将UGO FullAccess和拒绝策略授予用户,根据Deny优先原则,则用户可以对评估项目执行除了删除评估项目外的所有操作。拒绝策略示例如下: {"Version": "1.1","Statement": [{"Action": ["ugo:evaluationJob:delete"],"Effect": "Deny"}]}
  • 导入模板文件 当需要跨云上账户,导入其他账户中预设好并导出的转换配置模板文件时,请在“导入模板文件”页签内创建转换模板。如何导出转换配置模板,请参考导出转换配置模板。 登录UGO控制台。 单击左侧导航栏“转换配置管理”,进入转换配置管理页面。 单击“创建配置模板”,进入“创建配置模板”页面,单击“导入模板文件”按钮,进入“导入模板文件”页签。 单击“添加文件”按钮,上传其他实例导出的ugotmplt格式模板文件,系统会识别并展示“模板名称”、“源数据库类型”、“目标数据库类型”和预设好的“特性配置”列表。 图2 通过导入模板文件创建配置模板 (可选)在配置项列表中,根据当前UGO实例需要迁移的数据库场景,进行微调。
  • 支持审计操作的关键列表 云审计 服务是安全解决方案中专业的日志审计服务,记录了数据库和应用迁移 UGO的相关操作事件,方便您日后的查询、审计和回溯。 表1 云审计服务支持的UGO操作列表 操作名称 资源类型 事件名称 创建数据库评估项目 evaluate createEvaluationJob 创建对象迁移项目 migrate createMigrationJob 数据库评估项目测试连接 evaluate testConnection 对象迁移项目测试连接 migrate testConnection 删除数据库评估项目 evaluate deleteEvaluationJob 删除对象迁移项目 migrate deleteMigrationJob 开始对象迁移验证 migrate startVerify 停止对象迁移验证 migrate stopVerify 开始对象迁移 migrate startMigrate 停止对象迁移 migrate stopMigrate 停止数据库评估项目 evaluate stopEvaluationJob 恢复数据库评估项目 evaluate resumeEvaluationJob 确认目标库 evaluate confirmEvaluationJob 重新开始数据库评估 evaluate reanalyzeEvaluation 预检查 evaluate preCheck 上传证书 evaluate uploadCertFile 测试网络稳定性 evaluate testNetwork 父主题: 对接云审计服务
  • 操作场景 标签管理服务(Tag Management Service,TMS)用于用户在云平台,通过统一的标签管理各种资源。TMS服务与各服务共同实现标签管理能力,TMS提供全局标签管理能力,各服务维护自身标签管理 。 建议您先在TMS系统中设置预定义标签。 标签由“键”和“值”组成,每个标签中的一个“键”只能对应一个“值”。 每个实例最多支持10个标签配额。 用户可在创建数据库评估或对象迁移项目时添加标签,也可在项目创建成功后再添加标签。
  • 字符集和兼容性设置 连接上源数据库,执行以下SQL语句查询源库Schema的字符集类型。 Oracle SELECT valueFROM nls_database_parametersWHERE parameter = 'NLS_CHARACTERSET'; MySQL #databaseName为要查询的Schema名称SELECT default_character_set_name FROM information_schema.schemata WHERE SCHEMA_NAME = databaseName; 查看字符集兼容规则参见表1到表3,在目标数据库创建兼容的数据库。 CREATE DATABASE DATABASENAME ENCODING 'UTF8' DBCOMPATIBILITY = 'B' ; “UTF8”根据字符兼容规则设置不同的字符集。 DBCOMPATIBILITY参数为兼容性设置,详情参见GaussDB如何创建不同兼容类型数据库。
  • SQL审核 SQL审核功能能够帮助用户在开发阶段发现隐藏在代码中的SQL规范性、设计合理性和性能等问题,内置300多条审核规则,覆盖DML、DDL、PL/SQL等各类SQL的深度审核,且支持规则内风险级别、阈值及建议内容的调整,和规则间的自由组合创建定制化审核模板。支持GaussDB、MySQL和PostgreSQL三种数据库的审核,可通过单语句、批量代码文件上传(自动提取SQL)、直连数据库,共3种方式接入SQL进行审核,深度看护代码,避免烂SQL流入生产环境。 语句审核 数据库审核 规则管理
  • PostgreSQL To GaussDB 数据类型转换说明 源数据库数据类型 转换后数据类型 相关的转换配置 SMALLINT SMALLINT - INTEGER INTEGER - BIGINT BIGINT - INTEGER INTEGER - REAL REAL - DOUBLE PRECISION DOUBLE PRECISION - NUMERIC NUMERIC - CHARACTER VARYING CHARACTER VARYING 字符数据类型转换 选择配置项的值为“扩展字符数据类型char/varchar长度。”,可与DRS转换后在GaussDB 存储等价。 CHARACTER CHARACTER 字符数据类型转换 选择配置项的值为“扩展字符数据类型char/varchar长度。”,可与DRS转换后在GaussDB 存储等价。 BIT BIT - BIT VARYING BIT VARYING - BOOLEAN BOOLEAN - BYTEA BYTEA - TEXT TEXT - TIME WITHOUT TIME ZONE TIME WITHOUT TIME ZONE - TIME WITH TIME ZONE TIME WITH TIME ZONE - TIMESTAMP WITHOUT TIME ZONE TIMESTAMP WITHOUT TIME ZONE - TIMESTAMP WITH TIME ZONE TIMESTAMP WITH TIME ZONE - INTERVAL INTERVAL - CIDR CIDR - PATH PATH - BOX BOX - LSEG LSEG - MACADDR MACADDR - POINT POINT - POLYGON POLYGON - INET INET - TSQUERY TSQUERY - TSVECTOR TSVECTOR - UUID UUID - JSON JSON - JSONB JSONB - 父主题: 数据类型转换说明
  • MySQL To GaussDB数据类型转换说明 源数据库数据类型 转换后数据类型(GaussDB V2.0-8.0 以前版本) 转换后数据类型(GaussDB V2.0-8.0 及其以后版本) 相关的转换配置 CHAR CHAR CHAR 字符集长度转换 选择配置项的值为“扩展字符数据类型长度”,可与DRS转换后在GaussDB 存储等价。 VARCHAR VARCHAR VARCHAR 字符集长度转换 选择配置项的值为“扩展字符数据类型长度。”,可与DRS转换后在GaussDB 存储等价。 BINARY BYTEA BYTEA - VARBINARY BYTEA BYTEA - TINYBLOB BYTEA TINYBLOB - BLOB BLOB BLOB BLOB类型转换 选择配置项的值为“BLOB类型保持不变”,可与DRS转换后在GaussDB 存储等价。 MEDIUMBLOB BYTEA MEDIUMBLOB - LONGBLOB BYTEA LONGBLOB LONGBLOB类型转换 选择配置项的值为“迁移脚本,将LONGBLOB类型转换为BYTEA类型。”,可与DRS转换后在GaussDB 存储等价。 TINYTEXT TEXT TINYTEXT - TEXT TEXT TEXT TEXT数据类型转换 选择配置项的值为“不转换,保留TEXT数据类型,并注释长度”,可与DRS转换后在GaussDB 存储等价。 MEDIUMTEXT TEXT MEDIUMTEXT - LONGTEXT CLOB LONGTEXT LONGTEXT类型转换 选择配置项的值为“迁移脚本,将LONGTEXT类型转换为CLOB类型。”,可与DRS转换后在GaussDB 存储等价。 ENUM VARCHAR VARCHAR - SET SET SET - TINYINT SMALLINT TINYINT TINYINT类型转换 选择配置项的值为“转换TINYINT类型。”,可与DRS转换后在GaussDB 存储等价。 类型转换后是否添加CHECK约束 选择配置项的值为“不添加CHECK约束。”,可与DRS转换后在GaussDB 存储等价。 SMALLINT SMALLINT SMALLINT 无符号整数类型转换 选择配置项的值为“类型保持不变,不做转换”,可与DRS转换后在GaussDB 存储等价。 类型转换后是否添加CHECK约束 选择配置项的值为“不添加CHECK约束。”,可与DRS转换后在GaussDB 存储等价。 MEDIUMINT INTEGER MEDIUMINT 有符号整数类型转换 选择配置项的值为“类型保持不变,不做转换”,可与DRS转换后在GaussDB 存储等价。 无符号整数类型转换 选择配置项的值为“类型保持不变,不做转换”,可与DRS转换后在GaussDB 存储等价。 类型转换后是否添加CHECK约束 选择配置项的值为“不添加CHECK约束。”,可与DRS转换后在GaussDB 存储等价。 INT INT INT - BIGINT BIGINT BIGINT - FLOAT FLOAT4 FLOAT FLOAT类型转换 选择配置项的值为“类型转换为DOUBLE PRECISION,注释掉精度和标度,注释掉符号和填充关键字(UNSIGNED、SIGNED、ZEROFILL)”,可与DRS转换后在GaussDB 存储等价。 类型转换后是否添加CHECK约束 选择配置项的值为“不添加CHECK约束。”,可与DRS转换后在GaussDB 存储等价。 DOUBLE DOUBLE PRECISION DOUBLE DOUBLE类型转换 选择配置项的值为“类型转换为DOUBLE PRECISION,注释掉精度和标度,注释掉符号和填充关键字(UNSIGNED、SIGNED、ZEROFILL)”,可与DRS转换后在GaussDB 存储等价。 类型转换后是否添加CHECK约束 选择配置项的值为“不添加CHECK约束。”,可与DRS转换后在GaussDB 存储等价。 DATE DATE DATE - DATETIME TIMESTAMP DATETIME - TIMESTAMP TIMESTAMP WITH TIME ZONE TIMESTAMP - TIME TIME TIME - BIT BIT BIT - JSON JSONB JSONB json数据类型转换 选择配置项的值为“不转换,保留JSON数据类型。”,可与DRS转换后在GaussDB 存储等价。 YEAR SMALLINT SMALLINT 类型转换后是否添加CHECK约束 选择配置项的值为“不添加CHECK约束。”,可与DRS转换后在GaussDB 存储等价。 DECIMAL DECIMAL DECIMAL - NUMERIC NUMERIC NUMERIC - 父主题: 数据类型转换说明
  • Microsoft SQL Server To GaussDB配置项使用说明 源数据库数据类型 转换后数据类型 相关的转换配置 TINYINT TINYINT - SMALLINT SMALLINT - INT INT - BIGINT BIGINT - DECIMAL DECIMAL - NUMERIC NUMERIC - FLOAT FLOAT - REAL REAL - SMALLMONEY numeric(10, 4) - MONEY numeric(19, 4) - BIT BOOLEAN bit类型转换 选择配置项的值为“将bit类型转换为boolean类型。”,可与DRS转换后在GaussDB 存储等价。 DATE DATE - SMALLDATETIME SMALLDATETIME - DATETIME TIMESTAMP(3) - DATETIME2(n) TIMESTAMP(n) - DATETIMEOFFSET(n) TIMESTAMPTZ(n) datetimeoffset类型转换 选择配置项的值为“将datetimeoffset类型转换为timestamptz类型“ ,可与DRS转换后在GaussDB 存储等价。 TIME(p) TIME(p) - TIMESTAMP BYTEA - XML XML xml类型转换 选择配置项的值为“将XML类型转换为TEXT类型。”,可与DRS转换后在GaussDB 存储等价。 CHAR(n) CHAR(n) 字符集不匹配 选择配置项的值为“调整CHAR(n), VARCHAR(n), NCHAR(n)的大小。”,可与DRS转换后在GaussDB 存储等价。 VARCHAR(n) VARCHAR(n) 字符集不匹配 选择配置项的值为“调整CHAR(n), VARCHAR(n), NCHAR(n)的大小。”,可与DRS转换后在GaussDB 存储等价。 varchar(max) TEXT VARCHAR(MAX)类型转换 选择配置项的值为“将VARCHAR(MAX)类型转换为TEXT类型。”,可与DRS转换后在GaussDB 存储等价。 NCHAR(n) NCHAR(n) 字符集不匹配 选择配置项的值为“调整CHAR(n), VARCHAR(n), NCHAR(n)的大小。”,可与DRS转换后在GaussDB 存储等价。 NVARCHAR(n) NVARCHAR2(n) - NVARCHAR(max) TEXT NVARCHAR(MAX)类型转换 选择配置项的值为“将NVARCHAR(MAX)类型转换为TEXT类型。”,可与DRS转换后在GaussDB 存储等价。 BINARY(n) BYTEA - VARBINARY(n) BYTEA - VARBINARY(MAX) BYTEA VARBINARY(MAX)类型转换 选择配置项的值为“将VARBINARY(MAX)类型转换为BYTEA类型。”,可与DRS转换后在GaussDB 存储等价。 IMAGE BYTEA IMAGE类型转换 选择配置项的值为“将IMAGE类型转换为BYTEA类型”,可与DRS转换后在GaussDB 存储等价。 HIERARCHYID BYTEA HIERARCHYID类型转换 选择配置项的值为“将HIERARCHYID类型转换为BYTEA类型。”,可与DRS转换后在GaussDB 存储等价。 NTEXT TEXT NTEXT类型转换 选择配置项的值为“将NTEXT类型转换为TEXT类型。”,可与DRS转换后在GaussDB 存储等价。 TEXT TEXT TEXT类型转换 选择配置项的值为“将TEXT类型转换为TEXT类型。”,可与DRS转换后在GaussDB 存储等价。 UNIQUEIDENTIFIER UUID - 父主题: 数据类型转换说明
  • 兼容模式检查 目标库为GaussDB时,会进行GaussDB兼容模式的检查。不同源数据库适配程度最高的兼容模式有所不同,如果目标数据库使用的兼容模式与推荐使用的不一致,则将提示风险。GaussDB兼容模式设置,请参考表1。 表1 兼容模式对应情况说明 源数据库 GaussDB兼容模式 MySQL、GoldenDB MySQL兼容模式。 其他 Oracle兼容模式。 MySQL兼容模式包括集中式B兼容模式、M兼容模式、以及分布式MYSQL兼容模式,Oracle兼容模式包括集中式A兼容模式和分布式ORA兼容模式。 父主题: 迁移预检查说明
  • Oracle To GaussDB数据类型转换说明 源数据库数据类型 转换后数据类型 相关的转换配置 CHAR CHAR 字符集不匹配 选择配置项的值为“调整CHAR(n), VARCHAR(n), VARCHAR2(n)和NCHAR(n)的大小。”,可与DRS转换后在GaussDB 存储等价。 VARCHAR VARCHAR 字符集不匹配 选择配置项的值为“调整CHAR(n), VARCHAR(n), VARCHAR2(n)和NCHAR(n)的大小。”,可与DRS转换后在GaussDB 存储等价。 VARCHAR2 VARCHAR2 字符集不匹配 选择配置项的值为“调整CHAR(n), VARCHAR(n), VARCHAR2(n)和NCHAR(n)的大小。”,可与DRS转换后在GaussDB 存储等价。 NCHAR NCHAR 字符集不匹配 选择配置项的值为“调整CHAR(n), VARCHAR(n), VARCHAR2(n)和NCHAR(n)的大小。”,可与DRS转换后在GaussDB 存储等价。 NVARCHAR2 NVARCHAR2 - NUMBER NUMBER - NUMBER (6, 3) NUMBER (6, 3) - NUMBER (6, 0) NUMBER (6, 0) - NUMBER (3) NUMBER (3) - NUMBER (6, -2) NUMBER (6, -2) - BINARY_FLOAT REAL - BINARY_DOUBLE BINARY_DOUBLE - FLOAT DOUBLE PRECISION float数据类型 选择配置项的值为“将FLOAT/FLOAT(n)转换为DOUBLE PRECISION”,可与DRS转换后在GaussDB 存储等价。 INT NUMBER(38) 整型数据类型 选择配置项的值为“将INT, INTEGER和SMALLINT转换成NUMBER(38)”,可与DRS转换后在GaussDB 存储等价。 INTEGER NUMBER(38) 整型数据类型 选择配置项的值为“将INT, INTEGER和SMALLINT转换成NUMBER(38)”,可与DRS转换后在GaussDB 存储等价。 DATE DATE - TIMESTAMP TIMESTAMP(6) - TIMESTAMP_TZ TIMESTAMP(6) WITH TIME ZONE - TIMESTAMP_LTZ TIMESTAMP(6) WITH TIME ZONE - INTERVAL_YM INTERVAL YEAR TO MONTH - INTERVAL_DS INTERVAL DAY TO SECOND - BLOB BLOB - CLOB CLOB - NCLOB TEXT nclob数据类型 选择配置项的值为“将NCLOB转换为TEXT数据类型。”,可与DRS转换后在GaussDB 存储等价。 LONG TEXT long数据类型 选择配置项的值为“将LONG类型转换为TEXT数据类型。”,可与DRS转换后在GaussDB 存储等价。 LONG_RAW BYTEA long raw数据类型 选择配置项的值为“将LONG RAW转换为BYTEA数据类型。”,可与DRS转换后在GaussDB 存储等价。 RAW RAW - RowID CHAR(18) - NUMBER(*,0) NUMBER(38, 0) - 父主题: 数据类型转换说明
  • 创建伸缩组 单击“创建弹性伸缩组”。 参考表3进行关键参数配置,未列出的参数选择默认值即可。 图2 设置伸缩组参数 表3 伸缩组关键参数 参数 解释 取值样例 最大实例数 伸缩组中弹性云服务器数量的最大值。 50 期望实例数 伸缩组中期望的云服务器数量,本实践中要将搭建Discuz!论坛的云服务器手动移入,为避免移入前发生伸缩活动,将期望实例数设置为0。 0 最小实例数 伸缩组中弹性云服务器数量的最小值。 0 虚拟私有云 为伸缩组中的实例提供所使用的网络。必须和云服务器discuz02属于同一VPC。 VPC-DISCUZ 子网 子网可以方便您管理vpc中的网络。选择中申请虚拟私有云时创建的子网。 vpc-test 负载均衡 为伸缩组中的实例均分流量,选择增强型负载均衡器elb-DISCUZ。后端端口配置为需要监听的业务端口,示例中配置为80,权重为1。 使用增强型 健康检查方式 健康检查方式选择“负载均衡健康检查”,负载均衡健康检查是通过系统向后端云服务器发起心跳检查的方式来实现的,推荐使用该方式。 负载均衡健康检查 参数配置完后,单击“立即创建”。 返回弹性伸缩组列表,若伸缩组为“已启用”状态,说明伸缩组创建成功。
  • 结果验证 若论坛可以正常使用,当伸缩组中的云服务器CPU使用率持续高于70%(在伸缩组的“监控”页签可对监控指标进行观察),伸缩组会自动增加一台云服务器(在伸缩组的“活动历史”页签可对伸缩活动历史进行查看)。当伸缩组中的云服务器CPU使用率持续低于30%,且伸缩组中至少存在两台云服务器时,伸缩组会自动减少一台云服务器,则本次实践是成功的。若不然,请联系技术支持定位伸缩组不能正常进行伸缩活动的原因。
  • 应用场景 Discuz!论坛是全球成熟度最高、覆盖率最大的论坛软件系统之一。用户对论坛的访问可分为高峰期和平峰期,若论坛采用多服务器部署模式且满足高峰时期的负载需求,平峰期必有部分服务器处于闲置状态,增加了不必要的成本,也造成了资源浪费。 弹性伸缩可帮助您解决以上问题。当您在论坛的服务器系统中应用弹性伸缩后,弹性伸缩可以根据您设定的策略,自动地增加或减少服务器的数量,在保证您的网站正常运转的同时节约成本。本实践以搭建可自动伸缩的Discuz!论坛为例,介绍了如何使用弹性伸缩服务搭建一个可自动增加或减少弹性云服务器数量的Web服务。
  • 方案介绍 为了实现创建可自动伸缩的Discuz!论坛,您需要按照表1中的步骤进行网站的搭建,本文重点介绍创建弹性伸缩实现云服务器自动伸缩的过程。当网站的负载增加时云服务器的CPU使用率会增大,负载降低时CPU使用率会降低。配置两条监控CPU使用率的告警策略,分别在CPU使用率高于70%时增加一台云服务器,在CPU使用率低于30%时减少一台云服务器,保证Discuz!论坛始终有合适数量的云服务器,实现自动伸缩云服务器的功能。 表1 搭建Discuz!论坛步骤 任务 分类 子任务描述 说明 搭建网站 申请服务 申请虚拟私有云 申请为云服务器提供网络服务的虚拟私有云vpc-DISCUZ。 购买弹性公网IP 需申请使云服务器和互联网互通的弹性公网IP。 创建安全组并添加规则 为了保证论坛的网络安全,需要设置安全组对网络访问进行控制。创建的安全组sg-DISCUZ。 购买弹性云服务器 需要购买两台弹性云服务器,云服务器discuz01用于部署论坛数据库,discuz02用于部署论坛业务。 购买云服务器 discuz01时绑定之前购买的弹性公网IP,discuz02暂不绑定弹性公网IP。 配置服务器 在discuz01上搭建数据库 在discuz01上安装云数据库 RDS for MySQL,启动RDS for MySQL,设置开机自启动。 在discuz02上部署网站代码 先将discuz01上的弹性公网IP解绑,再绑定至discuz02,在discuz02上部署Web环境和网站代码。 配置特性 释放弹性公网IP 为了节省弹性公网IP资源,使用负载均衡服务前请先释放discuz02绑定的弹性公网IP。 创建弹性负载均衡 为了在伸缩组中均衡访问网站的流量,需要购买增强型负载均衡监听器elb-DISCUZ。 制作镜像 为了后续增加的云服务器可以自动搭建Web环境和部署网站代码,需要制作discuz02的镜像discuz_centos6.5(40GB),该镜像在创建伸缩配置时作为私有镜像使用。 创建弹性伸缩 - 创建伸缩配置 伸缩配置是伸缩组内实例(弹性云服务器)的模板,定义了伸缩组内待添加的实例的规格数据。创建伸缩配置as-config-discuz。 创建伸缩组 伸缩组是云服务器进行伸缩的基本单位,伸缩活动将会以伸缩组为单位进行。创建弹性伸缩组as-group-discuz。 创建伸缩策略 伸缩策略能够触发伸缩活动,配置两条监控CPU使用率的告警策略,在业务负载增加时增加云服务器数量,在业务负载减少时减少云服务器数量。 手动移入实例 为保证discuz02可以和后续移入伸缩组中的服务器共同承载论坛业务,需要将discuz02手动移入伸缩组。 修改最小实例数 最小实例数定义了伸缩组中云服务的最少数量,修改最小实例数为1后,伸缩组至少会保证有一台云服务器。discuz02是手动移入,在实例移除策略中被移出的优先级最低,故修改最小实例数可以保证discuz02在伸缩组中不被移出。 访问网站 验证配置结果 验证网站是否可以正常访问 获取负载均衡服务的弹性公网IP地址,在浏览器中输入http://弹性公网IP地址/forum.php进行验证。若可以访问则说明各项配置已生效。
  • 创建委托 登录 统一身份认证 服务控制台。 在统一身份认证服务的左侧导航栏中,选择“委托”页签,单击右上方的“+创建委托”。 图1 创建委托 开始配置委托。 委托名称:ASOperation。 委托类型:选择“云服务”。 云服务:选择“ 函数工作流 FunctionGraph”。 持续时间:选择“永久”。 描述:填写描述信息。 单击“下一步”,进入委托选择页面,在右侧搜索框中搜索“E CS FullAccess”与“AutoScaling FullAccess”权限并勾选。 单击“下一步”,请根据业务需要选择权限的作用范围。 单击“确定”,完成权限委托设置。
  • Elasticsearch集群数据迁移方案介绍 表1 Elasticsearch集群迁移方案 迁移场景 迁移工具 适用场景 使用限制 场景示例 华为云Elasticsearch集群间数据迁移 华为云Logstash 适用于低版本的华为云Elasticsearch集群到高版本的数据迁移。 适用于将多个华为云Elasticsearch集群的数据整合到一个Elasticsearch集群的场景。 在集群迁移期间,不要对源集群的索引进行增删改操作,避免迁移后源集群与目标集群数据不一致。 通过华为云Logstash实现Elasticsearch集群间数据迁移 备份与恢复 适用于同Region或跨Region、同账号或跨账号的华为云Elasticsearch集群间的数据迁移。 适用于低版本的华为云Elasticsearch集群到高版本的数据迁移。 适用于将多个华为云Elasticsearch集群的数据整合到一个Elasticsearch集群的场景。 目标集群的版本不能低于源集群的版本,版本兼容性分析请参见Snapshot version compatibility。 目标集群的节点数要大于源集群的节点数的一半,且不能小于源集群的shard副本数。 目标集群的CPU、MEM和Disk配置不能低于源集群的配置。 通过备份与恢复实现华为云Elasticsearch集群间数据迁移 读写分离插件 适用于同Region或跨Region、同账号或跨账号的华为云Elasticsearch集群间的数据迁移。 适用于将多个华为云Elasticsearch集群的数据整合到一个Elasticsearch集群的场景。 源集群和目标集群的版本必须一致,都是7.6.2或7.10.2版本。 通过读写分离插件实现华为云Elasticsearch集群间数据迁移 Reindex API 适用于将多个华为云Elasticsearch集群的数据整合到一个Elasticsearch集群的场景。 在集群迁移期间,不要对源集群的索引进行增删改操作,避免迁移后源集群与目标集群数据不一致。 通过Reindex API实现Elasticsearch集群间数据迁移 ESM 适用于低版本的华为云Elasticsearch集群到高版本的数据迁移。 适用于将多个华为云Elasticsearch集群的数据整合到一个Elasticsearch集群的场景。 在集群迁移期间,不要对源集群的索引进行增删改操作,避免迁移后源集群与目标集群数据不一致。 通过ESM实现Elasticsearch集群间数据迁移 自建Elasticsearch集群迁移至华为云 华为云Logstash 适用于低版本的自建Elasticsearch集群到高版本华为云Elasticsearch集群的数据迁移。 适用于将多个自建Elasticsearch集群的数据整合到一个华为云Elasticsearch集群的场景。 适用于将自建的Elasticsearch服务迁移到华为云平台的场景。 在集群迁移期间,不要对源集群的索引进行增删改操作,避免迁移后源集群与目标集群数据不一致。 集群间需要保证网络连通。 可以通过给自建Elasticsearch集群配置公网访问打通网络。 通过华为云Logstash实现Elasticsearch集群间数据迁移 备份与恢复 适用于低版本的自建Elasticsearch集群到高版本华为云Elasticsearch集群的数据迁移。 适用于将多个自建Elasticsearch集群的数据整合到一个华为云Elasticsearch集群的场景。 适用于将自建的Elasticsearch服务迁移到华为云平台的场景。 目标集群的版本不能低于源集群的版本,版本兼容性分析请参见Snapshot version compatibility。 备份与恢复不支持动态增量数据同步,建议停止数据更新后再进行备份。 自建Elasticsearch集群需要配置公网访问权限才能备份快照到OBS。 通过S3插件备份与恢复迁移自建Elasticsearch集群至华为云 Reindex API 适用于将多个自建Elasticsearch集群的数据整合到一个华为云Elasticsearch集群的场景。 适用于将自建的Elasticsearch服务迁移到华为云平台的场景。 在集群迁移期间,不要对源集群的索引进行增删改操作,避免迁移后源集群与目标集群数据不一致。 通过Reindex API实现Elasticsearch集群间数据迁移 ESM 适用于低版本的自建Elasticsearch集群到高版本华为云Elasticsearch集群的数据迁移。 适用于将多个自建Elasticsearch集群的数据整合到一个华为云Elasticsearch集群的场景。 适用于将自建的Elasticsearch服务迁移到华为云平台的场景。 在集群迁移期间,不要对源集群的索引进行增删改操作,避免迁移后源集群与目标集群数据不一致。 通过ESM实现Elasticsearch集群间数据迁移 云数据迁移 CDM 华为云服务提供的云迁移工具,实现不同云服务间的集群迁移能力。 需要建立企业内部数据中心到华为云的VPN通道或专线。 集群迁移过程中,不能删除源集群的索引数据,否则迁移的数据可能出现异常。 Elasticsearch整库迁移到 云搜索服务 第三方Elasticsearch集群迁移至华为云 华为云Logstash 适用于Elasticsearch集群版本跨度较大的迁移场景,例如从6.X版本迁移至7.X版本。 适用于将多个第三方Elasticsearch集群的数据整合到一个华为云Elasticsearch集群的场景。 适用于将第三方Elasticsearch服务迁移到华为云平台的场景。 在集群迁移期间,不要对源集群的索引进行增删改操作,避免迁移后源集群与目标集群数据不一致。 集群间需要保证网络连通。 需要建立企业内部数据中心到华为云的VPN通道或专线。 通过华为云Logstash实现Elasticsearch集群间数据迁移 备份与恢复 适用于低版本的第三方Elasticsearch集群到高版本华为云Elasticsearch集群的数据迁移。 适用于将多个第三方Elasticsearch集群的数据整合到一个华为云Elasticsearch集群的场景。 适用于将第三方Elasticsearch服务迁移到华为云平台的场景。 目标集群的版本不能低于源集群的版本,版本兼容性分析请参见Snapshot version compatibility。 备份与恢复不支持动态增量数据同步,建议停止数据更新后再进行备份。 第三方存储仓库要配置公网访问才能迁移快照数据。 通过备份与恢复迁移第三方Elasticsearch集群至华为云 Reindex API 适用于将多个第三方Elasticsearch集群的数据整合到一个华为云Elasticsearch集群的场景。 适用于将第三方Elasticsearch服务迁移到华为云平台的场景。 在集群迁移期间,不要对源集群的索引进行增删改操作,避免迁移后源集群与目标集群数据不一致。 通过Reindex API实现Elasticsearch集群间数据迁移 ESM 适用于低版本的第三方Elasticsearch集群到高版本华为云Elasticsearch集群的数据迁移。 适用于将多个第三方Elasticsearch集群的数据整合到一个华为云Elasticsearch集群的场景。 适用于将第三方Elasticsearch服务迁移到华为云平台的场景。 在集群迁移期间,不要对源集群的索引进行增删改操作,避免迁移后源集群与目标集群数据不一致。 通过ESM实现Elasticsearch集群间数据迁移 云数据迁移 CDM 华为云服务提供的云迁移工具,实现不同云服务间的集群迁移能力。 需要建立企业内部数据中心到华为云的VPN通道或专线。 集群迁移过程中,不能删除源集群的索引数据,否则迁移的数据可能出现异常。 Elasticsearch整库迁移到 云搜索 服务 华为云Elasticsearch集群迁移至OpenSearch集群 跨引擎升级 适用于 CSS 服务的Elasticsearch 7.10.2升级至OpenSearch 1.3.6。 建议在业务低峰期进行升级操作,避免影响业务。 待升级的Elasticsearch集群不能存在正在进行中的任务。 升级Elasticsearch集群版本 数据库数据迁移至Elasticsearch集群 数据复制服务 DRS 适用于将MySQL数据库中的数据同步到Elasticsearch集群中。一般用于集群间的数据增量迁移,在数据同步后集群随时可割接,较其他增量迁移更加方便灵活。 不同数据库来源的迁移方式和使用约束请参见相关文档。 使用DRS从数据库导入数据至Elasticsearch 父主题: Elasticsearch数据迁移
  • 应用场景 通过备份与恢复实现第三方Elasticsearch集群和华为云Elasticsearch集群之间的数据迁移,依赖存储仓库。常用于以下场景: 变更服务提供商:如果企业当前使用的是第三方Elasticsearch服务,但出于成本、性能或其他战略考虑,希望更换服务提供商至华为云。 集群整合:将分散在不同第三方Elasticsearch集群中的数据统一数据迁移到华为云Elasticsearch集群进行集中管理,以实现更高效的数据分析和查询。 跨版本迁移:将低版本的第三方Elasticsearch集群数据迁移到高版本的华为云Elasticsearch集群中。 技术栈统一:当企业已经在华为云上运行其他服务时,为了技术栈的统一和简化管理,可以选择将Elasticsearch集群也迁移至华为云。
  • 操作步骤 登录Elasticsearch所在的第三方友商云,创建一个支持s3协议的共享存储仓库,例如登录阿里云的进入OSS服务创建目录“patent-esbak”, 或者登录腾讯云进入COS服务创建目录“patent-esbak”。 在第三方Elasticsearch集群中创建快照备份仓库,用于存放Elasticsearch快照数据。 例如,在Elasticsearch中创建一个备份仓库“my_backup”,关联到存储仓库OSS。 PUT _snapshot/my_backup { # 存储仓库类型。"type": "oss", "settings": {# 步骤1中存储仓库的内网访问 域名 。"endpoint": "http://oss-xxx.example.com", # 存储仓库的用户ID和密码。认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密, 确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量ak和sk。"access_key_id": "ak","secret_access_key": "sk",# 步骤1创建的存储仓库的bucket名称。"bucket": "patent-esbak", # 是否打开快照文件的压缩功能。"compress": false,# 配置此参数可以限制快照数据的分块大小。当上传的快照数据超过这个数值,数据就会被分块上传到存储仓库中。"chunk_size": "1g",# 仓库的起始位置,默认是根目录。"base_path": "snapshot/" }} 在第三方Elasticsearch集群中创建快照。 为所有索引创建快照。 例如,创建一个名为“snapshot_1”的快照。 PUT _snapshot/my_backup/snapshot_1?wait_for_completion=true 为指定索引创建快照。 例如,创建一个名为“snapshot_test”的快照,该快照包含索引“patent_analyse”和“patent”。 PUT _snapshot/my_backup/snapshot_test{"indices": "patent_analyse,patent"} 在第三方Elasticsearch集群中查看集群的快照创建进度。 执行如下命令,可以查看所有快照信息。 GET _snapshot/my_backup/_all 执行如下命令,可以查看指定快照“snapshot_1”的信息。 GET _snapshot/my_backup/snapshot_1 通过华为云 对象存储迁移 服务 OMS 将快照数据从存储仓库迁移到 对象存储服务 OBS的“esbak”桶中。 OMS支持多种云服务商数据迁移到对象存储服务OBS中,具体请参见各云服务商迁移教程。 在OMS创建迁移任务时,“元数据迁移方式”一定要选择“保留元数据”,否则数据迁移会有异常。 在CSS服务的Elasticsearch集群中创建一个存储仓库关联到OBS,用于恢复第三方Elasticsearch的快照数据。 例如,在集群中创建一个“my_backup_all”的存储仓库,关联上一步OBS桶“esbak”。 PUT _snapshot/my_backup_all/{ "type" : "obs", "settings" : {# OBS的内网访问域名。"endpoint" : "obs.xxx.example.com","region" : "xxx",# 访问OBS的用户名和密码。认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险, 建议在配置文件或者环境变量中密文存放, 使用时解密, 确保安全;本示例以ak和sk保存在环境变量中为例, 运行本示例前请先在本地环境中设置环境变量ak和sk。"access_key": "ak","secret_key": "sk", # OBS的桶名称,和上一步迁移目标集群的OBS桶名保持一致。"bucket" : "esbak", "compress" : "false","chunk_size" : "1g",# 注意“snapshot”后面没有/。"base_path" : "snapshot","max_restore_bytes_per_sec": "100mb","max_snapshot_bytes_per_sec": "100mb" }} 在CSS服务的Elasticsearch集群中通过快照恢复数据。 查看所有快照信息。 GET _snapshot 通过快照恢复数据。 恢复某一快照中的所有索引。例如恢复名为“snapshot_1”的快照的所有索引数据。 POST _snapshot/my_backup_all/snapshot_1/_restore?wait_for_completion=true 恢复某一快照中的部分索引。例如名为“snapshot_1”的快照中只恢复非“.”开头的索引。 POST _snapshot/my_backup/snapshot_1/_restore{"indices":"*,-.monitoring*,-.security*,-.kibana*","ignore_unavailable":"true"} 恢复某一快照中的指定索引,并重命名。例如在名为“snapshot_1”的快照中,将索引“index_1”恢复为“restored_index_1”,“index_2”恢复为“restored_index_2”。 POST /_snapshot/my_backup/snapshot_1/_restore{# 只恢复索引“index_1”和“index_2”,忽略快照中的其他索引。"indices": "index_1,index_2"# 查找正在恢复的索引,该索引名称需要与提供的模板匹配。"rename_pattern": "index_(.+)",# 重命名查找到的索引。"rename_replacement": "restored_index_$1"} 查看快照恢复结果。 查看所有快照的恢复结果。 GET /_recovery/ 查看指定索引的快照恢复结果。 GET {index_name}/_recovery
  • 应用场景 迁移Elasticsearch集群间的Kibana可视化图表的应用场景主要包括以下几个方面: 当需要将数据从一个Elasticsearch集群迁移到另一个新集群时,Kibana可视化图表的迁移是确保业务连续性的关键步骤。通过导出源集群的Kibana可视化配置(如仪表板、图表等),并在目标集群中导入,可以确保用户界面和监控仪表板的一致性。 在开发、测试和生产环境之间复制Elasticsearch环境时,Kibana可视化图表的迁移可以确保不同环境之间的一致性,提升开发和测试效率。 在业务发生故障或数据丢失的情况下,通过迁移Kibana图表到备份集群,可以快速恢复数据监控和分析能力。 在多集群环境中,可能需要将不同Elasticsearch集群的数据和可视化图表整合到一个统一的集群,以便于实现跨集群的数据分析和管理。 这些场景展示了Kibana可视化图表迁移在实际应用中的重要性,它不仅涉及到数据的移动,还包括了确保业务连续性、提高效率和满足合规性要求等多个方面。
  • 方案优势 业务连续性:通过迁移Kibana可视化图表,可以确保在集群升级或迁移过程中,集群的监控和分析工作不会中断,从而保障业务的连续性。 环境一致性:在多环境(开发、测试、生产)之间复制Kibana配置,可以确保不同环境的一致性,这有助于减少环境差异导致的问题,提高开发和测试的效率。 快速恢复:在故障恢复场景中,Kibana图表的迁移能力可以快速恢复关键的监控和分析功能,减少系统故障对业务的影响。 数据整合能力:在多集群环境中,迁移Kibana图表有助于实现数据的集中管理和分析,提高数据整合的效率和效果。
  • 常见问题:迁移过程中,发现图表不兼容怎么办? 在导入可视化对象时,出现如下报错信息,则表示源集群和目标集群的图表版本不兼容。 The file could not be processed due to error: "Unprocessable Entity: Document "7.1.1" has property "config" which belongs to a more recent version of Kibana [7.13.0]. The last known version is [7.9.0]" 此时,可以在本地修改可视化对象文件“export.ndjson”,将版本号信息修改一致,本例中需要将代码中的[7.13.0]修改为[7.9.0]。保存后,重新导入文件即可。如果修改兼容字段后依然导入失败,则需要手动在目标集群重建图表。
  • 通过ESM迁移集群 访问ESM下载地址,下载“migrator-linux-amd64”软件包。 通过SCP工具将下载的“migrator-linux-amd64”软件包上传到Linux ECS的执行路径下。 在Linux ECS的执行路径下执行命令,将源集群的索引结构和数据迁移到目标集群。 # 索引全量迁移./migrator-linux-amd64 -s http://source:9200 -d http://dest:9200 -x index_name -m admin:password -n admin:password --copy_settings --copy_mappings -w 5 -b 10#索引增量迁移./migrator-linux-amd6 -s http://source:9200 -d http://dest:9200 -x index-test -m admin:password -n admin:password -w 5 -b 10 -q "timestamp:[\"2022-01-17 03:41:20\" TO \"2022-01-22 03:41:20\"]" 迁移命令的常用参数说明请参见表2,更多详细参数说明请参见ESM文档。 表2 常用参数说明 选型 示例 说明 -s, --source= http://source:9200 源Elasticsearch集群访问地址。 -d, --dest= http://dest:9200 目标Elasticsearch集群访问地址。 -x, --src_indexes= index_name index1,index2 源集群迁移索引名,支持正则匹配和逗号分隔。 -y, --dest_index= index_name_rename 目标集群索引名,支持单索引名称,如果不配置则和源索引名称相同。 -m, --source_auth= admin:password 访问源Elasticsearch集群的用户名和密码,仅安全集群涉及。 -n, --dest_auth= admin:password 访问目标Elasticsearch集群的用户名和密码,仅安全集群涉及。 -w, --workers= 5 读取源端数据速率控制参数,Bulk读取数据并发线程数。 默认值:1 -b, --bulk_size= 10 读取源端数据速率控制参数,Bulk一次读取数据的数据大小。 默认值:5MB --sliced_scroll_size 4 读取源端数据速率控制参考,Bulk Scorll中sliced的大小。 默认值:1 --copy_settings - 迁移源端索引的settings。 --copy_mappings - 迁移源端索引的mappings。 --buffer_count= - 迁移虚拟机缓存在内存中的文档数量。 默认值:10w 数据迁移完成后,通过对比文档个数检查数据一致性。 # 非安全集群curl -ik http://ip:9200/{索引名称}/_count #安全集群+HTTPS访问curl -ik https://ip:9200 -u[Username]:[password]/{索引名称}/_count
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全