• 沒有找到結果。

转储至MRS_数据接入服务 DIS_用户指南_管理转储任务_华为云

N/A
N/A
Protected

Academic year: 2022

Share "转储至MRS_数据接入服务 DIS_用户指南_管理转储任务_华为云"

Copied!
107
0
0

加載中.... (立即查看全文)

全文

(1)

用户指南

文档版本 02

发布日期 2021-09-15

(2)

版权所有 © 华为技术有限公司 2021。 保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传 播。

商标声明

和其他华为商标均为华为技术有限公司的商标。

本文档提及的其他所有商标或注册商标,由各自的所有人拥有。

注意

您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或 特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或暗示的声 明或保证。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文 档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

(3)

目 录

1 IAM 权限管理... 1

1.1 创建用户并授权使用 DIS... 1

2 开通 DIS 通道...3

3 入门...7

3.1 DIS 使用流程简介... 7

3.2 步骤 2:准备 DIS 应用开发环境... 7

3.3 步骤 3:发送数据到 DIS...11

3.4 步骤 4:从 DIS 获取数据... 12

3.5 获取认证信息...13

3.6 连接 OBS... 13

3.7 自动创建委托...13

4 管理通道...14

4.1 通道列表简介...14

4.2 查看通道监控信息... 14

4.3 变更源数据类型... 16

4.4 管理源数据 Schema... 17

4.5 管理通道标签...21

4.6 管理 App... 23

4.7 授权管理... 24

4.8 弹性伸缩分区...25

4.9 删除通道... 27

5 使用 DIS... 28

5.1 检查与配置 DNS 信息... 28

5.2 使用 Agent 上传数据...29

5.2.1 DIS Agent 概述...29

5.2.2 安装前准备... 30

5.2.3 安装 DIS Agent...31

5.2.4 配置 DIS Agent...32

5.2.5 启动 DIS Agent...38

5.2.6 验证 DIS Agent...39

5.2.7 停止 DIS Agent...41

5.3 使用 DIS Flume Plugin 上传与下载数据... 41

(4)

5.3.1 DIS Flume Plugin 概述... 41

5.3.2 安装 DIS Flume Plugin 前准备... 42

5.3.3 安装 Plugin... 43

5.3.4 配置 Plugin... 43

5.3.5 验证 Plugin... 48

5.3.6 卸载 Plugin(可选)... 49

5.4 使用 DIS Logstash Plugin 上传与下载数据... 50

5.4.1 DIS Logstash Plugin 概述... 50

5.4.2 安装 DIS Logstash Plugin 前准备... 51

5.4.3 在线安装 DIS Logstash Plugin...51

5.4.4 离线安装 DIS Logstash Plugin...52

5.4.5 配置 DIS Logstash Plugin... 53

5.4.6 验证 DIS Logstash Plugin... 56

5.4.7 卸载 DIS Logstash Plugin(可选)... 57

5.5 使用 DIS Spark Streaming 下载数据...57

5.5.1 DIS Spark Streaming 概述...57

5.5.2 准备 DIS Spark Streaming 的相关环境... 58

5.5.3 自定义 SparkStreaming 作业... 59

5.6 使用 DIS Flink Connector 上传与下载数据... 64

5.6.1 DIS Flink Connector 概述... 64

5.6.2 准备 DIS Flink Connector 的相关环境...64

5.6.3 自定义 Flink Streaming 作业... 65

5.7 使用设备接入 IoTDA 写入数据至 DIS...71

6 管理转储任务...72

6.1 新增转储任务...72

6.2 转储至 OBS... 74

6.3 转储至 DLI... 80

6.4 转储至 DWS... 81

6.5 转储至 MRS... 84

7 管理企业项目...87

8 事件通知...89

8.1 事件通知概述...89

8.2 订阅事件通知...90

8.3 查看事件... 92

9 监控... 93

9.1 支持的监控指标... 93

9.2 设置告警规则...95

9.3 查看监控指标...95

A 修订记录... 97

(5)

1 IAM 权限管理

1.1 创建用户并授权使用 DIS

如果您需要对您所拥有的数据接入服务(DIS)进行精细的权限管理,您可以使用统一 身份认证服务(Identity and Access Management,简称IAM),通过IAM,您可 以:

● 根据企业的业务组织,在您的华为云账号中,给企业中不同职能部门的员工创建 IAM用户,让员工拥有唯一安全凭证,并使用DIS资源。

● 根据企业用户的职能,设置不同的访问权限,以达到用户之间的权限隔离。

● 将DIS资源委托给更专业、高效的其他华为云账号或者云服务,这些账号或者云服 务可以根据权限进行代运维。

如果华为云账号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章 节,不影响您使用DIS服务的其它功能。

本章节为您介绍对用户授权的方法,操作流程如图1-1所示。

前提条件

给用户组授权之前,请您了解用户组可以添加的DIS权限,并结合实际需求进行选择,

DIS支持的系统权限,请参见DIS系统权限。若您需要对除DIS之外的其它服务授权,

IAM支持服务的所有权限请参见权限策略。

(6)

示例流程

1-1 IAM 用户授权流程

1. 创建用户组并授权

在IAM控制台创建用户组,并授予数据接入服务的通道管理权限“DIS Operator”。

2. 创建用户并加入用户组

在IAM控制台创建用户,并将其加入1中创建的用户组。

3. 用户登录并验证权限

新创建的用户登录控制台,切换至授权区域,验证权限:

– 在“服务列表”中选择“数据接入服务”,进入DIS主界面创建通道,若未提 示权限不足,表示“DIS Operator”已生效。

– 在“服务列表”中选择除DIS服务外的任一服务,若提示权限不足,表示

“DIS Operator”已生效。

(7)

2 开通 DIS 通道

用户可以基于云管理平台Web界面开通DIS通道。

前提条件

使用DIS前需要注册公有云帐户,再开通DIS。

操作步骤

步骤1 使用注册帐户登录DIS控制台。

步骤2 单击管理控制台左上角的 ,选择区域和项目。

步骤3 单击“购买接入通道”配置相关参数。

2-1 接入通道参数说明

参数 参数解释 参数示例

计费模式 按需计费 按需计费

区域 指的是云服务所在的物理位置。您可以在下拉框

中选择并切换区域。 华北-北京1

基本信息

通道名称 用户发送或者接收数据时,需要指定通道名称,

通道名称不可重复。通道名称由英文字母、数 字、中划线和下划线组成。长度为1~64个字符。

dis-Tido

通道类型 ● 普通:单分区容量,最高发送速度可达 1MB/

秒(达到速度上限才会被限流),最高提取速 度可达 2MB/秒。

● 高级:单分区容量,最高发送速度可达 5MB/

秒(达到速度上限才会被限流),最高提取速 度可达 10MB/秒。

-

(8)

参数 参数解释 参数示例 分区数量 分区是DIS数据通道的基本吞吐量单位。

● 普通通道的分区数量取值范围:1~50的整 数,每个租户分区数量总和不能超过50。

● 高级通道的分区数量取值范围:1~10的整 数,每个租户分区数量总和不能超过10。

5

分区计算 用户可以根据实际需求通过系统计算得到一个建 议的分区数量值。

1. 单击“分区计算”,弹出“计算所需分区数 量”对话框。

2. 根据实际需求填写“平均记录大小”、“最大 写入记录数”和“消费程序数量”,“预估所 需分区数量”选项框中将显示所需的分区数 量,此值不可修改。

说明

所需分区计算公式:

– 按流量计算所需写分区数:(所得数值需向上取 整后作为分区数)

普通通道:平均记录大小*(1+分区预留比例 20%)*最大写入记录数/(1*1024KB)

高级通道:平均记录大小*(1+分区预留比例 20%)*最大写入记录数/(5*1024KB)

– 按消费程序数量计算读分区数:(消费程序数 量/2后的数值需要保留两位小数,然后乘以“按 流量计算所需写分区数”,最终取值需向上取 整)(消费程序数量/2)*按流量计算所需的写分区

获取“按流量计算所需写分区数”、“按消费程 序数量计算读分区数”中的最大值作为预估所需 分区数量。

3. 单击“使用计算值”将系统计算出的建议值应 用于“分区数量”。

-

生命周期

(小时) 存储在DIS中的数据保留的最长时间,超过此时长 数据将被清除。

取值范围:24~72的整数。

24

(9)

