参考链接有
[实操演练] 大数据架构:flume-ng+Kafka+Storm+HDFS 实时系统组合
Flume+Kafka+Storm+Redis构建大数据实时处理系统:实时统计网站PV、UV+展示
数据采集(Flume) => 数据接入(传输)(Kafka)=> 流计算(Storm) => 数据输出与可视化(MySQL)
Flume
(http://flume.apache.org/)当前版本1.8.0
节点上实时采集数据
Cloudera提供的一个分布式、可靠、和高可用的海量日志采集、聚合和传输的日志收集系统
可定制数据格式发送
对数据可进行简单处理
数据来源:console,text,syslog,UNIX tail,exec,Thri-RPC等
数据接收方同上,也包括dfs
安装
$tar zxvf apache-flume-1.8.0-bin.tar.gz/usr/local
Kafka
(http://kafka.apache.org/)当前版本1.1
消息中间件系统作为缓存:由于数据处理与数据采集的速度不一致
产生消息队列,storm作为consumer角色去处理数据
大规模消息处理应用的解决方案
应用场景:消息队列,用户行为跟踪,流处理
特点
发布和订阅提供高吞吐量(每秒数十万的消息)
可通过Kafka集群分区消息
支持Hadoop并行数据加载
统一online和offline的消息处理
持久化操作,信息可写至磁盘,用于批量处理
在节点间备份数据,并为故障节点数据回复提供一种重新同步的机制
安装
需要先启动zookeeper(https://zookeeper.apache.org/):为分布式系统提供各项开发与维护服务
tar -xzf kafka_2.11-1.1.0.tgz
再启动Kafka serverStorm
(http://storm.apache.org/)当前版本1.2.1
分布式,容错性强的实时计算处理系统
数据实时分析,兼容各种编程语言,默认支持Clojure,Java,Ruby和Python,只需要一个通信协议即可使用其他编程语言
消息处理可靠,快速,实现毫秒级处理,在多个线程,进程和服务器之间并行进行;保证每个消息得到一次完整处理,任务失败时会从消息源重试消息;数据流处理,持续计算
可使用本地模式模拟storm集群进行开发和调试
storm中的一个job称为topology,其中包含spout(数据来源)和bolt(处理器),数据处理逻辑在spout和bolt中体现
安装
1. Download a Storm release , unpack it, and put the unpacked bin/ directory on your PATH
2. To be able to start and stop topologies on a remote cluster, put the cluster information in ~/.storm/storm.yaml
Hadoop,MySQL,HBase,Redis及其他
对分析后的结果进行持久化
可后续进行流计算
Redis
(https://redis.io/)当前版本4.0.9
使用ANSI C编写的开源(遵守BSD协议)、支持网络、基于内存(可写入磁盘,重启时再次加载使用)、可选持久性的key-value存储数据库
读写速度极快,~10^5/s
通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型
Redis支持master-slave模式的数据备份
Redis操作是原子性的,要么成功要么失败,多个操作也支持事务,使用MULTI和EXEC指令包装
安装
$ wget http://download.redis.io/releases/redis-4.0.9.tar.gz
$ tar xzf redis-4.0.9.tar.gz
$ cd redis-4.0.9
$ make
再启动redis
$ src/redis-server
在Redis客户端上执行命令
$ redis-cli -h host -p port -a password
Flume+Kafka整合(在Kafka中创建一个topic,flume将采集到的数据发送到该topic上),
Kafka+Storm整合(storm中的spout获取来自topic的数据,创建KafkaSpout和包含处理逻辑的KafkaBolt的对象),
Storm+Redis整合(编写Storm业务处理Bolt,并创建合适的redis对象写入数据库)详见第一个和第二个参考链接
数据可视化
Python Web:Flask,Django
UI框架:echarts百度开源,图表类