Kafka在Linux下的安装和使用

这篇具有很好参考价值的文章主要介绍了Kafka在Linux下的安装和使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Kafka简介

💡 Tips:本文主要介绍在Linux系统中安装和使用Lafka的操作步骤。

安装Kafka

访问Kafka官网,下载安装包版本(https://kafka.apache.org/downloads),下载 kafka_2.12-3.3.2.tgz,前面的 2.12 是 Scala的版本号,后面的3.3.2是kafka的版本号。https://downloads.apache.org/kafka/3.3.2/kafka_2.12-3.3.2.tgz

下载后,按照命令进行安装:

cd /home/guozhong
wget https://downloads.apache.org/kafka/3.3.2/kafka_2.12-3.3.2.tgz
tar -zxvf kafka_2.12-3.3.2.tgz -C /opt/modules/app
cd /opt/modules/app
mv kafka_2.12-3.3.2  kafka
chown -R hadoop ./kafka

启动Kafka

安装完成后,首先要启动Kafka。登录Linux系统(本教程使用已经创建的hadoop用户),打开一个终端,输入命令启动Zookeeper服务:

cd /opt/modules/app/kafka
./bin/zookeeper-server-start.sh config/zookeeper.properties

注意:执行完上面的命令后,终端窗口会返回一堆信息,然后停止不动了,没有回到shell命令提示符状态,这时,不要误以为是程序任务死掉了,而是Zookeeper服务器已经启动了,正处于运行状态下。所以,千万不要关闭该终端窗口,一旦关闭,Zookeeper服务就停止了。

请另打开一个终端,然后输入以下命令启动kafka服务:

cd /opt/modules/app/kafka
./bin/kafka-server-start.sh config/server.properties

同样的,执行上面的命令后,终端窗口也返回一堆信息,然后就会停止不动,没有回到shell命令提示符状态,同样不要以为死机了,而是Kafka服务器已经启动,正处于运行状态。所以不要关闭终端窗口。否则,关闭后Kafka服务就停止了。

当然,要想kafka在后台运行,可以采用在结尾增加"&"的命令:

cd /opt/modules/app/kafka
./bin/kafka-server-start.sh config/server.properties &

这样,Kafka启动后就会在后台运行,即使关闭了终端窗口,服务也一直在运行。

查看当前启动的服务

[root@hadoop01 kafka]# jps
2711 Kafka
4600 Jps
2255 QuorumPeerMain

创建Topic

再打开第三个终端,然后输入以下命令,创建一个自定义名称为“testsender”的Topic:(这2.12版本之后的创建方式,老版本的创建方式命令不同,可以查看⚠️常见问题 说明)

./bin/kafka-topics.sh --create --topic testsender --bootstrap-server localhost:9092
Created topic testsender.

可执行如下命令,查看"testsender"的Topic是否已成功创建:

./bin/kafka-topics.sh --list --bootstrap-server localhost:9092
testsender

启动生产者和消费者

启动生产者发送消息:

./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testsender
>hello
>123456

启动消费者接收消息:

./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testsender --from-beginning

接收到消息:
hello
123456

⚠️常见问题

解决zookeeper is not a recognized option问题

出现如下错误,这时不要慌

Kafka在Linux下的安装和使用

 

分析这个问题可能有两点:

第一点:当我们使用如下命令创建 topic 时,会报此错误。比如要创建一个名称为“testsender”的topic,当前安装的版本是2.12,这时我们要使用新版本的创建topic命令来执行,老版本是报以上错误的。

老版本的创建topic方式

./bin/kafka-topics.sh --create --zookeeper localhost:2181
--replication-factor 1 --partitions 1 
--topic testsender

我们采用新版本的创建topic方式

./bin/kafka-topics.sh --create --topic testsender --bootstrap-server localhost:9092

第二点:如果采用新版本的创建方式还是报错,这时要考虑的问题多数在配置文件上,这个问题多数是因为:kafka 的配置文件和 zookeeper 的配置文件,我们都按照默认,并没有修改,这里可能需要修改就是这两个文件:kafka-server-start.sh 和 zookeeper-server-start.sh中默认的启动内存,初始值有点大,如果服务器的配置比较低的话,会报内存不足的错误,这个问题不太容易发现,这里我们可以把启动内存调小一点。

kafka-server-start.sh文件: Xms1G 调整为 Xms128M

默认:

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi

EXTRA_ARGS=${EXTRA_ARGS-'-name kafkaServer -loggc'}

修改后:

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx1G -Xms128M"
fi

EXTRA_ARGS=${EXTRA_ARGS-'-name kafkaServer -loggc'}

zookeeper-server-start.sh文件:Xmx512M 调整为 Xms128M

默认:

if [ "x$KAFKA_LOG4J_OPTS" = "x" ]; then
    export KAFKA_LOG4J_OPTS="-Dlog4j.configuration=file:$base_dir/../config/log4j.properties"
fi

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx512M -Xms512M"
fi

EXTRA_ARGS=${EXTRA_ARGS-'-name zookeeper -loggc'}

修改为:

if [ "x$KAFKA_LOG4J_OPTS" = "x" ]; then
    export KAFKA_LOG4J_OPTS="-Dlog4j.configuration=file:$base_dir/../config/log4j.properties"
fi

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx512M -Xms128M"
fi

EXTRA_ARGS=${EXTRA_ARGS-'-name zookeeper -loggc'}

接下来重启服务,再试一下:文章来源地址https://www.toymoban.com/news/detail-463407.html

./bin/kafka-topics.sh --create --topic testsender --bootstrap-server localhost:9092
Created topic testsender.

 📗 参考资料

  • https://dblab.xmu.edu.cn/blog/3956/

到了这里,关于Kafka在Linux下的安装和使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux下的Jenkins安装教程

    CentOS 7.8 Java 11(注意当前jenkins支持的Java版本最低为Java11) FinalShell 3.9(操作环境) PS:不建议使用Docker安装Jenkins,因为使用Jenkins的时候一般会调用外部程序,比如Maven、Docker、JDK、Nodejs等,所以我们最好直接安装在本机上,以避免不必要的麻烦。 1. 添加Jenkins源 执行下面两

    2024年02月15日
    浏览(40)
  • Colmap在Linux下的安装

    在用Gaussian splatting时,要先装colmap才能做一些预处理。 以下是我这的安装过程记录,可能不一定适合其他人,但是仔细查查肯定能解决~ 我的环境:         系统:Ubuntu 22.04         cuda版本:11.8,显卡是4090 1、先安装一堆依赖库         过程没出现啥问题。如果有问题那

    2024年03月11日
    浏览(54)
  • Linux下的floodlight安装指南(排坑版)

    (我的虚拟机环境:Linux x64、5.13.0内核、Ubuntu 20.04) 一号坑:严格按照官方要求的版本下载,不要用官网给的命令一步下载到位! 目前这两个jdk都是需要注册Oracle官方账号才能下载的,因此直接执行官网的命令,会有两种情况:1.默认下载了openjdk-11;2.无法下载openjdk-7-jdk,

    2023年04月27日
    浏览(37)
  • 【Redis配置】Linux下的Redis安装配置

    Redis官网:https://redis.io/download/ 往下翻可以找到其他版本的Redis,或者访问https://download.redis.io/releases/查找自己所需Redis版本。 此处我选择下载的是6.2.14版本 将路径切换到想要上传到的目录 点击刚刚下载的Redis压缩包上传 Redis是基于C语言编写的,因此需要准备好所需要的gcc依

    2024年01月16日
    浏览(49)
  • mysql 在 linux下的安装 和 配置

    1.找到源码包 去官网找到自己想要的版本的源码包 选择版本进行下载这里放两个我自己比较常用的 mysql-5.7.35.tar.gz 通用包 mysql-boost-8.0.11.tar.gz 通用包 2: 进行配置 官方文档说明 1: Configuring SSL Library Support 2: MySQL 源配置选项 1: 安装依赖 开始编译源代码 3:初始化数据目录 官方

    2024年02月16日
    浏览(28)
  • Linux安装Oracle11g(无图形界面下的静默安装)

    创建组和用户 创建oracle安装目录 关闭防火墙 优化系统内核参数 编辑 /etc/sysctl.conf 文件,在文件尾添加如下内容: 执行 sysctl -p 使修改生效 对oracle用户设置限制 编辑 /etc/security/limits.conf 文件,在文件尾添加如下内容: 设置用户变量 编辑 /home/oracle/.bash_profile 文件,在文件尾

    2024年04月14日
    浏览(37)
  • Linux和Mac环境下的Nginx安装教程

    登录root账号,服务器环境为阿里云的Cent OS 7.6版本 执行yum install yum-utils 运行vim /etc/yum.repos.d/nginx.repo 输入: 然后查看源 看到存在稳定版的源,确认无误。 运行安装命令 过程中输入y,确认 查看版本,若出现版本号,则安装成功 用whereis nginx可以查看到目录: nginx: /usr/sbin/

    2024年02月16日
    浏览(40)
  • linux下的questasim安装和与vivado的关联

    参考链接 IC验证工具:Ubuntu下Questasim10.7安装(64bit)全攻略 参考2 易特创芯 linux环境下questasim 10.7的安装总结_limanjihe的博客-CSDN博客 前面操作参照的第一个链接,后面激活文件参考的第二个 另外在生成激活文件时在windows下转换太麻烦,可以用 ⽣成所需的 mentor.dat 但是还是出

    2024年02月14日
    浏览(64)
  • openMPI在Linux环境下的安装和部署

    CentOS7 进入官网openmp.org, 下载压缩包openmpi-4.1.4.tar.gz 将openmpi-4.1.4.tar.gz放到/opt文件夹内 解压 tar -zxvf openmpi-4.1.4.tar.gz 进入/openmpi-4.1.4文件夹 输入 ./configure 命令等待运行完成 这个运行./configure 可能会报错(无则跳过此步骤),错误提示为: configure: error: C++ preprocessor “/lib/cpp”

    2024年02月01日
    浏览(36)
  • 从头安装gdal库(Linux环境下的Python版)

    大多数情况下都是可以直接pip wheel安装成功的,但有些特殊情况下(比如一个容器内)需要从头配置gdal库。我“有幸”亲自体验了一把,整个过程 “痛并快乐着” 。整个过程查了很多资料,中间也遇到了很多问题,部分在网上没有找到相关答案,整个过程全网也没有一个类

    2024年02月02日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包