参数 参数解释 参数示例 源数据类型 ● BLOB:存储在数据库管理系统中的一组二进

制数据。“源数据类型”选择“BLOB”,则 支持的“转储服务类型”为“OBS”、

“MRS”。

● JSON:一种开放的文件格式,以易读的文字 为基础,用来传输由属性值或者序列性的值组 成的数据对象。“源数据类型”选择

“JSON”,则支持的“转储服务类型”为

“OBS”、“MRS”、“DLI”和“DWS”。

● CSV:纯文本形式存储的表格数据,分隔符默 认采用逗号。

“源数据类型”选择“CSV”,则支持的“转 储服务类型”为“OBS”、“MRS”、

“DLI”、“DWS”。

JSON

自动扩缩容 创建通道的同时是否开启自动扩缩容功能。

通过单击通过单击 或 来关闭或开启 自动扩缩容开关。

说明

用户可在创建通 道时定义是否自 动扩缩容,也可 对已创建的通道 修改自动扩缩容 属性。

自动缩容最 小分区数

设置自动缩容的分区下限,自动缩容的目标分区

数不小于下限值。 -

自动扩容最 大分区数

设置自动扩容的分区上限,自动扩容的目标分区

数不超过上限值。 -

源数据分隔

符 源数据为CSV格式时的数据分隔符。 -

Schema开

关 创建通道的同时是否为其创建数据Schema。源数 据类型为JSON或CSV时可配置该参数。

通过单击 或 来关闭或开启Schema配 置开关。

说明若创建通道时,没有同时创建数据Schema,可待通道创 建成功后。到通道的管理页面创建数据Schema,详情 请参见管理源数据Schema。

“源数据类型”

为“JSON”和

“CSV”时,可 选择创建数据 Schema。

(10)

参数 参数解释 参数示例 源数据Schema 支持输入和导入源数据样例,源数据样例格式为

JSON或者CSV,详细操作请参见管理源数据

Schema。

1. 在左侧文本框中输入JSON或者CSV格式的源数

据样例,也可单击 导入

源数据样例。

2. 在左侧文本框中单击 ,可删除左侧文本框 中已输入或导入的源数据样例。

3. 在左侧文本框中单击 ,可在右侧文本框中 根据源数据样例生成Avro schema。

4. 在右侧文本框中单击 ,可删除已生成的 Avro schema。

5. 在右侧文本框中单击 ,可修改已生成的 Avro schema。

仅当“Schema 配置开关”配置 为“开启”:

时需要配 置此参数。

企业项目 配置通道所属的企业项目。已开通企业项目管理 服务的用户才可以配置该参数。默认值为 default。

企业项目是一种云资源管理方式,企业项目管理 服务提供统一的云资源按项目管理,以及项目内 的资源管理、成员管理。

您可以选择默认的企业项目“default”或其他已 有的企业项目。如果要创建新的企业项目,请登 录企业管理控制台进行创建,详细操作请参考

《企业管理用户指南》。

-

现在配置 单击“现在配置”,呈现添加标签。

添加标签具体请参考管理通道标签。

-

暂不配置 暂不配置任何信息。 -

标签 标签是通道的标识。为通道添加标签,可以方便

用户识别和管理拥有的通道资源。 -

步骤4 单击“立即购买”,弹出“规格确认”页面。

步骤5 单击“提交”,完成通道接入。

----结束

(11)

3 入门

3.1 DIS 使用流程简介

DIS的使用流程如下:

步骤1:开通DIS通道

用户使用DIS前需要先开通DIS通道。

步骤2:准备DIS应用开发环境

用户开发DIS应用程序前,首先需要安装应用开发工具。然后获取SDK和样例工程,并 导入到用户的开发环境中。

步骤3:发送数据到DIS

基于数据上传业务开发应用程序,并运行程序,实现数据上传功能。数据上传过程中 可在Console控制台查看数据上传通道相关信息。

步骤4:从DIS获取数据

基于数据下载业务开发应用程序,并运行程序,实现数据下载功能。

3.2 步骤 2:准备 DIS 应用开发环境

用户开发DIS应用程序前,首先需要安装和配置应用开发环境。获取SDK和样例工程,

并导入到用户的开发环境中。

前提条件

● JDK(1.8版本或以上版本)工具已安装成功。

● Eclipse工具已安装成功。

操作步骤

步骤1 Eclipse中配置JDK。

1. 打开Eclipse工具,选择“Window > Preferences”,弹出“Preferences”窗口。

(12)

2. 在左侧菜单栏单击“Java”,显示如图3-1所示内容,选择相关配置,单击

“OK”。

3-1 Preferences

3. 在左侧菜单栏选择“Java > Installed JREs”配置JDK环境变量,显示如图3-2所 示。

– 右侧窗口中显示已配置好的JDK变量,执行步骤1.3.a完成JDK变量配置。

– 如需配置多个不同的变量对应不同版本的JDK,请执行步骤1.3.b~步骤

1.3.d。

3-2 Installed JREs

(13)

a. 勾选已安装的JDK,单击“OK”。

b. 单击“Add”按钮,弹出“Add JRE”窗口,如图3-3所示。

3-3 JRE Type

c. 选择一个JRE类型,单击“Next”,弹出如图3-4所示窗口。

3-4 JRE Definition

d. 配置JDK基本信息,单击“Finish”完成配置。

JRE home:JDK安装路径。

(14)

Default VM arguments:JDK运行参数。

步骤2 下载资源包。

在https://github.com/huaweicloud/huaweicloud-sdk-java-dis中下载DIS的Java SDK压缩包。

步骤3 导入Eclipse项目。

1. 打开Eclipse。选择“File > Import”弹出“Import”窗口。

2. 选择“Maven > Existing Maven Projects”,单击“Next”,进入“Import Maven Projects”页面。

3. 单击“Browse”按钮,根据实际情况选择“dis-sdk-demo”样例工程的存储位 置,勾选样例工程,如图3-5所示。

3-5 Import Maven Projects

4. 单击“Finish”完成项目导入。

步骤4 配置Demo工程。

1. 配置项目编码为“UTF-8”。

a. 在左侧导航栏“Project Explorer”中右键单击所需工程,选择

“Properties ”,进入“Properties for dis-sdk-demo”页面。

b. 左侧页签栏选择“Resource”,右侧对话框显示“Resource”页面。

c. 在“Text file encoding”栏中选择“Other”,单击下拉框选择“UTF-8”。

d. 单击“Apply and Close”完成编码配置。

2. 添加JDK。

(15)

a. 在左侧导航栏“Project Explorer”中右键单击所需工程,选择

“Properties ”,进入“Properties for dis-sdk-demo”页面。

b. 左侧页签栏选择“Java Build Path”,右侧对话框显示“Java Build Path”

页面。

c. 在“Java Build Path”页面选择“Libraries”页签,单击“Add Library”,

弹出“Add Library”对话框。

d. 选择“JRE System Library”,单击“Next”确认“Workspace default JRE”为jdk1.8及以上版本。

e. 单击“Finish”退出“Add Library”对话框。

f. 单击“Apply and Close”完成JDK添加。

步骤5 初始化DIS客户端实例。其中,“endpoint”,“ak”,“sk”,“region”,

“projectId”信息请参见获取认证信息。

----结束

3.3 步骤 3:发送数据到 DIS

功能简介

将用户本地数据通过DIS通道不断上传至DIS服务。

说明

目前数据支持存储至DIS和对象存储服务(Object Storage Service,简称OBS)MapReduce服 务(MapReduce Service,简称MRS)、数据仓库服务(Data Warehouse Service,简称 DWS)、数据湖探索(Data Lake Insight,简称DLI),具体存储位置在新增转储任务的“数据 转储”中配置。

DIS为临时存储器,存储在DIS中的数据最长保留时间为步骤3中配置的“生命周期”的值。

样例代码

样例工程为步骤2:准备DIS应用开发环境章节中下载的“huaweicloud-sdk-dis-java- X.X.X.zip”压缩包中“\dis-sdk-demo\src\main\java\com\bigdata\dis\sdk\demo”路 径下“ProducerDemo.java”文件。

运行程序

程序开发完成后,右键选择“Run As > 1 Java Application”运行程序,如图3-6所 示。

(16)

3-6 运行上传数据程序

数据上传过程中可在Console控制台查看数据上传通道量信息。出现类似信息表示数据 上传成功。

