如何实现zookeeper+kafka集群部署

1、前言

kafka集群依赖于zookeeper,所有需要先安装zookeeper集群

2、配置zookeeper

有两种方式:安装部署单独的zookeeper集群,另外kafka也有自带的zookeeper,下面就这两种方法分别介绍

2.1单独安装部署zookeeper

1、下载安装包:
http://zookeeper.apache.org/releases.html (版本:3.5.7)
上传到服务器相应目录

2、解压:
tar -zxvf zookeeper-3.5.7-bin.tar.gz

3、修改配置
3.1)zookeeper解压后的conf文件夹下有配置文件样例即zoo_sample.cfg,需要我们新建一个zoo.cfg文件
执行命令:cp zoo_sample.cfg zoo.cfg

3.2)修改zoo.cfg
修改dataDir
dataDir=/zookeeper-3.5.7/zoo_data
注意:zookeeper内嵌的管理控制台默认占用8080 端口,有的服务器8080端口可能会被其他程序占用,如果我们没有配置 admin.serverPort=12181 这个参数,启动时会报错,所以我这边改成使用12181端口

3.3)配置服务集群
server.1=192.168.0.1:2888:38888
server.2=192.168.0.2:2888:38888
server.3=192.168.0.3:2888:38888

3.4)创建zoo_data 目录,并新建myid文件
echo “1” > myid
echo “2” > myid
echo “3” > myid

4、启动
zkServer.sh start来启动。
zkServer.sh restart  (重启)
zkServer.sh status  (查看状态)
zkServer.sh stop  (关闭)
zkServer.sh start-foreground  (以打印日志方式启动)

5、验证
zkServer.sh status  (查看状态)
JPS

2.2、kakfa自带zookeeper

1、下载kafka安装包,并解压( 自带zookeeper)
2、编辑配置文件 config/zookeeper.properties
增加如下配置内容:
tickTime=2000
initLimit=10
syncLimit=5
server.1=192.168.0.1:2888:3888
server.2=192.168.0.2:2888:3888
server.3=192.168.0.3:2888:3888
3、根据dataDir=/tmp/zookeeper,在zookeeper目录下创建myid文件
echo 1 > myid
echo 2 > myid
echo 3 > myid
4、启动zookeeper集群
进去kafka安装目录,执行启动命令
bin/zookeeper-server-start.bat ./config/zookeeper.properties

配置kakfa
1、编辑 config/server.properties
1.1)、broker.id 和 zookeeper.properties里面的server.1后面的数字以及myid里面的数据保持一致
broker.id=1 、 broker.id=2 、 broker.id=3
1.2)、zookeeper.connect=192.168.0.1:2181,192.168.0.2:2181,192.168.0.3:2181

2、启动kafka
bin/kafka-server-start.bat ./config/server.properties

3、创建topic
bin/kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic test

4、创建生产者
bin/kafka-console-producer.bat --broker-list localhost:9092 --topic test

5、创建消费者
bin/kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning

6.如何查看kafka进程?
开个终端,可以看到有4个进程(分别为zk、kafka、控制台消费者、控制台生产者)
[root@aa bin]# jps | grep -v Jps
9802 QuorumPeerMain
10392 Kafka
10956 ConsoleConsumer
10887 ConsoleProducer

你可能感兴趣的:(kafka集群环境搭建)