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。
# 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) 为:
# 唯一标识,0开始broker.id=0# 服务器端口和ipport=9092host.name=192.168.2.20# 日志数据保存的目录log.dirs=/usr/local/kafka/kafka-logslog.retention.hours=168# 每条消息能够容纳的最大大小,默认1000012message.max.bytes=5242880# 默认的副本因子,即保存消息的副本数,默认1default.replication.factor=2# 取消息的最大直接数,默认1048576replica.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,各个节点需单独启动:
# 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。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。
新闻热点
疑难解答