华为云用户手册

  • 资源和成本规划 该解决方案主要部署如下资源,以下花费仅供参考,具体请参考华为云官网价格详情,实际收费以账单为准: 表1 资源和成本规划 华为云服务 计费说明 每月花费(调用1000次) 对象存储服务 OBS 区域:华北-北京四 存储空间:数据存储(多AZ存储) 默认存储类别:标准存储 桶策略:私有 请求费用:0.0100元/万次 存储空间:0.1390元/GB/月 流量费用: 内/公网流入流量(数据上传到OBS) 0元 预计每月新增1GB数据量,花费0.1490元。 该方案存储费用消耗较低,详细请参考每月账单。 函数工作流 FunctionGraph 区域:华北-北京四 产品:函数 请求次数: 0-100万次: 0元/100万次 100万次以上 : 1.33元/100万次 计量时间: 0-400,000 GB/秒: 0元/GB-秒 400,000 GB/秒以上 :0.00011108元/GB-秒 0元 总计: - 约0.1490元
  • 快速部署 本章节主要帮助用户快速部署“CDN自动刷新缓存”解决方案。 表1 参数填写说明 参数名称 类型 是否可选 参数解释 默认值 cdn_bucket_name String 必填 OBS桶名称,全局唯一,用于作为OBS源站桶。取值范围:3~55个字符,支持小写字母、数字、中划线(-)、英文句号(.)。 空 domain String 必填 需要刷新缓存的 CDN加速 域名,取值范围: 域名 用字母(A-Z,a-z,大小写等价)、数字(0-9)和连接符(-)组成,各级域名之间用实点(.)连接,国际域名75个字符。注意连接符(-)不能作为域名的开头或结尾字符。示例:https://download.game-apk1.com/。 空 登录华为云解决方案实践,选择“CDN自动刷新缓存”模板,数据中心下拉菜单可以选择需要部署的区域,单击“一键部署”,跳转至解决方案创建堆栈界面。。 图1 解决方案实践 在选择模板界面中,单击“下一步”。 图2 选择模板 在配置参数界面中,参考表1完成自定义参数填写,单击“下一步”。 图3 配置参数 在资源设置界面中,在权限委托下拉框中选择“rf_admin_trust”委托,单击“下一步”。 图4 资源栈设置 在配置确认界面中,单击“创建执行计划”。 图5 配置确认 在弹出的创建执行计划框中,自定义填写执行计划名称,单击“确定”。 图6 创建执行计划 单击“部署”,并且在弹出的执行计划确认框中单击“执行”。 图7 执行计划 图8 执行计划确认 待“事件”中出现“Apply required resource success”,表示该解决方案已经部署完成。 图9 部署完成 父主题: 实施步骤
  • 资源和成本规划 该解决方案主要部署如下资源,每月花费如下所示,具体请参考华为云官网价格详情,实际收费以账单为准: 表1 资源和成本规划 华为云服务 配置示例 每月花费 对象存储服务 OBS 区域:华北-北京四 存储空间:数据存储(多AZ存储) 默认存储类别:标准存储 桶策略:私有 请求费用:0.0100元/万次 存储空间:0.1390元/GB/月 流量费用: 内/公网流入流量(数据上传到OBS) 0元 内网流出流量 0元 预计每月新增1GB数据量,花费0.1490元。 该方案存储费用消耗较低,详细请参考每月账单。 函数工作流 FunctionGraph 区域:华北-北京四 产品:函数 请求次数: 0-100万次: 0元/100万次 100万次以上 : 1.33元/100万次 计量时间: 0-400,000 GB/秒: 0元/GB-秒 400,000 GB/秒以上 :0.00011108元/GB-秒 0元 合计 约0.1390元
  • 开始使用 登录华为云控制台,区域选择“华北-北京四”。 图1 华为云控制台 进入函数工作流FunctionGraph控制台,在函数列表中查看该方案创建的函数。 图2 创建的函数 进入相应函数中,查看该方案创建的触发器信息。 图3 CDN自动刷新缓存函数触发器 进入 统一身份认证 服务控制台,查看已创建的委托信息。 图4 委托信息 在函数服务的监控中,可以查看触发器在文件上传到指定桶后自动创建缓存预热任务。 图5 请求日志 在内容分发网络的预热刷新的历史记录中,可以看到刚创建的刷新缓存任务。 图6 刷新缓存任务 父主题: 实施步骤
  • 配置DIS Source 表1 DIS Source配置项说明 配置项 是否必填 说明 默认值 channels 是 Flume channel的名称。 请根据实际情况配置 type 是 Source的类型。 com.huaweicloud.dis.adapter.flume.source.DISSource streams 是 指定在DIS服务上创建的通道名称。 与DIS控制台“购买接入通道”时配置的“通道名称”取值一致。 ak 是 用户的Access Key。 获取方式请参见检查认证信息。 请根据实际情况配置 sk 是 用户的Secret Key。 获取方式请参见检查认证信息。 请根据实际情况配置 region 是 将数据上传到指定Region的DIS服务。 请根据实际情况配置 projectId 是 用户所属区域的项目ID。 获取方式请参见检查认证信息。 请根据实际情况配置 endpoint 是 DIS对应Region的数据接口地址。 请根据实际情况配置 group.id 是 DIS App名称,用于标识一个消费组,由英文字符、数字、-、_组成。 请根据实际情况配置
  • 支持的事件类别和事件 事件是租户通道状态发生变化的记录。它可以是由用户操作触发的(比如审计事件),也有可能是通道状态变化引起的(比如转储任务异常或转储任务恢复)。以下为当前DIS支持的事件和事件类别列表。 下表显示了事件源类型为通道的事件。 表1 事件源类型为通道的事件 事件源类型 事件级别 事件 通道 警告 流控受限 通道 警告 通道自动扩缩容成功 通道 警告 通道自动扩缩容失败 通道 警告 通道流量异常 通道 警告 通道流量恢复 下表显示了事件源类型为用户的事件。 表2 事件源类型为用户的事件 事件源类型 事件级别 事件 用户 警告 配额异常 下表显示了事件源类型为转储任务的事件。 表3 事件源类型为转储任务的事件 事件源类型 事件级别 事件 转储任务 正常 转储任务恢复 转储任务 警告 转储任务异常
  • 查看事件 介绍用户如何查找通道或转储任务发生的事件。 在“事件管理”页面中单击“事件”,默认显示当前所有通道或转储任务已发生的事件。 在事件列表右上方的下拉列表中通过选择不同的筛选条件搜索事件。可从事件级别和事件源两个维度进行筛选。 在下拉列表中选择“所有事件级别”、“正常”或“警告”。 在下拉列表中选择“事件源”,在输入框中输入通道或转储任务名称,例如“demo”。 单击,显示筛选后的事件查询结果。 单击“事件”右侧的,选择事件名称,例如“转储任务恢复”,可过滤对应的事件。 父主题: 事件通知
  • 源数据类型JSON/ CS V 表1 转储相关配置参数 参数 说明 取值 任务名称 用户创建转储任务时,需要指定转储任务名称,同一通道的转储任务名称不可重复。任务名称由英文字母、数字、中划线和下划线组成。长度为1~64个字符。 - DLI 数据库 单击“选择”,在“选择DLI数据库”窗口选择一个数据库。 此配置项仅支持选择,不可手动输入。 - DLI数据表 单击“选择”,在“选择DLI数据表”窗口选择一个数据表。仅支持数据位置为DLI类型的数据表,且用户需具有该表的插入权限。 此配置项仅支持选择,不可手动输入。 配置此项必须已配置“DLI 数据库”。 偏移量 最新:最大偏移量,即获取最新的有效数据。 最早:最小偏移量,即读取最早的有效数据。 最新 数据转储周期 根据用户配置的时间,周期性的将数据导入目的地(OBS, MRS ,DLI,DWS),若某个时间段内无数据,则此时间段不会生成打包文件。 取值范围:30~900。 单位:秒。 默认配置为300秒。 - 数据临时桶 用户数据先临时存储在OBS桶中,再转储到指定的转储服务,转储完成后临时桶中的数据会被清除。 - 数据临时目录 需要转储的数据临时存储在OBS桶下此配置项配置的目录中,转储完成后临时目录中的数据会被清除。 配置为空时,数据直接存储在OBS桶内。 -
  • 绑定企业项目 用户可以在创建通道时为通道选择所属的企业项目,从而将DIS通道与企业项目进行关联,详情请参见步骤1:开通DIS通道。在选择“企业项目”的下拉列表中,将显示用户在企业项目服务中已创建的项目。系统还内置了一个缺省的企业项目“default”,如果用户没有为通道选择企业项目,将使用缺省项目“default”。 在通道创建过程中,如果通道与企业项目绑定成功,则通道创建成功,如果绑定失败,系统会发送告警,通道创建失败。 当删除DIS通道时,DIS通道与企业项目的关联关系就会被自动删除。
  • 查看企业项目 通道创建成功后,您可以在通道列表和通道基本信息页面查看通道关联的企业项目。用户只能查询到有访问权限的项目下的通道资源。 在通道管理页面的列表中,查看通道所属的企业项目。 图1 查看企业项目 在通道列表中,单击通道名称,进入通道“基本信息”页面,可以查看与通道关联的企业项目。单击企业项目的名称,可以跳转到企业管理的控制台页面对该企业项目进行查看或编辑。 图2 查看通道的企业项目 同时,在企业管理的控制台中,查询指定项目中的资源列表时,也可以查询到DIS服务的资源。
  • 功能简介 将用户本地数据通过DIS通道不断上传至DIS服务。 目前数据支持存储至DIS和对象存储服务(Object Storage Service,简称OBS) MapReduce服务 (MapReduce Service,简称MRS)、 数据仓库 服务(Data Warehouse Service,简称DWS)、 数据湖探索 (Data Lake Insight,简称DLI),具体存储位置在新增转储任务的“数据转储”中配置。 DIS为临时存储器,存储在DIS中的数据最长保留时间为步骤 3中配置的“生命周期”的值。
  • 自动创建委托 用户创建DIS通道,选择将数据转储到对象存储服务(Object Storage Service,简称OBS)、MapReduce服务(MRS)集群、数据仓库服务(Data Warehouse Service,简称DWS)或 数据湖 探索(Data Lake Insight,简称DLI)中,需要通过创建 IAM 委托授权DIS服务去访问用户的OBS、MRS、DWS或DLI资源。 使用账号首次进入界面添加转储任务时,系统会自动弹出创建委托界面。 单击 “同意授权”则平台会自动创建委托。 委托授权成功后,隶属于该账号下的IAM子用户也可添加转储任务。 父主题: 入门
  • 运行程序 出现类似信息表示下载数据成功: 14:55:42.954 [main] INFOcom.bigdata.dis.sdk.DISConfig - get from classLoader14:55:44.103 [main] INFOcom.bigdata.dis.sdk.util.config.ConfigurationUtils - get from classLoader14:55:44.105 [main] INFOcom.bigdata.dis.sdk.util.config.ConfigurationUtils - propertyMapFromFile size : 214:55:45.235 [main] INFOcom.bigdata.dis.sdk.demo.ConsumerDemo - Get stream streamName[partitionId=0] cursor success : eyJnZXRJdGVyYXRvclBhcmFtIjp7InN0cmVhbS1uYW1lIjoiZGlzLTEzbW9uZXkiLCJwYXJ0aXRpb24taWQiOiIwIiwiY3Vyc29yLXR5cGUiOiJBVF9TRVFVRU5DRV9OVU1CRVIiLCJzdGFydGluZy1zZXF1ZW5jZS1udW1iZXIiOiIxMDY4OTcyIn0sImdlbmVyYXRlVGltZXN0YW1wIjoxNTEzNjY2NjMxMTYxfQ14: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].
  • DIS使用流程简介 DIS的使用流程如下: 步骤1:开通DIS通道 用户使用DIS前需要先开通DIS通道。 步骤2:准备DIS应用开发环境 用户开发DIS应用程序前,首先需要安装 应用开发工具 。然后获取SDK和样例工程,并导入到用户的开发环境中。 步骤3:发送数据到DIS 基于数据上传业务开发应用程序,并运行程序,实现数据上传功能。数据上传过程中可在Console控制台查看数据上传通道相关信息。 步骤4:从DIS获取数据 基于数据下载业务开发应用程序,并运行程序,实现数据下载功能。 父主题: 入门
  • Linux服务器上启动DIS Agent 使用PuTTY工具登录日志所在服务器。 进入DIS Agent安装目录。其中“x.x.x”表示版本号。 cd /opt/dis-agent-x.x.x/ 启动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启动成功。 Success to start DIS Agent [xxxxx]. 如果启动出现java变量找不到的情况,执行source /etc/profile后重新启动Agent。
  • Windows服务器上启动DIS Agent 进入DIS Agent程序的bin目录,例如“C:\dis-agent-X.X.X\bin”。 双击“start-dis-agent.bat”,启动DIS Agent。 若控制台前几行中打印出如下日志表示启动成功。 [INFO ] (main) com.bigdata.dis.agent.Agent Agent: Startup completed in XXX ms.
  • Linux服务器上安装DIS Agent 使用PuTTY工具登录日志所在服务器,即检查依赖的服务器。 将获取DIS Agent包中获取的“dis-agent-X.X.X.zip”安装包上传到“/opt”文件夹中。 解压“dis-agent-X.X.X.zip”压缩包。 unzip dis-agent-X.X.X.zip 进入“dis-agent-X.X.X”文件夹。 cd dis-agent-X.X.X
  • 操作步骤 使用PuTTY工具(或其他终端工具)远程登录Flume服务器。 进入到Flume的安装目录。 cd ${FLUME_HOME} 上传“dis-flume-plugin-X.X.X.zip”安装包到此目录下。 解压安装包。 unzip dis-flume-plugin-X.X.X.zip 进入安装包解压后的目录。 cd dis-flume-plugin 运行安装程序。 bash install.sh DIS Flume Plugin安装在“${FLUME_HOME}/plugin.d/dis-flume-plugin”目录下,安装完成后,显示类似如下内容,表示安装成功。 Install dis-flume-plugin successfully.
  • 在Linux服务器上停止DIS Agent 使用PuTTY工具登录日志所在服务器。 进入DIS Agent安装目录。 cd /opt/dis-agent-X.X.X/ 停止DIS Agent。 bash bin/stop-dis-agent.sh 请确保使用bash执行脚本,否则使用sh、./ 等方式启动脚本,可能由于系统默认shell的差异导致启动失败。 显示类似如下内容,表示正在停止中。“xxxxx”表示进程ID。 Stopping Agent [xxxxx]..... 显示类似如下内容,表示Agent进程已停止。 Stopping Agent [xxxxx]............. Successfully. 强制停止Agent进程操作如下。 执行ps -ef | grep dis-agent | grep -v grep命令,获取Agent的进程标识(PID)。输出的第二个字段即为PID。 执行kill -9 PID命令,强制停止Agent进程。
  • 操作步骤 使用PuTTY工具远程登录Flume所在服务器。 停止Flume程序。 进入DIS Flume Plugin插件所在的目录。 cd ${FLUME_HOME} cd dis-flume-plugin 卸载DIS Flume Plugin。 dos2unix install.sh bash install.sh uninstall 出现类似如下提示,表示卸载成功。 Uninstall dis-flume-plugin successfully.
  • DIS Logstash Plugin概述 DIS Logstash Plugin是 数据接入服务 (DIS)为Logstash开发的插件,包含DIS Input与DIS Output。DIS Input用于从DIS服务下载数据到Logstash,DIS Output用于将Logstash中的数据上传到DIS服务。DIS Logstash Plugin安装流程如图1所示。 图1 安装流程图 父主题: 使用DIS Logstash Plugin上传与下载数据
  • 验证DIS Source 使用PuTTY工具远程登录Flume所在服务器。 确认已配置好包含dis source的配置文件 可基于Flume自带的flume-conf.properties.template修改,文件样例如下所示: agent.sources = dissourceagent.channels = memoryChannelagent.sinks = loggerSink# 定义 Source (使用dis source,从DIS读取数据)agent.sources.dissource.channels = memoryChannelagent.sources.dissource.type = com.cloud.dis.adapter.flume.source.DISSource agent.sources.dissource.streams = YOU_DIS_STREAM_NAMEagent.sources.dissource.ak = YOU_AC CES S_KEY_IDagent.sources.dissource.sk = YOU_SECRET_KEY_IDagent.sources.dissource.region = YOU_Regionagent.sources.dissource.projectId = YOU_PROJECT_IDagent.sources.dissource.endpoint = https://dis.${region}.cloud.comagent.sources.dissource.group.id = YOU_APP_NAME# 定义 Channelagent.channels.memoryChannel.type = memoryagent.channels.memoryChannel.capacity = 10000# 定义 Sink (使用logger sink,输出到控制台)agent.sinks.loggerSink.type = loggeragent.sinks.loggerSink.channel = memoryChannel 启动Flume程序,启动命令请参考Apache Flume官网指导。 如果从Flume安装目录启动,示例命令如下所示: bin/flume-ng agent --conf-file conf/flume-conf.properties.template --name agent --conf conf/ -Dflume.root.logger=INFO,console 其中bin/flume-ng agent表示启动Flume Agent;--conf-file 为用户编写的配置文件路径; --name 为配置文件中agent的名称, --conf 为Flume自带的conf/路径 启动之后查看日志,若日志中有类似“source disSource started.”内容,表示DIS Source正常启动,其中“disSource”是用户配置的source名称。 检查DIS Source下载数据是否正常。 向source指向的通道上传数据,如果flume没有报错且sink端能正常获取到数据,表示下载正常。 如果使用步骤 2中示例的配置,则从DIS获取的数据会输出到控制台上,其内容显示为字节数组格式。 登录DIS控制台,等待2分钟后,查看表1中“streams”配置的通道的监控。如果显示有数据下载(蓝色线条),表示DIS Source运行成功。
  • 验证DIS Sink 使用PuTTY工具远程登录Flume所在服务器。 确认已配置好包含dis sink的配置文件 可基于Flume自带的flume-conf.properties.template修改,文件样例如下所示: agent.sources = execagent.channels = memoryChannelagent.sinks = dissink# 定义 Source (使用exec source,监控/tmp/dis.txt文件)agent.sources.exec.type = execagent.sources.exec.command = tail -F /tmp/dis.txtagent.sources.exec.shell = /bin/bash -cagent.sources.exec.channels = memoryChannel# 定义 Channelagent.channels.memoryChannel.type = memoryagent.channels.memoryChannel.capacity = 10000# 定义 Sink (使用dis sink,输出到dis通道)agent.sinks.dissink.channel = memoryChannelagent.sinks.dissink.type = com.cloud.dis.adapter.flume.sink.DISSinkagent.sinks.dissink.streamName = YOU_DIS_STREAM_NAMEagent.sinks.dissink.ak = YOU_ACCESS_KEY_IDagent.sinks.dissink.sk = YOU_SECRET_KEY_IDagent.sinks.dissink.region = YOU_Regionagent.sinks.dissink.projectId = YOU_PROJECT_IDagent.sinks.dissink.endpoint = https://dis.${region}.myhuaweicloud.comagent.sinks.dissink.resultLogLevel = INFO 启动Flume程序,启动命令请参考Apache Flume官网指导。 如果从Flume安装目录启动,示例命令如下所示 bin/flume-ng agent --conf-file conf/flume-conf.properties.template --name agent --conf conf/ -Dflume.root.logger=INFO,console 其中bin/flume-ng agent表示启动Flume Agent;--conf-file 为用户编写的配置文件路径; --name 为配置文件中agent的名称, --conf 为Flume自带的conf/路径。 查看日志,若日志中有类似“Dis flume sink [dissink] start.”内容,表示DIS Sink正常启动,其中“dissink”是用户配置的sink名称。 检查DIS Sink上传数据是否正常。 向Flume的source端输入数据,在DIS Sink的resultLogLevel级别不为OFF且不低于log4j配置的值,查看日志输出类似如下结果,表示DIS Sink上传数据正常。 CurrentPut 5 events[success 5 / failed 0] spend 131 ms. 如果使用步骤 2中示例的配置,您可创建/tmp/dis.txt文件,并在此文件中追加内容。则启动Flume之后,追加的每行内容会被Flume读取并通过dis sink插件发动到DIS通道中。 登录DIS控制台,等待2分钟后,查看表2中“streamName”配置的通道的监控。如果显示有数据上传(绿色线条),表示DIS Sink运行成功。
  • 操作步骤 使用PuTTY工具(或其他终端工具)远程登录Logstash服务器。 进入到Logstash的安装目录。 cd ${ LOG STASH_HOME} 上传“dis-logstash-plugins-X.X.X.zip”安装包到此目录下。 解压安装包。 unzip dis-logstash-plugins-X.X.X.zip 进入安装包解压后的目录。 cd logstash-plugins 运行安装程序,需要指定Logstash的安装目录。 bash install.sh –p ${LOGSTASH_HOME} 安装完成后,显示类似如下内容,表示安装成功。 Install dis-logstash-plugins successfully.
  • 验证DIS Logstash Input 使用PuTTY工具远程登录Logstash所在服务器。 启动Logstash程序。 bin/logstash -f dis_to_local.conf 其中 -f 为用户编写的配置文件路径。 检查DIS Logstash Input下载数据是否正常。 向input指向的通道上传数据,如果Logstash没有报错且output端能正常获取到数据,表示下载正常。 登录DIS控制台,等待2分钟后,查看表1中“streams”配置的通道的监控。如果显示有数据下载(蓝色线条),表示DIS Logstash Input运行成功。
  • 安装logstash-input-dis 使用PuTTY工具(或其他终端工具)远程登录Logstash服务器。 进入到Logstash的安装目录。 cd ${LOGSTASH_HOME} 执行安装命令。 bin/logstash-plugin install logstash-input-dis 安装完成后,显示类似如下内容,表示安装成功。 Validating logstash-input-disInstalling logstash-input-disInstallation successful
  • 验证DIS Logstash Output 使用PuTTY工具远程登录Logstash所在服务器。 启动Logstash程序。 bin/logstash -f local_to_dis.conf 其中 -f 为用户编写的配置文件路径。 检查DIS Logstash Output上传数据是否正常。 向Logstash的input端输入数据,如果Logstash没有报错数据可以正常上传到指向的通道,表示上传正常。 登录DIS控制台,等待2分钟后,查看表2中“streamName”配置的通道的监控。如果显示有数据上传(绿色线条),表示DIS Logstash Output运行成功。
  • 安装logstash-output-dis 使用PuTTY工具(或其他终端工具)远程登录Logstash服务器。 进入到Logstash的安装目录。 cd ${LOGSTASH_HOME} 执行安装命令。 bin/logstash-plugin install logstash-output-dis 安装完成后,显示类似如下内容,表示安装成功。 Validating logstash-output-disInstalling logstash-output-disInstallation successful
  • 示例流程 图1 IAM用户授权流程 创建用户组并授权 在IAM控制台创建用户组,并授予数据接入服务的通道管理权限“DIS Operator”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,切换至授权区域,验证权限: 在“服务列表”中选择“数据接入服务”,进入DIS主界面创建通道,若未提示权限不足,表示“DIS Operator”已生效。 在“服务列表”中选择除DIS服务外的任一服务,若提示权限不足,表示“DIS Operator”已生效。
  • 操作步骤 使用PuTTY工具远程登录Logstash所在服务器。 停止Logstash程序。 进入DIS Logstash Plugins插件所在的目录。 cd ${LOGSTASH_HOME} cd logstash-plugins 卸载DIS Logstash Plugin。 bash uninstall.sh –p ${LOGSTASH_HOME} 出现类似如下提示,表示卸载成功。 Uninstall dis-logstash-plugins successfully.
共100000条