Linux下使用kafka自带zookeeper安装伪集群详解
一、准备工作
1 、默认已经安装好JDK
2、提前下载一个准备好的安装包:kafka_2.13-2.5.0.tgz
3、 手动下载 下载地址:http://kafka.apache.org/downloads
二、开始安装
- 上传安装包
2.解压安装包
[root@iZuf63aacjtzo5bxq68kfpZ kafka]# tar -zxvf kafka_2.13-2.5.0.tgz
3.进入解压目录
本人已经将解压文件改名为kafka02;切换到config下:
[root@iZuf63aacjtzo5bxq68kfpZ kafka02]# cd config/
3.准备3个server.properties
4.准备3个zookeeper.properties
5、分别配置server.properties和zookeeper.properties
- 配置3个server.properties
// An highlighted block
server01.properties修改 内容如下:可直接复制粘贴。
broker.id=0
port=9092 #端口号
host.name=localhost #单机可直接用localhost
log.dirs=/home/kafka/kafka02/log/kafkalog/01 #日志存放路径可修改可不修改
zookeeper.connect=localhost:2181 #zookeeper地址和端口,单机配置部署,localhost:2181
// An highlighted block
server02.properties修改 内容如下:可直接复制粘贴。
broker.id=1
port=9093 #端口号
host.name=localhost #单机可直接用localhost
log.dirs=/home/kafka/kafka02/log/kafkalog/02 #日志存放路径可修改可不修改
zookeeper.connect=localhost:2181 #zookeeper地址和端口,单机配置部署,localhost:2181
// An highlighted block
server03.properties修改 内容如下:可直接复制粘贴。
broker.id=2
port=9094 #端口号
host.name=localhost #单机可直接用localhost
log.dirs=/home/kafka/kafka02/log/kafkalog/03 #日志存放路径可修改可不修改
zookeeper.connect=localhost:2181 #zookeeper地址和端口,单机配置部署,localhost:2181
- 配置3个zookeeper.properties
// zookeeper01.properties修改 内容如下:可直接复制粘贴。
dataDir=/home/kafka/kafka02/zookeeper/zk1
dataLogDir=/home/kafka/kafka02/log/zookeeper/zk1
clientPort=2181
maxClientCnxns=100
tickTime=2000
initLimit=10
syncLimit=5
admin.enableServer=false
server.1=localhost:2888:3888
// zookeeper02.properties修改 内容如下:可直接复制粘贴。
dataDir=/home/kafka/kafka02/zookeeper/zk2
dataLogDir=/home/kafka/kafka02/log/zookeeper/zk2
clientPort=2183
maxClientCnxns=100
tickTime=2000
initLimit=10
syncLimit=5
admin.enableServer=false
server.1=localhost:2889:3889
// zookeeper03.properties修改 内容如下:可直接复制粘贴。
dataDir=/home/kafka/kafka02/zookeeper/zk3
dataLogDir=/home/kafka/kafka02/log/zookeeper/zk3
clientPort=2183
maxClientCnxns=100
tickTime=2000
initLimit=10
syncLimit=5
admin.enableServer=false
server.1=localhost:2890:3890
6.由于我修改了日志存放地址 需要创建三个文件夹存放日志和数据
- 在/home/kafka/kafka02/log/kafkalog文件下创建三个文件夹01,02,03
- 在/home/kafka/kafka02/log/zookeeper文件下创建三个文件夹zk1,zk2,zk3
7、/home/kafka/kafka02/zookeeper创建文件夹存放标识myid
8、myid文件内容设置
三个myid文件全部设置为1
//myid文件内容设置数字1
echo 1 > myid
查看myid中设置的1;
三、安装完成,开始测试
启动zookeeper和kafka
//启动zookeeper01
[root@iZuf63aacjtzo5bxq68kfpZ kafka02]# bin/zookeeper-server-start.sh ./config/zookeeper01.properties &
//启动zookeeper02
[root@iZuf63aacjtzo5bxq68kfpZ kafka02]# bin/zookeeper-server-start.sh ./config/zookeeper02.properties &
//启动zookeeper03
[root@iZuf63aacjtzo5bxq68kfpZ kafka02]# bin/zookeeper-server-start.sh ./config/zookeeper03.properties &
jps 命令查看是否启动三个zookeeper:
//启动kafka01
[root@iZuf63aacjtzo5bxq68kfpZ kafka02]# bin/kafka-server-start.sh config/server02.properties &
//启动kafka01
[root@iZuf63aacjtzo5bxq68kfpZ kafka02]# bin/kafka-server-start.sh config/server02.properties &
//启动kafka01
[root@iZuf63aacjtzo5bxq68kfpZ kafka02]# bin/kafka-server-start.sh config/server03.properties &
jps命令查看是否启动kafka:
创建topic 出现Created topid xxx 则创建成功
// 出现Created topid test 则创建成功
[root@iZuf63aacjtzo5bxq68kfpZ kafka02]# bin/kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 1 --topic test1
Created topic test1.
[root@iZuf63aacjtzo5bxq68kfpZ kafka02]#
展示topic
// test1就是创建的topic
[root@iZuf63aacjtzo5bxq68kfpZ kafka02]# bin/kafka-topics.sh --list --zookeeper localhost:2181
test1
[root@iZuf63aacjtzo5bxq68kfpZ kafka02]#
生产者
// 生产数据 111
[root@iZuf63aacjtzo5bxq68kfpZ kafka02]# bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test1
>111
>>222
消费者
// 111 222就是消费的数据
[root@iZuf63aacjtzo5bxq68kfpZ kafka02]# bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test1 --from-beginning
111
222
Processed a total of 2 messages
[root@iZuf63aacjtzo5bxq68kfpZ kafka02]#
到此结束kafka伪集群就集成了哦。如果想启动方便可以写个启动和关闭脚本。