linux环境kafka的安装和使用

安装

  • 打开官网,复制链接(kafka官网
    在这里插入图片描述
  • 下载kafka压缩包
wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.4.0/kafka_2.13-2.4.0.tgz 
  • 解压kafka到指定目录(这里指定到/usr/kafka,自行修改)
tar -zxvf kafka_2.13-2.4.0.tgz -C /usr/kafka
  • 修改server.properties
    broker的含义:Kafka集群包含一个或多个服务器,每个服务器节点都被称为broker,每个broker都有唯一的id值用来区分,Kafka在启动时会在zookeeper中/brokers/ids路径下创建一个以当前broker的id为名称的节点,当broker下线时,该节点会自动删除,其他broker或客户端通过判断/brokers/ids路径下是否有此broker的id来确定该broker是否存在。
#找到broker.id并修改为1(如果是多个kafka服务,需配置不同broker.id作为标识)
broker.id=1
找到log.dirs并修改为指定路径(自行修改)
#以后kafka产生的日志都会存在此路径
log.dirs=/usr/kafka/kafka_log

使用

  • 启动zookeeper(Kafka使用了Zookeeper来进行所有Broker的管理,节点路径为/brokers/ids)
进入到kafka_2.13-2.0目录之下,输入以下命令启动zookeeper
# -daemon为以后台的方式启动、后面意思是指定以config/zookeeper.properties的配置来启动
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties 

在这里插入图片描述

  • 启动kafka
#查看zookeeper是否启动,如果出现QuorumPeerMain表示已启动
jps
# 后跟config/server.properties表示为以该配置来启动服务
bin/kafka-server-start.sh config/server.properties 

在这里插入图片描述

  • 创建主题topic(topic为类别属性,来划分数据的所属类,可以理解为数据库的一张表,topic的名字就是表的名字)
# --create为创建
# --zookeeper localhost:2181为指定zookeeper的地址(这里为本地,非本地需指定ip,zk的默认端口为2181)
# -replication-factor 1 为指定副本的个数(partition的副本,consumer并不会从副本中消费数据,而是为了防止数据丢失)
# --partitions 1 为指定分区个数(topic的数据被分割成一个或多个partition,topic至少有一个partition)
# --topic qixingcxy_test1 指定topic的名字为qixingcxy_test1
bin/kafka-topics.sh --create --zookeeper localhost:2181 -replication-factor 1 --partitions 1 --topic qixingcxy_test1

在这里插入图片描述

  • 删除主题topic
bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic qixingcxy_test1
  • 查看当前系统中所有的topic
bin/kafka-topics.sh --list --zookeeper localhost:2181

在这里插入图片描述

  • 启动生产者producer
# --broker-list localhost:9092 为连接对应的broker(这里连接的是本地端口为9092的broker服务,可指定ip连接指定的broker)
# --topic qixingcxy_test1 指定把消息生产到哪个topic中
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic qixingcxy_test1

在这里插入图片描述

  • 启动消费者
# --bootstrap-server localhost:9092 指定从哪个broker中拉取消息,(当我们连接到任意一个Broker后,
# 我们就已经连接到了整个Kafka集群,我们连接的第一个Broker称之为Bootstrap Broker)
# --from-beginning 表示从头开始读取
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic qixingcxy_test1 --from-beginning

在这里插入图片描述

  • 测试
    producer生产数据
    在这里插入图片描述
    consumer消费数据
    在这里插入图片描述
发布了74 篇原创文章 · 获赞 53 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/m0_37679452/article/details/103598898