一、安装包下载

zookeeper安装包apache-zookeeper-3.5.9-bin.tar.gz
下载地址:
  https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz kafka安装包kafka_2.13-2.7.1.tgz
下载地址:
https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.7.1/kafka_2.13-2.7.1.tgz

二、zookeeper环境安装

1、将apache-zookeeper-3.5.9-bin.tar.gz上传至服务/data目录

cd /data
tar xvf apache-zookeeper-3.5.9-bin.tar.gz
mv apache-zookeeper-3.5.9 zookeeper-3.5.9
cd zookeeper-3.5.9
mkdir data
mkdir logs
cd conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

关键配置如下(三台配置一样):

dataDir=/data/zookeeper-3.5.9/data
dataLogDir=/data/zookeeper-3.5.9/logs
clientPort=2181
server.1=server07:2888:3888
server.2=server08:2888:3888
server.3=server09:2888:3888
quorumListenOnAllIPs=true
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

2、创建启动脚本mystart.sh

cd /data/zookeeper-3.5.9/bin
vi mystart.sh
  • 1.
  • 2.

插入

/data/zookeeper-3.5.9/bin/zkServer.sh start
tail -f /data/zookeeper-3.5.9/logs/zookeeper-root-server-server07.out
  • 1.
  • 2.

3、启动

sh mystart.sh
  • 1.
三、kafka环境搭建

1、将包kafka_2.13-2.7.1.tgz上传到服务器/data目录

tar xvf kafka_2.13-2.7.1.tgz
cd kafka_2.13-2.7.1/config
vim server.properties
  • 1.
  • 2.
  • 3.

关键配置如下(另外两台服务器broker.id分别为1,2,,advertised.listeners为对应服务器的ip):

broker.id=0
log.dirs=/data/kafka_2.13-2.7.1/logs
advertised.listeners=PLAINTEXT://192.168.100.20:9092  #外网ip,对于阿里云,华为服务,有双网卡情况,必须是外网ip,外网才能请求
zookeeper.connect=server07:2181,server08:2181,server09:2181 #此处为内网ip
num.partitions=1
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

2、创建启动脚本,时间长了容易忘

cd /data/kafka_2.13-2.7.1
vim mystart.sh
  • 1.
  • 2.

插入

/data/kafka_2.13-2.7.1/bin/kafka-server-start.sh -daemon  /data/kafka_2.13-2.7.1/config/server.properties
tail -f /data/kafka_2.13-2.7.1/logs/kafkaServer.out
  • 1.
  • 2.

3、启动

sh mystart.sh
  • 1.
四、验证服务是否可用

1、验证zookeeper

cd /data/zookeeper-3.5.9/bin
./zkCli.sh -server 你的Ip
get  /brokers/ids/1
  • 1.
  • 2.
  • 3.

返回
{“features”:{},“listener_security_protocol_map”:{“PLAINTEXT”:“PLAINTEXT”},“endpoints”:[“PLAINTEXT://你的ip:9092”],“jmx_port”:-1,“port”:9092,“host”:“192.168.28.128”,“version”:5,“timestamp”:“1610264776275”}

2、验证kafka的topic

./kafka-topics.sh --create --zookeeper 你的ip:2181 --replication-factor 1 --partitions 1 --topic love
  • 1.

3、kafka常见命令

--创建主题
./kafka-topics.sh --create --zookeeper 你的ip:2181 --replication-factor 1 --partitions 1 --topic love
--生产者给该主题发了个消息
./kafka-console-producer.sh --broker-list 你的ip:9092 --topic love
--消费者收到了消息
./kafka-console-consumer.sh --bootstrap-server 你的ip:9092 --topic love --from-beginning
--消费者收到了消息
./kafka-console-consumer.sh --bootstrap-server 你的ip:9092 --topic love --from-beginning
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.