一、上传Kafka安装包至环境
我这里给node1至node3三台服务器的/home下上传了安装包
二、在每一个服务器上执行下方命令,解压kafka安装包
cd /home/
unzip kafka_2.10-0.8.2.1.zip
三、给Kafka安装目录下脚本赋予执行权限。
在每一台服务器上执行下面命令
cd kafka_2.10-0.8.2.1/bin/
chmod 777 *
四、配置Kafka
执行下面命令,修改kafka配置文件。将其中broker.id配置项node1至node3分别配置为1、2、3。再将其中zookeeper.connect配置项均修改为node1:2181,node2:2181,node3:2181。
vi /home/kafka_2.10-0.8.2.1/config/server.properties
五、启动Kafka
远程至每一台服务器,执行下面命令,启动Zookeeper
zkServer.sh start
远程至每一台服务器,执行下面命令,启动Kafka
bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &
六、 Kafka命令
执行下面命令创建一个topic
./bin/kafka-topics.sh --create --zookeeper node1:2181,node2:2181,node2:2181 --topic 20200505 --partitions 3 --replication-factor 2
创建成功如下图所示
执行下面命令查看我们创建的topic
./bin/kafka-topics.sh --describe --zookeeper node1:2181,node2:2181,node2:2181
查询成功如下图所示
我们可以看到。partition0有两份数据,分别在Broker1、 Broker2上;partition1有两份数据,分别在Broker0、 Broker2上;partition2有两份数据,分别在Broker0、 Broker1上。且partition0到partition2的leader节点分别为1,2,0。
执行下面命令创建一个消费者等待数据接入
./bin/kafka-console-consumer.sh --zookeeper node1:2181,node2:2181,node3:2181 --topic 20200505
执行下面命令,通过kafka创建一个生产者发数据
./bin/kafka-console-producer.sh --broker-list node1:9092,node2:9092,node3:9092--topic 20200505
生产者创建成功如下图所示
我们在生产者下面随便敲入几个字符,然后回车
然后回到消费者界面,可以看到消费者收到了消息。如下图所示