前言
kafka 3.0之前的版本需要依赖zookeeper,3.0版本之后可不依赖zookeeper。
基于zookeeper的安装步骤
节点IP:172.50.13.103
kafka版本:2.7.0
- 下载安装包:
wget http://mirrors.ustc.edu.cn/apache/kafka/2.7.0/kafka_2.13-2.7.0.tgz
- 解压:
tar xf ./kafka_2.13-2.7.0.tgz
- 启动zookeeper:
/usr/local/kafka_2.13-2.7.0/bin/zookeeper-server-start.sh -daemon /usr/local/kafka_2.13-2.7.0/config/zookeeper.properties
- 启动kafka(注意修改IP)
# 修改文件 sed -i "s@#listeners=PLAINTEXT://:9092@listeners=PLAINTEXT://172.50.13.103:9092@g" /usr/local/kafka_2.13-2.7.0/config/server.properties # 启动 /usr/local/kafka_2.13-2.7.0/bin/kafka-server-start.sh -daemon /usr/local/kafka_2.13-2.7.0/config/server.properties
- 验证:(注意修改IP)
# 启动消费者,消费名为test的topic /usr/local/kafka_2.13-2.7.0/bin/kafka-console-consumer.sh --bootstrap-server 172.50.13.103:9092 --topic test --from-beginning # 启动生产者,向名为test的topic生产数据 /usr/local/kafka_2.13-2.7.0/bin/kafka-console-producer.sh --broker-list 172.50.13.103:9092 --topic test # 在生产者终端输入随意字符串,比如 `hello`,在消费者终端出现相应字符串,说明启动成功
基于kRaft的安装步骤
节点IP:192.168.3.23
kafka版本:3.4.0
- 下载安装包并解压,修改配置文件
config/kraft/server.properties
- node.id:默认为1,如果修改该值,需要同步修改controller.quorum.voters。例如node.id改为100,controller.quorum.voters需要改为
100@xxx
。- advertised.listeners:默认为
PLAINTEXT://locahost:9092
,即只监听本机的9092端口,如果需要开放给其他服务器,则应该修改该参数为本机IP- log.dirs:日志目录路径,因为kafka的数据以日志形式存放,其实也就是数据存储目录,默认在
/tmp
目录。- log.retention.hours:日志保留时长,单位小时,默认168小时。
- auto.create.topics.enable:自动创建topic,配置文件里面默认没有这个参数,默认为
true
。若需要关闭自动创建topic,可添加该参数并改为false
- 生成uuid。如果需要部署集群,各实例的UUID应统一。
KAFKA_CLUSTER_ID="$(bin/kafka-storage.sh random-uuid)"
- 初始化log目录(可以修改config/kraft/server.properties来修改log目录的路径)
bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c config/kraft/server.properties
- 启动
bin/kafka-server-start.sh -daemon config/kraft/server.properties
- 创建topic
./bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server 192.168.3.23:9092
- 查看topic的描述信息
./bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server 192.168.3.23:9092
- 启动生产者向topic写数据
./bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server 192.168.3.23:9092
- 读取消息
./bin/kafka-console-consumer.sh --topic maxwell --from-beginning --bootstrap-server 192.168.3.23:9092
停止zookeeper和kafka
- 停止kafka
bin/kafka-server-stop.sh
- 停止zookeeper
bin/zookeeper-server-stop.sh