zookeeper版本:apache-zookeeper-3.5.5-bin.tar.gz
kafka版本:kafka_2.12-2.2.1.tgz
一、zookeeper部署
1)解压
tar -zxf apache-zookeeper-3.5.5-bin.tar.gz
2)创建路径
mkdir zookeeper_cluster
mkdir zookeeper-1
mkdir zookeeper-2
mkdir zookeeper-3
3)复制解压后的zookeeper至对应的路径
cp -r apache-zookeeper-3.5.5/* zookeeper-1
cp -r apache-zookeeper-3.5.5/* zookeeper-2
cp -r apache-zookeeper-3.5.5/* zookeeper-3
4)创建数据文件存放路径及日志路径
mkdir zookeeper-1/data
mkdir zookeeper-2/data
mkdir zookeeper-3/data
mkdir zookeeper-1/logs
mkdir zookeeper-2/logs
mkdir zookeeper-3/logs
5)创建myid文件
echo ‘1’ > zookeeper-1/data/myid
echo ‘2’ > zookeeper-2/data/myid
echo ‘3’ > zookeeper-3/data/myid
6)修改配置文件
cp zookeeper-1/conf/zoo_sample.cfg zookeeper-1/conf/zoo.cfg
vim zookeeper-1/conf/zoo.cfg
zookeeper-2,zookeeper-3路径下进行同样修改,注意其中的clientPort、dataDir、dataLogDir需要进行区分。
7)启动
vim zkCluster.sh
启动:./zkCluster.sh start
查看状态:./zkCluster.sh status
停止:./zkCluster.sh stop
二、kafka部署
1)解压
tar -zxf kafka_2.12-2.2.1.tgz
mv kafka_2.12-2.2.1 kafka
2)创建数据文件路径
mkdir kafka/data-0
mkdir kafka/data-1
mkdir kafka/data-2
3)修改配置文件
cp kafka/config/server.properties kafka/config/server-0.properties
cp kafka/config/server.properties kafka/config/server-1.properties
cp kafka/config/server.properties kafka/config/server-2.properties
vim kafka/config/server-0.properties
#配置zookeeper连接
zookeeper.connect=192.168.0.99:2181,192.168.0.99:12181,192.168.0.99:22181
#每个Kafka Broker应该配置一个唯一的ID
broker.id=0
#因为是在同一台机器上开多个Broker,所以使用不同的端口号区分
port=9092
#如果有多个网卡地址,也可以将不同的Broker绑定到不同的网卡
host.name=192.168.0.99
#因为是在同一台机器上开多个Broker,需要确保使用不同的日志目录来避免冲突
log.dirs=/home/xxx/kafka/data-0
修改server-1.properties、server-2.properties ,注意修改其中的broker.id,port,log.dirs。
4)启动
vim kafka_start.sh
5)停止
bin/kafka-server-stop.sh
三、测试
1)创建主题
bin/kafka-topics.sh -topic test -create -partitions 1 -replication-factor 3 -zookeeper 192.168.0.99:2181
#--zookeeper是集群列表,可以指定所有节点,也可以指定为部分列表
#--replication-factor 为复制数目,数据会自动同步到其他broker上,防止某个broker宕机数据丢失
#--partitions 一个topic可以切分成多个partition,一个消费者可以消费多个partition,但一个partition只能被一个消费者消费
2)创建生产者
./kafka-console-producer.sh -broker-list 192.168.0.99:9092 -topic test
3)新开ssh会话窗口,创建消费者
./kafka-console-consumer.sh --bootstrap-server 192.168.0.99:9092 --topic test --from-beginning
在生产者窗口输入内容,在消费者窗口验证是否接收到消息
来源:CSDN
作者:棠宁
链接:https://blog.csdn.net/li916227164/article/details/104820413