All Projects → wang1365 → storm-traffic

wang1365 / storm-traffic

Licence: other
使用Storm实时处理交通大数据(数据源:kafka,集群管理:zookeeper)

Programming Languages

java
68154 projects - #9 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to storm-traffic

qs-hadoop
大数据生态圈学习
Stars: ✭ 18 (-47.06%)
Mutual labels:  storm
youtube-or-pornhub
Service identification on ciphered traffic.
Stars: ✭ 26 (-23.53%)
Mutual labels:  traffic
Bigscity-LibCity-Datasets
Traffic data processing tools in LibCity
Stars: ✭ 62 (+82.35%)
Mutual labels:  traffic
flare
nRF905 single-chip radio transceiver demodulator + FLARM protocol decoder
Stars: ✭ 51 (+50%)
Mutual labels:  traffic
xxhadoop
Data Analysis Using Hadoop/Spark/Storm/ElasticSearch/MachineLearning etc. This is My Daily Notes/Code/Demo. Don't fork, Just star !
Stars: ✭ 37 (+8.82%)
Mutual labels:  storm
zk-sniffer
sniffer and parse zookeeper packet
Stars: ✭ 38 (+11.76%)
Mutual labels:  traffic
CoinHive
A nice friendly simple and easly customizable GUI for coinhives javascript miner to embed onto websites so users of your site can interact with features of the miner on every single page this javascript miner is to help those who have problems with advertisements/advertising/ads popups banners mobile redirects malvertising/malware etc and provid…
Stars: ✭ 58 (+70.59%)
Mutual labels:  traffic
graphiql-storm
🌪 A GraphQl Web IDE
Stars: ✭ 111 (+226.47%)
Mutual labels:  storm
Wan-Emulation-TC-and-Netem
Wide Area Network Link Emulation with TC and NetEm
Stars: ✭ 22 (-35.29%)
Mutual labels:  traffic
epaper-clock-and-more
e-paper clock + weather + AQI + traffic delays - using Waveshare 2.7inch & 4.2inch eink displays running on Raspberry Pi
Stars: ✭ 34 (+0%)
Mutual labels:  traffic
basenine
Schema-free, document-oriented streaming database that optimized for monitoring network traffic in real-time
Stars: ✭ 38 (+11.76%)
Mutual labels:  traffic
crawling-framework
Easily crawl news portals or blog sites using Storm Crawler.
Stars: ✭ 22 (-35.29%)
Mutual labels:  storm
bullet-storm
The Apache Storm implementation of the Bullet backend
Stars: ✭ 39 (+14.71%)
Mutual labels:  storm
promviz-front
Visualize Prometheus Metrics With Vizceral
Stars: ✭ 50 (+47.06%)
Mutual labels:  traffic
poimandres-terminal
A collection of iTerm/Windows Terminal color profiles inspired by the Poimandres VSCode themes
Stars: ✭ 40 (+17.65%)
Mutual labels:  storm
Storm-Kafka
Storm Kafka 流数据 处理系统
Stars: ✭ 20 (-41.18%)
Mutual labels:  storm
stormnode
Node js node client for storm.dev
Stars: ✭ 11 (-67.65%)
Mutual labels:  storm
mosaic
Eclipse MOSAIC is a Multi-Domain and Multi-Scale Simulation Framework for Automated and Connected Mobility Scenarios.
Stars: ✭ 51 (+50%)
Mutual labels:  traffic
Linux-admin
Shell scripts to automate download of GitHub traffic statistics, cluster administration, and create an animated GIF.
Stars: ✭ 23 (-32.35%)
Mutual labels:  traffic
storm-ml
an online learning algorithm library for Storm
Stars: ✭ 18 (-47.06%)
Mutual labels:  storm

Storm-traffic

使用storm接入交通数据,实时计算速度流量等交通模型

功能

  • Kafka数据接入
  • 实时数据清洗和过滤
  • 实时告警
    • 检测指定车辆是否出现
    • 峰值告警,检测一定时间内车辆数是否超过阈值
  • 车辆信息统计
  • 工具:交通数据模拟脚本, 参考Here

说明:告警后的通知功能不在该项目范围内,通知功能应作为单独的微服务部署并提供相应的接口。

