Kafka集群搭建(使用kafka自带的zookeeper)

Kafka集群搭建

本文使用的zookeeper是kafka自带的,最好不要用kafka自带的,可以先搭建好zookeeper集群

1、 Kafka的安装需要java环境,cent os 7自带java1.6版本,可以不用重新安装,直接使用自带的jdk 即可;如果觉得jdk版本太旧,也可以自己重新安装;

2、 准备好kafka安装包,官网下载地址: 
http://kafka.apache.org/downloads.html

3、 下载好kafka安装包后,将其解压到/usr/local目录下,删除压缩包

4、 目前搭建了三个节点的kafka集群,分别在10.10.67.102,10.10.67.104和10.10.67.106服务器上;

5、 查看配置文件 
进入kafka的config的目录:

Kafka集群搭建(使用kafka自带的zookeeper)

6、 先建立zk集群,直接使用kafka自带的zookeeper建立zk集群,修改zookeeper.properties文件:

Kafka集群搭建(使用kafka自带的zookeeper)

三个机器上的zookeeper.properties文件配置相同,需要注意的是日志保存的路径,不会自动生成,需要自己手动建立相关的路径, dataLogDir是我自己加的,日志文件太多,把日志文件区分开;

7、 创建myid文件,进入/usr/local/kafka/zookeeper,创建myid文件,将三个服务器上的myid文件分别写入1,2,3,如图:

Kafka集群搭建(使用kafka自带的zookeeper) 
—-myid是zk集群用来发现彼此的标识,必须创建,且不能相同;

8、 进入kafka目录 执行启动zookeeper命令: 
./bin/zookeeper-server-start.sh config/zookeeper.properties & 
三台机器都执行启动命令,查看zookeeper的日志文件,没有报错就说明zookeeper集群启动成功了。

9、 搭建kafka集群,修改server.properties配置文件: 
Kafka集群搭建(使用kafka自带的zookeeper)

Kafka集群搭建(使用kafka自带的zookeeper)

server.properties配置文件的修改主要在开头和结尾,中间保持默认配置即可;需要注意的点是broker.id的值三个节点要配置不同的值,分别配置为0,1,2;log.dirs必须保证目录存在,不会根据配置文件自动生成;

10、 启动kafka集群,进入kafka目录,执行如下命令 : 
./bin/kafka-server-start.sh –daemon config/server.properties & 
三个节点均要启动;启动无报错,即搭建成功,可以生产和消费消息,来检测是否搭建成功。


测试kafka集群
(此处使用的zookeeper ip不同上所示,改成自己创建的即可)
1-进入kafka根目录,创建topic--test
bin/kafka-topics.sh --create --zookeeper 192.168.1.xx:2181,192.168.1.xx:2181,192.168.1.xx:2181 --replication-factor 1 --partitions 1 --topic test
Kafka集群搭建(使用kafka自带的zookeeper)Kafka集群搭建(使用kafka自带的zookeeper)
2-列出已创建的topic列表
bin/kafka-topics.sh --list --zookeeper localhost:2181
3-模拟客户端去发送消息
bin/kafka-console-producer.sh --broker-list 192.168.1.xx:9092,192.168.1.xx:9092,192.168.1.xx:9092 --topic test
Kafka集群搭建(使用kafka自带的zookeeper)Kafka集群搭建(使用kafka自带的zookeeper)
4-模拟客户端去接受消息
bin/kafka-console-consumer.sh --zookeeper 192.168.1.xx:2181,192.168.1.xx:2181,192.168.1.xx:2181 --from-beginning --topic test
Kafka集群搭建(使用kafka自带的zookeeper)Kafka集群搭建(使用kafka自带的zookeeper)
7、自己测试结果
Kafka集群搭建(使用kafka自带的zookeeper)Kafka集群搭建(使用kafka自带的zookeeper)
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic test