基于华为云平台的车辆电子围栏实验个人总结

电子围栏总体的方案架构就是,先将数据上传到 DIS ,再入库到 CloudTable 的时序数据库,用来给 Web页面展示车辆轨迹;同时也会给到 CS 实时计算,判断车辆是否在围栏里面,如果在则将告警信息写入到 DIS 另一个通道,用来给 Web 页面展示告警内容

前期准备

  1. 配置Java环境。
  2. 收集需要用到的认证等信息,主要包含 AK/SK/region/projectId。
  3. 由于华北-北京一区的cloudtable集群已售罄(也没有免费集群了),华东-上海二的DIS接入通道不能配置源数据,所以最后将地区定在了华南-广州区。

操作流程中的小细节

  1. 购买集群
    购买集群时要注意勾选高级特性中 Open TSDB这个选项,后面配置数据源时需要用到。
    基于华为云平台的车辆电子围栏实验个人总结_第1张图片
    注意记下此时使用的VPC、子网、安全组,后面创建其它项目时一定要要保持统一。
    待集群创建完成后,点击集群名称,记下OpenTSDB 链接地址后面的 URL后面会用到。
    集群创建时间略长,这个时候可以同时进行后面步骤的操作。
  2. 创建DIS输入通道
    通道名称可以自定义,但是推荐使用“input”,这样就不用在后面创建实时数据流时更改SQL语句了。
    源数据类型选择JSON,将删除换行后的内容复制到左边,点击转换源数据样例,OK后,就可以立即购买了。基于华为云平台的车辆电子围栏实验个人总结_第2张图片
  3. 创建CloudTable 转储
    点击上一步创建的通道名称,再点击转储管理,添加转储日志。
    配置参数,集群选择我们在第一步创建的集群,还要配置3个Items。
    基于华为云平台的车辆电子围栏实验个人总结_第3张图片

如果配置有错误,可能会出现以下提示

在这里插入图片描述
如果创建转储任务成功了,别高兴太早,并不一定代表你的配置就是全部对的。。。。也有可能有错误,不过先不管,等后面出问题再说吧。

  1. 创建输出通道
    输出通道与输入通道过程相同,只需把通道名称修改为output,也可以自定义,源数据类型设置为BLOS,点击提交即可。

  2. 创建实时流作业
    编辑框的SQL语句一定要删除多余换行。
    若是DIS通道名称没有使用input和output,还需要将语句中的通道名称改为实际名称。
    此外,由于当前区域是在华南-广州区,而原实验位于华北-北京一区,所以要将语句中的region,cn-north-1改为cn-south-1(一共有两处)。
    若是仍提示有错误,建议重新检查语句是否有多余换行。基于华为云平台的车辆电子围栏实验个人总结_第4张图片
    基于华为云平台的车辆电子围栏实验个人总结_第5张图片

  3. 启动数据发送工具
    配置dis.properties参数,ak/sk就是在我的凭证中获取的密钥的相关内容,projectID是华南-广州的项目ID值。
    注意将cn-north-1改为cn-south-1。
    基于华为云平台的车辆电子围栏实验个人总结_第6张图片
    进入 bin 目录,双击 start_producer.bat 即可,当界面能显示上传内容即
    表示成功,程序会每 5s 发送一条数据。
    基于华为云平台的车辆电子围栏实验个人总结_第7张图片
    接下来查看前面创建的转储的转储日志。如果状态是已完成,OK,下一步。
    基于华为云平台的车辆电子围栏实验个人总结_第8张图片
    如果状态显示已失败,点击查看详情,出现下面的错误代码,这是因为前面转储任务的Items配置错了,返回去仔细查看,修改。
    基于华为云平台的车辆电子围栏实验个人总结_第9张图片

  4. 创建web服务器
    打开镜像页面:https://market.huaweicloud.com/contents/99007d96-f449-4b6e-a5be-44cbc2910a8d
    点击自定义云主机,购买弹性云服务器,配置参数。
    然而在华南-广州区,并没有找到可用于UI界面展示的市场镜像,尝试用其他镜像试了一下,然而最后的网页还是打不开,,,,
    基于华为云平台的车辆电子围栏实验个人总结_第10张图片

所以最后,我做到这一步就做不下去了。。。。
就到这里吧。

小结

  1. 前面准备了那么多,最后还是没有做出来。我觉得我现在在操作过程中,不管碰到什么问题,都还是能保持冷静的,微笑。。。

  2. 在发送数据时,显示DIS输入通道的转储,一直显示cloudtable服务不稳定导致转储失败。
    我首先是检查了cloudtable集群,甚至是重新建了集群,然而还是显示同样的错误。
    没办法之后,联系到了华为云的技术售后,帮我排查了好久。
    最开始给我的答复是,DIS接入通道的源数据中上传了一段中文字符,也就是“江苏省连云港市…”这一段,他们的cloudtable目前暂不支持中文,显然是不对的。
    最后两位工程师查看了操作步骤后,找到了我在建转储任务时,其中有个Item的配置输错了。。。。
    虽然转储任务可以成功建立,但上传的数据不能与转储的配置对应,所以转储不成功。

  3. 目前来说,我还不能做出最终的效果,希望能有同学完成实验,并可以分享一下下。

你可能感兴趣的:(基于华为云平台的车辆电子围栏实验个人总结)