14:40:20.090 [main] INFOcom.bigdata.dis.sdk.DISConfig - get from classLoader 14:40:20.093 [main] INFODEMOT - ========== BEGIN PUT ============

14:40:21.186 [main] INFOcom.bigdata.dis.sdk.util.config.ConfigurationUtils - get from classLoader 14:40:21.187 [main] INFOcom.bigdata.dis.sdk.util.config.ConfigurationUtils - propertyMapFromFile size : 2 14:40:22.092 [main] INFOcom.bigdata.dis.sdk.demo.ProducerDemo - Put 3 records[3 successful / 0 failed].

14:40:22.092 [main] INFOcom.bigdata.dis.sdk.demo.ProducerDemo - [hello world.] put success, partitionId [shardId-0000000000], partitionKey [964885], sequenceNumber [0]

14:40:22.092 [main] INFOcom.bigdata.dis.sdk.demo.ProducerDemo - [hello world.] put success, partitionId [shardId-0000000000], partitionKey [910960], sequenceNumber [1]

14:40:22.092 [main] INFOcom.bigdata.dis.sdk.demo.ProducerDemo - [hello world.] put success, partitionId [shardId-0000000000], partitionKey [528377], sequenceNumber [2]

14:40:22.092 [main] INFOcom.bigdata.dis.sdk.demo.ProducerDemo - ========== PUT OVER ============

3.4 步骤 4:从 DIS 获取数据

功能简介

从DIS服务中下载数据。

样例代码

样例工程为“步骤2:准备DIS应用开发环境”章节中下载的“huaweicloud-sdk-dis- java-X.X.X.zip”压缩包中“\dis-sdk-demo\src\main\java\com\bigdata\dis\sdk

\demo”路径下“ConsumerDemo.java”文件。

运行程序

出现类似信息表示下载数据成功:

14:55:42.954 [main] INFOcom.bigdata.dis.sdk.DISConfig - get from classLoader

14:55:44.103 [main] INFOcom.bigdata.dis.sdk.util.config.ConfigurationUtils - get from classLoader 14:55:44.105 [main] INFOcom.bigdata.dis.sdk.util.config.ConfigurationUtils - propertyMapFromFile size : 2 14:55:45.235 [main] INFOcom.bigdata.dis.sdk.demo.ConsumerDemo - Get stream

streamName[partitionId=0] cursor success :

(17)

eyJnZXRJdGVyYXRvclBhcmFtIjp7InN0cmVhbS1uYW1lIjoiZGlzLTEzbW9uZXkiLCJwYXJ0aXRpb24taWQiOiIwIiwiY 3Vyc29yLXR5cGUiOiJBVF9TRVFVRU5DRV9OVU1CRVIiLCJzdGFydGluZy1zZXF1ZW5jZS1udW1iZXIiOiIxMDY4O TcyIn0sImdlbmVyYXRlVGltZXN0YW1wIjoxNTEzNjY2NjMxMTYxfQ

14:55:45.305 [main] INFOcom.bigdata.dis.sdk.demo.ConsumerDemo - Get Record [hello world.], partitionKey [964885], sequenceNumber [0].

14:55:45.305 [main] INFOcom.bigdata.dis.sdk.demo.ConsumerDemo - Get Record [hello world.], partitionKey [910960], sequenceNumber [1].

14:55:46.359 [main] INFOcom.bigdata.dis.sdk.demo.ConsumerDemo - Get Record [hello world.], partitionKey [528377], sequenceNumber [2].

3.5 获取认证信息

获取 AK/SK

AK/SK (Access Key ID/Secret Access Key)是用户调用接口的访问密钥。由用户在Iam 中创建,可在“我的凭证 > 管理访问密钥”页面下载生成。

获取项目 ID

项目ID表示租户的资源。用户可在“我的凭证 > 项目列表”页面下查看不同Region对 应的项目ID。

获取 region 和 endpoint

请参见终端节点及区域说明。

3.6 连接 OBS

介绍

DIS可以向对象存储服务(Object Storage Service,简称OBS)上传数据。

前提条件

已参考自动创建委托创建IAM委托,授权DIS服务去访问用户的OBS。

数据转储

用户在新增转储任务时可设置”数据转储地址”。当“数据转储”设置为“OBS”

时,DIS会将通道数据周期性导入OBS。

3.7 自动创建委托

用户创建DIS通道,选择将数据转储到对象存储服务(Object Storage Service,简称 OBS)、MapReduce服务(MRS)集群、数据仓库服务(Data Warehouse Service,

简称DWS)或数据湖探索(Data Lake Insight,简称DLI)中,需要通过创建IAM委托 授权DIS服务去访问用户的OBS、MRS、DWS或DLI资源。

1. 使用账号首次进入界面添加转储任务时,系统会自动弹出创建委托界面。

2. 单击 “同意授权”则平台会自动创建委托。

3. 委托授权成功后,隶属于该账号下的IAM子用户也可添加转储任务。

(18)

4 管理通道

4.1 通道列表简介

通道列表中可查看当前用户的已创建的所有通道信息。通道信息包括:

● 名称/ID:用户发送或者接收数据时,需要指定通道名称,通道名称不可重复。通 道名称由英文字母、数字、中划线和下划线组成。长度为1~64个字符。

● 状态:通道的运行状态。

● 通道类型:普通和高级。

– 普通:单分区,最高发送速度可达1MB/秒或1000条记录/秒(达到任意一种 速度上限才会被限流),最高提取速度可达2MB/秒。

– 高级:单分区,最高发送速度可达5MB/秒或2000条记录/秒(达到任意一种 速度上限才会被限流),最高提取速度可达10MB/秒。

● 分区数量:分区是DIS数据通道的基本吞吐量单位。通道的多个分区可以并发进行 数据传输,以提升效率。

● 源数据类型:BLOB、JSON、CSV。

● 生命周期(小时):存储在DIS中的数据保留的最长时间,超过此时长数据将被清 除。取值范围:24~72的整数。单位:小时。

● 创建时间:显示通道创建的时间。格式为:yyyy/MM/dd HH:mm:ss GMT。其 中,yyyy表示年份,MM表示月份,dd表示日期,HH表示小时,mm表示分钟,

ss表示秒,GMT表示时区。例如:2017/05/09 08:00:00 GMT+08:00。

● 计费模式:目前仅支持按需付费方式。

● 操作:当前操作列表支持删除通道、扩缩容、查看授权管理、查看转储任务和变 更源数据类型的操作。

4.2 查看通道监控信息

用户可以通过控制台查看通道的监控信息,支持按照App维度监控App在通道中消费的 数据信息。

步骤1 使用注册帐户登录DIS控制台。

步骤2 单击管理控制台左上角的 ,选择区域和项目。

(19)

步骤3 在左侧列表栏中选择“通道管理”。

步骤4 单击需要查看监控信息的通道名称。进入监控页面

步骤5 根据实际情况在“通道管理”页面选择“通道监控”或“分区监控”页签,查看各监 控项情况。监控信息参数说明如表4-1所示。其中,通道基本信息的参数说明请参见步 骤3。

4-1 DIS 监控信息参数说明

参数 说明

时间范围 ● 选择查看监控信息的时间段,可查看所选时间范围内的 监控信息。

取值范围:

– 1h – 2h – 3h

● 可自定义查看监控信息的时间段。

– 单击“自定义”页签后的 ,分别设置开始时间和 结束时间。

– 其中,结束时间不能晚于当前的系统时间。

– 开始时间与结束时间的差值不超过72h。

分区监控

分区编号 流分区编号,默认从0开始。取值方式:从下拉框选择。

该分区的总输入/输出

流量(KB/秒) 用户指定时间范围内,指定分区的输入/输出流量。单位:

KB/s。

该分区的总输入/输出

记录数(个/秒) 用户指定时间范围内,指定分区的输入/输出记录数。单 位:个/秒。

通道监控

总输入/输出流量(KB/

秒)

用户指定时间范围内,指定通道的输入/输出流量。单位:

KB/s。

总输入/输出记录数

(个/秒) 用户指定时间范围内,指定通道的输入/输出记录数。单 位:个/秒。

上传/下载请求成功次

数(个/秒) 用户指定时间范围内,指定通道的上传/下载请求成功次 数。单位:个/秒。

因流控拒绝的上传/下

载请求次数(个/秒) 用户指定时间范围内,指定通道因流控拒绝的上传/下载请 求次数。单位:个/秒。

上传/下载请求平均处