环境

  • Window 7
  • Storm 1.1.1
  • Zookeeper 3.4.9
  • Kafka 2.12
  • Java 8
  • Python 3.6(官方推荐版本2.6.6,3.x也可以工作)

Zookeeper 安装

Storm cluster 使用zookeeper来管理集群,同时由于kafka也使用zookeeper来进行分布式协调, 简化起见,我们对storm和kafka使用同一套zookeeper,作为开发环境,我们不考虑zookeeper 的单点故障,所以不搭建zookeeper的集群

Storm安装

  • 下载 storm release并解压
    安装文件:downloads
    注意:不要下载源码,源码中在storm的根目录下缺少lib文件夹,storm命令无法运行。

  • 环境变量设置

    • 为了方便的使用storm命令行,在windows系统变量中新建STORM_HOME环境变量,并将storm的bin路径添加到系统PATH中
    • 注意JAVA_HOME环境变量中不能包含空格!!!
  • Storm配置
    Storm配置文件为%STORM_HOME%\conf\storm.yaml, 打开该文件修改配置如下:

# zookeeper集群地址列表,如果zookeeper不是使用的默认端口,
# 还需要配置storm.zookeeper.ports
storm.zookeeper.servers:
    - "localhost"

# nimbus所在主机名称
nimbus.host: "localhost"

# nimbus和supervisor的数据存放路径
storm.local.dir: "/storm_local"

# supervisor所在机器的所有工作进程可用的端口列表
supervisor.slots.ports:
    - 6700
    - 6701
  • 启动storm
    生产环境中,一般zookeeper、nimbus、supervisor会分别部署在不同的主机上,简化起见,我们在同一台机器 上启动部署这些进程:
    • 启动zookeeper:zkServer
    • 启动nimbus:storm numbus
    • 启动supervisor:storm supervisor
    • 启动storm ui:storm ui

Storm概念说明

  • zookeeper
    zookeeper本身不属于Storm的范围,它是作为一个分布式协调框架帮助storm管理集群中的节点。在启动nimbus和supervisor后, 可以发现在zookeeper节点/storm/nimbuses和/storm/supervisor下分别多了对应的子节点,并且这些子节点都是临时节点。
[zk: localhost:2181(CONNECTED) 14] ls2 /storm/nimbuses
[HIH-D-8204.hz.ntes.domain:6627]
cZxid = 0xcb
ctime = Fri Oct 27 10:11:04 CST 2017
mZxid = 0xcb
mtime = Fri Oct 27 10:11:04 CST 2017
pZxid = 0x460
cversion = 3
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 1
numChildren = 1

[zk: localhost:2181(CONNECTED) 15] ls2 /storm/nimbuses/HIH-D-8204.hz.ntes.domain:6627
[]
cZxid = 0x460
ctime = Fri Oct 27 11:13:57 CST 2017
mZxid = 0x460
mtime = Fri Oct 27 11:13:57 CST 2017
pZxid = 0x460
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x15f5b97a5af000d
dataLength = 79
numChildren = 0
  • nimbus
    nimbus进程部署在storm集群的主控节点上,负责在集群中分发代码,对工作节点分配任务,并监控主机故障
  • supervisor supervisor进程部署在storm集群的每一个工作节点,负责监听工作节点上已经分配的任务,管理工作进程,给工作进程 分配任务

Kafka安装

  • 下载并解压:https://kafka.apache.org/downloads
  • 环境变量配置,KAFKA_HOME以及将%KAFKA_HOME%\bin\windows加入到系统PATH
  • 根据实际情况修改kafka server的配置文件:%KAFKA_HOME%\config\server.properties, 注意其中的zookeeper的配置如zookeeper.connect=localhost:2181要根据实际的情况配置。
  • 启动kafka server:kafka-server-start.bat %KAFKA_HOME%\config\server.properties
  • 测试kafka server是否正常工作
    • 启动一个consumer client:kafka-console-consumer.bat --zookeeper localhost --topic mytopic
    • 启动一个producer client:kafka-console-producer.bat --broker-list localhost:9092 --topic mytopic
    • 在producer中发送一条消息,然后观察consumer中是否可以收到

Intellij IDEA 调试

  • 请把storm-core和storm-core的provided注释掉,否则会出现ClassNotFound异常; 集群提交时需要保留provided
  • application.yml中把localModeEnabled设置为true,集群提交设置为false
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].