Kafka】Kafka的安装"/>
【Kafka】Kafka的安装
Kafka的安装
- 准备工作
- 正式安装
- Kafka命令行操作
本篇只讲述Kafka的安装与基本命令,不做框架和运行原理的描述,想了解Kafka的框架和运行原理可以点击链接: Kafka的框架与运行原理
本篇在描述配置参数时,只会针对所使用到的参数来进行展示与解释,若想要了解全部参数的使用,可以点击链接: Kafka配置参数详解
准备工作
-
定义:Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。
-
首先我们先去下载Kafka,官网链接: 点击下载
-
下载包的选择
- Kafka在安装前需要先安装zookeeper并启动,具体步骤 请访问
正式安装
- 集群规划
节点名称 | a | b | c |
---|---|---|---|
安装程序 | zk | zk | zk |
安装程序 | kafka | kafka | kafka |
- 将压缩包解压到指定文件夹:
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=0
、delete.topic.enable=true
、log.dirs=/home/kafka/logs
、zookeeper.connect=a:2181,b:2181,c:2181
和listeners=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
更多推荐
【Kafka】Kafka的安装
发布评论