Kafka介绍
百度介绍
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可>以处理消费者规模的网站中的所有动作流数据。
自我理解
kafka | 消息中间件 |
---|---|
mq | 消息队列:一种应用程序对应用程序的通信方法。 |
核心思想
publish&subscribe(发行和订阅:即生产消费者模式)
重要角色
app | server | app |
---|---|---|
生产者 | 经纪人 | 消费者 |
u | u-topic | s(u,b) |
b | b-topic | |
b1-topic |
默认端口
kafka 9092 zookeeper 2181
kafka安装配置过程
- 1.解压
- 2.启动kafka内置的zk服务
/home/hadoop/opt/kafka_2.11-1.0.0下输入
./bin/zookeeper-server-start.sh config/zookeeper.properties
- 3.启动kafka的服务
/home/hadoop/opt/kafka_2.11-1.0.0下输入
./bin/kafka-server-start.sh config/server.properties
测试一个生产消费demo(控制台)
==
- 1.创建topic: ./bin/kafka-topics.sh –create –zookeeper localhost:2181 –replication-factor 1 –partitions 1 –topic test
查看topic列表:
./bin/kafka-topics.sh --list --zookeeper localhost:2181
- 2.创建生产者:
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
- 3.创建消费者:
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
- 4.设置kafka多代理群集(经纪人集群)
cp config/server.properties config/server-1.properties
cp config/server.properties config/server-2.properties
vi config/server-1.properties:
broker.id=1
listeners=PLAINTEXT://:9093
log.dir=/tmp/kafka-logs-1
vi config/server-2.properties:
broker.id=2
listeners=PLAINTEXT://:9094
log.dir=/tmp/kafka-logs-2
查看每个经纪人在做什么:
./bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic
test2 检验容错机制:
1.杀死目前的leader。
2.观察Isr同步副本集合中是否还有leader,leader是否会有变更。
3.测试原先领导者写入的消息,这些消息是否可用于消费。
zookeeper介绍
分布式协调服务
详情请看
http://blog.csdn.net/seal5183/article/details/77161426