最佳实践 - huawei cloud€¦ · 教程任务 1. 套牌车实时告警...
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显示数据和报告