Kafka(http://kafka.apache.org/) 是由 LinkedIn 使用 Scala 编写的一个分布式消息系统,用作 LinkedIn 的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础,具有高水平扩展和高吞吐量。Spack、Elasticsearch 都支持与 Kafka 集成。下面看一下几种分布式开源消息队列系统的对比:
Kafka 集群架构:
一般不建议直接使用 Kafka 自带的 Zookeeper 建立 zk 集群,这里我们使用独立的 zk 集群,zk 集群搭建参考文章 Linux下ZooKeeper分布式集群安装。
这里 Linux 选择 CentOS 7.2。
1
2
3
4
5
6
7
8
9
|
# cd /usr/local # mkdir kafka # cd kafka # wget -P /usr/local/kafka http://mirror.bit.edu.cn/apache/kafka/1.0.0/kafka_2.11-1.0.0.tgz # tar -zxvf kafka_2.11-1.0.0.tgz # mkdir kafka-logs # cd kafka_2.11-1.0.0/config # vim server.properties |
编辑配置文件 (配置项可以参考 http://kafka.apache.org/documentation.html#brokerconfigs) 为:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# 唯一标识,0开始 broker. id =0 # 服务器端口和ip port=9092 host.name=192.168.2.20 # 日志数据保存的目录 log. dirs = /usr/local/kafka/kafka-logs log.retention.hours=168 # 每条消息能够容纳的最大大小,默认1000012 message.max.bytes=5242880 # 默认的副本因子,即保存消息的副本数,默认1 default.replication.factor=2 # 取消息的最大直接数,默认1048576 replica.fetch.max.bytes=5242880 # 配置zk地址 zookeeper.connect=192.168.20.11:2181,192.168.20.12:2181,192.168.20.13:2181 |
启动 Kafka 之前需启动 Zookeeper,然后启动 Kafka,各个节点需单独启动:
1
2
3
4
|
# cd /usr/local/kafka/kafka_2.11-1.0.0/bin # ./kafka-server-start.sh -daemon ../config/server.properties //后台启动服务 # jps //查看服务是否启动成功 # ./kafka-server-stop.sh //关闭服务 |
最后我们在三台不同的服务器上各部署一个 Kafka 进程,以构成一个 Kafka 集群。开始使用可以参考官方文档 http://kafka.apache.org/documentation.html#quickstart。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://blog.csdn.net/smartbetter/article/details/64190798