Kafka 0.10.0.+zookeeper3.4.8集群搭建、配置,新Client API介绍 - Go语言中文社区

Kafka 0.10.0.+zookeeper3.4.8集群搭建、配置,新Client API介绍


Kafka 0.10.0版本对加入了  Kafka Streams 流处理系统,本文主要总结了Kafka 0.10在集群搭建、高可用性、新API方面的相关过程和细节

Kafka 0.10集群安装配置

1,安装java环境

Zookeeper和Kafka的运行都需要Java环境,所以先安装JRE,Kafka默认使用G1垃圾回收器,如果不更改垃圾回收器,官方推荐使用 7u51以上版本的JRE。如果你使用老版本的JRE,需要更改Kafka的启动脚本,指定G1以外的垃圾回收器。

    Java环境的安装过程在此不赘述了。


2, Zookeeper集群搭建

Kafka依赖Zookeeper管理自身集群(Broker、Offset、Producer、Consumer等),所以先要安装 Zookeeper。自然,为了达到高可用的目的,Zookeeper自身也不能是单点,接下来就介绍如何搭建一个最小的Zookeeper集群(3个 zk节点)

    此处选用Zookeeper的版本是3.4.8

zk集群部署网上很多资料,和以前版本没有区别;

3, Kafka集群搭建

此例中,我们会安装配置一个有两个Broker组成的Kafka集群,并在其上创建一个两个分区的Topic

    本例中使用Kafka最新版本0.10.0.0


首先解压

Shell代码  收藏代码
  1. tar -xzvf kafka_2.11-0.10.0.0.tgz 

    编辑config/server.properties文件,下面列出关键的参数(其他参数默认即可

#kafka集群中id为0的broker

broker.id=0

#这里和0.9版本有区别,很不幸踩了个坑,每个broker的host_name一定要加上;

listeners=PLAINTEXT://192.168.80.100:9092

#kafka的topic以及数据文件存放位置

log.dirs=/home/mqtest/kafka_2.11-0.10.0.0/kafka-logs

#kafka连接的zk集群地址,这里我们创建一个path用以区分不同的版本

zookeeper.connect=192.168.80.100:2181,192.168.80.101:2181,192.168.80.102:2181/kafka_0.10


配置项的详细说明请见官方文档:http://kafka.apache.org/documentation.html#brokerconfigs


 接下来,我们在另一台主机也完成Kafka的安装和配置,然后在两台主机上分别启动Kafka:

Shell代码  收藏代码
  1. bin/kafka-server-start.sh -daemon config/server.properties &


创建一个名为test,拥有两个分区,两个副本的Topic:

Shell代码  收藏代码
  1. bin/kafka-topics.sh --create --zookeeper 192.168.80.100:2181,192.168.80.101:2181,192.168.80.102:2181/kafka_0.10 
    --replication-factor 2 --partitions 2 --topic CRM

 


    创建完成后,使用如下命令查看Topic状态:

Java代码  收藏代码
  1. bin/kafka-topics.sh --describe --zookeeper 
    192.168.80.100:2181,192.168.80.101:2181,192.168.80.102:2181/kafka_0.10
      --topic CRM

 输出:

Topic:CRM    PartitionCount:2    ReplicationFactor:2    Configs:
    Topic: CRM    Partition: 0    Leader: 1    Replicas: 1,0    Isr: 0,1
    Topic: CRM    Partition: 1    Leader: 0    Replicas: 0,1    Isr: 0,1


    解读:CRM这个topic,当前有2个分区,分别为0和1,分区0的Leader是1(这个1是broker.id),分区0有两个 Replica(副本),分别是1和0,这两个副本中,Isr(In-sync)的是0和1。分区2的Leader是0,也有两个Replica,同样也 是两个replica都是in-sync状态


至此,Kafka 0.10集群的搭建工作就完成了,下面我们将介绍新的Java API的使用,以及集群高可用性的验证测试。

(未完待续,下班了。。)
















版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_24831059/article/details/51508703
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-08 10:51:34
  • 阅读 ( 1100 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