Kafka集群搭建
1、下载安装包(推荐使用迅雷下载,会快一点)
地址:https://kafka.apache.org/downloads
2、将安装包拷贝到 /usr/local/ 目录下,并解压
# 移动到 /usr/local/ mv kafka.tgz /usr/local/ # 解压 tar -zxvf kafka.tgz
3、编辑配置文件
vi /usr/local/kafka/config/server.properties
修改如下内容:(只在内网访问)
# 集群中每个节点的名称 broker.id=1 # 监听端口 listeners=PLAINTEXT://192.168.10.131:9092
# zookeeper集群连接配置,如果是zookeeper单机,这里只配置单机的连接ip就好 # /kafka : 默认是localhost:2181,改成 localhost:2181/kafka, 这样就不会再 zookeeper的根目录创建,而是在 /kafka 下创建节点 # (注意,这里的 /kafka 不是每一个连接都加,而是加到最后) zookeeper.connect=192.168.10.131:2181,192.168.10.132:2181,192.168.10.133:2181/kafka # 日志文件路径 log.dirs=/usr/local/kafka/logs
注意,如果要让内外网都能访问(比如部署在腾讯云,阿里云上的时候),需要修改一下 listeners 的配置为(亲测 kafka 2.4.1有效):
advertised.host.name=<外网IP> advertised.port=9092 listeners=PLAINTEXT://0.0.0.0:9092
另外两台服务器的配置,只需要修改 broker.id 的值即可
比如,第二台服务器 kafka 的配置如下:
# 集群中每个节点的名称 broker.id=2 # 监听端口 listeners=PLAINTEXT://192.168.10.132:9092 # zookeeper集群连接配置,如果是zookeeper单机,这里只配置单机的连接ip就好 # /kafka : 默认是localhost:2181,改成 localhost:2181/kafka, 这样就不会再 zookeeper的根目录创建,而是在 /kafka 下创建节点 # (注意,这里的 /kafka 不是每一个连接都加,而是加到最后) zookeeper.connect=192.168.10.131:2181,192.168.10.132:2181,192.168.10.133:2181/kafka # 日志文件路径 log.dirs=/usr/local/kafka/logs
4、启动kafka
TIPS:要确保zookeeper已经启动
/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties
- 停止kafka
/usr/local/kafka/bin/kafka-server-stop.sh
5、其它操作
- 创建topic
# 在其中一台kafka上创建一个 topic /usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 192.168.10.131:2181/kafka --replication-factor 3 --partitions 1 --topic test-topic
- 查看创建的topic信息
# 查看创建的topic信息 /usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper 192.168.10.131:2181/kafka --topic test-topic
- 测试发布消息
bin/kafka-console-producer.sh --broker-list 192.168.10.131:9092 --topic test-topic
- 测试消费消息
bin/kafka-console-consumer.sh --bootstrap-server 192.168.10.131:9092 --from-beginning --topic test-topic
6、可视化 Kafka 工具
推荐博客:(建议不要去官网下载最新版本,我下载下来发现最新版是基于jdk11写的,服务器一般安装的都是jdk8的环境,运行不了。下面这篇博客的版本虽然有点老,新建连接的时候,kafka版本只能选到 0.10.1.0 但是我用它来连接 kafka 2.4.1 也是没问题的)
https://www.cnblogs.com/dadonggg/p/8205302.html
也可以下载jdk8支持的最后一个版本: