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 # 服务器端口和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,各个节点需单独启动:
# 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。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。