原理

如何仔细阅读过关于Flume、Kafka、Storm的介绍,就会知道,在他们各自之间对外交互发送消息的原理。
在后面的例子中,主要对Flume的sink进行重构,调用kafka的消费生产者(producer)发送消息;在Storm的spout中继承IRichSpout接口,调用kafka的消息消费者(Consumer)来接收消息,然后经过几个自定义的Bolt,将自定义的内容进行输出。

kafka常用命令
以下是kafka常用命令行总结:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
1、kafka服务启动
./kafka-server-start.sh -daemon ../config/server.properties

<!-- more -->

2、创建topic
./kafka-topics.sh --create --zookeeper hadoop01:2181 --replication-factor 1 --partitions 1 --topic test

2.1、为topic增加副本
./kafka-reassign-partitions.sh -zookeeper hadoop01:2181 -reassignment-json-file json/partitions-to-move.json -execute

2.2、为topic增加partition
./bin/kafka-topics.sh –zookeeper hadoop01:2181 –alter –partitions 20 –topic test

3、查看有哪些topic:
./kafka-topics.sh --list --zookeeper hadoop01:2181

4、查看topic的详细信息
./kafka-topics.sh -zookeeper hadoop01:2181 -describe -topic test

5、kafka生产者客户端命令
./kafka-console-producer.sh --broker-list hadoop01:9092 --topic test

6、kafka消费者客户端命令
./kafka-console-consumer.sh -zookeeper hadoop01:2181 --from-beginning --topic test


**<<** 更多精彩尽在『程序萌部落』**>>**
**<<** [https://www.cxmoe.com](https://www.cxmoe.com) **>>**

[成功]

7、下线broker
./kafka-run-class.sh kafka.admin.ShutdownBroker --zookeeper hadoop01:2181 --broker #brokerId# --num.retries 3 --retry.interval.ms 60
shutdown broker

8、删除topic
./kafka-run-class.sh kafka.admin.DeleteTopicCommand --topic test --zookeeper hadoop01:2181
./kafka-topics.sh --zookeeper hadoop01:2181 --delete --topic test
实际不会删除,只会显示marked for deletion

9、查看consumer组内消费的offset
./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper hadoop01:2181 --group test --topic test
./kafka-consumer-offset-checker.sh --zookeeper hadoop01:2181 --group group1 --topic group1
1
2
3
4
5
6
7
8
9
10
11
12
13
[hadoop@hadoop01 bin]$ kafka-topics.sh --create --zookeeper hadoop01,hadoop02,hadoop03 --replication-factor 1 --partitions 3 --topic hadoop01
Created topic "hadoop01".
[hadoop@hadoop01 bin]$ kafka-topics.sh --create --zookeeper hadoop01,hadoop02,hadoop03 --replication-factor 3 --partitions 1 --topic hadoop02
Created topic "hadoop02".
[hadoop@hadoop01 bin]$ kafka-topics.sh --list --zookeeper localhost:2181
hadoop01
hadoop02
[hadoop@hadoop01 bin]$ kafka-topics.sh --describe --zookeeper localhost:2181 --topic hadoop01
Topic:hadoop01 PartitionCount:3 ReplicationFactor:1 Configs:
Topic: hadoop01 Partition: 0 Leader: 3 Replicas: 3 Isr: 3
Topic: hadoop01 Partition: 1 Leader: 1 Replicas: 1 Isr: 1
Topic: hadoop01 Partition: 2 Leader: 2 Replicas: 2 Isr: 2
----------------------------------

kafka的使用

Kafka是一个消息系统,原本开发自LinkedIn,用作LinkedIn的活动流(Activity Stream) 和运营数据处理 管道(Pipeline)的基础活动流数据是几乎所有站点在对其网站使用情况做报表时都要用到的数据中最常规的部分。活动数据包括页面访问量(PageView)、被查看内容方面的信息以及搜索情况等内容。这种数据通常的处理方式是先把各种活动以日志的形式写入某种文件,然后周期性地对这些文件进行统计分析。运营数据指的是服务器的性能数据(CPU、IO使用率、请求时间、服务日志等等数据)。运营数据的统计方法种类繁多。





全站共计 313.7k 字,自豪地使用 Volantis 主题

博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议