文章目录
1、前期准备
需要准备3个服务器节点;
每个节点需提前安装好zookeeper,安装zookeeper可以参考另一篇文章《Zookeeper-3.6.1安装(集群版)》,也可以直接用kafka自带的;
操作系统 | ip | hostname |
---|---|---|
CentOS7 | 192.168.12.132 | kafka132 |
CentOS7 | 192.168.12.133 | kafka133 |
CentOS7 | 192.168.12.134 | kafka134 |
2、下载安装包
mkdir -p /opt/kafka && cd /opt/kafka
wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.5.0/kafka_2.12-2.5.0.tgz
3、解压安装包
cd /opt/kafka
tar -zxvf kafka_2.12-2.5.0.tgz
4、修改配置文件
kafka安装的重点就是修改配置文件,配置文件在/opt/kafka/kafka_2.12-2.5.0/config目录内
- 修改server.properties
## broker的全局唯一编号,不能重复
broker.id=0
## 服务器需要监听的端口号
listeners=PLAINTEXT://192.168.12.132:9092
## 注册到zookeeper的IP和端口
advertised.listeners=PLAINTEXT://192.168.12.132:9092
## 存储消息的目录
log.dirs=/opt/kafka/kafka_2.12-2.5.0/config/kafka-logs
## 连接的zookeeper
zookeeper.connect=192.168.12.132:2181,192.168.12.133:2181,192.168.12.134:2181
- 修改producer.properties
## 指定kafka节点列表,用于获取metadata,不必配置全部
bootstrap.servers=192.168.12.132:9092,192.168.12.133:9092,192.168.12.134:9092
- 修改consumer.properties
## 指定kafka节点列表,用于获取metadata,不必配置全部
bootstrap.servers=192.168.12.132:9092,192.168.12.133:9092,192.168.12.134:9092
5、分发安装包到其他节点
scp -r /opt/kafka 192.168.12.134:/opt/
修改其他两个节点中的server.properties
项 | 说明 |
---|---|
broker.id | 三个节点分别设置为 0、1、2 |
listeners | PLAINTEXT://192.168.12.133:9092,根据当前机器的IP设置 |
advertised.listeners | PLAINTEXT://192.168.12.133:9092,根据当前机器的IP设置 |
6、启动&停止集群命令
6.1、启动zookeeper
## 先启动好zookeeper
zkServer.sh start
## 查询zookeeper进程
ps -ef|grep zookeeper
6.2、启动kafka
## 启动kafka
cd /opt/kafka/kafka_2.12-2.5.0/bin
## 前台运行
./kafka-server-start.sh ../config/server.properties
## 后台运行
./kafka-server-start.sh -daemon ../config/server.properties &
6.3、停止kafka
## 停止kafka
cd /opt/kafka/kafka_2.12-2.5.0/bin
./kafka-server-stop.sh
6.4、查看topic信息
cd /opt/kafka/kafka_2.12-2.5.0/bin
./kafka-topics.sh --list --zookeeper 192.168.12.132:2181,192.168.12.133:2181,192.168.12.134:2181
6.5、创建topic
cd /opt/kafka/kafka_2.12-2.5.0/bin
./kafka-topics.sh --create --zookeeper 192.168.12.132:2181,192.168.12.133:2181,192.168.12.134:2181 --replication-factor 3 --partitions 3 --topic test_topic
6.6、生产者
cd /opt/kafka/kafka_2.12-2.5.0/bin
./kafka-console-producer.sh --bootstrap-server 192.168.12.132:9092,192.168.12.133:9092,192.168.12.134:9092 --topic test_topic
接着你就可以输入你想要发送给消费者的消息了,你可以先启动消费者
6.7、消费者
cd /opt/kafka/kafka_2.12-2.5.0/bin
./kafka-console-consumer.sh --bootstrap-server 192.168.12.132:9092,192.168.12.133:9092,192.168.12.134:9092 --topic test_topic