一 适用应用场景
流式数据
低延时
...
二 架构
(1)流程图
(2)处理流程
Flume会实时监控写入日志的磁盘,只要有新的日志写入,Flume就会将日志以消息的形式传递给Kafka,然后Spark Streaming实时消费消息传入Hive
(3)预期效果
通过这套架构,收集到的日志可以及时被Flume发现传到Kafka,通过Kafka我们可以把日志用到各个地方,同一份日志可以存入Hdfs中,也可以离线进行分析,还可以实时计算,而且可以保证安全性,基本可以达到实时的要求。
(4)效果计算分析
每秒多少条,一天处理多少数据量,计算时效性
三 部署流程
硬件环境
至少3台服务器。
软件环境
-
CentOs 7.0
-
Java >= 1.7 (Oracle JDK has been tested)
-
Maven >= 3
-
Apache Spark == 1.6
-
scala >=2.10
-
Kafka >= 0.10.1.0
-
hive >=1.1
-
hadoop >=2.6
-
安装、配置flume
-
安装、配置kafka
-
安装、配置zookeeper
-
安装、配置hadoop
-
安装、配置hive
-
安装、配置spark
-
配置开发环境
四 运行
- 启动kafka,spark,hadoop,hive
- 编译打包
mvn clean package -DskipTests
启动:
$ cd kafka-spark-streaming-example
$ java -Dconfig=./config/common.conf -jar spark_streaming/target/spark_streaming-1.0-SNAPSHOT.jar
$ java -Dconfig=./config/common.conf -jar kafka_producer/target/kafka_producer-1.0-SNAPSHOT.jar
$ java -Dconfig=./config/common.conf -jar hive_analysis/target/hive_analysis-1.0-SNAPSHOT.jar
- 项目结构
五 测试