最佳实践 - huawei cloud€¦ · 教程任务 1. 套牌车实时告警...

33
MapReduce 服务 最佳实践 文档版本 01 发布日期 2020-05-29 华为技术有限公司

Upload: others

Post on 21-Oct-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

  • MapReduce 服务

    最佳实践

    文档版本 01

    发布日期 2020-05-29

    华为技术有限公司

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

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

    和其他华为商标均为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。 注意

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

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

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 i

  • 目 录

    1 使用 Spark 实现车联网车主驾驶行为分析...............................................................................1

    2 基于 MRS 实现道路交通和车辆状况数据分析......................................................................... 92.1 场景概述......................................................................................................................................................................................92.2 实现方法................................................................................................................................................................................... 102.2.1 申请虚拟私有云................................................................................................................................................................... 102.2.2 申请 MRS 流式集群............................................................................................................................................................ 122.2.3 使用 Kafka 实时收集数据................................................................................................................................................. 172.2.4 启动 Storm 分析套牌车程序............................................................................................................................................ 182.2.5 启动 Storm 计算卡口流量程序........................................................................................................................................202.2.6 申请 MRS 分析集群............................................................................................................................................................ 212.2.7 分析卡口流量和车辆出行路径.........................................................................................................................................232.2.8 通过 WebUI 显示数据和报告...........................................................................................................................................28

    MapReduce 服务最佳实践 目 录

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 ii

  • 1 使用 Spark 实现车联网车主驾驶行为分析本手册基于华为云MapReduce服务实践所编写,用于指导您使用Spark实现车主驾驶行为分析。

    本实践基本内容如下所示:

    1. 场景描述2. 第一步:创建集群3. 第二步:准备Spark样例程序和样例数据4. 第三步:创建作业5. 第四步:查看作业执行结果

    详细视频教程请参见:https://bbs.huaweicloud.com/videos/0c3cf8d12547469691b63bd1d1aba8bf

    场景描述

    目的:

    了解MRS的基本功能,利用MRS服务的Spark组件,对车主的驾驶行为进行分析统计,得到用户驾驶行为的分析结果。

    场景:

    本次实战的原始数据为车主的驾驶行为信息,包括车主在日常的驾驶行为中,是否急加速、急减速、空挡滑行、超速、疲劳驾驶等信息。通过Spark组件的强大的分析能力,分析统计指定时间段内,车主急加速、急减速、空挡滑行、超速、疲劳驾驶等违法行为的次数。

    说明

    本实践仅适用于MRS 1.8.x版本,请按照指导创建集群。

    创建集群

    步骤1 登录华为云管理控制台。

    步骤2 在“服务列表”中,选择“EI企业智能 > MapReduce服务”。

    步骤3 单击页面右上角“购买集群”,进入购买集群页面。

    MapReduce 服务最佳实践 1 使用 Spark 实现车联网车主驾驶行为分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 1

    https://bbs.huaweicloud.com/videos/0c3cf8d12547469691b63bd1d1aba8bfhttps://bbs.huaweicloud.com/videos/0c3cf8d12547469691b63bd1d1aba8bf

  • 步骤4 选择“自定义购买”。

    参见表1-1配置集群软件信息。

    表 1-1 软件配置

    参数名称 配置方式

    区域 选择“华北-北京四”。说明

    本指导以“华北-北京四”为例进行介绍,如果您需要选择其他区域进行操作,请确保所有操作均在同一区域进行。

    集群名称 mrs_demo

    集群版本 选择MRS 1.8.10。说明

    本实践仅适用于MRS 1.8.x版本,请选择对应版本集群。

    集群类型 选择“分析集群”,用来做离线数据分析。

    组件选择 勾选所有组件。

    Kerberos认证单击 来关闭Kerberos认证。

    用户名 MRS Manager管理员用户,目前默认为admin用户。

    密码 配置MRS Manager管理员用户的密码。

    确认密码 再次输入MRS Manager管理员用户的密码。

    MapReduce 服务最佳实践 1 使用 Spark 实现车联网车主驾驶行为分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 2

  • 图 1-1 软件配置

    步骤5 单击“下一步”配置硬件信息。

    参见表1-2配置集群硬件信息。

    表 1-2 硬件配置

    参数名称 配置方式

    计费模式 按需计费

    可用区 可用区2

    虚拟私有云 选择需要创建集群的VPC,单击“查看虚拟私有云”进入VPC服务查看已创建的VPC名称和ID。如果没有VPC,需要创建一个新的VPC。

    子网 选择需要创建集群的子网,可进入VPC服务查看VPC下已创建的子网名称和ID。若VPC下未创建子网,请单击“创建子网”进行创建。

    MapReduce 服务最佳实践 1 使用 Spark 实现车联网车主驾驶行为分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 3

  • 参数名称 配置方式

    安全组 选择“自动创建”。

    弹性公网IP 选择“暂不绑定”。

    企业项目 保持默认值。

    集群高可用 保持默认值。

    集群节点 保持默认值。

    登录方式 选择“密码”。

    用户名 用于登录弹性云服务器的用户,目前默认为root用户。

    密码 配置登录ECS的用户密码。

    确认密码 再次输入登录ECS的用户密码。

    图 1-2 硬件配置

    MapReduce 服务最佳实践 1 使用 Spark 实现车联网车主驾驶行为分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 4

  • 步骤6 单击“下一步”,高级配置页签保持默认值。

    步骤7 单击“立即购买”,进入任务提交成功页面。

    步骤8 单击“返回集群列表”,可以查看到集群创建的状态。

    集群创建需要时间,所创集群的初始状态为“启动中”,创建成功后状态更新为“运行中”,请您耐心等待。

    ----结束

    准备 Spark 样例程序和样例数据

    步骤1 创建OBS桶,用于存放Spark样例程序、样例数据、作业执行结果和日志。

    1. 登录华为云管理控制台。2. 在“服务列表”中,选择“存储 > 对象存储服务”。3. 单击“创建桶”,创建一个名称为obs-demo-analysis-hwt4的桶。存储类别和桶

    策略等参数分别保持默认值。

    步骤2 单击obs-demo-analysis-hwt4桶名称。选择左侧导航栏“对象”,在“对象”页签下单击“新建文件夹”,分别新建program、input文件夹,如图1-3所示。

    图 1-3 新建文件夹

    步骤3 从 https://mrs-obs-cn-north-4.obs.cn-north-4.myhuaweicloud.com/mrs-demon-samples/demon/driver_behavior.jar路径下载样例程序driver_behavior.jar至本地。

    步骤4 进入program文件夹,单击“上传对象”,选择本地存放的driver_behavior.jar样例程序。

    步骤5 单击“上传”,上传样例程序到OBS桶。

    步骤6 从https://mrs-obs-cn-north-4.obs.cn-north-4.myhuaweicloud.com/mrs-demon-samples/demon/detail-records.zip获取Spark样例数据到本地并解压。

    步骤7 进入input文件夹,单击“上传对象”,选择本地存放的Spark样例数据。

    步骤8 单击“上传”,上传样例数据到OBS桶。

    ----结束

    MapReduce 服务最佳实践 1 使用 Spark 实现车联网车主驾驶行为分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 5

    https://mrs-obs-cn-north-4.obs.cn-north-4.myhuaweicloud.com/mrs-demon-samples/demon/driver_behavior.jarhttps://mrs-obs-cn-north-4.obs.cn-north-4.myhuaweicloud.com/mrs-demon-samples/demon/driver_behavior.jarhttps://mrs-obs-cn-north-4.obs.cn-north-4.myhuaweicloud.com/mrs-demon-samples/demon/detail-records.ziphttps://mrs-obs-cn-north-4.obs.cn-north-4.myhuaweicloud.com/mrs-demon-samples/demon/detail-records.zip

  • 创建作业

    步骤1 在MRS控制台左侧导航栏选择“集群列表 > 现有集群”,单击名称为“mrs_demo”的集群。

    步骤2 在集群信息页面的“基本信息”中单击“IAM用户同步”右侧的“单击同步”。

    步骤3 在集群信息页面选择“作业管理”页签,单击“添加”,进入添加作业页面。

    步骤4 按图1-4完成作业参数配置。

    表 1-3 配置作业信息

    参数名称 配置方法

    作业类型 选择“SparkSubmit”。

    作业名称 输入“driver_behavior_task”。

    执行程序路径 单击“OBS”,选择准备Spark样例程序和样例数据中上传的名称为driver_behavior.jar的jar包。

    运行程序参数 参数选择“--class”,值输入“com.huawei.bigdata.spark.examples.DriverBehavior”。

    执行程序参数 输入“AK SK 1 输入路径 输出路径”。输入路径可通过单击“OBS”进行选择输入路径,输出路径请手动输入一个不存在的目录,例如s3a://obs-demo-analysis-hwt4/output/。说明

    AK/SK,请通过如下方式获取。1. 登录华为云管理控制台。2. 单击右上角的用户名,然后选择“我的凭证”。3. 系统跳转至“我的凭证”页面,单击“访问密钥”。4. 单击“新增访问密钥”申请新密钥,按照提示输入密码与

    验证码之后,浏览器自动下载一个“credentials.csv”文件,文件为csv格式,以英文逗号分隔,中间的为AK,最后一个为SK。

    服务配置参数 保持默认不配置。

    MapReduce 服务最佳实践 1 使用 Spark 实现车联网车主驾驶行为分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 6

  • 图 1-4 添加作业

    步骤5 单击“确定”,开始提交作业,执行程序。

    ----结束

    查看作业执行结果

    步骤1 进入“作业管理”页面,查看作业执行状态。

    图 1-5 查看作业执行状态

    步骤2 等待1~2分钟,登录OBS控制台,进入obs-demo-analysis-hwt4桶的output目录中,查看执行结果,在生成的csv文件所在行的“操作”列单击“下载”按钮将该文件下载到本地。

    图 1-6 下载作业执行结果

    步骤3 在本地将下载后的csv文件导入excel中打开,按照样例程序中定义的字段为每列数据进行分类,得到如下图所示作业执行结果。

    MapReduce 服务最佳实践 1 使用 Spark 实现车联网车主驾驶行为分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 7

  • 图 1-7 执行结果

    ----结束

    MapReduce 服务最佳实践 1 使用 Spark 实现车联网车主驾驶行为分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 8

  • 2 基于 MRS 实现道路交通和车辆状况数据分析2.1 场景概述

    场景简介

    随着汽车的普及,道路交通问题日益严重,如道路拥挤、事故频发、套牌违规等。

    基于华为云计算、大数据能力对道路、车辆状况分析挖掘,辅助交通部门缓解道路问题。

    说明

    本实践仅适用于MRS 1.8.x版本,请按照指导创建集群。

    图 2-1 方案架构

    准备工作

    ● 注册华为云账户,具体请参见如何注册华为云管理控制台的用户。

    ● 需要购买MapReduce服务、弹性云服务器、虚拟私有云和对象存储服务。

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 9

    https://support.huaweicloud.com/qs-consolehome/zh-cn_topic_0016739341.html

  • 教程任务

    1. 套牌车实时告警实时收集和分析道路检查点数据。 如果在一定的时间和范围内发现两张相同的牌照,车牌号码、位置和时间会立即显示在地图上,以便及时通知交警进行调查。

    2. 卡口实时流量监控实时收集和分析道路检查点数据。实时统计每个道路检查点车辆信息,并实时计算哪些道路检查点车辆拥挤最多。

    3. 卡口流量分析根据海量数据每小时统计每个道路检查点的交通流量,发现当天最拥挤的道路检查点。

    4. 车辆出行路径分析根据道路检查站的相关性分析,勾勒出城市车辆路线景观。

    使用产品● MapReduce服务

    MapReduce服务(MapReduce Service,MRS)提供租户完全可控的企业级大数据集群云服务,轻松运行Hadoop、Spark、HBase、Kafka、Storm等大数据组件。

    ● 虚拟私有云虚拟私有云(Virtual Private Cloud,VPC)是用户在华为云上申请隔离的、私密的虚拟网络环境。用户可以自由配置VPC内的IP地址段、子网、安全组等子服务,也可以申请弹性带宽和弹性IP搭建业务系统。

    ● 弹性云服务器弹性云服务器(Elastic Cloud Server,ECS)是一种可随时自助获取、可弹性伸缩的云服务器,帮助用户打造可靠、安全、灵活、高效的应用环境,确保服务持久稳定运行,提升运维效率。

    ● 对象存储服务对象存储服务(Object Storage Service,OBS)是稳定、安全、高效、易用的云存储服务,具备标准Restful API接口,可存储任意数量和形式的非结构化数据。

    2.2 实现方法

    2.2.1 申请虚拟私有云

    操作场景

    VPC即虚拟私有云,是通过逻辑方式进行网络隔离,提供安全、隔离的网络环境。

    操作步骤

    步骤1 登录华为云管理控制台。

    步骤2 在“服务列表”中,选择“网络 > 虚拟私有云”,在“网络控制台”页面右上角单击“创建虚拟私有云”。

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 10

  • 步骤3 根据界面提示配置虚拟私有云参数后,单击“立即创建”。

    说明

    本指导以“华北-北京四”为例进行介绍,如果您需要选择其他区域进行操作,请确保所有操作均在同一区域进行。

    ● “区域”选择“华北-北京四”。● “名称”配置为“vpc-mrs-demo”,也可以按规范命名。● “网段”保持默认值。● “企业项目”选择default。● “标签”保持默认值,不填写。● “可用区”选择“可用区2”。● 子网名称配置为“subnet-mrs-demo”,也可以按规范命名。● 子网网段保持默认值。● 高级配置选择默认配置。

    参数配置完成后,如图2-2所示。

    图 2-2 配置 VPC 参数

    ----结束

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 11

  • 2.2.2 申请 MRS 流式集群

    申请 MRS 流式集群

    步骤1 登录华为云管理控制台,在“服务列表”中选择“EI企业智能 > MapReduce服务”,进入MapReduce服务页面。

    步骤2 在MapReduce服务管理控制台页面右上角,单击“购买集群”,进入“购买集群”页面。

    步骤3 单击“自定义购买”。

    步骤4 配置集群软件信息。

    说明

    本指导以“华北-北京四”为例进行介绍,如果您需要选择其他区域进行操作,请确保所有操作均在同一区域进行。

    配置信息按照如下内容填写:

    ● “区域”选择“华北-北京四”。● “集群名称”填写“mrs_demo”或按命名规范命名。● “集群版本”选择MRS 1.8.10。本实践仅适用于MRS 1.8.x版本,请选择对应版本

    集群。

    ● “集群类型”选择“流式集群”。● “组件选择”勾选所有流式集群组件。

    ● “Kerberos认证”单击 来关闭Kerberos认证。● “用户名”默认为admin。● “密码”请配置MRS Manager管理员用户的密码。● “确认密码”请再次输入MRS Manager管理员用户的密码。

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 12

  • 图 2-3 软件配置

    步骤5 单击“下一步”。

    配置信息按照如下内容填写:

    ● “计费模式”选择按需计费。● “可用区”选择“可用区2”。● “虚拟私有云”和“子网”选择申请虚拟私有云章节创建的虚拟私有云和子网。● “安全组”默认选择“自动创建”。● “弹性公网IP”默认选择“暂不绑定”。● “企业项目”选择default。● “集群高可用”默认保持开启状态。● “集群节点”中Master和Core的实例规格保持默认值。实例数量、数据盘类型及

    大小保持默认值。不添加Task节点。● “登录方式”选择“密码”,并为root用户输入密码及确认密码。

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 13

  • 图 2-4 硬件配置

    步骤6 单击“下一步”,高级配置页签保持默认值。

    步骤7 单击“立即购买”,进入任务提交成功页面。

    步骤8 单击“返回集群列表”,在“现有集群”列表中可以查看到集群创建的状态。

    集群创建需要时间,所创集群的初始状态为“启动中”,创建成功后状态更新为“运行中”,请您耐心等待。

    ----结束

    添加安全组规则并绑定弹性公网 IP

    步骤1 登录华为云管理控制台,在“服务列表”中选择“EI企业智能 > MapReduce服务”,进入MapReduce服务管理控制台。

    步骤2 在左侧导航树中选择“集群列表 > 现有集群”。

    步骤3 在现有集群列表中,单击集群名称“mrs_demo”,在“节点管理”页签中找到Master2节点,并单击其名称,跳转至云服务器控制台上的该弹性云服务器详情页面。

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 14

  • 图 2-5 节点信息

    步骤4 在弹性云服务器详情页面,选择“安全组”页签,单击安全组名称,在展开的安全组中单击该安全组ID,如图2-6所示。

    图 2-6 安全组

    步骤5 在弹出的“安全组”页面中,单击“入方向规则 > 添加规则”,规则添加完成后,单击“确定”。

    为了快速体验MRS服务,减少这些规则的约束,建议对出方向和入方向的协议端口都选择为“全部放通”,源地址设为所有。如图2-7所示。

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 15

  • 图 2-7 添加入方向规则

    步骤6 在弹性云服务器详情页面,选择“弹性公网IP”页签,在页面中单击“绑定弹性公网IP”,如图2-8所示。

    图 2-8 弹性公网 IP

    步骤7 在“绑定弹性IP”界面中选择一个可用的弹性IP,单击“确定”,绑定弹性IP。如果没有可用的弹性IP,可单击“查看弹性IP”,申请一个新的弹性IP(新申请的弹性IP请保持与集群相同的区域),如图2-9所示。

    图 2-9 绑定弹性公网 IP

    ----结束

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 16

  • 2.2.3 使用 Kafka 实时收集数据步骤1 使用MobaXterm工具登录master2节点的弹性IP地址,登录用户名为"root",按图

    2-10配置后,单击“OK”后,按提示信息输入密码。

    MobaXterm工具下载地址:https://mobaxterm.mobatek.net/

    图 2-10 MobaXterm 详细配置

    步骤2 登录成功后,执行以下命令切换到root用户。sudo -s

    步骤3 执行以下命令配置环境变量。source /opt/client/bigdata_env

    步骤4 登录MRS服务管理控制台,在“集群列表 > 现有集群”列表中,单击名称“mrs_demo”,进入集群基本信息页面,在“集群管理页面”右侧,单击“点击管理”,跳转至MRS Manager页面。

    图 2-11 点击管理

    步骤5 在MRS Manager页面,选择“服务管理 > ZooKeeper > 实例”,查看ZooKeeper角色实例的IP地址,如图2-12所示。

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 17

    https://mobaxterm.mobatek.net/

  • 图 2-12 ZooKeeper 角色实例的 IP 地址

    记录ZooKeeper角色实例中任意一个的IP地址即可。如“192.168.0.111”。

    步骤6 创建Kafka的输入topic。

    topic名称为“input_topic”,其中Zookeeper集群IP需要替换成实际的IP地址。

    kafka-topics.sh --create --zookeeper --partitions 2 --replication-factor 2 --topic input_topic

    步骤7 使用wget命令将压缩包“upload_kafka_tool.tar.gz”下载到master2节点上,并执行以下命令解压。wget https://mrs-obs-cn-north-4.obs.cn-north-4.myhuaweicloud.com/mrs-demon-samples/demon/upload_kafka_tool.tar.gztar -zxvf upload_kafka_tool.tar.gz

    步骤8 修改upload_kafka_tool目录下的dis.properties,将其中的“broker_list” 修改为集群中Kafka broker的IP地址,并检查“topic_name”为步骤6中创建的topic名称。#Kafka配置信息 (Topic 创建命令bin/kafka-topics.sh --create --partitions 1 --replication 2 --zookeeper 192.168.0.17:2181 --topic topic0929)broker_list=192.168.0.220:9092,192.168.0.246:9092,192.168.0.242:9092topic_name=input_topic

    #Sink类型 (kafka或者dis)sink_type=kafka

    步骤9 执行以下命令启动造数据程序。sh upload_kafka_tool/bin/linux/startProducer.sh

    步骤10 依次执行以下命令从input_topic读取数据,确保数据已经写入到Kafka中。source /opt/client/bigdata_envkafka-console-consumer.sh --zookeeper --topic input_topic --from-beginning

    ----结束

    2.2.4 启动 Storm 分析套牌车程序步骤1 使用MobaXterm工具登录master2节点,登录用户名为"root",按图2-13配置后,单

    击“OK”后,按提示信息输入密码。

    MobaXterm工具下载地址:https://mobaxterm.mobatek.net/

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 18

    https://mobaxterm.mobatek.net/

  • 图 2-13 MobaXterm 详细配置

    步骤2 使用WinSCP工具将“car_analysis.jar”的jar包上传到master2节点上。● “car_analysis.jar”的jar包获取地址:https://mrs-obs-cn-north-4.obs.cn-

    north-4.myhuaweicloud.com/mrs-demon-samples/demon/car_analysis.jar。

    ● WinSCP工具获取地址:http://winscp.net/。

    步骤3 获取Kafka角色实例所在节点IP。

    在MRS Manager页面,选择“服务管理 > Kafka > 实例”,查看Kafka角色实例的IP地址。记录Kafka角色实例中任意一个的IP地址即可。如“192.168.0.111”

    步骤4 执行以下命令启动套牌车分析程序。执行该程序预计需要十分钟左右,请耐心等待执行结果。source /opt/client/bigdata_envstorm jar car_analysis.jar com.huawei.storm.hcc.SearchXCarTopology xcar input_topic fake_car_output 200 10 30 30

    相关参数说明如下:

    1. topology_name(拓扑名称)2. stream_name(输入流名称,即kafka输入topic名称)3. stream_name(输出流名称,即输出到kafka的topic名称)4. broker list,即kafka集群broker列表5. 滑动窗口大小6. 更新频率(单位:秒); window length7. 套牌车规则中的时间(单位:分钟)8. 套牌车规则中的距离(单位:公里)

    以上命令会提交一个storm的程序,该程序读取input_topic的数据,计算其中是否有套牌车,如果发现套牌车,则将结果发送到名称为fake_car_output的Kafka topic中。

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 19

    https://mrs-obs-cn-north-4.obs.cn-north-4.myhuaweicloud.com/mrs-demon-samples/demon/car_analysis.jarhttps://mrs-obs-cn-north-4.obs.cn-north-4.myhuaweicloud.com/mrs-demon-samples/demon/car_analysis.jarhttps://mrs-obs-cn-north-4.obs.cn-north-4.myhuaweicloud.com/mrs-demon-samples/demon/car_analysis.jarhttp://winscp.net/

  • 步骤5 程序运行后可以执行以下命令查看计算出来的套牌车数据。source /opt/client/bigdata_envkafka-console-consumer.sh --zookeeper --topic fake_car_output --from-beginning

    ----结束

    2.2.5 启动 Storm 计算卡口流量程序步骤1 使用MobaXterm工具登录master2节点,登录用户名为"root",按图2-14配置后,单

    击“OK”后,按提示信息输入密码。

    MobaXterm工具下载地址:https://mobaxterm.mobatek.net/

    图 2-14 MobaXterm 详细配置

    步骤2 使用WinSCP工具将“car_analysis.jar”的jar包上传到master2节点上。

    步骤3 执行以下命令启动套牌车分析程序。source /opt/client/bigdata_envstorm jar car_analysis.jar com.huawei.storm.hcc.SearchCarSumTopology xcar-sum input_topic sum_car_output 60 5

    参数说明如下:

    1. topology_name(拓扑名称)2. stream_name(输入流名称,即kafka输入topic名称)3. stream_name(输出流名称,即输出到kafka的topic名称)4. broker list,即kafka集群broker列表5. 窗口大小6. 更新频率

    以上命令会提交一个storm的程序,该程序读取input_topic的数据,计算其中每个卡口的车流量,然后将结果写入到名称为sum_car_output的Kafka topic中。

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 20

    https://mobaxterm.mobatek.net/

  • 步骤4 程序运行后可以执行以下命令查看计算出来的卡口流量。source /opt/client/bigdata_envkafka-console-consumer.sh --zookeeper --topic sum_car_output --from-beginning

    ----结束

    2.2.6 申请 MRS 分析集群步骤1 登录华为云管理控制台,在“服务列表”中选择“EI企业智能 > MapReduce服务”,

    进入MapReduce服务页面。

    步骤2 在MapReduce服务管理控制台页面右上角,单击“购买集群”,进入“购买集群”页面。

    步骤3 单击“自定义购买”。

    步骤4 配置集群软件信息。

    说明

    本指导以“华北-北京四”为例进行介绍,如果您需要选择其他区域进行操作,请确保所有操作均在同一区域进行。

    配置信息按照如下内容填写:

    ● “区域”选择“华北-北京四”。● “集群名称”填写“mrs_analysis”或按命名规范命名。● “集群版本”选择MRS 1.8.10。本实践仅适用于MRS 1.8.x版本,请选择对应版本

    集群。

    ● “集群类型”选择“分析集群”。● “组件选择”勾选所有分析集群组件。

    ● “Kerberos认证”单击 来关闭Kerberos认证。● “用户名”默认为admin。● “密码”请配置MRS Manager管理员用户的密码。● “确认密码”请再次输入MRS Manager管理员用户的密码。

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 21

  • 图 2-15 软件配置

    步骤5 单击“下一步”。

    配置信息按照如下内容填写:

    ● “计费模式”选择按需计费。

    ● “可用区”选择“可用区2”。

    ● “虚拟私有云”和“子网”选择申请虚拟私有云章节创建的虚拟私有云和子网。

    ● “安全组”默认选择“自动创建”。

    ● “弹性公网IP”默认选择“暂不绑定”。

    ● “企业项目”选择default。

    ● “集群高可用”默认保持开启状态。

    ● “集群节点”中Master和Core的实例规格保持默认值。实例数量、数据盘类型及大小保持默认值。不添加Task节点。

    ● “登录方式”选择“密码”,并为root用户输入密码及确认密码。

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 22

  • 图 2-16 硬件配置

    步骤6 单击“下一步”,高级配置页签保持默认值。

    步骤7 单击“立即购买”,进入任务提交成功页面。

    步骤8 单击“返回集群列表”,在“现有集群”列表中可以查看到集群创建的状态。

    集群创建需要时间,所创集群的初始状态为“启动中”,创建成功后状态更新为“运行中”,请您耐心等待。

    ----结束

    2.2.7 分析卡口流量和车辆出行路径步骤1 准备数据文件和程序。

    ● mapreduce-example-normal.jar:下载地址为https://mrs-obs-cn-north-4.obs.cn-north-4.myhuaweicloud.com/mrs-demon-samples/demon/mapreduce-example-normal.jar。

    ● co.csv:下载mapreduce-example-normal.jar后解压缩,在“mapreduce-example-normal\resource”文件夹下面获取。

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 23

    https://mrs-obs-cn-north-4.obs.cn-north-4.myhuaweicloud.com/mrs-demon-samples/demon/mapreduce-example-normal.jarhttps://mrs-obs-cn-north-4.obs.cn-north-4.myhuaweicloud.com/mrs-demon-samples/demon/mapreduce-example-normal.jarhttps://mrs-obs-cn-north-4.obs.cn-north-4.myhuaweicloud.com/mrs-demon-samples/demon/mapreduce-example-normal.jar

  • ● dis.hcc-demo.0UWTDLOkFT2t5LzvJN9:下载mapreduce-example-normal.jar后解压缩,在“mapreduce-example-normal\resource”文件夹下面获取。

    步骤2 上传数据和程序至OBS。

    1. 登录华为云管理控制台。2. 在“服务列表”中,选择“存储 > 对象存储服务”。3. 单击“创建桶”,创建一个名称为“mrscardata11”的桶。

    mrscardata11仅为示例,桶名称必须全局唯一,否则会创建桶失败。

    说明

    创建OBS桶所在的区域要和MRS集群在同一区域。本教程区域统一以“华北-北京四”为例。

    图 2-17 创建桶

    4. 在桶列表里单击mrscardata11桶名称,进入“概览”页面。在其左侧导航栏,单击“对象”,进入上传对象页面。

    5. 单击“新建文件夹”,分别创建program、pro、output、input和frontendcollector文件夹,创建完成后如图2-18所示。– program:存放程序mapreduce-example-normal.jar– pro:存放文件co.csv– input:存放dis.hcc-demo.0UWTDLOkFT2t5LzvJN9– output:存放作业输出的文件– frontendcollector:存放车辆行驶路径的输出文件

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 24

  • 图 2-18 文件夹列表

    6. 进入program文件夹,单击“上传对象”,在“上传对象”对话框单击“添加文件”,从本地选择步骤1中下载的程序,然后单击“上传”,等待对象上传成功。

    图 2-19 上传对象

    – 进入pro文件夹,上传co.csv文件。– 进入input文件夹,上传dis.hcc-demo.0UWTDLOkFT2t5LzvJN9文件。

    步骤3 登录MRS控制台,在左侧导航栏选择“集群列表 > 现有集群”选择,单击名称为“mrs_analysis”的集群。

    步骤4 选择“作业管理”页签,然后单击“添加”,进入“添加作业”页面。

    步骤5 在“添加作业”页面配置如下的参数,参数配置完成后,单击“确定”如图2-20所示,等待作业运行成功。

    ● 作业类型选择“MapReduce”。

    ● 作业名称为“Preprocess”。

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 25

  • ● 执行程序路径配置为OBS上存放程序mapreduce-example-normal.jar的地址。如:s3a://mrscardata11/program/mapreduce-example-normal.jar。

    ● 执行程序参数中填写的参数为:com.huawei.mrs.preprocess.Preprocess -Dfs.s3a.access.key=xxxxxx -Dfs.s3a.secret.key=xxxxxx s3a://mrscardata11/input/ /tmp/output/ 2018-06-10 2019-12-30 0 s3a://mrscardata11/pro/co.csv

    说明

    – 填写参数中的时间段需要包括当天的时间点,例如您是在2018-06-15日创建作业,这个时间段需要为2018-06-15日前面和后面。

    – 参数“s3a://mrscardata11/input/”中的OBS桶名需要替换为实际环境创建的桶名。– 参数“s3a://mrscardata11/pro/co.csv”中的OBS桶名需要替换为实际环境创建的桶

    名。

    – AK/SK,请通过如下方式获取。1. 登录华为云管理控制台。2. 登录之后单击右上角的用户名,然后选择“我的凭证”。3. 系统跳转至“我的凭证”页面,单击“管理访问密钥”页签。4. 单击“新增访问密钥”申请新密钥,按照提示输入密码与验证码之后,浏览器自动

    下载一个“credentials.csv”文件,文件为csv格式,以英文逗号分隔,中间的为AK,最后一个为SK。

    ● 服务配置参数无需填写。

    图 2-20 Preprocess 作业参数配置

    步骤6 “Preprocess”作业运行完成后,可以在作业列表中查看到状态为“已完成”,执行结果为“成功”。如图2-21所示。

    图 2-21 作业执行成功

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 26

  • 步骤7 参考步骤5,继续添加作业名称为“Traffic_statics”的作业,用来分析卡口流量,如图2-22所示。

    ● 作业类型选择“MapReduce”。

    ● 作业名称为“Traffic_statics”。

    ● 执行程序路径配置为OBS上存放程序mapreduce-example-normal.jar的地址。如:s3a://mrscardata11/program/mapreduce-example-normal.jar。

    ● 执行程序参数中填写的参数为:com.huawei.mrs.portflowstatistics.FlowCollector -Dfs.s3a.access.key=xxxxxx -Dfs.s3a.secret.key=xxxxxx /tmp/output/ s3a://mrscardata11/output/

    说明

    参数“s3a://mrscardata11/output/”的OBS桶名需要替换为实际环境创建的桶名。

    ● 服务配置参数无需填写。

    图 2-22 Traffic_statics 作业参数配置

    步骤8 “Traffic_statics”作业运行完成后,可以在作业列表中查看到状态为“已完成”,执行结果为“成功”,如图2-23所示。

    图 2-23 作业执行成功

    步骤9 参考步骤5,继续添加作业名称为“Movement_path”的作业,用来分析车辆出行路径,如图2-24所示。

    ● 作业类型选择“MapReduce”。

    ● 作业名称为“Movement_path”。

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 27

  • ● 执行程序路径配置为OBS上存放程序mapreduce-example-normal.jar的地址。如:s3a://mrscardata/program/mapreduce-example-normal.jar。

    ● 执行程序参数中填写的参数为:com.huawei.mrs.pathflowstatistics.FrontEndCollector -Dfs.s3a.access.key=xxxxxx -Dfs.s3a.secret.key=xxxxxx /tmp/output/ s3a://mrscardata11/frontendcollector/

    说明

    参数“s3a://mrscardata11/frontendcollector/”的OBS桶名需要替换为实际环境创建的桶名。

    ● 服务配置参数无需填写。

    图 2-24 Movement_path 作业参数配置

    步骤10 "Movement_path"作业运行完成后,可以在作业列表中查看到状态为“已完成”,执行结果为“成功”,如图2-25所示。

    图 2-25 作业执行成功

    ----结束

    2.2.8 通过 WebUI 显示数据和报告步骤1 购买Windows弹性云服务器,并绑定弹性IP地址。

    Windows弹性云服务器区域为“北京四”,可用区为“可用区2”,虚拟私有云请选择与MRS流式集群为同一个。具体购买操作请参见购买并登录Windows弹性云服务器。

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 28

    https://support.huaweicloud.com/qs-ecs/ecs_02_0009.html

  • 说明

    本指导以“华北-北京四”为例进行介绍,如果您需要选择其他区域进行操作,请确保所有操作均在同一区域进行。

    步骤2 远程登录Windows弹性云服务器,在Windows中下载并安装JDK8和tomcat 7。

    JDK安装完成后需要配置环境变量。

    步骤3 下载并拷贝hccDemo.war包至tomcat安装路径的/webapps目录下。

    hccDemo.war包获取地址:https://mrs-obs-cn-north-4.obs.cn-north-4.myhuaweicloud.com/mrs-demon-samples/demon/hccDemo.war

    步骤4 启动tomcat使其自动解压hccDemo.war至webapps目录下,并自动生成hccDemo目录。

    步骤5 进入webapps/hccDemo/WEB-INF/classes目录,修改app.conf文件中的配置项为自己的环境配置实际值,配置项详细描述见app.conf文件中的注释。

    需要更改的配置项有fs.s3a.endpoint、ak、sk、queue、kafka.bootstrap.servers中的ip1、ip2、ip3。

    #离线车辆分析MR作业输出的OBS桶对应的Endpoint,可以在OBS桶基本信息中查看。fs.s3a.endpoint=xx.xx.xx.xxfs.s3a.path.style.access=truefs.s3a.connection.ssl.enabled=false#AK和SKak=xxxxxxsk=xxxxxxxxxxxxxxxxxxxxxxxxxxx#离线车辆出行路径分析MR作业输出的OBS路径car.movemement.path=/frontendcollector/carmovement#离线车辆出行路径分析MR作业输出的OBS桶名queue=cartest#离线卡口流量分析MR作业输出的OBS路径traffic.stat.path=/output/flowsum#离线卡口流量分析MR作业输出的OBS路径traffic.stat.time.interval.path=/output/flow

    #Traffic stat configuration#卡口流量分析:高流量的阈值traffic.stat.high=52354#卡口流量分析:中流量的阈值traffic.stat.medium=45383#set -1 to fetch all the recordstraffic.total.record=1000#Car movement configuration#车辆出行路径分析:高的阈值car.movement.high=24239#车辆出行路径分析:低的阈值car.movement.low=18979#set -1 to fetch all the recordscar.movement.total.record=1000#Hight Traffic report configuration#实时流量监控分析:高流量阈值high.traffic.high=25#实时流量监控分析:低流量阈值high.traffic.medium=10#General Configurations#经纬度坐标和卡口名的映射文件coordinate.file=coordinate-shanghai-with-name.csv#是否使用自己制造的硬编码数据use.dummy.data=false//kafka or dis# kafka 实时分析数据是通过dis还是kafka,当前为kafkareal.time.data.provider=kafka#Kafka related changes

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 29

    https://mrs-obs-cn-north-4.obs.cn-north-4.myhuaweicloud.com/mrs-demon-samples/demon/hccDemo.warhttps://mrs-obs-cn-north-4.obs.cn-north-4.myhuaweicloud.com/mrs-demon-samples/demon/hccDemo.war

  • # Kafka的Broker List,以逗号分隔,注意开通对应端口的安全组规则kafka.bootstrap.servers=ip1:9092,ip2:9092,ip3:9092# 存放套牌车数据的topickafka.fakeCar.topic=fake_car_output# 存放卡口流量数据的topickafka.highTraffic.topic=sum_car_outputkafka.fakeCar.partition=0kafka.highTraffic.partition=0kafka.highTraffic.max.record=1000kafka.fakeCar.max.record=1000kafka.poll.timeout=500kafka.batchNumber=100#property starting with kafka.property will be used while constructing KafkaConsumerkafka.property.group.id=kafkakafka.property.enable.auto.commit=truekafka.property.auto.commit.interval.ms=1000

    步骤6 重启tomcat程序。

    步骤7 在浏览器里输入IP为弹性IP地址(EIP),端口为8080的地址:http://{EIP}:8080/hccDemo,进入智能交通大数据的主页,如图2-26所示。

    图 2-26 智能交通大数据主页

    ----结束

    MapReduce 服务最佳实践 2 基于 MRS 实现道路交通和车辆状况数据分析

    文档版本 01 (2020-05-29) 版权所有 © 华为技术有限公司 30

    目 录1 使用Spark实现车联网车主驾驶行为分析2 基于MRS实现道路交通和车辆状况数据分析2.1 场景概述2.2 实现方法2.2.1 申请虚拟私有云2.2.2 申请MRS流式集群2.2.3 使用Kafka实时收集数据2.2.4 启动Storm分析套牌车程序2.2.5 启动Storm计算卡口流量程序2.2.6 申请MRS分析集群2.2.7 分析卡口流量和车辆出行路径2.2.8 通过WebUI显示数据和报告