理时间(毫秒/个) 用户指定时间范围内,指定通道的上传/下载请求平均处理 时间。单位:毫秒/个。

步骤6 当在消费通道中提交了checkpoint操作,如何提交请参见新增Checkpoint,支持按照 App维度监控App在通道中消费的数据信息。根据实际情况在“通道管理”页面选择

“通道监控”,开启“App监控”,设置App名称,即可查看。

(20)

4-1 App 监控

步骤7 在监控指标视图右上角,单击 可放大查看监控指标视图详情。

步骤8 通过调整放大视图游标位置,可查看游标范围内时间段的监控指标详情。

说明

游标范围所定义的时间段,隶属于监控面板设置的时间段子集。

4-2 调整游标

----结束

4.3 变更源数据类型

源数据Schema作为通道下特定转储任务进行数据转换的依据,如果没有正确配置将引 起数据转换失败从而导致转储任务异常。您可以当前就为通道配置源数据Schema,也

(21)

可后期创建转储任务时再配置。您还可以在通道详情页面对已配置的源数据Schema进 行修改。

步骤1 使用注册帐户登录DIS控制台。

步骤2 单击管理控制台左上角的 ,选择区域和项目。

步骤3 在左侧列表栏中选择“通道管理”。

1. 单击需要查看的通道名称。进入所选通道的管理页面。

2. 单击“源数据类型”后的 ,从下拉框中选择对应的源数据类型,可修改创建通 道时已设置的源数据类型。或者选择待修改源数据类型通道对应的操作列,选择

“更多 > 变更源数据类型”,弹出变更源数据类型对话框,修改创建通道时已设 置的源数据类型。

说明

● “源数据类型”为“BLOB”、“JSON”、“CSV”的通道,当该通道无转储任务 , 才可修 改源数据类型。

● 已配置源数据Schema的通道,更改了源数据类型后,已有源数据Schema将失效且无法恢 复,需要重新配置。

----结束

4.4 管理源数据 Schema

源数据Schema,即用户的JSON或CSV数据样例,用于描述JSON或CSV数据格式。DIS 可以根据此JSON或CSV数据样例生成Avro schema, 将通道内上传的JSON或CSV数据转 换为Parquet或CarbonData格式。

创建源数据Schema有如下三个入口:

● 创建通道同时开启“Schema开关”,创建源数据Schema,参见图4-3。

● 创建通道时,关闭“Schema开关”。待通道创建成功后,选择“通道管理”页 签,单击已创建的通道名称,进入所选通道的管理页面。选择“源数据类型”后 的“创建源数据Schema”进行创建,参见图4-4。

● 创建通道时,关闭“Schema开关”。待通道创建成功后,选择“通道管理”页 签,单击已创建的通道名称,进入所选通道的管理页面。选择“转储任务”页 签,单击“添加转储任务”按钮,在弹出的“添加转储任务”页面进行创建,参 见图4-5。

(22)

4-3 创建 Schema1

4-4 创建 Schema2

4-5 创建 Schema3

创建源数据 Schema(导入文件方式)

找到创建源数据Schema入口后,按照如下方法创建源数据Schema:

步骤1 单击“源数据Schema”后的“导入文件”。

步骤2 在左侧文本框中输入JSON或者CSV格式的源数据样例,也可单击

导入源数据样例。例如:

(23)

说明

导入源数据样例时,仅支持导入“.txt”,“.json”,“.csv”和“.java”的文件格式。

步骤3 左侧文本框中单击 ,可在右侧文本框中根据源数据样例生成Avro schema。例如:

步骤4 右侧文本框中单击 ,可修改已生成的Avro schema。例如:

步骤5 文本框中单击“格式化”和“去格式化”,可格式化解析数据。例如:

步骤6 文本框中单击 ,可删除源数据样例。

----结束

创建源数据 Schema(直接创建方式)

找到创建源数据Schema入口后,按照如下方法创建源数据Schema:

步骤1 单击“源数据Schema”后的“直接创建”。

步骤2 配置“属性名”和“数据类型”后,单击“添加”,如图4-6所示,添加根节点。

(24)

4-6 直接创建源数据 Schema-1

步骤3 根节点添加完成后,选中已创建的根节点,按照同样的方法,配置“属性名”和“数 据类型”,添加子节点。

4-7 直接创建源数据 Schema-2

说明

● 选中根节点或者子节点前的复选框,单击“删除” ,可将节点删除。

● 选中根节点或者子节点前的复选框,单击“编辑”,可对已创建的节点属性进行编辑。

● 单击“重置”,可删除所有节点。

步骤4 单击“提交”,源数据Schema创建成功。

----结束

修改源数据 Schema

说明

已创建了源数据Schema的通道,若该通道下存在转储任务,则不允许修改已有的源数据 Schema。

步骤1 使用注册帐户登录DIS控制台。

步骤2 单击管理控制台左上角的 ,选择区域。

步骤3 在左侧列表栏中选择通道管理。

1. 单击通道名称。进入所选通道的管理页面。

2. 单击“源数据类型”后的“查看已有源数据Schema”。

3. 弹出源数据Schema文本框,单击 ,修改源数据Schema。

(25)

4-8 修改源数据 Schema

说明

当通道中存在转储任务,修改源数据Schema可能导致通道内未转储完成的数据无法被成功 转储。

4. 修改完成后,单击“提交”,保存修改结果。单击“放弃”,不对源数据Schema 进行修改。

----结束

4.5 管理通道标签

标签是通道的标识。为通道添加标签,可以方便用户识别和管理拥有的通道资源。

您可以在创建通道时添加标签,也可以在通道创建完成后,在通道的详情页添加标 签,您最多可以给通道添加10个标签。

标签共由两部分组成:“标签键”和“标签值”,其中,“标签键”和“标签值”的 命名规则如表4-2所示。

4-2 标签命名规则

参数 规则 样例

标签键 不能为空。

对于同一个通道,Key值 唯一。

长度不超过36个字符。

不能包含“=”,“*”,

“<”,“>”,“\”,“,”,

“|”,“/”,且首尾字符 不能为空格。

Organization

标签值 长度不超过43个字符。

不能包含“=”,“*”,

“<”,“>”,“\”,“,”,

“|”,“/”,且首尾字符 不能为空格。value可以为 空

Apache

(26)

为通道增加标签

在购买接入通道页,为通道增加标签。

1. 登录管理控制台。

2. 在控制台页面中选择“服务列表 > 大数据 > 数据接入服务 DIS”。

3. 单击“购买接入通道”,进入“购买接入通道”页面。

4. “高级配置”页签,选择“现在配置”,展开标签页。

输入新添加标签的键和值。

系统支持添加多个标签,最多可添加10个标签,并取各个标签的交集,对目标通 道进行搜索。

4-9 添加标签

说明

您也可对现有通道增加标签,详见管理标签。

搜索目标通道

在现有通道列表页,按标签键或标签值搜索目标通道。

1. 登录管理控制台。

2. 选择“EI企业智能 > 数据接入服务”。

3. 单击现有通道列表右上角的“标签搜索”,展开查询页。

4. 输入待查询通道的标签。

标签键或标签值可以通过下拉列表中选择,当标签键或标签值全匹配时,系统可 以自动查询到目标通道。当有多个标签条件时,会取各个标签的交集,进行通道 查询。

5. 单击“搜索”。

系统根据标签键或标签值搜索目标通道。

4-10 搜索目标通道

管理标签

在现有通道的标签页,执行标签的增、删、改、查操作。

(27)

1. 登录管理控制台。

2. 选择“EI企业智能 > 数据接入服务”。

3. 在现有通道列表中,单击待管理标签的通道名称。

系统跳转至该通道详情页面。

4. 选择“标签”页签,对通道的标签执行增、删、改、查。

– 查看

在“标签”页,可以查看当前通道的标签详情,包括标签个数,以及每个标 签的键和值。

– 添加

单击左上角的“添加标签”,在弹出的“添加标签”窗口,输入新添加标签 的键和值,并单击“确定”。

– 修改

单击标签所在行“操作”列下的“编辑”,在弹出的“编辑标签”窗口,输 入修改后标签的键和值,并单击“确定”。

– 删除

单击标签所在行“操作”列下的“删除”,如果确认删除,在弹出的“删除 标签”窗口,单击“确定”。

4.6 管理 App

