Kafka的安装(含相关指令)、基础配置、简单测试

本文详细介绍了Kafka的安装步骤,包括下载安装包、配置环境、启动服务等,并提供了创建主题、查看信息及使用测试的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

安装

启动

查看某节点下的信息、创建主题、查看所有的主题

使用测试


本人测试时相关环境

机器

jdk

Kafka

Linux CentOS7

1.8

kafka_2.11-2.1.0.tgz


安装

第一步下载Kafka安装包https://www.apache.org/dyn/closer.cgi?path=/kafka/2.1.0/kafka_2.11-2.1.0.tgz

第二步将Kafka放入Linux中并使用指令tar xzvf xxx.tgz解压。

注:本人将Kafka放在/var/local/目录下。

第三步为了方便管理,我们将解压后的Kafka文件夹重命名。通过移动指令实现重命
              名mv /var/local/kafka_2.11-2.1.0/ /var/local/kafka

注:此步骤并不是必须的,只是为了方便而已。

第四步为了区分不混淆,创建两个文件夹,来分别存放zookeeper和kafka的数据。
               mkdir -p /usr/data/{zookeeper,kafka}

注:如果不是临时的,那么不要将文件放在/tmp目录下,因为每次Linux重新启动后,都会将/tmp目录下的文件清除。
注:kafka依赖于zookeeper,可以使用kafka开发包里面自带有对zookeeper的支持,也可以使用自己安装的
       zookeeper(如何安装配置zookeeper可详见《程序员成长笔记(第三部)》相关章节)。
注:如果使用的是自己安装的zookeeper,,那么这里就不需要专门为zookeeper创建数据存储目录了,因为
       zookeeper在安装时就指定了其的数据存储位置了。由于本人这里准备使用kafka开发包里面自带的
       zookeeper,所以这一步为kafka创建数据存储目录时,也专门为zookeeper创建了一个数据存储目录(如
       何安装配置zookeeper可详见《程序员成长笔记(第三部)》相关章节);
注:Kafka自带的zookeeper版本对当前版本的Kafka支持比较好。一般的,Kafka自带的zookeeper就足够使用了。

第五步配置zookeeper.properties文件。

  • 找到zookeeper.properties文件:

        注:kafka文件在解压后的文件夹下的config目录下。

  • 配置zookeeper.properties文件,将zookeeper数据存储目录改为前面创建的/usr/data/zookeeper:

第六步进行kafka配置文件server.properties的定义。

根据实际情况修改其配置,本人此步骤中修改的几个地方为:

############################# Server Basics #############################
# broker的id,必须是唯一的;如果是Kafka集群,那么应保证每个broker.id的唯一性
broker.id=0
############################# Socket Server Settings #############################
# Kafka默认的访问端口是9092
#listeners=PLAINTEXT://:9092
# 主动设置Kafka的访问端口(注:光这样配置的话,只能内部通过这个端口访问kafka;如果想要外部也能访问,需要再配置外部访问)
port=9095
# 配置外部访问(注:端口需要设置与port的端口相同,否者外部程序可能无法访问kafka)
advertised.listeners=PLAINTEXT://192.168.0.110:9095
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
############################# Log Basics #############################
# 日志文件存放位置
log.dirs=/usr/data/kafka
num.partitions=1
num.recovery.threads.per.data.dir=1
############################# Internal Topic Settings  #############################
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
############################# Log Retention Policy #############################
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
############################# Zookeeper #############################
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=6000
############################# Group Coordinator Settings #############################
group.initial.rebalance.delay.ms=0

启动

第一步找到kafka目录下相应的.sh文件以及zookeeper配置文件进行(前台)启动kafka内置的zookeeper服务:
               /var/local/kafka/bin/zookeeper-server-start.sh /var/local/kafka/config/zookeeper.properties

        ……

注:此启动方式是独占启动,后台启动如():

后台启动kafka内置的zookeeper:

/var/local/kafka/bin/zookeeper-server-start.sh -daemon /var/local/kafka/config/zookeeper.properties

或者这样(带日志):

/var/local/kafka/bin/zookeeper-server-start.sh /var/local/kafka/config/zookeeper.properties > /usr/data/zookeeper.log 2>&1 &

第二步重新开一个shell窗口(因为原来那个被zookeeper独占了),(前台)启动kafka服务进程。
               /var/local/kafka/bin/kafka-server-start.sh /var/local/kafka/config/server.properties

        ……

注:此启动方式是独占启动,后台启动如():

后台启动kafka:

/var/local/kafka/bin/kafka-server-start.sh -daemon /var/local/kafka/config/server.properties

或者这样(带日志):

/var/local/kafka/bin/kafka-server-start.sh /var/local/kafka/config/server.properties > /usr/data/kafka.log 2>&1 &

验证一下(重新打开一个shell窗口,使用jps指令查看一下所有java相关的进程):

可知,kafka启动成功!


查看某节点下的信息、创建主题、查看所有的主题

使用kafka内置的zookeeper查看相关节点信息(示例)

如,查看根节点(/)下的所有内容:/var/local/kafka/bin/zookeeper-shell.sh 192.168.0.110 ls /

 

注:kafka启动后,会向zookeeper中注册信息。如果使用的是自己安装的zookeeper,那么可以用标准的zookeeper指令
       查看信息;但如果使用的是kafka内置的zookeeper的话,那么需要使用kafka提供的zookeeper指令(注:kafka提
       供的zookeeper指令其实并不好用)。

注:标准的zookeeper指令可详见《程序员成长笔记(第三部)》相关章节。

创建主题(示例):/var/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic topicOne

注:创建主题的命令包括了zookeeper的地址端口信息、副本个数设置(本人这里设置的是1)、分区个数设置(本人这里
       设置的是1)、主题名称设置(本人这里设置的是topicOne)。

注:如果用户想要使用kafka进行若干操作的话,那么必须先创建主题。

查看所有的主题信息:/var/local/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181


使用测试

说明:kafka内部提供有测试环境,我们可以直接使用指令进行消息生产者与消息消费者使用测试。

(启动)消费者:/var/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9095 --topic topicOne --from-beginning

注:其中--from-beginning的作用是:控制是否接收历时消息(有此指令则表示接收,无则表示不接收)。

(启动)生产者:/var/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9095 --topic topicOne

发送消息测试

在生产者里随便输入消息:

可看见在消费者里面获取到了消息:

由此可见,Kafka搭建成功!

 

声明:本文为学习笔记,学习自51CTO,《Kafka消息中间件》,讲师李兴华

^_^ 如有不当之处,欢迎指正

^_^ 学习视频:
             《Kafka消息中间件》,讲师李兴华

^_^ 参考链接:
              http://kafka.apache.org/quickstart

^_^ 本文已经被收录进《程序员成长笔记(四)》,笔者JustryDeng

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值