云服务器内容精选

  • 自定义参数说明 在目的端配置中,支持配置的自定义参数及说明请参见表1和conf参数说明。 表1 支持的自定义参数说明 参数名称 取值范围 说明 是否必填 spark.dli.metaAccess.enable - 填写true。 是 spark.dli.job.agency.name 填写 DLI 委托权限名称。 mgc.mc2dli.data.migration.dli.file.path 填写存放migration-dli-spark-1.0.0.jar包的OBS路径。例如:obs://mgc-test/data/migration-dli-spark-1.0.0.jar mgc.mc2dli.data.migration.dli.spark.jars 填写存放fastjson-1.2.54.jar和datasource.jar包的OBS路径,以数组形式传入,路径带双引号,以英文逗号隔开。例如:["obs://mgc-test/data/datasource.jar","obs://mgc-test/data/fastjson-1.2.54.jar"] spark.sql.catalog.mc_catalog.tableWriteProvider 填写tunnel 专线迁移场景为必填 spark.sql.catalog.mc_catalog.tableReadProvider 填写tunnel spark.hadoop.odps.end.point 填写源端MaxCompute服务所在地域的VPC网络Endpoint信息。各地域VPC网络Endpoint信息请参考Endpoint对照表。例如:源端所在地域为“香港”,则填写“http://service.cn-hongkong.maxcompute.aliyun-inc.com/api” spark.hadoop.odps.tunnel.end.point 填写源端MaxCompute服务所在地域的VPC网络Tunnel Endpoin信息。各地域VPC网络Tunnel Endpoin信息请参考Endpoint对照表。例如:源端所在地域为“香港”,则填写“http://dt.cn-hongkong.maxcompute.aliyun-inc.com” spark.hadoop.odps.tunnel.quota.name - 填写访问MaxCompute使用的Quota名称。 否 sc_type A、B、C 计算资源类型,目前指定参数A, B, C。如果不指定,则按最小类型创建。 A:(8核32G内存,driverCores:2,executorCores:1,driverMemory:7G,executorMemory:4G,numExecutor:6) B:(16核64G内存,driverCores:2,executorCores:2,driverMemory:7G,executorMemory:8G,numExecutor:7) C:(32核128G内存,driverCores:4,executorCores:2,driverMemory:15G,executorMemory:8G,numExecutor:14) 否 executorCores 1- 4 Spark应用每个Executor的CPU核数。该配置项会替换“sc_type”中对应的默认参数。 numExecutors 1-100 Spark应用Executor的个数。该配置项会替换“sc_type”中对应的默认参数。 executorMemory 1-16 G Spark应用的Executor内存,参数配置例如:2G, 2048M。该配置项会替换“sc_type”中对应的默认参数,使用时必须带单位,否则会启动失败。 driverCores 1-4 Spark应用Driver的CPU核数。该配置项会替换“sc_type”中对应的默认参数。 driverMemory 1-16 G Spark应用的Driver内存,参数配置例如:2G, 2048M。该配置项会替换“sc_type”中对应的默认参数,使用时必须带单位,否则会启动失败。 父主题: 大数据数据迁移
  • 使用须知 开始采集后,默认每5分钟进行一次数据采集。 建议采集时长≥1小时,若采集时长不足,将无法获取7天和30天最大值以及平均值数据。 采集周期默认为7天,7天后会自动停止采集;采集周期内可以进行停止采集和重启采集操作;重启采集后,采集周期重新计算。 采集到的性能数据将保留180天,超期后会自动删除。 迁移工具Edge建议安装在独立主机上,避免与业务主机共用,以确保采集的稳定性和效率。 Linux主机:迁移工具Edge最多同时采集1000台Linux主机。当同时采集1000台Linux主机时,安装Edge的主机规格最低要求为8U16G,且可使用内存不小于8G。 Windows主机:迁移工具Edge最多同时采集500台Windows主机,当同时采集500台Windows主机时,安装Edge的主机规格最低要求为16U32G,且可使用内存不小于8G。
  • 自定义参数说明 在创建 数据湖探索 DLI校验任务时,支持的自定义参数及说明参见表1。 表1 DLI校验任务支持的自定义参数说明 参数名称 默认值 描述 mgc.mc2dli.table.partition.enable true DLI表分区为空或者分区不存在时需要通过查询DLI的元数据去判断分区存不存在。 true:查询DLI表的分区,空分区校验状态为成功,分区不存在状态为失败。 false:不查询DLI表的分区,空分区或者分区不存在校验状态都为成功 spark.sql.files.maxRecordsPerFile 0 要写入单个文件的最大记录数。如果该值为零或为负,则没有限制。 spark.sql.autoBroadcastJoinThreshold 209715200 配置执行连接时显示所有工作节点的表的最大字节大小。通过将此值设置为“-1”,可以禁用显示。 说明: 当前仅支持运行命令ANALYZE TABLE COMPUTE statistics noscan的配置单元元存储表,和直接根据数据文件计算统计信息的基于文件的数据源表。 spark.sql.shuffle.partitions 200 为连接或聚合过滤数据时使用的默认分区数。 spark.sql.dynamicPartitionOverwrite.enabled false 当前配置设置为“false”时,DLI在覆盖写之前,会删除所有符合条件的分区。例如,分区表中有一个“2021-01”的分区,当使用INSERT OVERWRITE语句向表中写入“2021-02”这个分区的数据时,会把“2021-01”的分区数据也覆盖掉。 当前配置设置为“true”时,DLI不会提前删除分区,而是在运行时覆盖那些有数据写入的分区。 spark.sql.files.maxPartitionBytes 134217728 读取文件时要打包到单个分区中的最大字节数。 spark.sql.badRecordsPath - Bad Records的路径。 spark.sql.legacy.correlated.scalar.query.enabled false 该参数设置为true: 当子查询中数据不重复的情况下,执行关联子查询,不需要对子查询的结果去重。 当子查询中数据重复的情况下,执行关联子查询,会提示异常,必须对子查询的结果做去重处理,比如max(),min()。 该参数设置为false: 不管子查询中数据重复与否,执行关联子查询时,都需要对子查询的结果去重,比如max(),min(),否则提示异常。 父主题: 大数据校验
  • 准备工作 创建迁移项目。 通过资源采集,完成主机资源的发现与采集。MgC提供了三种主机采集方式,您可以根据实际场景和您源端主机所在的云平台,选择适合的采集方式。 源端主机位于云平台:源端为阿里云、华为云、AWS、腾讯云、Azure等云平台主机,推荐使用公网采集,也可以使用各场景通用的手动添加方式。 源端主机位于线下IDC:推荐使用内网采集,通过网段扫描或VMware扫描,采集源端主机资源,也可以使用各场景通用的手动添加方式。 在源端内网环境中安装迁移工具Edge并注册用户,方法和要求请参见安装Windows版本的Edge。安装并注册成功后,将Edge与云端MgC控制台建立连接,方法请参考连接迁移中心。
  • 列举节点和迁移节点安全组配置 方向 优先级 策略 类型 协议端口 目的地址/源地址 描述 入方向 1 允许 IPv6 全部 Master节点安全组 允许列举和迁移节点与Master通信 入方向 1 允许 IPv4 全部 Master节点安全组 允许列举和迁移节点与Master通信 入方向 1 允许 IPv4 全部 列举和迁移节点安全组 允许安全组内的虚拟机通信 入方向 1 允许 IPv6 全部 列举和迁移节点安全组 允许安全组内的虚拟机通信 出方向 1 允许 IPv4 全部 0.0.0.0/0 放通出方向流量,实现和源端通信 出方向 1 允许 IPv6 全部 ::/128 放通出方向流量,实现和源端通信 出方向 1 允许 IPv6 全部 Master节点安全组 允许列举和迁移节点与Master通信 出方向 1 允许 IPv4 全部 Master节点安全组 允许列举和迁移节点与Master通信
  • 迁移集群包含的资源类型和介绍 资源类型 创建时可配置 是否必须 规格数量 名称 描述 E CS 是 是 Master节点:1台 迁移节点:根据创建集群时的参数配置创建 列举节点:根据创建集群时的参数配置创建 “oms_cluster_ecs_” + 节点id 承载迁移插件,实现对迁移任务的管理、调度以及数据的迁移。 NAT 是 否 1个 “oms_cluster_nat_” + 集群id 公网模式下,实现列举节点、迁移节点和源端通信,实现数据的列举和迁移。 LTS 是 否 1个 主机组名称:“oms_lts_host_group_” + 集群id 保存和搜索迁移集群中的日志。 创建集群时未勾选“启用LTS服务”,则不会创建。 主机组标识:“oms_lts_host_group_label_” + 集群id 日志组名称:“oms_lts_log_group_” + 集群id 日志流名称:“oms_lts_stream_group_” + 集群id 日志接入名称:“oms_lts_access_config_” + 集群id VPCEP-Service 否 是 1个 regionName + “oms-cluster” + serviceId 允许 OMS 云服务与迁移集群的Master节点通信,实现迁移任务的管理。 配置详情请查看VPCEP-Service配置。 安全组 否 是 2个 “oms_cluster_sg_master_” + 集群id 迁移集群Master节点的安全组,实现与OMS云服务以及迁移集群内部通信。 安全组配置详情请查看Master节点安全组配置。 “oms_cluster_sg_agent_” + 集群id 迁移集群列举节点和迁移节点的安全组,用于迁移集群内部通信。 安全组配置详情请查看列举节点和迁移节点安全组配置。
  • VPCEP-Service配置 配置项 详细配置 描述 虚拟私有云 在创建集群时的网络配置中选择。 - 服务类型 接口 - 连接审批 是 确保终端节点审核后方可使用。 端口映射 22、9002 用于集群安装和任务下发、管理。 后端资源类型 云服务器 连接Master节点所在的ECS虚拟机。 连接管理 OMS云服务的VPCEP端点 允许OMS云服务与迁移集群的Master节点通信。 权限管理 OMS云服务白名单 允许OMS云服务的VPCEP端点进行连接。
  • Master节点安全组配置 方向 优先级 策略 类型 协议端口 目的地址/源地址 描述 入方向 1 允许 IPv4 全部 Master节点安全组 允许安全组内的虚拟机通信 入方向 1 允许 IPv6 全部 Master节点安全组 允许安全组内的虚拟机通信 入方向 1 允许 IPv4 TCP : 22 198.19.128.0/17 云服OMS云服务和Master节点通信,实现集群安装。 入方向 1 允许 IPv4 TCP : 9002 198.19.128.0/17 云服OMS云服务和Master节点通信,实现任务下发、管理 入方向 1 允许 IPv6 全部 列举和迁移节点安全组 允许列举和迁移节点与Master通信 入方向 1 允许 IPv4 全部 列举和迁移节点安全组 允许列举和迁移节点与Master通信 出方向 1 允许 IPv6 全部 ::/128 放通出方向流量,实现和源端通信 出方向 1 允许 IPv4 全部 0.0.0.0/0 放通出方向流量,实现和源端通信 出方向 1 允许 IPv6 全部 列举和迁移节点安全组 允许列举和迁移节点与Master通信 出方向 1 允许 IPv4 全部 列举和迁移节点安全组 允许列举和迁移节点与Master通信
  • 安装迁移工具Edge并连接迁移中心 安装Edge工具:在购买的ECS主机上,安装用于配合数据校验的工具Edge,方法请参见安装Linux版本的Edge工具。 注册Edge用户:在浏览器中访问Linux主机的网卡IP地址+端口(27080),如:https://x.x.x.x:27080。首次访问后会进入注册页面,分别输入用户名、密码,确认密码无误后,单击《隐私政策声明》,仔细阅读后,勾选“我已阅读并同意”,最后单击“确认”即可完成注册。 连接迁移中心:安装并注册成功后,将Edge与迁移中心进行连接,连接方法请参考连接迁移中心。 迁移工具Edge不具备自动重启功能,严禁在任务执行期间重启Edge,以避免任务失败。
  • 配置SNAT转换规则 配置完SNAT转换规则后,如果ECS重启,则需要重新配置。 登录购买的ECS主机。 依次执行下列两条命令: sysctl net.ipv4.ip_forward=1 该命令用于启用 Linux 主机上的 IP 转发功能。 iptables -t nat -A POSTROUTING -o eth0 -s {DLI弹性资源池所在网段} -j SNAT --to {ECS私网IP} 设置iptables规则以进行 网络地址转换
  • 创建OBS桶并上传jar包 在华为云OBS创建一个存储桶,并将数据迁移过程中所依赖的 Java 文件(jar包)上传至该OBS桶。创建OBS桶的方法请参考创建桶。上传文件的方法请参考上传对象。 数据迁移所依赖的jar包分别为:migration-dli-spark-1.0.0.jar、fastjson-1.2.54.jar、datasource.jar。这三个jar包是数据迁移过程中不可或缺的,三个jar包的用途和获取方法如下: migration-dli-spark-1.0.0.jar 用途:用于创建spark会话并提交sql语句。 获取方法:在迁移工具Edge所部署主机的“/opt/cloud/Edge/tools/plugins/collectors/bigdata-migration/dliSpark”路径下获取。 fastjson-1.2.54.jar: 用途:用于处理JSON格式的数据交换。 获取方法:在迁移工具Edge所部署主机的“/opt/cloud/Edge/tools/plugins/collectors/bigdata-migration/deltaSpark”路径下获取。 datasource.jar: 用途:包含数据源的配置和连接逻辑,允许服务连接到不同的数据库或数据存储系统。 获取方法:需要您根据需求自行获取并编译,方法请参考Spark Connector。
  • 购买ECS 购买ECS:在与目的端DLI同一区域(Region)下购买一台Linux系统的ECS主机,购买方法请参考购买弹性云服务器。其中网络配置选择上一步创建的虚拟私有云和子网。该ECS主机还需要满足以下条件: 可以访问外网(公网),并检查是否能够访问MgC和IoTDA服务的 域名 ,具体需要检查的域名请查看域名列表。 安全组的出方向规则中,需要包含8883端口。 操作系统为:CentOS 8.x。 推荐规格不小于8U16G。 创建并绑定EIP:ECS主机要实现访问外网,需要配置EIP(弹性公网IP)。如果主机已绑定EIP则跳过该操作无需重复绑定;如果未绑定EIP请参考申请EIP和将EIP绑定至ECS进行绑定。 计费模式:建议选择按需计费。 带宽大小:推荐5 Mbit/s。
  • 阿里云访问密钥(AK/SK)准备 准备一组源端阿里云账号的Access Key(AK)和Secret Key(SK),获取方法请参考查看 RAM 用户的AccessKey信息。 确保该AK/SK具备以下最小权限要求: 拥有OSS服务的只读权限:AliyunReadOnlyAccess 拥有MaxCompute服务的只读权限:AliyunMaxComputeReadOnlyAccess 配置权限的方法参考为RAM用户授权。 (可选)如果迁移的元数据存在分区表,需要为迁移账号开通Information Schema权限,方法请参考RAM用户访问授权。
  • 配置委托权限与服务授权 为了确保正常使用DLI的功能,需要配置一条包含DLI权限和OBS权限的委托权限。 登录华为云管理控制台。 单击右上方登录的用户名,在下拉列表中选择“ 统一身份认证 ”。 在左侧导航栏中,单击“委托”。 在“委托”页面,单击“创建委托”。 在“创建委托”页面,设置如下参数: 委托名称:用户自定义,例如“dli_obs_agency_access”。 委托类型:选择“云服务”。 云服务:在下拉列表中选择“ 数据湖 探索 DLI"。 持续时间:按实际需求选择。 描述:非必选。 配置完委托的基本信息后,单击“下一步”,进入选择策略页签。 单击右上角的“新建策略”,参考步骤8.和步骤9.,分别创建一条OBS策略和一条DLI策略。如果已创建的授权策略中有所需的权限策略,则无需创建,直接选择已有策略即可。 配置策略信息。 策略名称:用户自定义,例如:dli-obs-agency。 策略配置方式:选择“JSON视图”。 在策略内容中粘贴以下自定义策略。 请替换“bucketName”为存放jar包的桶名称。 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "obs:bucket:GetBucketPolicy", "obs:bucket:GetLifecycleConfiguration", "obs:bucket:GetBucketLocation", "obs:bucket:ListBucketMultipartUploads", "obs:bucket:GetBucketLogging", "obs:object:GetObjectVersion", "obs:bucket:GetBucketStorage", "obs:bucket:GetBucketVersioning", "obs:object:GetObject", "obs:object:GetObjectVersionAcl", "obs:object:DeleteObject", "obs:object:ListMultipartUploadParts", "obs:bucket:HeadBucket", "obs:bucket:GetBucketAcl", "obs:bucket:GetBucketStoragePolicy", "obs:object:AbortMultipartUpload", "obs:object:DeleteObjectVersion", "obs:object:GetObjectAcl", "obs:bucket:ListBucketVersions", "obs:bucket:ListBucket", "obs:object:PutObject" ], "Resource": [ "OBS:*:*:bucket:bucketName",//请替换bucketName为存放jar包的桶名称 "OBS:*:*:object:*" ] }, { "Effect": "Allow", "Action": [ "obs:bucket:ListAllMyBuckets" ] } ] } 配置DLI策略信息。 策略名称:用户自定义,例如:dli-agency。 策略配置方式:选择“JSON视图”。 在策略内容中粘贴以下自定义策略。 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "dli:table:showPartitions", "dli:table:alterTableAddPartition", "dli:table:alterTableAddColumns", "dli:table:alterTableRenamePartition", "dli:table:delete", "dli:column:select", "dli:database:dropFunction", "dli:table:insertOverwriteTable", "dli:table:describeTable", "dli:database:explain", "dli:table:insertIntoTable", "dli:database:createDatabase", "dli:table:alterView", "dli:table:showCreateTable", "dli:table:alterTableRename", "dli:table:compaction", "dli:database:displayAllDatabases", "dli:database:dropDatabase", "dli:table:truncateTable", "dli:table:select", "dli:table:alterTableDropColumns", "dli:table:alterTableSetProperties", "dli:database:displayAllTables", "dli:database:createFunction", "dli:table:alterTableChangeColumn", "dli:database:describeFunction", "dli:table:showSegments", "dli:database:createView", "dli:database:createTable", "dli:table:showTableProperties", "dli:database:showFunctions", "dli:database:displayDatabase", "dli:table:alterTableRecoverPartition", "dli:table:dropTable", "dli:table:update", "dli:table:alterTableDropPartition" ] } ] } OBS和DLI自定义策略创建完成后,单击“下一步”,返回委托授权页面。 勾选新建的OBS和DLI自定义策略,单击“下一步”,授权范围方案选择“所有资源”。 单击“确定”,完成授权。授权后需等待15-30分钟才可生效。 参考更新委托权限,将DLI委托权限进行更新。
  • 注意事项 CSV模板文件编辑 当使用MgC提供的CSV模板文件进行数据筛选时,请不要使用Excel对CSV模板文件进行编辑,通过Excel编辑并保存的模板文件无法被MgC识别。 DLI队列连接选择 元数据迁移和数据迁移需要使用不同的DLI队列连接,元数据迁移需要使用DLI SQL队列连接,数据迁移需要使用DLI 通用队列连接。配置错误的队列连接类型会导致迁移任务失败,因此在配置任务时,必须仔细检查并确保任务类型与队列类型相匹配。 元数据迁移与库的数量 在进行元数据迁移时,MgC会根据识别到的源端数据库的数量,在DLI中自动创建相应的库。如果是整库迁移,通常只会创建一个库;而表迁移可能需要创建多个库。通常,DLI的库数量上限为10。如果DLI空间不足,可能会导致元数据迁移失败,因此在元数据迁移前,需要评估源端库的数量,确保DLI有足够的空间来创建新的库。