APP表示应用程序标识符。当多个应用程序分别消费同一通道的数据时,为区分不同应 用程序的消费检查点,使用APP作为标识。

您可以创建APP,也可进入通道管理页面,查看接入该通道的APP详情。

创建 App

步骤1 使用注册帐户登录DIS控制台。

步骤2 单击管理控制台左上角的 ,选择区域和项目。

步骤3 在左侧列表栏中选择“App管理”。

进入App管理页面,单击“创建App”,输入对应的名称,完成创建。

----结束

查看 App

步骤1 使用注册帐户登录DIS控制台。

步骤2 单击管理控制台左上角的 ,选择区域和项目。

步骤3 在左侧列表栏中选择“通道管理”。

步骤4 单击需要查看的通道名称,进入所选通道的管理页面。

步骤5 单击“Apps”,可查看到接入该通道的所有App。

可查看接入该通道的App名称,ID和创建时间。

(28)

您也可通过单击“清空Checkpoints”,将App的所有Checkpoints清零。

说明

Checkpoint,消费检查点。应用程序消费数据时,记录已消费数据的最新序列号作为检查点。

当重新消费数据时,可根据此检查点继续消费。

4-11 查看 Apps

步骤6 单击实际的App名称,可查看App对该通道数据的消费详情。

4-12 查看 App 详情

----结束

4.7 授权管理

通过添加授权策略,可实现被授权的其他用户拥有DIS通道的上传和下载权限。

步骤1 使用注册帐户登录DIS控制台。

步骤2 单击管理控制台左上角的 ,选择区域和项目。

步骤3 在左侧列表栏中选择“通道管理”。

步骤4 单击通道名称,进入所选通道的管理页面。

步骤5 选择“授权管理”,单击“添加授权策略”,

选择授权模式,再在“被授权用户”文本框中,设置用户信息。

说明

● 支持通配符"*",表示授权所有账号;

● 支持添加多账号,用","隔开

● 支持授权某账号下的特定用户,输入账号名,单击"查询用户"按钮,选择用户。

(29)

4-13 添加权限

----结束

4.8 弹性伸缩分区

用户在创建通道成功后,随着业务的发展和变化,对通道容量有了新的需求。弹性伸 缩分区可以对已经创建成功的通道进行分区扩容或者分区缩容以满足用户这一需求,

支持自动和手动扩缩容两种方式。

功能介绍

弹性伸缩规则

● 扩容分区时“目标分区数量”需大于当前分区数量,且小于等于租户剩余配额与 当前分区数量的总和。

● 扩容分区时,首先将状态为“DELETED”的分区恢复为“ACTIVE”状态,成为可 读写分区。其次将状态为“EXPIRED”的分区恢复为“ACTIVE”状态,成为可读 写分区。若前两者恢复后仍不满足扩容需求,系统将新建分区。

● 缩容分区时“目标分区数量”需要大于等于“1”,且小于当前分区数量。

● 对已有分区进行缩容操作后,缩容成功的分区不再进行计费也不参与配额控制。

在开通DIS通道中配置的“生命周期”时间内,缩容成功的分区可以读取数据不可 写入数据,超过此时间则不可读取/写入数据。

● 每个通道在一小时内仅可操作实现10次自动扩容、10次手动扩容、1次缩容(包 含手动缩容和自动缩容)操作。

● 自动扩缩容间隔时间大于1分钟,且发生扩容(含自动扩容和手工扩容)后2分钟 内,不触发自动缩容。发生缩容(包含手动缩容和自动缩容)后的2分钟内,不触 发自动扩容。

注意事项

● 上传数据时,可根据需要设置数据的PartitionKey,以便DIS根据通道分区的数量 将数据自动散列到多个分片中。

● 下载数据时,需要定期的使用descriptStream接口检测通道分区数量的变化,以 便DIS可以下载到所有分区的数据。

(30)

执行手动扩缩容操作

步骤1 使用注册帐户登录DIS控制台。

步骤2 单击管理控制台左上角的 ,选择区域和项目。

步骤3 选择如下任意一种方法进行手动扩缩容。

● 在左侧列表栏中选择“通道管理”。

a. 在“通道管理”页面中单击需要扩缩容的通道名称。

b. 在通道详情页面的右上角单击“扩缩容”按钮,弹出“变更分区数目”对话 框。

c. 修改“目标分区数”,单击“确认”。

● 在左侧列表栏中选择通道管理。

a. 针对待扩缩容的通道,选中“操作”列中的“更多”下拉列表中的“扩缩 容”。

b. 弹出“变更分区数目”对话框。

c. 修改“目标分区数”,单击“确认”。

----结束

执行自动扩缩容操作

步骤1 使用注册帐户登录DIS控制台。

步骤2 单击管理控制台左上角的 ,选择区域和项目。

步骤3 按照如下方法进行自动扩缩容。

在左侧列表栏中选择“通道管理”。

1. 在“通道管理”页面中单击需要扩缩容的通道名称。

2. 单击通道详情页面的“自动扩缩容”菜单后的编辑。

3. 系统弹出“变更自动扩缩容参数”对话框,将自动扩缩容的开关开启。

4-14 变更自动扩缩容参数

(31)

4. 设置自动扩缩容的分区上限和下限,单击“确认”。

----结束

查看扩缩容日志

步骤1 使用注册帐户登录DIS控制台。

步骤2 单击管理控制台左上角的 ,选择区域和项目。

步骤3 在左侧列表栏中选择“通道管理”。

步骤4 单击需要查看的通道名称。进入所选通道的管理页面。

步骤5 选择“扩缩容日志”页签。查看该通道的扩缩容详情。

----结束

4.9 删除通道

说明

通道删除后不再收取费用,也无法恢复,请谨慎操作。

步骤1 使用注册帐户登录DIS控制台。

步骤2 单击管理控制台左上角的 ,选择区域和项目。

步骤3 在左侧列表栏中选择“通道管理”。

步骤4 在需要删除的通道中单击操作列的“删除”,弹出“删除DIS通道”对话框。

步骤5 单击“确认”,删除选中的通道。

----结束

(32)

5 使用 DIS

5.1 检查与配置 DNS 信息

默认情况下,弹性云服务器已经配置了两个外网DNS服务器。

# Generated by NetwordManager search openstacklocal

nameserver 114.114.114.114 nameserver 114.114.115.115

如果弹性云服务器未绑定弹性IP,或者用户不同意使用该弹性IP来传输AEI_Register.sh 工具和fisclient程序在使用过程中产生的流量,则需要编辑“/etc/resolv.conf”文件,

新增DNS服务器。

示例如下,其中XXX.XXX.XXX.XXX为DNS服务器的IP地址。

# Generated by NetwordManager search openstacklocal

nameserver XXX.XXX.XXX.XXX nameserver 114.114.114.114 nameserver 114.114.115.115

说明

新增的DNS服务器地址必须位于所有原有的DNS服务器地址之前。

DNS配置操作在保存“/etc/resolv.conf”文件的修改操作后立即生效。

对“/etc/resolv.conf”文件的修改操作在弹性云服务器重启后会失效,需要重新进行 配置。如果用户不希望每次重启弹性云服务器后都重新配置DNS,可以按如下步骤修 改虚拟私有云的子网信息,将DNS服务器地址添加到弹性云服务器对应的子网中。

操作步骤

步骤1 使用注册帐户登录弹性云服务控制台,进入“云服务器控制台”页面。

步骤2 在页面中单击用户将要使用的弹性云服务器,查看云服务器详情。

步骤3 在云服务器详情页面中,单击“网卡”,打开相应的下拉菜单,查看弹性云服务器的 子网名称。

步骤4 在云服务器详情页面中,单击“虚拟私有云”的VPC名称/ID,进入“网络控制台”。

(33)

步骤5 在“虚拟私有云”详情页面中单击“VPC名称/ID”对应的虚拟私有云名称,进入虚拟 私有云详情页面。

步骤6 在页面左侧选择“子网”,在子网列表中单击“子网名称/ID”,进入虚拟私有云子网 页面。

步骤7 单击“网关和DNS”中“DNS服务器地址”后的“修改”按钮,弹出“修改DNS服务 器地址”窗口。

步骤8 将DNS服务器地址修改为所需的DNS服务器地址,然后单击“确定”,保存DNS服务 器地址的修改。

步骤9 重启弹性云服务器,查看“/etc/resolv.conf”文件的内容,确认其中包含待配置的 DNS服务器地址,并且新增DNS服务器地址位于其他DNS服务器地址之前。

