一、kafka安装

kafka官网下载地址:https://kafka.apache.org/downloads
可以选择自己需要的版本下载
(不要下载带src的文件)
在这里插入图片描述

在Ubuntu里面安装
复制需要的url
在这里插入图片描述

使用命令 wget 命令下载安装包
在这里插入图片描述

使用tar -xzvf 解压
在这里插入图片描述

为了使用方便,可以选择创建软链接kafka0
(删除软连接命令:rm 软连接名儿)
在这里插入图片描述

二、集群配置

(1) 启动Zookeeper
使用其自带的Zookeeper建立集群

kafka自带的Zookeeper程序脚本与配置文件名与原生Zookeeper稍有不同。

kafka自带的Zookeeper程序使用bin/zookeeper-server-start.sh,以及bin/zookeeper-server-stop.sh来启动和停止Zookeeper。

而Zookeeper的配制文件是config/zookeeper.properties,可以修改其中的参数
命令:

bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

在这里插入图片描述
加-daemon参数,可以在后台启动Zookeeper,输出的信息在保存在执行目录的logs/zookeeper.out文件中
查看日志如图:
在这里插入图片描述

错误1:
*注意:*如果第一步选的是带src的 这一步就会报错:
Classpath is empty. Please build the project first e.g. by running './gradlew jar -PscalaVersion=2.13.3’
解决办法就是 下载不带src版本(第一步)

错误2:
使用ps -ef|grep 命令查看是否已运行成功
在这里插入图片描述
可见没有相对应的进程
查看日志发现
在这里插入图片描述
解决方法:查看错误信息可知是由于Linux环境没有jdk
在这里插入图片描述
若弹出错误E: Unmet dependencies. Try ‘apt --fix-broken install’ with no packages (or specify a solution).
则运行一下提示命令 sudo apt --fix-broken install
在这里插入图片描述
安装成功后查看是否成功
在这里插入图片描述
如图表示已安装成功
再启动一次
在这里插入图片描述
可以查看到对应进程了
再查看日志
在这里插入图片描述
在这里插入图片描述
启动成功。

(2)关闭Zookeeper

bin/zookeeper-server-stop.sh -daemon config/zookeeper.properties

三、kafka配置

broker.id是kafka broker的编号,集群里每个broker的id需不同。
在这里插入图片描述
listeners是监听地址,需要提供外网服务的话,要设置本地的IP地址
在这里插入图片描述
log.dirs是日志目录,需要设置
在这里插入图片描述
设置Zookeeper集群地址,我是在同一个服务器上搭建了kafka和Zookeeper,所以填的本地地址
在这里插入图片描述
num.partitions 为新建Topic的默认Partition数量,partition数量提升,一定程度上可以提升并发性
在这里插入图片描述

四、启动及停止kafka

  1. 启动kafka
bin/kafka-server-start.sh -daemon config/server.properties

在这里插入图片描述
-daemon 参数会将任务转入后台运行,输出日志信息将写入日志文件,日志文件在执行命令的目录下的logs目录中kafkaServer.out,结尾输同started说明启动成功。

也可以用jps命令,看有没有kafka的进程

错误提示 没有jps命令
在这里插入图片描述
问题解决
就是选一个版本下载即可
在这里插入图片描述
下载失败 提示

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

在这里插入图片描述
解决方法
Error报的信息显示是这个包向source里的资源下载失败了。从而得出是网络的问题

报错

E: You don't have enough free space in /var/cache/apt/archives/.

在/var/cache/apt/archives/中没有足够的可用空间

解决方法:
/var/cache/apt/archives文件夹中的文件是使用sudo apt-get install appname时下载的安装文件,这些文件是可以清理的,若你系统空间不足的时候,可以想到从此处进行清理而获得空间。
在这里插入图片描述
如果还是不能解决 空间还是不足的话
可以
删除archives文件夹(rm -rf archives) 然后指向分区存储内存足够的文件夹(使用df命令可查看)
在这里插入图片描述

如果没有安装jdk的话 会出现以下错误:
#bin/kafka-server-start.sh config/server.properties 启动Kafka无响应
在这里插入图片描述

安装jdk后启动
在这里插入图片描述
错误提示 no space left on device
可见是没有存储空间了
清除后再执行
查看日志不报错 以及使用ps -ef |grep kafka可以查看到对应进程
表示已经启动成功。

  1. 停止kafka
bin/kafka-server-stop.sh config/server.properties

五、测试

kafka和Zookeeper已启动完成。

  1. 创建topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 3 --topic test
  1. 查看主题
bin/kafka-topics.sh --list --zookeeper localhost:2181
  1. 发送消息
bin/kafka-console-producer.sh --broker-list localhost:9094 --topic test
  1. 接收消息
 bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
  1. 查看特定主题的详细信息
  bin/kafka-topics.sh --zookeeper localhost:2181 --describe  --topic test
  1. 删除主题
bin/kafka-topics.sh --zookeeper localhost:2181 --delete  --topic test
Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