华为云用户手册
-
步骤3:使用DEW管理访问凭证 Spark Jar作业的输出数据写入到OBS时,需要配置AKSK访问OBS,为了确保AKSK数据安全,您可以通过 数据加密 服务(Data Encryption Workshop,DEW)、云凭据管理服务(Cloud Secret Management Service, CS MS),对AKSK统一管理,有效避免程序硬编码或明文配置等问题导致的敏感信息泄露以及权限失控带来的业务风险。 本节操作介绍在DEW创建通用凭证。详细操作请参考创建通用凭据。 登录DEW管理控制台 选择“凭据管理”,进入“凭据管理”页面。 单击“创建凭据”。配置凭据基本信息。 分别配置AK和SK对应的凭据键值 本例中第一行key对应的value为用户的AK(Access Key Id) 本例中第二行key对应的value为用户的SK(Secret Access Key) 图3 在DEW中配置访问凭据 后续在 DLI Spark jar作业编辑界面设置访问凭据的参数示例。 spark.hadoop.fs.obs.bucket.USER_BUCKET_NAME.dew.access.key= USER_AK_C SMS _KEY_obstest1 spark.hadoop.fs.obs.bucket.USER_BUCKET_NAME.dew.secret.key= USER_SK_CSMS_KEY_obstest1 spark.hadoop.fs.obs.security.provider=com.dli.provider.UserObsBasicCredentialProvider spark.hadoop.fs.dew.csms.secretName=obsAkSkspark.hadoop.fs.dew.endpoint=kmsendpoint spark.hadoop.fs.dew.csms.version=v3spark.dli.job.agency.name=agencyname 更多Spark Jar 使用DEW获取访问凭证读写OBS示例请参考Spark Jar 使用DEW获取访问凭证读写OBS
-
操作流程 使用DLI提交Spark Jar作业的操作流程如表1所示。 开始进行如下操作前,请务必参考准备工作完成必要操作。 表1 使用DLI提交Spark Jar作业的操作流程 操作步骤 说明 步骤1:上传数据至OBS 准备Spark Jar作业程序包并上传至OBS。 步骤2:创建弹性资源池并添加队列 创建提交Spark Jar作业所需的计算资源。 步骤3:使用DEW管理访问凭证 跨源分析场景中,使用DEW管理数据源的访问凭证,并创建允许DLI访问DEW的委托。 步骤4:创建自定义委托允许DLI访问DEW读取凭证 创建允许DLI访问DEW的委托。 步骤5:提交Spark作业 创建Spark Jar作业分析数据。
-
步骤1:上传数据至OBS 参考Spark作业样例代码开发Spark Jar作业程序,编译并打包为“spark-examples.jar”。参考以下操作步骤上传该作业程序。 提交Spark作业之前,需要在OBS中上传数据文件。 登录管理控制台 在服务列表中,单击“存储”中的“ 对象存储服务 OBS”,进入OBS管理控制台页面。 创建桶,这里以桶名“dli-test-obs01”为例。 单击“创建桶”。 进入“创建桶”页面,选择“区域”,输入“桶名称”。其他参数保持默认值或根据需要选择。 创建OBS桶时,需要选择与DLI管理控制台相同的区域,不可跨区域执行操作。 单击“立即创建”。 单击所建桶“dli-test-obs01”,进入“对象”页面。 选择左侧列表中的“对象”,选择“上传对象”,将需要上传的文件,例如“spark-examples.jar”上传到指定目录,单击“确定”。 本例文件上传成功后,文件路径为“obs://dli-test-obs01/spark-examples.jar”。 关于OBS管理控制台更多操作请参考《对象存储服务用户指南》。
-
步骤4:创建自定义委托允许DLI访问DEW读取凭证 登录管理控制台。 单击右上方登录的用户名,在下拉列表中选择“ 统一身份认证 ”。 在左侧导航栏中,单击“委托”。 在“委托”页面,单击“创建委托”。 在“创建委托”页面,设置如下参数: 委托名称:按需填写,例如“dli_dew_agency_access”。 委托类型:选择“云服务”。 云服务:(“委托类型”选择“云服务”时出现此参数项。)在下拉列表中选择“DLI"。 持续时间:选择“永久”。 描述:非必选,可以填写“拥有OBS OperateAccess权限的委托”。 配置完委托的基本信息后,单击“下一步”。 授予当前委托所需的权限策略,单击“新建策略”。 配置策略信息。 输入策略名称,本例:dli-dew-agency。 选择“JSON视图”。 在策略内容中粘贴自定义策略。 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "csms:secretVersion:get", "csms:secretVersion:list", "kms:dek:decrypt" ] } ] } 按需输入策略描述。 新建策略完成后,单击“下一步”,返回委托授权页面。 选择步骤8新建的自定义策略。 单击“下一步”,选择委托的授权范围。本例选择“所有资源”。 了解更多授权操作说明请参考创建用户组并授权。 单击“确定”,完成授权。 授权后需等待15-30分钟才可生效。
-
后续指引 完成Spark Jar作业快速入门操作后,如果您想了解更多关于Spark Jar作业相关操作,建议您参考以下指引阅读。 分类 文档 说明 界面操作 Spark Jar作业管理 提供Spark Jar作业管理界面功能介绍。 Spark程序包管理 针对不同角色用户,您可以通过权限设置分配不同的程序包组或程序包,不同用户之间的作业效率互不影响,保障作业性能。 开发指南 Spark SQL语法参考 提供Spark SQL相关的数据库、表、分区、导入及导出数据、自定义函数、内置函数等语法说明和样例指导。 Spark Jar 相关API 提供Spark Jar相关API的使用说明。 Spark 作业SDK参考 提供执行Spark批处理作业的接口样例说明。
-
操作场景 DLI允许用户提交编译为Jar包的Spark作业,Jar包中包含了Jar作业执行所需的代码和依赖信息,用于在数据查询、数据分析、机器学习等特定的数据处理任务中使用。在提交Spark Jar作业前,将程序包上传至OBS,并将程序包与数据和作业参数一起提交以运行作业。 本例介绍通过DLI控制台提交Jar作业程序包的基本流程。由于不同的业务需求,Jar包的具体编写会有所差异。建议您参考DLI提供的示例代码,并根据实际业务场景进行相应的编辑和定制。获取DLI样例代码。
-
步骤1:开发Jar包并上传数据至OBS DLI控制台不提供Jar包的开发能力,您需要在线下完成Jar包的开发。Jar包的开发样例请参考Flink Jar开发基础样例。 参考Flink作业样例代码开发Flink Jar作业程序,编译并打包为“flink-examples.jar”。参考以下操作步骤上传该作业程序。 提交Flink作业之前,需要在OBS中上传数据文件。 登录管理控制台 在服务列表中,单击“存储”中的“对象存储服务OBS”,进入OBS管理控制台页面。 创建桶,这里以桶名“dli-test-obs01”为例。 单击“创建桶”。 进入“创建桶”页面,选择“区域”,输入“桶名称”。其他参数保持默认值或根据需要选择。 创建OBS桶时,需要选择与DLI管理控制台相同的区域,不可跨区域执行操作。 单击“立即创建”。 单击所建桶“dli-test-obs01”,进入“对象”页面。 选择左侧列表中的“对象”,选择“上传对象”,将需要上传的文件,例如“flink-examples.jar”上传到指定目录,单击“确定”。 本例文件上传成功后,路径为“obs://dli-test-obs01/flink-examples.jar”。 关于OBS管理控制台更多操作请参考《对象存储服务用户指南》。
-
操作流程 使用DLI提交Flink Jar作业的操作流程请参考表1。 开始进行如下操作前,请务必参考准备工作完成必要操作。 表1 使用DLI提交Flink Jar作业的操作流程 操作步骤 说明 步骤1:开发Jar包并上传数据至OBS 准备Flink Jar作业程序包并上传至OBS。 步骤2:购买弹性资源池并添加队列 创建提交Flink作业所需的计算资源。 步骤3:使用DEW管理访问凭据 跨源分析场景中,使用DEW管理数据源的访问凭证。 步骤4:创建自定义委托允许DLI访问DEW读取凭证 创建允许DLI访问DEW的委托。 步骤5:创建Flink Jar作业并配置作业信息 创建Flink Jar作业分析数据。
-
步骤4:创建自定义委托允许DLI访问DEW读取凭证 登录管理控制台。 单击右上方登录的用户名,在下拉列表中选择“统一身份认证”。 在左侧导航栏中,单击“委托”。 在“委托”页面,单击“创建委托”。 在“创建委托”页面,设置如下参数: 委托名称:按需填写,例如“dli_dew_agency_access”。 委托类型:选择“云服务”。 云服务:(“委托类型”选择“云服务”时出现此参数项。)在下拉列表中选择“DLI"。 持续时间:选择“永久”。 描述:非必选,可以填写“拥有OBS OperateAccess权限的委托”。 配置完委托的基本信息后,单击“下一步”。 授予当前委托所需的权限策略,单击“新建策略”。 配置策略信息。 输入策略名称,本例:dli-dew-agency。 选择“JSON视图”。 在策略内容中粘贴自定义策略。 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "csms:secretVersion:get", "csms:secretVersion:list", "kms:dek:decrypt" ] } ] } 按需输入策略描述。 新建策略完成后,单击“下一步”,返回委托授权页面。 选择步骤8新建的自定义策略。 单击“下一步”,选择委托的授权范围。本例选择“所有资源”。 了解更多授权操作说明请参考创建用户组并授权。 单击“确定”,完成授权。 授权后需等待15-30分钟才可生效。
-
操作场景 Flink Jar作业适用于需要自定义流处理逻辑、复杂的状态管理或特定库集成的数据分析场景。需要用户自行编写并构建Jar作业程序包,在提交Flink Jar作业前,将Jar作业程序包上传至OBS,并将程序包与数据和作业参数一起提交以运行作业。 本例介绍通过DLI控制台提交Flink Jar作业程序包的基本流程。由于不同的业务需求,Jar包的具体编写会有所差异。建议您参考DLI提供的示例代码,并根据实际业务场景进行相应的编辑和定制。获取DLI样例代码。
-
步骤3:使用DEW管理访问凭据 跨源分析场景中,需要在connector中设置账号、密码等属性。但是账号密码等信息属于高度敏感数据,需要做加密处理,以保障用户的数据隐私安全。 数据加密服务(Data Encryption Workshop,DEW)安全、可靠、简单易用隐私数据加解密方案。 本例介绍在DEW创建通用凭证的操作步骤。了解更多请参考创建通用凭据。 登录DEW管理控制台 选择“凭据管理”,进入“凭据管理”页面。 单击“创建凭据”,配置凭据基本信息。 本例中第一行key对应的value为用户的AK(Access Key Id) 本例中第二行key对应的value为用户的SK(Secret Access Key) 图3 在DEW中配置访问凭据 后续在DLI Flink jar作业编辑界面设置访问凭据的参数示例。 flink.hadoop.fs.obs.bucket.USER_BUCKET_NAME.dew.access.key=USER_AK_CSMS_KEY_obstest1 flink.hadoop.fs.obs.bucket.USER_BUCKET_NAME.dew.secret.key=USER_SK_CSMS_KEY_obstest1 flink.hadoop.fs.obs.security.provider=com.dli.provider.UserObsBasicCredentialProvider flink.hadoop.fs.dew.csms.secretName=obsAksKflink.hadoop.fs.dew.endpoint=kmsendpoint flink.hadoop.fs.dew.csms.version=v6flink.hadoop.fs.dew.csms.cache.time.second=3600flink.dli.job.agency.name=agencyname 更多Flink jar 使用DEW获取访问凭证读写OBS示例请参考Flink Jar 使用DEW获取访问凭证读写OBS
-
入门实践 我们整理了从队列网络连通、不同类型的作业分析、数据迁移场景的常用开发指南和最佳实践内容,帮助您更好的使用DLI进行大数据分析和处理。 表1 DLI常用开发指南与最佳实践 场景 操作指导 描述 队列网络连通 配置DLI队列与内网数据源的网络连通 DLI在创建运行作业需要连接外部其他数据源,本节操作介绍队列与外部数据源之间的网络连通方法,如:DLI连接 MRS 、RDS、 CSS 、Kafka、DWS时,需要打通DLI和外部数据源之间的网络。 配置DLI 队列与公网网络连通 介绍DLI队列在公网访问场景下网络连通的方法。通过配置SNAT规则,添加到公网的路由信息,可以实现队列到和公网的网络打通。 Spark SQL作业开发 使用Spark SQL作业分析OBS数据 介绍使用Spark SQL作业创建OBS表、导入OBS表数据、插入和查询OBS表数据等操作。 Flink OpenSource SQL作业开发 从Kafka读取数据写入到RDS 介绍使用Flink OpenSource SQL作业从Kafka读取数据写入到RDS的开发示例。 从Kafka读取数据写入到DWS 介绍使用Flink OpenSource SQL作业从Kafka读取数据写入到DWS的开发示例。 从Kafka读取数据写入到Elasticsearch 介绍使用Flink OpenSource SQL作业从Kafka读取数据写入到Elasticsearch的开发示例。 从MySQL CDC源表读取数据写入到DWS 介绍使用Flink OpenSource SQL作业从MySQL CDC源表读取数据写入到DWS的开发示例。 从PostgreSQL CDC源表读取数据写入到DWS 介绍使用Flink OpenSource SQL作业从PostgreSQL CDC源表读取数据写入到DWS的开发示例。 Flink Jar作业开发 Flink Jar作业开发基础样例 通过自定义作业与MRS进行交互为例进行介绍Flink Jar作业开发样例。 使用Flink Jar写入数据到OBS开发指南 介绍将kafka数据处理后写入到OBS的操作样例。 使用Flink Jar连接开启SASL_SSL认证的Kafka 介绍使用Flink OpenSource SQL连接开启SASL_SSL认证的Kafka。 使用Flink Jar读写DIS开发指南 介绍Flink Jar作业读写DIS数据的操作方法。 Spark Jar作业开发 使用Spark Jar作业读取和查询OBS数据 介绍从编写Spark程序代码读取和查询OBS数据、编译打包到提交Spark Jar作业的开发样例。 数据迁移 迁移Hive数据至DLI 介绍如何通过 CDM 数据同步功能,迁移MRS Hive数据至DLI。 迁移Kafka数据至DLI 介绍如何通过CDM数据同步功能,迁移MRS Kafka数据至DLI。 迁移Elasticsearch数据至DLI 介绍如何通过CDM数据同步功能,迁移Elasticsearch类型的CSS集群数据至DLI。 迁移RDS数据至DLI 介绍如何通过CDM数据同步功能,迁移关系型数据库RDS数据至DLI。 迁移DWS数据至DLI 介绍如何通过CDM数据同步功能,迁移 数据仓库 服务DWS数据至DLI。
-
后续指引 完成增强型跨源连接访问RDS快速入门操作后,如果您想了解更多关于跨源连接的相关操作,建议您参考以下指引阅读。 分类 文档 说明 界面操作 跨源连接和跨源分析 提供跨源连接、分析相关的功能介绍和操作指导。 开发指南 跨源访问其他数据源 提供跨源访问CSS、DWS、HBase、OpenTSDB、RDS、Redis、Mongo等样例代码和开发指导。 增强型跨源API参考 提供增强型跨源相关API接口指导。
-
步骤6:提交SQL作业 本节示例以SQL作业为例说明如何跨源访问RDS表。 在DLI管理控制台的左侧导航栏中,单击“SQL编辑器”,进入SQL作业编辑器页面。 在“SQL编辑器”页面右侧的编辑窗口中,输入如下SQL语句创建数据库db1,单击“执行”。 create database db1; 在编辑窗口中,选择队列“dli_queue_01”和数据库“db1”。输入如下SQL语句创建表,向RDS表插入数据,以及查询数据,单击“执行”。 根据界面显示的执行结果查询RDS表数据信息,整个操作完成。 CREATE TABLE IF NOT EXISTS rds_test USING JDBC OPTIONS ( 'url' = 'jdbc:mysql://{{ip}}:{{port}}', //RDS内网地址及端口 'driver' = 'com.mysql.jdbc.Driver', 'dbtable' = 'dli_demo.tabletest', //在RDS创建的库名及表名 'encryption' = 'true', 'passwdauth'="xxxxx" // DLI侧创建的Password类型的跨源认证名称。使用跨源认证则无需在作业中配置账号和密码。 ) insert into rds_test VALUES ('123','abc'); SELECT * from rds_test;
-
操作流程 使用DLI提交SQL作业查询RDS MySQL数据操作流程如表1所示。 开始进行如下操作前,请务必参考准备工作完成必要操作。 表1 使用DLI提交SQL作业查询RDS MySQL数据的操作流程 操作步骤 说明 步骤1:创建RDS MySQ L实例 样例场景需要创建RDS MySQL实例。 步骤2:创建RDS数据库表 登录RDS实例创建数据库和表。 步骤3:创建弹性资源池并添加队列 创建提交作业所需的计算资源。 步骤4:创建增强型跨源连接 通过增强型跨源连接建立DLI弹性资源池与RDS实例的网络连通。 步骤5:创建跨源认证 使用跨源认证保存DLI读写RDS数据的访问凭证。 步骤6:提交SQL作业 使用标准SQL语句进行数据的查询和分析。
-
步骤1:创建RDS MySQL实例 本样例中,假设作业名称为“JobSample”,采用RDS服务作为数据源,创建RDS MySQL实例。 具体操作请参见购买RDS for MySQL实例。 登录RDS管理控制台。 在管理控制台左上角选择区域和项目。 在“实例管理”页面,单击“购买数据库实例”。 在购买数据库实例页面,选择计费模式,填写并选择实例相关信息后,单击“立即购买”。 根据业务规划配置参数信息,本例参数配置信息如所示。 更多RDS实例的参数配置信息请参考购买RDS实例。 表2 RDS MySQL实例参数配置信息 参数名称 参数说明 取值样例 计费模式 选择RDS实例的计费模式。 按需计费 区域 资源所在的区域。 华东-上海二 实例名称 实例名称。 rds-demo 数据库引擎 MySQL MySQL 数据库版本 选用RDS for MySQL数据库时,请根据实际业务需求选择合适的数据库引擎版本。建议您选择当前可用的最高版本数据库,因其性能更稳定,安全性更高,使用更可靠。 8.0 实例类型 选择实例的主备类型。 单机 存储类型 实例的存储类型决定实例的读写速度。最大吞吐量越高,读写速度越快。 SSD云盘 可用区 对于单机实例,仅需选择单个可用区。 - 时区 由于世界各国家与地区经度不同,地方时也有所不同,因此会划分为不同的时区。时区可在创建实例时选择,后期可修改。 默认 性能规格 实例的CPU和内存。不同性能规格对应不同连接数和最大IOPS。 2vCPUs | 4GB 存储空间 如果存储类型为SSD云盘或极速型SSD,可设置存储空间自动扩容,当存储空间可用率过小时,会自动扩容存储空间。 40GB 磁盘加密 选择是否开启磁盘加密功能。 不加密 虚拟私有云 选择已有的虚拟私有云。 如需重新创建VPC和子网,请参考创建虚拟私有云和子网。 说明: 跨源场景数据源网段和弹性资源池的网段不能重合。 - 数据库端口 默认使用3306端口。 3306 安全组 安全组限制实例的安全访问规则,加强云数据库RDS服务与其他服务间的安全访问。 数据源的安全组需放通DLI弹性资源池的网段。 - 设置密码 设置实例的登录密码。 - 管理员账号 root root 管理员密码 设置管理员密码。 - 参数模板 数据库参数模板就像是数据库引擎配置值的容器,参数模板中的参数可应用于一个或多个相同类型的数据库实例。 系统默认模板:Default-MySQL-5.7 表名大小写 配置表名不区分大小写。 不区分大小写 企业项目 对于已成功关联企业项目的用户,仅需在“企业项目”下拉框中选择目标项目。 default 购买数量 实例购买数量 1 只读实例 为了实现读取能力的弹性扩展,分担数据库压力,您可以在某个区域中创建一个或多个只读实例。 暂不购买 单击“立即购买”,进入规格确认页面。 单击“提交”,完成购买RDS MySQL实例。 实例创建成功后,用户可以在“实例管理”页面对其进行查看和管理。 创建实例过程中,状态显示为“创建中”,创建完成的实例状态显示为“正常”。您可以通过“任务中心”查看详细进度和结果。
-
步骤2:创建RDS数据库表 登录RDS管理控制台。 在管理控制台左上角选择区域和项目。 在“实例管理页面”,找到您已经创建的RDS实例,记录并保存RDS实例的内网地址。 图2 内网地址 单击所创建RDS实例的“登录”,跳转至“数据管理服务-DAS”。输入相关账户信息,单击“测试连接”。显示连接成功后,单击“登录”,进入“实例登录”页面。 图3 登录RDS 图4 实例登录 登录RDS实例后,单击“新建数据库”,创建名称为“dli_demo”的数据库。 单击“SQL查询”,执行如下SQL创建表。 CREATE TABLE `dli_demo`.`tabletest` ( `id` VARCHAR(32) NOT NULL, `name` VARCHAR(32) NOT NULL, PRIMARY KEY (`id`) ) ENGINE = InnoDB DEFAULT CHARACTER SET = utf8mb4;
-
规划资源 企业路由器ER、 虚拟私有云VPC 、弹性 云服务器ECS 只要位于同一个区域内即可,可用区可以任意选择,不用保持一致。 以下资源规划详情仅为示例,您可以根据需要自行修改。 企业路由器ER:1个,资源规划详情如表5所示。 表5 ER资源规划详情 ER名称 AS号 默认路由表关联 默认路由表传播 关联路由表 传播路由表 连接 er-test-01 64800 开启 开启 默认路由表 默认路由表 er-attach-01 er-attach-02 er-attach-03 er-attach-04 虚拟私有云VPC:4个,VPC的网段不能重复,资源规划详情如表6所示。 表6 VPC资源规划详情 VPC名称 VPC网段 子网名称 子网网段 关联路由表 vpc-demo-01 192.168.0.0/16 subnet-demo-01 192.168.1.0/24 默认路由表 vpc-demo-02 172.16.0.0/16 subnet-demo-02 172.16.1.0/24 默认路由表 vpc-demo-03 10.1.0.0/16 subnet-demo-03 10.1.1.0/24 默认路由表 vpc-demo-04 10.2.0.0/16 subnet-demo-04 10.2.1.0/24 默认路由表 弹性云服务器ECS:4个,分别接入4个不同的VPC,资源规划详情如表7所示。 表7 ECS资源规划详情 ECS名称 镜像 VPC名称 子网名称 安全组 私有IP地址 ecs-demo-01 公共镜像: EulerOS 2.5 6 vpc-demo-01 subnet-demo-01 sg-demo: 通用Web服务器 192.168.1.12 ecs-demo-02 vpc-demo-02 subnet-demo-02 172.16.1.189 ecs-demo-03 vpc-demo-03 subnet-demo-03 10.1.1.105 ecs-demo-04 vpc-demo-04 subnet-demo-04 10.2.1.83
-
规划组网 同区域VPC互通组网规划如图1所示,将4个VPC接入ER中,组网规划说明如表2所示。 图1 同区域VPC互通组网规划 表1 网络流量路径说明 场景 说明 请求路径:VPC1→VPC3 在VPC1路由表中,通过下一跳为ER的路由将流量转送到ER。 在ER路由表中,通过下一跳为VPC3连接的传播路由将流量送达VPC3。 响应路径:VPC3→VPC1 在VPC3路由表中,通过下一跳为ER的路由将流量转送到ER。 在ER路由表中,通过下一跳为VPC1连接的传播路由将流量送达VPC1。 表2 同区域VPC互通组网规划说明 资源 说明 VPC VPC网段(CIDR)不能重叠。 本示例中,ER路由表使用的是“虚拟私有云(VPC)”连接的传播路由,由ER自动学习VPC网段作为目的地址,不支持修改,因此重叠的VPC网段会导致路由冲突。 如果您已有的VPC存在网段重叠,则不建议您使用传播路由,请在ER路由表中手动添加静态路由,目的地址可以为VPC子网网段或者范围更小的网段。 VPC有一个默认路由表。 VPC默认路由表中的路由说明如下: local:表示VPC本地IPV4的默认路由条目,用于VPC内子网通信,系统自动配置。 ER:表示将VPC子网流量路由至ER,建议您在VPC路由表中增加三个VPC的网段10.0.0.0/8、172.16.0.0/12、192.168.0.0/16,路由信息如表3所示。 ER 开启“默认路由表关联”和“默认路由表传播”功能,添加完“虚拟私有云(VPC)”连接,系统会自动执行以下配置: 将4个“虚拟私有云(VPC)”连接关联至ER默认路由表。 在默认路由表中创建“虚拟私有云(VPC)”连接的传播,路由自动学习VPC网段,路由信息如表4所示。 ECS 4个ECS分别位于不同的VPC内,VPC中的ECS如果位于不同的安全组,需要在安全组中添加规则放通网络。 表3 VPC路由表 目的地址 下一跳 路由类型 10.0.0.0/8 企业路由器 静态路由:自定义 172.16.0.0/12 企业路由器 静态路由:自定义 192.168.0.0/16 企业路由器 静态路由:自定义 如果您在创建连接时开启“配置连接侧路由”选项,则不用手动在VPC路由表中配置静态路由,系统会在VPC的所有路由表中自动添加指向ER的路由,目的地址固定为10.0.0.0/8,172.16.0.0/12,192.168.0.0/16。 如果VPC路由表中的路由与这三个固定网段冲突,则会添加失败。此时建议您不要开启“配置连接侧路由”选项,并在连接创建完成后,手动添加路由。 不建议在VPC路由表中将ER的路由配置为默认路由网段0.0.0.0/0,如果VPC内的ECS绑定了EIP,会在ECS内增加默认网段的策略路由,并且优先级高于ER路由,此时会导致流量转发至EIP,无法抵达ER。 表4 ER路由表 目的地址 下一跳 路由类型 VPC1网段:192.168.0.0/16 VPC1连接:er-attach-01 传播路由 VPC2网段:172.16.0.0/16 VPC2连接:er-attach-02 传播路由 VPC3网段:10.1.0.0/16 VPC3连接:er-attach-03 传播路由 VPC4网段:10.2.0.0/16 VPC4连接:er-attach-04 传播路由
-
操作步骤 进入企业路由器列表页面。 通过名称过滤,快速找到待删除路由表标签的企业路由器。 单击企业路由器名称,并选择“路由表”页签。 进入路由表列表页面。 选择目标路由表,在“标签”页签下,单击“编辑标签”。 进入“编辑标签”页面。 根据需要,参考以下步骤对标签执行对应的操作。 添加标签:单击,在文本框中输入标签键和标签值对应的取值,并单击“确定”。 修改标签:单击目标标签键或者标签值后方的,删掉原有取值,输入新的取值,并单击“确定”。 删除标签:单击目标标签后方的“删除”,并单击“确定”。
-
修改企业路由器的标签 进入企业路由器列表页面。 通过名称过滤,快速找到待修改标签的企业路由器。 单击企业路由器名称。 进入企业路由器详情页面。 选择“标签”页签,在标签列表左上方,单击“编辑标签”。 进入“编辑标签”页面。 根据需要,参考以下步骤对标签执行对应的操作。 添加标签:单击,在文本框中输入标签键和标签值对应的取值,并单击“确定”。 修改标签:单击目标标签键或者标签值后方的,删掉原有取值,输入新的取值,并单击“确定”。 删除标签:单击目标标签后方的“删除”,并单击“确定”。
-
操作步骤 进入企业路由器列表页面。 通过名称过滤,快速找到待添加标签的企业路由器。 单击企业路由器名称。 进入企业路由器详情页面。 选择“标签”页签,在标签列表左上方,单击“编辑标签”。 进入“编辑标签”页面。 根据需要,参考以下步骤对标签执行对应的操作。 添加标签:单击,在文本框中输入标签键和标签值对应的取值,并单击“确定”。 修改标签:单击目标标签键或者标签值后方的,删掉原有取值,输入新的取值,并单击“确定”。 删除标签:单击目标标签后方的“删除”,并单击“确定”。
-
发送事务消息 参考如下示例代码,或者通过TransactionProducer.java获取更多示例代码。 import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.producer.LocalTransactionState; import org.apache.rocketmq.client.producer.SendResult; import org.apache.rocketmq.client.producer.TransactionListener; import org.apache.rocketmq.client.producer.TransactionMQProducer; import org.apache.rocketmq.common.message.Message; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.remoting.common.RemotingHelper; import java.io.UnsupportedEncodingException; public class Main { public static void main(String[] args) throws MQClientException, UnsupportedEncodingException { TransactionListener transactionListener = new TransactionListener() { @Override public LocalTransactionState executeLocalTransaction(Message message, Object o) { System.out.println("开始执行本地事务: " + message); return LocalTransactionState.COMMIT_MESSAGE; } @Override public LocalTransactionState checkLocalTransaction(MessageExt messageExt) { System.out.println("收到回查,重新查询事务状态: " + messageExt); return LocalTransactionState.COMMIT_MESSAGE; } }; TransactionMQProducer producer = new TransactionMQProducer("please_rename_unique_group_name"); //填入连接地址 producer.setNamesrvAddr("192.168.0.1:8100"); //producer.setUseTLS(true); //创建实例时,如果开启了SSL,请增加此行代码。 producer.setTransactionListener(transactionListener); producer.start(); Message msg = new Message("TopicTest", "TagA", "KEY", "Hello RocketMQ ".getBytes(RemotingHelper.DEFAULT_CHARSET)); SendResult sendResult = producer.sendMessageInTransaction(msg, null); System.out.printf("%s%n", sendResult); producer.shutdown(); }}
-
操作步骤 进入企业路由器列表页面。 通过名称过滤,快速找到待删除连接标签的企业路由器。 单击企业路由器名称,并选择“连接”页签。 进入连接列表页面。 单击待删除标签的连接名称。 进入连接详情页面。 在标签列表左上方,单击“编辑标签”。 进入“编辑标签”页面。 根据需要,参考以下步骤对标签执行对应的操作。 添加标签:单击,在文本框中输入标签键和标签值对应的取值,并单击“确定”。 修改标签:单击目标标签键或者标签值后方的,删掉原有取值,输入新的取值,并单击“确定”。 删除标签:单击目标标签后方的“删除”,并单击“确定”。
-
同步发送 同步发送是指消息发送方发出一条消息到服务端,服务端接收并处理消息,然后返回响应给发送方,发送方收到响应后才会发送下一条消息的通讯方式。 参考如下示例代码,或者通过Producer.java获取更多示例代码。 import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.client.producer.SendResult; import org.apache.rocketmq.common.message.Message; import org.apache.rocketmq.remoting.common.RemotingHelper; public class Main { public static void main(String[] args) { DefaultMQProducer producer = new DefaultMQProducer("ProducerGroupName"); //填入连接地址 producer.setNamesrvAddr("192.168.0.1:8100"); //producer.setUseTLS(true); //创建实例时,如果开启了SSL,请添加此行代码。 try { producer.start(); Message msg = new Message("TopicTest", "TagA", "OrderID188", "Hello world".getBytes(RemotingHelper.DEFAULT_CHARSET)); SendResult sendResult = producer.send(msg); System.out.printf("%s%n", sendResult); } catch (Exception e) { e.printStackTrace(); } producer.shutdown(); } }
-
异步发送 异步发送是指消息发送方发出一条消息后,不等服务端返回响应,接着发送下一条消息的通讯方式。 使用异步发送需要客户端实现异步发送回调接口(SendCallback)。即消息发送方在发送了一条消息后,不需要等待服务端响应接着发送第二条消息。发送方通过回调接口接收服务端响应,并处理响应结果。 参考如下示例代码,或者通过AsyncProducer.java获取更多示例代码。 import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.client.producer.SendCallback; import org.apache.rocketmq.client.producer.SendResult; import org.apache.rocketmq.common.message.Message; import org.apache.rocketmq.remoting.common.RemotingHelper; public class Main { public static void main(String[] args) throws InterruptedException { DefaultMQProducer producer = new DefaultMQProducer("ProducerGroupName"); //填入连接地址 producer.setNamesrvAddr("192.168.120.45:8100;192.168.123.150:8100"); //producer.setUseTLS(true); //创建实例时,如果开启了SSL,请增加此行代码。 try { producer.start(); Message msg = new Message("TopicTest", "TagA", "OrderID188", "Hello world".getBytes(RemotingHelper.DEFAULT_CHARSET)); producer.send(msg, new SendCallback() { @Override public void onSuccess(SendResult result) { // 消息发送成功。 System.out.println("send message success. msgId= " + result.getMsgId()); } @Override public void onException(Throwable throwable) { // 消息发送失败,需要进行重试处理,可重新发送这条消息或持久化这条数据进行补偿处理。 System.out.println("send message failed."); throwable.printStackTrace(); } }); } catch (Exception e) { e.printStackTrace(); } Thread.sleep(2000); producer.shutdown(); }}
-
操作步骤 进入企业路由器列表页面。 通过名称过滤,快速找到待添加路由表标签的企业路由器。 单击企业路由器名称,并选择“路由表”页签。 进入路由表列表页面。 选择目标路由表,在“标签”页签下,单击“编辑标签”。 进入“编辑标签”页面。 根据需要,参考以下步骤对标签执行对应的操作。 添加标签:单击,在文本框中输入标签键和标签值对应的取值,并单击“确定”。 修改标签:单击目标标签键或者标签值后方的,删掉原有取值,输入新的取值,并单击“确定”。 删除标签:单击目标标签后方的“删除”,并单击“确定”。
-
操作步骤 进入企业路由器列表页面。 通过名称过滤,快速找到待删除标签的企业路由器。 单击企业路由器名称。 进入企业路由器详情页面。 选择“标签”页签,在标签列表左上方,单击“编辑标签”。 进入“编辑标签”页面。 根据需要,参考以下步骤对标签执行对应的操作。 添加标签:单击,在文本框中输入标签键和标签值对应的取值,并单击“确定”。 修改标签:单击目标标签键或者标签值后方的,删掉原有取值,输入新的取值,并单击“确定”。 删除标签:单击目标标签后方的“删除”,并单击“确定”。
-
操作步骤 进入企业路由器列表页面。 通过名称过滤,快速找到待添加连接标签的企业路由器。 单击企业路由器名称,并选择“连接”页签。 进入连接列表页面。 单击待添加标签的连接名称。 进入连接详情页面。 在标签列表左上方,单击“编辑标签”。 进入“编辑标签”页面。 根据需要,参考以下步骤对标签执行对应的操作。 添加标签:单击,在文本框中输入标签键和标签值对应的取值,并单击“确定”。 修改标签:单击目标标签键或者标签值后方的,删掉原有取值,输入新的取值,并单击“确定”。 删除标签:单击目标标签后方的“删除”,并单击“确定”。
-
操作步骤 进入企业路由器列表页面。 通过名称过滤,快速找到待修改路由表标签的企业路由器。 单击企业路由器名称,并选择“路由表”页签。 进入路由表列表页面。 选择目标路由表,在“标签”页签下,单击“编辑标签”。 进入“编辑标签”页面。 根据需要,参考以下步骤对标签执行对应的操作。 添加标签:单击,在文本框中输入标签键和标签值对应的取值,并单击“确定”。 修改标签:单击目标标签键或者标签值后方的,删掉原有取值,输入新的取值,并单击“确定”。 删除标签:单击目标标签后方的“删除”,并单击“确定”。
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- ...
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333