# Generated by NetwordManager search openstacklocal

nameserver XXX.XXX.XXX.XXX nameserver 114.114.115.115

说明

对虚拟私有云的子网信息的修改会影响所有使用该子网创建的弹性云服务器。

----结束

5.2 使用 Agent 上传数据

5.2.1 DIS Agent 概述

DIS Agent是数据接入服务(DIS)提供的一个客户端程序,具有如下功能:

持续查询文本文件,实时收集增量数据按分隔符解析并上传到DIS通道(通道源数据类 型为BLOB/JSON/CSV)。

DIS Agent安装流程如图5-1所示。

(34)

5-1 安装流程

5.2.2 安装前准备

检查依赖

步骤1 服务器类型。

● Linux x86-64(64位)服务器,常见的有EulerOS、Ubuntu、Debian、CentOS、

OpenSUSE等。

● Windows 7及以上版本。

步骤2 已安装1.8.0及以上版本的Java。

请参见JRE地址下载JRE。

Linux服务器安装请参考如下步骤:

1. 使用root用户,进入“/opt”目录。

cd /opt

2. 创建目录“jre”。

mkdir -p jre

(35)

3. 设置JDK安装目录的权限。

chmod -R 640 jre/

4. 将压缩包上传到“jre”目录下,执行如下命令解压JRE安装包。

tar -zxvf JRE包名.tar.gz

5. 修改“/etc/profile”配置文件。

a. 执行vim /etc/profile命令,进入“profile”文件。

b. 在“JAVA_HOME”配置项里添加JDK的安装目录,内容如下。

export JAVA_HOME=解压后的jre文件夹路径,请根据实际情况填写 export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib/ext c. 退出编辑模式。

键入“:wq!”保存并退出“profile”文件。

6. 执行如下命令,使JDK配置生效。

source /etc/profile ----结束

检查 DIS 通道

步骤1 使用注册帐户登录DIS控制台。

步骤2 单击管理控制台左上角的 ,选择区域和项目。

步骤3 在左侧列表栏中选择“通道管理”。

步骤4 确认有通道用于数据上传且通道状态为“运行中”。

----结束

检查认证信息

● 检查AK/SK

AK/SK (Access Key ID/Secret Access Key)是用户调用接口的访问密钥。

● 检查项目ID

ProjectID表示租户的资源,每个Region都有一个唯一的项目ID。可在页面查看不 同Region对应的项目ID值。

获取 DIS Agent 包

这里获取“dis-agent-X.X.X.zip”压缩包。

5.2.3 安装 DIS Agent

前提条件

已安装PuTTY工具。

(36)

Linux 服务器上安装 DIS Agent

步骤1 使用PuTTY工具登录日志所在服务器,即检查依赖的服务器。

步骤2 将获取DIS Agent包中获取的“dis-agent-X.X.X.zip”安装包上传到“/opt”文件夹 中。

步骤3 解压“dis-agent-X.X.X.zip”压缩包。

unzip dis-agent-X.X.X.zip 步骤4 进入“dis-agent-X.X.X”文件夹。

cd dis-agent-X.X.X ----结束

Windows 服务器上安装 DIS Agent

步骤1 将获取DIS Agent包中获取的“dis-agent-X.X.X.zip”压缩包保存到本地。

步骤2 解压“dis-agent-X.X.X.zip”压缩包至当前目录。

----结束

5.2.4 配置 DIS Agent

DIS Agent配置文件格式为“YAML”,各配置项与值之间必须以英文格式的“冒号+空 格”形式分隔。

agent.yml文件模板可从“dis-agent”压缩包中获取,内容示例如下。具体配置项说明 请参见表5-1。

---# cloud region id region: cn-north-1

# you ak (get from 'My Credential') ak: YOU_AK

# you sk (get from 'My Credential') sk: YOU_SK

# you project id (get from 'My Credential') projectId: YOU_PROJECTID

# the dis endpoint

endpoint: https://dis.cn-north-1.myhuaweicloud.com

# config each flow to monitor file.

flows:

### DIS Stream

- DISStream: YOU_DIS_STREAM_1

## only support specified directory, filename can use * to match some files. eg. * means match all file, test*.log means match test1.log or test-12.log and so on.

