优化阅读格式
This commit is contained in:
@ -15,7 +15,7 @@
|
||||
|
||||
先说一下,为什么要使用 Flume + Kafka?
|
||||
|
||||
以实时流处理项目为例,由于采集的数据量可能存在峰值和峰谷,假设是一个电商项目,那么峰值通常出现在秒杀时,这时如果直接将Flume聚合后的数据输入到Storm等分布式计算框架中,可能就会超过集群的处理能力,这时采用Kafka就可以起到削峰的作用。Kafka天生为大数据场景而设计,具有高吞吐的特性,能很好地抗住峰值数据的冲击。
|
||||
以实时流处理项目为例,由于采集的数据量可能存在峰值和峰谷,假设是一个电商项目,那么峰值通常出现在秒杀时,这时如果直接将 Flume 聚合后的数据输入到 Storm 等分布式计算框架中,可能就会超过集群的处理能力,这时采用 Kafka 就可以起到削峰的作用。Kafka 天生为大数据场景而设计,具有高吞吐的特性,能很好地抗住峰值数据的冲击。
|
||||
|
||||
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/flume-kafka.png"/> </div>
|
||||
|
||||
@ -23,11 +23,11 @@
|
||||
|
||||
## 二、整合流程
|
||||
|
||||
Flume发送数据到Kafka上主要是通过`KafkaSink`来实现的,主要步骤如下:
|
||||
Flume 发送数据到 Kafka 上主要是通过 `KafkaSink` 来实现的,主要步骤如下:
|
||||
|
||||
### 1. 启动Zookeeper和Kafka
|
||||
|
||||
这里启动一个单节点的Kafka作为测试:
|
||||
这里启动一个单节点的 Kafka 作为测试:
|
||||
|
||||
```shell
|
||||
# 启动Zookeeper
|
||||
@ -39,7 +39,7 @@ bin/kafka-server-start.sh config/server.properties
|
||||
|
||||
### 2. 创建主题
|
||||
|
||||
创建一个主题`flume-kafka`,之后Flume收集到的数据都会发到这个主题上:
|
||||
创建一个主题 `flume-kafka`,之后 Flume 收集到的数据都会发到这个主题上:
|
||||
|
||||
```shell
|
||||
# 创建主题
|
||||
@ -56,7 +56,7 @@ bin/kafka-topics.sh --zookeeper hadoop001:2181 --list
|
||||
|
||||
### 3. 启动kafka消费者
|
||||
|
||||
启动一个消费者,监听我们刚才创建的`flume-kafka`主题:
|
||||
启动一个消费者,监听我们刚才创建的 `flume-kafka` 主题:
|
||||
|
||||
```shell
|
||||
# bin/kafka-console-consumer.sh --bootstrap-server hadoop001:9092 --topic flume-kafka
|
||||
@ -66,7 +66,7 @@ bin/kafka-topics.sh --zookeeper hadoop001:2181 --list
|
||||
|
||||
### 4. 配置Flume
|
||||
|
||||
新建配置文件`exec-memory-kafka.properties`,文件内容如下。这里我们监听一个名为`kafka.log`的文件,当文件内容有变化时,将新增加的内容发送到Kafka的`flume-kafka`主题上。
|
||||
新建配置文件 `exec-memory-kafka.properties`,文件内容如下。这里我们监听一个名为 `kafka.log` 的文件,当文件内容有变化时,将新增加的内容发送到 Kafka 的 `flume-kafka` 主题上。
|
||||
|
||||
```properties
|
||||
a1.sources = s1
|
||||
@ -107,10 +107,10 @@ flume-ng agent \
|
||||
|
||||
### 6. 测试
|
||||
|
||||
向监听的`/tmp/kafka.log `文件中追加内容,查看Kafka消费者的输出:
|
||||
向监听的 `/tmp/kafka.log ` 文件中追加内容,查看 Kafka 消费者的输出:
|
||||
|
||||
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/flume-kafka-01.png"/> </div>
|
||||
|
||||
可以看到`flume-kafka`主题的消费端已经收到了对应的消息:
|
||||
可以看到 `flume-kafka` 主题的消费端已经收到了对应的消息:
|
||||
|
||||
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/flume-kafka-2.png"/> </div>
|
||||
<div align="center"> <img src="https://github.com/heibaiying/BigData-Notes/blob/master/pictures/flume-kafka-2.png"/> </div>
|
||||
|
Reference in New Issue
Block a user