腾讯云服务器Linux系统--安装Kafka

个人习惯创建一个目录专门用于存放软件

创建安装目录,下载软件

我用华为的镜像,下载比较快, 并且是而二进制文件,不用编译了,解压配置后,直接使用。

代码语言:javascript
复制
[root@VM_0_16_centos /]# mkdir /usr/lib/kafka
//下载
[root@VM_0_16_centos kafka]# wget https://mirrors.huaweicloud.com/apache/kafka/2.3.1/kafka_2.12-2.3.1.tgz

解压

代码语言:javascript
复制
[root@VM_0_16_centos kafka]# tar -zxvf kafka_2.12-2.3.1.tgz 
[root@VM_0_16_centos kafka]# cd ./kafka_2.12-2.3.1/

配置属性

(设备id)broker.id=1 (日志路径)log.dirs=/tmp/kafka-logs

这两个是必须配置的,其他的根据文档自己看着办吧 。

代码语言:javascript
复制
[root@VM_0_16_centos kafka_2.12-2.3.1]# vim ./config/server.properties 

kafka一些常用配置,可以看这里https://www.jianshu.com/p/183ed5f6529b

使用kafka

  • 1.启动zookeeper, 安装包自带的,可以单节点启动(相当一个数据库)。

//jps--跟ps命令类似,打印Java进程 ,QuorumPeerMain 为zookeeper进程,说明启动成功

代码语言:javascript
复制
[root@VM_0_16_centos kafka_2.12-2.3.1]# bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
//jps--跟ps命令类似,打印Java进程 ,QuorumPeerMain 为zookeeper进程,说明启动成功
[root@VM_0_16_centos kafka_2.12-2.3.1]# jps
3315 Bootstrap
28120 QuorumPeerMain
28473 Jps
  • 2.启动kafka-service ,会自动连接zookeeper。
代码语言:javascript
复制
[root@VM_0_16_centos kafka_2.12-2.3.1]# bin/kafka-server-start.sh config/server.properties
  • 3.提示启动成功
  • 4.创建topic ,(队列名称)
代码语言:javascript
复制
[root@VM_0_16_centos kafka_2.12-2.3.1]# bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic csdn_test
WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.
Created topic csdn_test.

显示topic列表

代码语言:javascript
复制
[root@VM_0_16_centos kafka_2.12-2.3.1]# bin/kafka-topics.sh --list --zookeeper localhost:2181

csdn_test

  • 5.启动Producer (相当生产者)
代码语言:javascript
复制
[root@VM_0_16_centos kafka_2.12-2.3.1]# bin/kafka-console-producer.sh --broker-list localhost:9092 --topic csdn_test
>
>
  • 6.另开页面,启动Consumer(相当消费者)
代码语言:javascript
复制
[root@VM_0_16_centos kafka_2.12-2.3.1]# bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic csdn_test --from-beginning
  • 7.测试是否正常