filePattern: /tmp/*.log

## from where to start: 'START_OF_FILE' or 'END_OF_FILE' initialPosition: START_OF_FILE

## upload max interval(ms) maxBufferAgeMillis: 5000

### If there are other monitor files, continue to follow the above configuration ### another dis stream monitor config, uncomment # if you want to use this feature #- DISStream: YOU_DIS_STREAM_2

# filePattern: /opt/*.log # initialPosition: START_OF_FILE # maxBufferAgeMillis: 5000

### OBS Stream: Upload the matching file to OBS and send the file name to DIS, uncomment # if you

(37)

want to use this feature

#- OBSStream: YOU_DIS_STREAM_3 # filePattern: /opt/*.log

# initialPosition: START_OF_FILE # ## bucket name

# OBSBucket: YOU_OBS_BUCKET_NAME # ## OBS endpoint

# OBSEndpoint: https://obs.cn-north-1.myhuaweicloud.com

# ## the directory(using / separated) where the files are stored under the bucket, automatically created if it does not exist

# dumpDirectory: example/dis/

说明

配置完成之后,请将agent.yml中flows下面无用的示例配置删除或者使用#注释(比如只配置了 一个DISStream,则将下面的CustomFileStream与另外的DISStream模块删除或者注释)。

Linux 服务器上配置 DIS Agent

步骤1 使用PuTTY 工具登录日志所在服务器。

步骤2 执行cd /opt/dis-agent-X.X.X/命令,进入“dis-agent-X.X.X”文件夹。

步骤3 执行vim conf/agent.yml命令,打开DIS Agent配置文件“agent.yml”,根据实际情 况修改各配置项的值并保存,配置项说明请参见表5-1。

5-1 agent.yml 配置文件说明

配置项 是否

必填

说明 默认值

region 是 DIS服务所在区域。

说明获取DIS区域请参见终端节点及 区域说明。

cn-north-1

ak 是 用户的Access Key。

获取方式请参见检查认证信 息。

请根据实际情况配置

sk 是 用户的Secret Key。

获取方式请参见检查认证信 息。

请根据实际情况配置

projectId 是 用户所属区域的项目ID。

获取方式请参见检查认证信 息。

请根据实际情况配置

endpoint 是 DIS数据网关地址。

格式:https://DIS终端节点。

说明获取DIS终端节点请参见终端节 点及区域说明。

https://dis.cn-

north-1.myhuaweicloud.com

(38)

配置项 是否 必填

说明 默认值

body.seriali

ze.type 否 DIS数据包上传格式。(非原 始数据格式)

● json:DIS数据包封装为 json格式,满足普通使用。

● protobuf:DIS数据包封装 为二进制格式,可以减少 体积约1/3,在数据量较大 的情况下推荐使用此格 式。

json

body.comp ress.enable d

否 是否开启传输数据压缩。 false

body.comp

ress.type 否 开启压缩时选择的数据压缩格 式,目前支持的压缩格式如 下:

lz4:综合来看效率最高的压 缩算法,更加侧重压缩解压速 度,压缩比并不是第一。

zstd:一种新的无损压缩算 法,旨在提供快速压缩,并实 现高压缩比。

lz4

PROXY_HO

ST 否 配置代理IP,请求走代理服务 器的需要配置。

请根据实际情况配置

PROXY_PO

RT 否 配置代理端口。 80

PROXY_PR

OTOCOL 否 配置代理协议。支持http和

https。 http

PROXY_US

ERNAME 否 配置代理用户名。 请根据实际情况配置 PROXY_PA

SSWORD 否 配置代理密码。 请根据实际情况配置 [flows]

监控的文件信息,可同时配置多个监控文件信息。

当前支持如下模式上传:

DISStream:持续监控文本文件,实时收集增量数据按分隔符解析并上传到DIS通道 (通道源数据类型为BLOB/JSON/CSV),配置项说明请参见表5-2。

具体配置格式可以参见版本包中的“agent.yml”的样例。

(39)

5-2 DISStream 配置项说明

配置项 是否必填 说明 默认值

DISStream 是 DIS 通道名称。

将“filePattern”所匹配到的文件内容按分 隔符解析并上传到此通道。

请根据实 际情况配 置 filePattern 是 文件监控路径,只能监控一个目录下的文

件,无法递归目录监控。

如果要监控多个目录,可以在flows下面配 置多个“DISStream”,文件名可使用

“*”进行匹配。

● “/tmp/*.log”表示匹配“/tmp”目录 下所有以“.log”结尾的文件。

● “/tmp/access-*.log”表示匹配“/

tmp”目录下所有以“access-”开头,

以“.log”结尾的文件。

● Windows上路径范例为“D:\logs

\*.log”。

请根据实 际情况配 置

directoryR ecursionEn abled

否 是否查找子目录

● false:不递归查找子目录,只匹配根目 录下的文件

● true: 递归查找所有子目录。如 filePattern配置为/tmp/*.log,此时可以 匹配到/tmp/one.log,/tmp/child/

two.log,/tmp/child/child/three.log

false

initialPositi

on 否 监控起始位置。

● END_OF_FILE:开始启动时不解析当前 匹配的文件,而是从新增文件或新增的 内容开始按分隔符解析并上传。

● START_OF_FILE:将“filePattern”配 置的所有匹配文件按照修改时间,从旧 到新按分隔符解析并上传到DIS服务。

START_O F_FILE

maxBuffer

AgeMillis 否 最长上传等待时间。

单位:毫秒

● 记录队列满则立即上传。

● 记录队列未满,等待此配置项配置的时 间后上传到DIS服务。

5000

maxBuffer SizeRecord s

否 记录队列缓存的最大记录数,如果队列达 到此值则立刻上传这批数据。

500

(40)

配置项 是否必填 说明 默认值 partitionK

eyOption 否 每条记录会携带一个PartitionKey,相同 PartitionKey的记录会分配到同一个分区。

此配置项可设置每条记录的PartitionKey 值,取值如下:

● RANDOM_INT:PartitionKey的值为随 机数字的字符串,记录均匀分布在每个 分区。

● FILE_NAME:PartitionKey的值为文件 名称字符串,记录分布在特定的一个分 区中。

● FILE_NAME,RANDOM_INT:

PartitionKey的值为文件名称字符串与随 机数字字符串的组合体,以英文逗号分 隔,记录携带所属的文件名并均匀分布 在所有分区。

RANDO M_INT

recordDeli

miter 否 每条记录之间的分隔符。

取值范围:任意一个字符,且包含在双引 号内。

取值不可为空,即该配置项不可配置为

“”。

说明如果取值为特殊字符,使用反斜杠(\)转义,

如分隔符为引号("),可配置为"\"",如果为 反斜杠(\),可配置为"\\"。

如果为控制字符如STX(正文开始),可配置为

"\u0002"。

"\n"

isRemainR ecordDeli miter

否 上传记录时,是否携带分隔符。

● true:携带分隔符。

● false:不携带分隔符。

false

isFileAppe

ndable 否 文件是否有追加内容的可能。

● true:文件可能会追加内容。Agent持 续监控文件,若文件追加了内容则根据 recordDelimiter解析后上传记录。此时 要保证文件以recordDelimiter结尾,否 则Agent会认为文件追加未完成,继续 等待recordDelimiter写入。

● false:文件不会追加内容。文件最后一 行不以recordDelimiter结尾,Agent仍 会当做最后一条记录上传,上传完成后 根据“deletePolicy”和“fileSuffix”的 配置执行文件删除或重命名操作。

true

(41)

配置项 是否必填 说明 默认值 maxFileCh

eckingMilli s

否 最长文件变动检查时间,如果文件在此时 间内“大小”、“修改时间”和“文件 ID”都没有变化,则认为文件已经完成并 开始上传。

请根据实际文件变动的频率配置此值,避 免文件未完成已开始上传的情况。

若文件上传后有变动,则会重新全量上 传。

单位:毫秒

说明“isFileAppendable”配置为“false”时该配置 项生效。

5000

deletePolic

y 否 文件内容上传完成之后的删除策略。

● never:文件内容上传完毕后不删除文 件。

● immediate:文件内容上传完毕后删除 文件 。

说明“isFileAppendable”配置为“false”时该 配置项生效。

never

fileSuffix 否 文件内容上传完成之后添加的文件名后 缀。

例如:原文件名为“x.txt”,“fileSuffix”

配置为“.COMPLETED”,则文件上传后 的命名为“x.txt.COMPLETED”。

说明“isFileAppendable”配置为“false”,同时

“deletePolicy”配置为“never”,该配置项生 效。

.COMPLE TED

sendingTh

readSize 否 发送线程数。默认单线程发送。

须知

使用多线程会导致如下问题:

● 数据发送不保证顺序。

● 程序异常停止并重新启动时会丢失部分数 据。

1

fileEncodin

g 否 文件编码格式,支持UTF8, GBK, GB2312,

ISO-8859-1等 UTF8

(42)

配置项 是否必填 说明 默认值 resultLogL

evel 否 每次调用DIS数据发送接口后的结果日志级 别。

● OFF:日志中不输出每次接口调用的结 果。

● INFO:每次接口调用的结果以INFO级 别输出到日志。

● WARN:每次接口调用的结果以WARN 级别输出到日志。

● ERROR:每次接口调用的结果以ERROR 级别输出到日志。

INFO

----结束

Windows 服务器上配置 DIS Agent

步骤1 使用文件管理器进入安装包解压后的目录,例如“C:\dis-agent-X.X.X”。

步骤2 使用编辑器打开“agent.yml”文件,根据实际情况修改各配置项的值并保存。

说明

“agent.yml”文件为linux格式,建议使用通用文本编辑器工具编辑文件。

----结束

5.2.5 启动 DIS Agent

Linux 服务器上启动 DIS Agent

步骤1 使用PuTTY工具登录日志所在服务器。

步骤2 进入DIS Agent安装目录。其中“x.x.x”表示版本号。

cd /opt/dis-agent-x.x.x/

步骤3 启动DIS Agent。

bash bin/start-dis-agent.sh

如果需要启动多个DIS Agent进程,则新启的Agent进程需要通过-c指定配置文件以及- n参数指定名称。

bash bin/start-dis-agent.sh -c config/anotherAgent.yml -n anotherAgent

须知

请确保使用bash执行脚本,否则使用sh、./ 等方式启动脚本,可能由于系统默认shell 的差异导致启动失败。

显示类似如下信息,表示Agent启动成功。

(43)

Success to start DIS Agent [xxxxx].

如果启动出现java变量找不到的情况,执行

source /etc/profile

后重新启动Agent。

----结束

Windows 服务器上启动 DIS Agent

步骤1 进入DIS Agent程序的bin目录,例如“C:\dis-agent-X.X.X\bin”。

步骤2 双击“start-dis-agent.bat”,启动DIS Agent。

若控制台前几行中打印出如下日志表示启动成功。

[INFO ] (main) com.bigdata.dis.agent.Agent Agent: Startup completed in XXX ms.

----结束

5.2.6 验证 DIS Agent

Linux 服务器上验证 DIS Agent

步骤1 使用PuTTY工具登录日志所在服务器。

步骤2 进入DIS Agent的日志目录。

cd /opt/dis-agent-X.X.X/logs

步骤3 查看日志。

tail -100f dis-agent.log

● 显示如下信息,表示Agent正常运行。

Agent: Startup completed in xx ms

● Agent运行异常,常见问题原因和处理方法如下:

HttpClientErrorException: 400 Bad Request

可能原因:配置DIS Agent中“DISStream”或“projectId”的配置不正确。

处理方法:停止Agent进程后检查配置。

HttpClientErrorException: 403 Forbidden

可能原因:DIS网关将服务器IP加入黑名单,导致请求被拦截。列入黑名单通 常由于多次使用错误的配置重复调用DIS接口导致。

处理方法:停止Agent进程,修改配置DIS Agent中“agent.yml”配置文件 的配置。停止Agent30分钟后重启Agent。

UnknownHttpStatusCodeException: Unknown status code [441]

可能原因: AK/SK配置错误。

处理方法:停止Agent进程检查AK/SK配置。

ConnectTimeoutException: Connect to DOMAIN[DOMAIN/IP] failed:

connect timed out

可能原因:服务器连接DIS网关超时。

处理方法:检查Agent所在日志服务器的网络配置是否可以连接公网。

步骤4 查看Agent是否上传日志。

● “agent.yml”中配置的监控目录下有匹配的文件,日志中会输出类似如下日志,

表示解析了[N1行(B1字节数)/N2文件(B2字节数)],成功上传了[N3行/N4文件]。

(44)

Agent: Progress: [N1 records (B1 bytes) / N2 files (B2 bytes)] parsed, and [N3 records / N4 files] sent successfully to destinations. Uptime: 30146ms

● 若监控目录下没有匹配文件,则执行如下命令生成日志文件。

echo "`date` Hello world." >> /tmp/test.log

步骤5 登录DIS控制台,查看配置DIS Agent中“DISStream”或“CustomFileStream”通道 的监控。有数据上传,表示DIS服务接收正常,Agent安装成功。

----结束

Windows 服务器上验证 DIS Agent

步骤1 使用文件管理器进入“logs”目录。

步骤2 使用编辑器打开“dis-agent.log”文件查看日志。

● 显示如下信息,表示Agent正常运行。

Agent: Startup completed in xx ms

● Agent运行异常,常见问题原因和处理方法如下:

HttpClientErrorException: 400 Bad Request

可能原因:配置DIS Agent中“DISStream”或“projectId”的配置不正确。

处理方法:停止Agent进程后检查配置。

HttpClientErrorException: 403 Forbidden

可能原因:DIS网关将服务器IP加入黑名单,导致请求被拦截。列入黑名单通 常由于多次使用错误的配置重复调用DIS接口导致。

处理方法:停止Agent进程,修改配置DIS Agent中“agent.yml”配置文件 的配置。停止Agent30分钟后重启Agent。

UnknownHttpStatusCodeException: Unknown status code [441]

可能原因: AK/SK配置错误。

处理方法:停止Agent进程检查AK/SK配置。

ConnectTimeoutException: Connect to DOMAIN[DOMAIN/IP] failed:

connect timed out

可能原因:服务器连接DIS网关超时。

处理方法:检查Agent所在日志服务器的网络配置是否可以连接公网。

步骤3 查看Agent是否上传日志。

● “agent.yml”中配置的监控目录下有匹配的文件,日志中会输出类似如下日志,

表示解析了[N1行(B1字节数)/N2文件(B2字节数)],成功上传了[N3行/N4文件]。

Agent: Progress: [N1 records (B1 bytes) / N2 files (B2 bytes)] parsed, and [N3 records / N4 files] sent successfully to destinations. Uptime: 30146ms

● 若监控目录下没有匹配文件,则执行如下命令生成日志文件。

echo %date%time%Hello world. >> C:\test.log

步骤4 登录DIS控制台,查看配置DIS Agent中“DISStream”或“CustomFileStream”通道 的监控。有数据上传,表示DIS服务接收正常,Agent安装成功。

----结束

(45)

5.2.7 停止 DIS Agent

Linux 服务器上停止 DIS Agent

步骤1 使用PuTTY工具登录日志所在服务器。

步骤2 进入DIS Agent安装目录。

cd /opt/dis-agent-X.X.X/

步骤3 停止DIS Agent。

bash bin/stop-dis-agent.sh

须知

请确保使用bash执行脚本,否则使用sh、./ 等方式启动脚本,可能由于系统默认shell 的差异导致启动失败。

显示类似如下内容,表示正在停止中。“xxxxx”表示进程ID。

Stopping Agent [xxxxx]...

显示类似如下内容,表示Agent进程已停止。

Stopping Agent [xxxxx]... Successfully.

强制停止Agent进程操作如下。

1. 执行

ps -ef | grep dis-agent | grep -v grep

命令,获取Agent的进程标识

(PID)。输出的第二个字段即为PID。

2. 执行

kill -9 PID

命令,强制停止Agent进程。

----结束

Windows 服务器上停止 DIS Agent

步骤1 在控制台窗口按“Ctrl+C”键,提示如下内容。

[INFO ] (Agent STOPPING) com.bigdata.dis.agent.Agent Agent: Shutting down...

步骤2 等待出现如下提示,则表示停止完成.输入“Y”,单击“回车”键即可正常关闭窗口。

Terminate batch job (Y/N)?

----结束

5.3 使用 DIS Flume Plugin 上传与下载数据

5.3.1 DIS Flume Plugin 概述

DIS Flume Plugin是数据接入服务(DIS)为Flume开发的插件,包含DIS Source与DIS Sink。DIS Source用于从DIS服务下载数据到Flume Channel,DIS Sink用于将Flume Channel中的数据上传到DIS服务。DIS Flume Plugin安装流程如图5-2所示。

(46)

5-2 DIS Flume Plugin 安装流程

5.3.2 安装 DIS Flume Plugin 前准备

检查依赖

步骤1 确认Flume已经安装并能正常运行。

步骤2 确认Flume版本为1.4.0及以上版本。进入Flume安装目录,执行如下命令查看Flume版 本。

$ bin/flume-ng version | grep Flume

步骤3 确认使用的Java版本为1.8.0及以上版本。执行如下命令查看java版本。

java -version

----结束

检查 DIS 通道

步骤1 使用注册帐户登录DIS控制台。

步骤2 单击管理控制台左上角的 ,选择区域和项目。

步骤3 在左侧列表栏中选择“通道管理”。

(47)

步骤4 确认有通道用于数据上传且通道状态为“运行中”。

----结束

检查认证信息

● 检查AK/SK

AK/SK (Access Key ID/Secret Access Key)是用户调用接口的访问密钥。由用户在 Iam中创建,可在页面下载生成。

● 检查项目ID

ProjectID表示租户的资源,每个Region都有一个唯一的项目ID。可在“我的凭证

> 项目列表”页面查看不同Region对应的项目ID值。

获取 DIS Flume Plugin 包

这里获取“dis-flume-Plugin-X.X.X.zip”压缩包。

5.3.3 安装 Plugin

前提条件

已安装PuTTY工具。

操作步骤

步骤1 使用PuTTY工具(或其他终端工具)远程登录Flume服务器。

步骤2 进入到Flume的安装目录。

cd ${FLUME_HOME}

步骤3 上传“dis-flume-plugin-X.X.X.zip”安装包到此目录下。

步骤4 解压安装包。

unzip dis-flume-plugin-X.X.X.zip

步骤5 进入安装包解压后的目录。

cd dis-flume-plugin

步骤6 运行安装程序。

bash install.sh

DIS Flume Plugin

安装在“${FLUME_HOME}/plugin.d/dis-flume-plugin”目录下,

安装完成后,显示类似如下内容,表示安装成功。

Install dis-flume-plugin successfully.

----结束

5.3.4 配置 Plugin

DIS Flume Plugin 分为Source与Sink插件,安装包中的dis-flume-

plugin.conf.template文件列出了配置方法,本节介绍各种插件的配置项具体含义。

數據

表 5-2 DISStream 配置项说明 配置项 是否必填 说明 默认值 DISStream 是 DIS 通道名称。 将“filePattern”所匹配到的文件内容按分 隔符解析并上传到此通道。 请根据实际情况配置 filePattern 是 文件监控路径,只能监控一个目录下的文 件,无法递归目录监控。 如果要监控多个目录,可以在flows下面配 置多个“DISStream”,文件名可使用 “*”进行匹配。 ● “/tmp/*.log”表示匹配“/tmp”目录 下所有以“.log”结尾的文件。 ● “/t
表 5-5 DIS Logstash Input 配置项说明
表 5-6 DIS Logstash Output 配置项说明
表 6-1 DIS 转储日志参数说明 参数 说明 开始时间 用户转储日志开始构建的时间。 格式:YYYY/MM/dd HH:mm:ss GTM ● YYYY:表示年份 ● MM:表示月份 ● dd:表示日期 ● HH:表示小时 ● mm:表示分钟 ● ss:表示秒 ● GMT:表示时区 例如:2018/03/19 14:04:43 GMT+08:00 结束时间 用户转储日志构建完成时间。 格式:YYYY/MM/dd HH:mm:ss GTM ● YYYY:表示年份 ● MM:表示月份 ● dd:表示日期 ●
+2

參考文獻

相關文件

[r]

样条插值的算例 三次样条的概念.

籃子裡原本有 28 顆雞蛋,搬運時不小心 打破了 6 顆雞蛋,請問現在籃子裡還剩 下幾顆雞蛋?... 小夫有 64

學校名稱 類別 系代碼 系科名稱 名額 備

[r]

焚書坑儒事件發生在秦始皇三十四年(公元前 213

[r]

[r]