【Kafka】Kafka的安装

本篇只讲述Kafka的安装与基本命令,不做框架和运行原理的描述,想了解Kafka的框架和运行原理可以点击链接: Kafka的框架与运行原理

本篇在描述配置参数时,只会针对所使用到的参数来进行展示与解释,若想要了解全部参数的使用,可以点击链接: Kafka配置参数详解

准备工作

  • 定义:Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。

  • 首先我们先去下载Kafka,官网链接: 点击下载

  • 下载包的选择

在这里插入图片描述

  • Kafka在安装前需要先安装zookeeper并启动,具体步骤 请访问

正式安装

  • 集群规划
节点名称abc
安装程序zkzkzk
安装程序kafkakafkakafka
  • 将压缩包解压到指定文件夹:tar -zxvf kafka_2.12-2.6.0.tgz -C /home/
  • 将解压后的文件夹重命名:mv kafka_2.12-2.6.0/ kafka
  • 使用vi /etc/profile命令修改环境变量,添加下列内容
    export KAFKA_HOME=/hone/kafka
    export PATH=$PATH:$KAFKA_HOME/bin
    
  • 刷新环境变量使其生效:source /etc/profile
  • kafka文件见下使用mkdir logs命令创建logs文件夹,logs文件夹使用来存储日志文件和暂存文件的
  • 修改配置文件config/server.properties,具体修改如下
    #broker的全局唯一编号,不能重复 
    broker.id=0 
    listeners=PLAINTEXT://:9092
    #删除topic功能使能 
    delete.topic.enable=true 
    #处理网络请求的线程数量 
    num.network.threads=3 
    #用来处理磁盘IO的现成数量 
    num.io.threads=8 
    #发送套接字的缓冲区大小 
    socket.send.buffer.bytes=102400 
    #接收套接字的缓冲区大小 
    socket.receive.buffer.bytes=102400 
    #请求套接字的缓冲区大小 
    socket.request.max.bytes=104857600 
    #kafka运行日志存放的路径 
    log.dirs=/home/kafka/logs 
    #topic在当前broker上的分区个数 
    num.partitions=1 
    #用来恢复和清理data下数据的线程数量 
    num.recovery.threads.per.data.dir=1 
    #segment文件保留的最长时间,超时将被删除
    log.retention.hours=168 
    #配置连接Zookeeper集群地址 
    zookeeper.connect=a:2181,b:2181,c:2181
    
    虽然配置文件看起来要修改的地方很多,但其实只有五处是要修改的地方,其余地方按其默认即可,这五点分别是broker.id=0delete.topic.enable=truelog.dirs=/home/kafka/logszookeeper.connect=a:2181,b:2181,c:2181listeners=PLAINTEXT://:9092
  • 将kafka环境变量配置发送给其他两个节点
    scp /etc/profile b:/etc/scp /etc/profile b:/etc/
  • 将kafka配置好的解压文件分散给其余两个节点
    scp -r /home/kdfka/ b:/home/scp -r /home/kdfka/ c:/home/
  • 一定要修改发散给其余两个节点中server.properties配置文件中broker.id的值,三个节点的值一定不能一样
  • 依次启动每个节点上的kafka
    bin/kafka-server-start.sh -daemon config/server.properties
    若使用bin/kafka-server-start.sh config/server.properties命令启动的话,会显示启动信息
    若要关闭节点可使用命令:bin/kafka-server-stop.sh

Kafka命令行操作

  • 创建topic
    bin/kafka-topics.sh --create --zookeeper a:2181 --replication-factor 3 --partitions 1 --topic test
    –create:是创建topic
    –zookeeper:和topic有关都需要经过zookeeper来存储数据
    –replication-factor:副本数为3(切记副本数不可超过节点数,因为是一个节点存储一个副本
    –partitions:是分区数,分区数的数量并没有限制

    在这里插入图片描述

  • 查看当前服务器中所有的topic
    bin/kafka-topics.sh --list --zookeeper a:2181
    在这里插入图片描述

  • 查看topic的详细信息
    bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
    在这里插入图片描述

  • 修改topic分区
    bin/kafka-topics.sh --alter --zookeeper a:2181 --topic test --partitions 3

  • 删除topic(若想真正的删除一个topic,必须设置配置文件中delete.topic.enable=true否则只是标记删除
    bin/kafka-topics.sh --delete --zookeeper a:2181 --topic test
    在这里插入图片描述

  • 使用topic发送消息,想要发送信息必须有一个topic
    bin/kafka-console-producer.sh --broker-list a:9092 --topic first
    会出现输入窗口这时输入信息即可
    在这里插入图片描述

  • 消费信息
    在另一个节点使用下列命令来消费信息
    bin/kafka-console-consumer.sh --bootstrap-server a:9092 --topic first
    在这里插入图片描述

    但是上述命令只能接收到在他开启之后的数据,若想要接受全部数据,可使用下列命令
    bin/kafka-console-consumer.sh --bootstrap-server a:9092 --from-beginning --topic first
    在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值