华为云用户手册

  • 支持的产品及事件详情 表2 弹性云服务器 告警名称 告警策略 规则说明 处理步骤 alarm-StartAutoRecovery 弹性云服务器-开始恢复 立即触发 弹性云服务器所在的主机出现故障时,系统会自动将弹性云服务器迁移至正常的物理机,该过程会导致云服务器重启,并发送一个“开始恢复”的事件,当迁移完成后,并发送一个“恢复成功”的事件,表示已恢复正常。 当收到“开始恢复”时,说明已发生故障,该机器无法使用,需要考虑更换弹性云服务器,或考虑将流量导至其他机器。 alarm-EndAutoRecovery 弹性云服务器-恢复成功 立即触发 当收到“恢复成功”时,说明该ECS已正常工作,可继续使用。
  • 事件监控简介 事件监控提供了事件类型数据上报、查询和告警的功能。方便您将业务中的各类重要事件或对云资源的操作事件收集到云监控服务,并在事件发生时进行告警。事件监控不依赖于Agent插件。 事件即云监控服务保存并监控的云服务资源的关键操作。您可以通过“事件”了解到谁在什么时间对系统哪些资源做了什么操作,如删除虚拟机、重启虚拟机等。 事件监控默认开通,您可以在事件监控中查看系统事件和自定义事件的监控详情,目前支持的系统事件请参见事件监控支持的事件说明。 事件监控为您提供上报自定义事件的接口,方便您将业务产生的异常事件或重要变更事件采集上报到云监控服务。 上报自定义事件请参见上报事件。 父主题: 事件监控
  • 修改ECS的安全组规则(管理控制台) 本节介绍登录管理控制台后修改ECS安全组规则的操作步骤和方法。本章节以ECS为例介绍如何修改DNS和添加安全组,BMS操作步骤类似。 在ECS详情页,单击安全组页签。 进入安全组列表页。 单击具体的安全组名。 单击“更改安全组规则”。 进入安全组详情页。 BMS的操作步骤: 请单击表格中左上角的安全组ID。 在对应安全组“操作”列单击“配置规则”。 在“出方向规则”页签下单击“添加规则”。 按表1所示添加规则。 表1 安全组规则 协议 端口 类型 目的地址 说明 TCP 80 IPv4 100.125.0.0/16 用于从OBS桶下载Agent包到ECS或BMS中、获取ECS或BMS的元数据信息与鉴权信息。 TCP、UDP 53 IPv4 100.125.0.0/16 用于DNS解析域名,下载Agent时解析OBS地址、发送监控数据时解析云监控服务Endpoint地址。 TCP 443 IPv4 100.125.0.0/16 采集监控数据到云监控服务端。
  • 创建自定义告警模板 在“告警模板”界面,单击“创建自定义告警模板”。 在“选择类型”界面,参考表1进行参数配置。 图1 创建自定义告警模板 表1 配置参数 参数 参数说明 名称 系统会随机产生一个名称,用户也可以进行修改。 取值样例:alarmTemplate-c6ft 描述 自定义告警模板描述(此参数非必填项)。 触发规则 可以选择“导入已有模板”或“自定义创建”。 选择“导入已有模板”:选择一个已有模板名称,自动添加默认告警规则。 选择“自定义创建”:自定义创建告警模板。 添加资源类型 配置告警规则监控的服务名称。 取值样例:弹性云服务器 监控指标 例如: CPU使用率 该指标用于统计测量对象的CPU使用率,以百分比为单位。 内存使用率 该指标用于统计测量对象的内存使用率,以百分比为单位。 告警策略 触发告警的告警策略。 例如:监控周期为5分钟,连续三个周期平均值≥80%。 告警级别 根据告警的严重程度不同等级,可选择紧急、重要、次要、提示。 操作 可以复制、删除某条已添加的告警策略。 单击“立即创建”,完成创建自定义模板。 父主题: 告警模板
  • 名词解释 函数工作流:FunctionGraph是一项基于事件驱动的函数托管计算服务。使用FunctionGraph函数,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。此外,按函数实际执行资源计费,不执行不产生费用。 API网关:APIG(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,应用将自身的服务能力封装成API,并通过API网关开放给用户调用。API包括基本信息、前后端的请求路径和参数以及请求相关协议。 对象存储服务(OBS):一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力。
  • 快速部署 本章节主要帮助用户快速部署“使用预签名URL直传OBS”解决方案。 表1 参数说明 参数名称 类型 是否可选 参数解释 默认值 function_name string 必填 函数名称,用于定义创建函数及其他资源前缀,不支持重名。取值范围:1-56个字符,可包含字母、数字、下划线和中划线,以大/小写字母开头。 presigned-url-to-obs-demo obs_bucket_name string 必填 OBS桶名称,全局唯一,用于上传文件数据。取值范围:3-63个字符,支持小写字母、数字、中划线(-)、英文句号(.)。 空 登录华为云解决方案实践,选择“使用预签名URL直传OBS”,单击“一键部署”,跳转至解决方案创建资源栈界面。 图1 解决方案实施库 在选择模板界面中,单击“下一步”。 图2 选择模板 在配置参数界面中,参考表1完成自定义参数填写,单击“下一步”。 图3 配置参数 在资源设置界面中,在权限委托下拉框中选择“rf_admin_trust”委托,单击“下一步”。 图4 资源栈设置 在配置确认界面中,单击“创建执行计划”。 图5 配置确认 在弹出的创建执行计划框中,自定义填写执行计划名称,单击“确定”。 图6 创建执行计划 单击“部署”,并且在弹出的执行计划确认框中单击“执行”。 图7 执行计划 图8 执行计划确认 待“事件”中出现“Apply required resource success”,表示该解决方案已经部署完成。 图9 部署完成 父主题: 实施步骤
  • 资源和成本规划 该解决方案主要部署如下资源,以下费用仅供参考,具体请参考华为云官网价格详情,实际收费以账单为准。 表1 成本预估(仅供参考) 华为云服务 计费说明 每月花费(调用100万次) 函数工作流 FunctionGraph 区域:华北-北京四 产品:函数 请求次数: 0-100万次: 0元/100万次 100万次以上 : 1.33元/100万次 计量时间: 0-400,000 GB/秒: 0元/GB-秒 400,000 GB/秒以上 :0.00011108元/GB-秒 0元 API网关(共享版) 区域:华北-北京四 计费项:API调用次数 月累计超过次数:0~1000万次(含) 价格:0.06 元/万次 计费项:流量(公网流出流量) 价格:0.8 元/GB API调用次数:0.06元 预计每月新增1GB数据量,花费0.8元,详细请参考每月账单。 对象存储服务 OBS 区域:华北-北京四 存储空间:数据存储(多AZ存储) 默认存储类别:标准存储 桶策略:私有 请求费用:0.0100元/万次 存储空间:0.0990元/GB/月 流量费用: 公网流出流量 / 00:00-08:00(闲时)0.2500元/G 公网流出流量 / 08:00-24:00(忙时)0.5000元/GB 费用包括存储空间、请求费用、流量费用两部分,具体请参考OBS计费详情。 费用包括存储空间、请求费用、流量费用两部分,详细请参考每月账单。 合计 - 约0.86元
  • Kafka样例工程简介 MRS样例工程获取地址为https://github.com/huaweicloud/huaweicloud-mrs-example,切换分支为与MRS集群相匹配的版本分支,然后下载压缩包到本地后解压,即可获取各组件对应的样例代码工程。 当前MRS提供以下Kafka相关样例工程: 表1 Kafka相关样例工程 样例工程位置 描述 kafka-examples 单线程生产数据,相关样例请参考Producer API样例。 单线程消费数据,相关样例请参考Consumer API样例。 多线程生产数据,相关样例请参考多线程Producer样例。 多线程消费数据,相关样例请参考Consumer API样例。 基于KafkaStreams实现WordCount,相关样例请参考多线程Consumer样例 父主题: 概述
  • 解决步骤 检查工程conf目录下“producer.properties”中配置的“bootstrap.servers”配置值中访问的IP和端口是否正确: 如果IP与Kafka集群部署的业务IP不一致,那么需要修改为当前集群正确的IP地址。 如果配置中的端口为21007(Kafka安全模式端口),那么修改该端口为9092(Kafka普通模式端口)。 检查网络是否正常,确保当前机器能够正常访问Kafka集群。
  • Kudu简介 Kudu是专为Apache Hadoop平台开发的列式存储管理器,具有Hadoop生态系统应用程序的共同技术特性:在通用的商用硬件上运行,可水平扩展,提供高可用性。 Kudu的设计具有以下优点: 能够快速处理OLAP工作负载。 支持与MapReduce,Spark和其他Hadoop生态系统组件集成。 与Apache Impala的紧密集成,使其成为将HDFS与Apache Parquet结合使用的更好选择。 提供强大而灵活的一致性模型,允许您根据每个请求选择一致性要求,包括用于严格可序列化的一致性的选项。 提供同时运行顺序读写和随机读写的良好性能。 易于管理。 高可用性。Master和TServer采用raft算法,该算法可确保只要副本总数的一半以上可用,tablet就可以进行读写操作。例如,如果3个副本中有2个副本或5个副本中有3个副本可用,则tablet可用。即使主tablet出现故障,也可以通过只读的副tablet提供读取服务。 支持结构化数据模型。 通过结合所有以上属性,Kudu的目标是支持在当前Hadoop存储技术上难以实现或无法实现的应用。 Kudu的应用场景有: 需要最终用户立即使用新到达数据的报告型应用。 同时支持大量历史数据查询和细粒度查询的时序应用。 使用预测模型并基于所有历史数据定期刷新预测模型来做出实时决策的应用。
  • 开发流程 开发流程中各阶段的说明如图1和表1所示。 图1 Kudu应用程序开发流程 表1 Kudu应用开发的流程说明 阶段 说明 参考文档 了解基本概念 在开始开发应用前,需要了解Kudu的基本概念。 常用概念 准备开发和运行环境 Kudu的应用程序支持多种语言进行开发,一般使用Java为主,推荐使用Eclipse 或者IntelliJ IDEA工具,请根据指导完成开发环境配置。 准备开发和运行环境 根据场景开发工程 提供样例工程,帮助用户快速了解Kudu各部件的编程接口。 开发程序 查看程序运行结果 指导用户将开发好的程序编译提交运行并查看结果。 调测程序 父主题: 概述
  • 代码样例 如下是写数据的代码片段: // Alter the table, adding a column with a default value.// Note: after altering the table, the table needs to be re-opened.AlterTableOptions ato = new AlterTableOptions();ato.addColumn("added", org.apache.kudu.Type.DOUBLE, DEFAULT_DOUBLE);client.alterTable(tableName, ato); 示例代码中,AlterTableOptions是要修改表属性的集合,这里往表里新增加了一列。
  • 代码样例 如下是建立连接代码片段: // 创建Kudu连接对象KuduClient client = new KuduClient.KuduClientBuilder(KUDU_MASTERS).build(); 示例代码中,KUDU_MASTERS为kudu集群的masters地址列表,例如:192.168.0.100:7051, 192.168.0.101:7051, 192.168.0.102:7051。格式为地址:端口,中间用半角逗号隔开;生产上建议使用长连接对象。
  • MapReduce简介 Hadoop MapReduce是一个使用简易的并行计算软件框架,基于它写出来的应用程序能够运行在由上千个服务器组成的大型集群上,并以一种可靠容错的方式并行处理上T级别的数据集。 一个MapReduce作业(application/job)通常会把输入的数据集切分为若干独立的数据块,由map任务(task)以完全并行的方式来处理。框架会对map的输出先进行排序,然后把结果输入给reduce任务,最后返回给客户端。通常作业的输入和输出都会被存储在文件系统中。整个框架负责任务的调度和监控,以及重新执行已经失败的任务。 MapReduce主要特点如下: 大规模并行计算 适用于大型数据集 高容错性和高可靠性 合理的资源调度
  • 开发流程 开发流程中各阶段的说明如图1和表1所示。 图1 MapReduce应用程序开发流程 表1 MapReduce应用开发的流程说明 阶段 说明 参考文档 了解基本概念 在开始开发应用前,需要了解MapReduce的基本概念。 常用概念 准备开发和运行环境 使用IntelliJ IDEA工具,请根据指导完成开发环境配置。 MapReduce的运行环境即MapReduce客户端,请根据指导完成客户端的安装和配置。 准备开发和运行环境 准备工程 MapReduce提供了不同场景下的样例程序,您可以导入样例工程进行程序学习。或者您可以根据指导,新建一个MapReduce工程。 配置并导入样例工程 创建工程(可选) 根据场景开发工程 提供了样例工程。 帮助用户快速了解MapReduce各部件的编程接口。 开发程序 编译并运行程序 指导用户将开发好的程序编译并提交运行。 调测程序 查看程序运行结果 程序运行结果会写在用户指定的路径下。用户还可以通过UI查看应用运行情况。 调测程序 父主题: 概述
  • 数据规划 首先需要把原日志文件放置在HDFS系统里。 在Linux系统上新建两个文本文件,将log1.txt中的内容复制保存到input_data1.txt,将log2.txt中的内容复制保存到input_data2.txt。 在HDFS上建立一个文件夹,“/tmp/input”,并上传input_data1.txt,input_data2.txt到此目录,命令如下: 在Linux系统HDFS客户端使用命令hdfs dfs -mkdir /tmp/input 在Linux系统HDFS客户端使用命令hdfs dfs -put local_filepath /tmp/input
  • 功能介绍 统计日志文件中本周末网购停留总时间超过2个小时的女性网民信息。 主要分为三个部分: 从原文件中筛选女性网民上网时间数据信息,通过类CollectionMapper继承Mapper抽象类实现。 汇总每个女性上网时间,并输出时间大于两个小时的女性网民信息,通过类CollectionReducer继承Reducer抽象类实现。 main方法提供建立一个MapReduce job,并提交MapReduce作业到hadoop集群。
  • 场景说明 假定用户有某个周末网民网购停留时间的日志文本,基于某些业务要求,要求开发MapReduce应用程序实现如下功能: 统计日志文件中本周末网购停留总时间超过2个小时的女性网民信息。 周末两天的日志文件第一列为姓名,第二列为性别,第三列为本次停留时间,单位为分钟,分隔符为“,”。 log1.txt:周六网民停留日志 LiuYang,female,20YuanJing,male,10GuoYijun,male,5CaiXuyu,female,50Liyuan,male,20FangBo,female,50LiuYang,female,20YuanJing,male,10GuoYijun,male,50CaiXuyu,female,50FangBo,female,60 log2.txt:周日网民停留日志 LiuYang,female,20YuanJing,male,10CaiXuyu,female,50FangBo,female,50GuoYijun,male,5CaiXuyu,female,50Liyuan,male,20CaiXuyu,female,50FangBo,female,50LiuYang,female,20YuanJing,male,10FangBo,female,50GuoYijun,male,50CaiXuyu,female,50FangBo,female,60
  • 运行多组件样例程序 将hive-site.xml、hbase-site.xml、hiveclient.properties放入工程的conf目录。 确保样例工程依赖的所有Hive、HBase相关jar包已正常获取。 打开MultiComponentLocalRunner.java,确认代码中System.setProperty("HADOOP_USER_NAME", "root");设置了用户为root,请确保场景说明中上传的数据的用户为root,或者在代码中将root修改为上传数据的用户名。 在IntelliJ IDEA开发环境中,选中“MultiComponentLocalRunner.java”工程,单击运行对应的应用程序工程。或者右键工程,选择“Run MultiComponentLocalRunner.main()”运行应用工程。
  • 数据规划 创建HDFS数据文件。 在Linux系统上新建文本文件,将log1.txt中的内容复制保存到data.txt。 在HDFS上创建一个文件夹,“/tmp/examples/multi-components/mapreduce/input/”,并上传data.txt到此目录,命令如下: 在Linux系统HDFS客户端使用命令hdfs dfs -mkdir -p /tmp/examples/multi-components/mapreduce/input/ 在Linux系统HDFS客户端使用命令hdfs dfs -put data.txt /tmp/examples/multi-components/mapreduce/input/ 创建HBase表并插入数据。 在Linux系统HBase客户端执行source bigdata_env,并使用命令hbase shell。 在HBase shell交互窗口创建数据表table1,该表有一个列族cf,使用命令create 'table1', 'cf'。 插入一条rowkey为1、列名为cid、数据值为123的数据,使用命令put 'table1', '1', 'cf:cid', '123'。 执行命令quit退出。 创建Hive表并载入数据。 在Linux系统Hive客户端使用命令beeline。 在Hive beeline交互窗口创建数据表person,该表有3个字段:name/gender/stayTime,使用命令CREATE TABLE person(name STRING, gender STRING, stayTime INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' stored as textfile;。 在Hive beeline交互窗口加载数据文件,LOAD DATA INPATH '/tmp/examples/multi-components/mapreduce/input/' OVERWRITE INTO TABLE person;。 执行命令!q退出。 由于Hive加载数据将HDFS对应数据目录清空,所以需再次执行1。
  • 场景说明 该样例以MapReduce访问HDFS、HBase、Hive为例,介绍如何编写MapReduce作业访问多个服务组件。帮助用户理解认证、配置加载等关键使用方式。 该样例逻辑过程如下: 以HDFS文本文件为输入数据: log1.txt:数据输入文件 YuanJing,male,10GuoYijun,male,5 Map阶段: 获取输入数据的一行并提取姓名信息。 查询HBase一条数据。 查询Hive一条数据。 将HBase查询结果与Hive查询结果进行拼接作为Map输出。 Reduce阶段: 获取Map输出中的最后一条数据。 将数据输出到HBase。 将数据保存到HDFS。
  • 功能介绍 主要分为三个部分: 从HDFS原文件中抽取name信息,查询HBase、Hive相关数据,并进行数据拼接,通过类MultiComponentMapper继承Mapper抽象类实现。 获取拼接后的数据取最后一条输出到HBase、HDFS,通过类MultiComponentReducer继承Reducer抽象类实现。 main方法提供建立一个MapReduce job,并提交MapReduce作业到Hadoop集群。
  • Oozie简介 Oozie是一个用来管理Hadoop job任务的工作流引擎,Oozie流程基于有向无环图(Directed Acyclical Graph)来定义和描述,支持多种工作流模式及流程定时触发机制。易扩展、易维护、可靠性高,与Hadoop生态系统各组件紧密结合。 Oozie流程的三种类型: Workflow 描述一个完整业务的基本流程。 Coordinator Coordinator流程构建在workflow流程之上,实现了对Workflow流程的定时触发、按条件触发功能。 Bundle Bundle流程构建在coordinator流程之上,提供对多个Coordinator流程的统一调度、控制和管理功能。 Oozie主要特点: 支持分发、聚合、选择等工作流程模式。 与Hadoop生态系统各组件紧密结合。 流程变量支持参数化。 支持流程定时触发。 自带一个Web Console,提供了流程查看、流程监控、日志查看等功能。
  • MapReduce样例工程介绍 MRS样例工程获取地址为https://github.com/huaweicloud/huaweicloud-mrs-example,切换分支为与MRS集群相匹配的版本分支,然后下载压缩包到本地后解压,即可获取各组件对应的样例代码工程。 当前MRS提供以下MapReduce相关样例工程: 表1 MapReduce相关样例工程 样例工程位置 描述 mapreduce-example-normal MapReduce统计数据的应用开发示例: 提供了一个MapReduce统计数据的应用开发示例,通过类CollectionMapper实现数据分析、处理,并输出满足用户需要的数据信息。 相关样例介绍请参见MapReduce统计样例程序。 MapReduce作业访问多组件的应用开发示例: 以MapReduce访问HDFS、HBase、Hive为例,介绍如何编写MapReduce作业访问多个服务组件。帮助用户理解认证、配置加载等关键使用方式。 相关样例介绍请参见MapReduce访问多组件样例程序。 父主题: 概述
  • 开发流程 本文档主要基于java API对Oozie进行应用开发。 开发流程中各阶段的说明如图1和表1所示。 图1 Oozie应用程序开发流程 表1 Oozie应用开发的流程说明 阶段 说明 参考文档 了解基本概念 在开始开发应用前,需要了解Oozie的基本概念,了解场景需求等。 常用概念 准备开发和运行环境 Oozie的应用程序当前推荐使用Java语言进行开发。可使用IDEA工具。 准备开发和运行环境 准备工程 Oozie提供了不同场景下的样例程序,您可以导入样例工程进行程序学习。 下载并导入样例工程 根据场景开发工程 提供了Java语言的样例工程。 开发程序 编译并运行程序 指导用户将开发好的程序编译并提交运行。 调测程序 查看程序运行结果 程序运行结果会写在用户指定的路径下。用户还可以通过UI查看应用运行情况。 调测程序 父主题: 概述
  • 准备开发和运行环境 在进行二次开发时,要准备的开发和运行环境如表1所示。 表1 开发环境 准备项 说明 操作系统 Windows系统,支持Windows 7以上版本。 开发和运行环境需要和集群业务平面网络互通。 安装JDK 开发和运行环境的基本配置。版本要求如下: 服务端和客户端仅支持自带的OpenJDK,版本为1.8.0_272,不允许替换。 对于客户应用需引用SDK类的Jar包运行在客户应用进程中的。 X86客户端:Oracle JDK:支持1.8版本;IBM JDK:支持1.8.5.11版本。 TaiShan客户端:OpenJDK:支持1.8.0_272版本。 说明: 基于安全考虑,服务端只支持TLS V1.2及以上的加密协议。 安装和配置IDEA 用于开发Oozie应用程序的工具。版本要求:支持JDK1.8以上的版本。 说明: 若使用IBM JDK,请确保IDEA中的JDK配置为IBM JDK。 若使用Oracle JDK,请确保IDEA中的JDK配置为Oracle JDK。 若使用Open JDK,请确保IDEA中的JDK配置为Open JDK。 不同的IntelliJ IDEA不要使用相同的workspace和相同路径下的示例工程。 安装Maven 开发环境的基本配置。用于项目管理,贯穿软件开发生命周期。 7-zip 用于解压“*.zip”和“*.rar”文件。 支持7-zip 16.04版本。 父主题: 环境准备
  • 开发流程 工作流配置文件“workflow.xml”(“coordinator.xml”是对工作流进行调度,“bundle.xml”是对一组coordinator进行管理)与“job.properties”。 如果有实现代码,需要开发对应的jar包,例如Java Action;如果是Hive,则需要开发SQL文件。 上传配置文件与jar包(包括依赖的jar包)到HDFS,上传的路径取决于workflow.xml中的oozie.wf.application.path配置的路径。 提供三种方式对工作流进行操作,详情请参见更多信息。 Shell命令 Java API Hue Oozie客户端提供了比较完整的examples示例供用户参考,包括各种类型的Action,以及Coordinator以及Bundle的使用。以客户端安装目录为“/opt/client”为例,examples具体目录为“/opt/client/Oozie/oozie-client-*/examples”。 如下通过一个Mapreduce工作流的示例演示如何配置配置文件,并通过Shell命令调用。
  • 参数解释 “job.properties”文件中包含的各参数及其含义,请参见表1。 表1 参数含义 参数 含义 nameNode HDFS NameNode集群地址 resourceManager Yarn ResourceManager地址 queueName 流程任务处理时使用的MapReduce队列名 dataLoadRoot 流程任务所在目录名 oozie.coord.application.path Coordinator流程任务在HDFS上的存放路径 start 定时流程任务启动时间 end 定时流程任务终止时间 workflowAppUri Workflow流程任务在HDFS上的存放路径 可以根据业务需要,以“key=values”的格式自定义参数及值。
  • 样例代码 nameNode=hdfs://haclusterresourceManager=10.1.130.10:26004queueName=QueueAdataLoadRoot=examplesoozie.coord.application.path=${nameNode}/user/oozie_cli/${dataLoadRoot}/apps/dataLoadstart=2013-04-02T00:00Zend=2014-04-02T00:00ZworkflowAppUri=${nameNode}/user/oozie_cli/${dataLoadRoot}/apps/dataLoad
  • 常用概念 流程定义文件 描述业务逻辑的XML文件,包括“workflow.xml”、“coordinator.xml”、“bundle.xml”三类,最终由Oozie引擎解析并执行。 流程属性文件 流程运行期间的参数配置文件,对应文件名为“job.properties”,每个流程定义有且仅有一个该属性文件。 Client 客户端直接面向用户,可通过Java API、Shell API、 REST API或者Web UI访问Oozie服务端。 Oozie WebUI界面 通过https://Oozie服务器IP:21003/oozie登录Oozie WebUI界面。 父主题: 概述
共100000条