Ubuntu20.04上Kafka 3.6.0安装避坑指南:从Java环境到消息测试全流程

Ubuntu20.04环境下的Kafka快速部署与实战入门 本文详细介绍了在Ubuntu20.04系统上快速部署Apache Kafka的完整流程,涵盖环境准备、安装部署、关键配置调整及服务启动验证。通过实战演示了创建主题、发送与接收消息等基础使用,并指导如何利用图形化工具Kafka Assistant和IntelliJ IDEA进行管理与开发测试,帮助初学者快速上手这一分布式消息系统。 阅读详情

Ubuntu 20.04 上 Kafka 3.6.0 深度部署与实战排雷手册

如果你正准备在 Ubuntu 20.04 上搭建 Kafka 3.6.0,并且已经看腻了那些“一帆风顺”的教程,那么你来对地方了。这篇文章不会只告诉你“输入什么命令”,而是会聚焦于那些让新手开发者抓狂的“坑”——从 Java 版本兼容性这个隐形杀手,到配置文件里一个标点符号引发的血案,再到端口冲突、权限不足这些看似简单却极易踩雷的环节。我们将以实战为导向,模拟一个真实的部署场景,手把手带你验证每一个关键步骤,并最终使用 Kafka Assistant 和 IDEA 两款工具,从不同维度验证你的消息队列服务是否真正健康、可用。无论你是为了本地开发测试,还是为生产环境做准备,这份避坑指南都能帮你节省大量排查问题的时间。

1. 环境预检:别让 Java 成为你的第一个“惊喜”

很多教程会轻描淡写地告诉你“需要 Java 环境”,但 Kafka 3.6.0 对 Java 版本有明确的要求。直接安装默认的 OpenJDK 11 可能没问题,但如果你系统里残留着其他版本,或者使用了某些特定的 JVM 参数,麻烦可能就开始了。

1.1 精准验证 Java 环境

首先,别急着 java -version 看一眼就过。我们需要进行更细致的检查。

# 检查默认 Java 版本和具体路径
java -version
which java
readlink -f $(which java)

这能帮你确认当前 shell 环境使用的到底是哪个 Java 安装。接下来,检查所有已安装的 Java 版本:

# 对于使用 update-alternatives 管理的系统(如 Ubuntu)
sudo update-alternatives --config java

你会看到一个选择列表。Kafka 官方推荐使用 Java 8、11、17 或 21。对于 Kafka 3.6.0,我个人在生产环境更倾向于使用 Java 11 (LTS),它在稳定性和性能上有一个不错的平衡。如果你需要安装或切换:

# 安装 OpenJDK 11
sudo apt update
sudo apt install openjdk-11-jdk -y

# 配置系统默认版本为 Java 11
sudo update-alternatives --config java
# 在弹出的菜单中选择对应的 Java 11 选项编号

注意:如果你在服务器上运行,请确保 JAVA_HOME 环境变量已正确设置,因为某些脚本或服务可能会依赖它。可以通过 echo $JAVA_HOME 检查,如果为空,需要将其添加到 ~/.bashrc 或 /etc/environment 中。

1.2 系统资源与依赖检查

Kafka 和 Zookeeper 在启动时会对系统资源有一定要求。一个常见的“坑”是默认的文件描述符限制太低,可能导致连接数上去后出现“Too many open files”错误。

# 查看当前用户的文件描述符限制
ulimit -n

# 如果数值较小(如1024),建议临时提高以进行测试,或永久修改系统限制
# 临时提高(仅当前会话有效)
ulimit -n 65536

对于生产环境,你还需要关注内存。Kafka 默认的 JVM 堆内存设置可能不适合你的数据量。我们可以在下载 Kafka 后,预先修改其启动脚本中的内存参数。

2. 获取与解压 Kafka:避开下载与路径的陷阱

直接从官网下载是最稳妥的方式,但网络环境可能导致下载缓慢或中断。这里有几个备选方案。

2.1 可靠下载与完整性校验

使用 wget 下载时,建议增加重试次数和超时设置,并务必校验文件完整性。

# 使用 wget 下载,增加稳健性
wget -c -t 3 -T 60 https://dlcdn.apache.org/kafka/3.6.0/kafka_2.12-3.6.0.tgz

# 下载完成后,强烈建议验证 SHA512 校验和(从官网获取对应版本的校验和文件)
wget https://downloads.apache.org/kafka/3.6.0/kafka_2.12-3.6.0.tgz.sha512
sha512sum -c kafka_2.12-3.6.0.tgz.sha512

如果校验失败,文件可能损坏,需要重新下载。-c 参数支持断点续传,这在网络不稳定时非常有用。

2.2 规划安装目录与权限

解压到哪个目录?这看似简单,却影响着后续的配置和运维。我不建议放在个人家目录下,特别是对于打算长期运行的服务。

# 假设我们规划 /opt 作为中间件目录
sudo mkdir -p /opt/kafka
sudo chown -R $USER:$USER /opt/kafka # 将所有权赋予当前用户,避免后续操作频繁使用sudo

# 解压到目标目录
tar -xzf kafka_2.12-3.6.0.tgz -C /opt/kafka --strip-components=1
cd /opt/kafka

使用 --strip-components=1 可以去掉压缩包最外层的版本号目录,让 /opt/kafka 直接就是 Kafka 的根目录,管理起来更清晰。现在,你的目录结构应该是这样的:

/opt/kafka/
├── bin/
├── config/
├── libs/
└── ...

3. 关键配置详解:每个参数都可能是个“坑”

config/server.properties 是 Kafka 的核心。网上很多教程给的配置示例过于简单,直接拷贝可能无法运行或存在安全隐患。

3.1 必须修改的核心参数

我们用 vim 或 nano 打开配置文件,重点关注以下几项:

# 重点配置项解析
broker.id=0  # 集群中每个 broker 的唯一 ID,单机可设为 0。

# 监听器配置 - 最容易出错的地方!
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://你的服务器IP:9092
  • listeners: Kafka 真正绑定监听的地址和端口。0.0.0.0 表示监听所有网络接口,这样你才能从本机以外的机器连接。如果只设 127.0.0.1,那么只有本机可以访问。
  • advertised.listeners: 客户端(生产者、消费者)连接时使用的地址。如果这个地址客户端无法访问,连接就会失败。在单机测试时,可以都设为 localhost:9092。但如果你的客户端运行在另一台机器(比如你的开发机),这里就必须填写服务器的 真实IP地址 或 可解析的主机名。

提示:如果你在云服务器(如 AWS EC2、阿里云 ECS)上部署,advertised.listeners 需要设置为云服务器的内网IP(供集群内通信)或公网IP(供外部客户端访问),并确保安全组/防火墙开放了 9092 端口。

3.2 数据目录与日志策略

默认日志目录在 /tmp 下,系统重启可能会被清理,必须修改。

# 修改日志存储目录
log.dirs=/opt/kafka/data-logs

创建这个目录并确保 Kafka 进程有写入权限:

mkdir -p /opt/kafka/data-logs

日志保留策略决定了你的数据能存多久、占多少空间。根据你的磁盘空间和业务需求调整:

# 日志保留策略:时间与大小限制,哪个先到就触发哪个
log.retention.hours=168      # 保留7天
log.retention.bytes=10737418240 # 单个分区日志段最大10GB
delete.topic.enable=true     # 允许删除主题(谨慎开启,生产环境建议false)

3.3 Zookeeper 连接配置

Kafka 3.6.0 依然依赖 Zookeeper 进行元数据管理(虽然新版本在向 KRaft 模式迁移)。确保连接信息正确。

zookeeper.connect=localhost:2181

如果你将 Zookeeper 也部署在同一台机器,保持默认即可。如果 Zookeeper 是集群,格式应为 ip1:port1,ip2:port2,ip3:port3。

4. 启动与验证:从进程到端口的全面诊断

配置好后,启动顺序不能错:先 Zookeeper,后 Kafka。

4.1 启动服务并检查进程

建议在 screen 或 tmux 会话中启动,以便观察启动日志。

# 启动 Zookeeper (以后台方式运行,并将日志输出到文件)
nohup bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper.log 2>&1 &

# 等待几秒,确保 Zookeeper 启动完成,再启动 Kafka
sleep 5
nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &

现在,检查进程是否存活:

ps -ef | grep -E \"(zookeeper|kafka)\" | grep -v grep

你应该看到两个 Java 进程。如果只有 Zookeeper 没有 Kafka,或者进程很快消失,问题通常出在配置或端口冲突上。第一时间查看日志:

tail -f kafka.log

4.2 诊断端口冲突与网络连通性

Kafka 默认用 9092 端口,Zookeeper 用 2181 端口。它们可能被其他程序占用。

# 检查端口是否被监听,以及监听地址是否正确
sudo netstat -tlnp | grep -E \":(2181|9092)\"

# 或者使用更现代的 ss 命令
sudo ss -tlnp | grep -E \":(2181|9092)\"

期望的输出应该显示 Java 进程正在监听 0.0.0.0:9092 和 :::2181 或 0.0.0.0:2181。如果看到的是 127.0.0.1:9092,说明你的 listeners 配置没改对。

接下来,从本机测试连通性:

# 测试 Zookeeper 端口
telnet localhost 2181
# 输入 `stat` 后回车,能看到 Zookeeper 版本信息即表示连接正常。

# 测试 Kafka 端口
telnet localhost 9092
# 能连接上(看到空白屏幕或尝试输入字符)即可,然后按 Ctrl+] 再输入 quit 退出。

如果 telnet 连接失败,检查防火墙:

# 查看 Ubuntu 防火墙状态
sudo ufw status

如果防火墙是激活状态,需要开放端口:

sudo ufw allow 2181/tcp
sudo ufw allow 9092/tcp

5. 基础功能测试:用命令行验证核心流程

服务跑起来且端口可访问,只是第一步。我们需要用 Kafka 自带的命令行工具走一遍生产消费的全流程,这是验证服务是否“健康”的金标准。

5.1 创建主题(Topic)

主题是消息的逻辑分类。创建时需要考虑分区数和副本因子。

cd /opt/kafka
# 创建一个名为 `quickstart-events` 的主题,1个分区,1个副本(单机只能为1)
bin/kafka-topics.sh --create \
    --bootstrap-server localhost:9092 \
    --topic quickstart-events \
    --partitions 1 \
    --replication-factor 1

成功会提示 Created topic quickstart-events.。如果报错 Connection refused,回到上一步检查 Kafka 进程和端口。如果报错 Replication factor must be larger than 0,说明你的 --bootstrap-server 地址可能不对,或者 Kafka 还没完全启动好。

查看主题详情,确认创建成功:

bin/kafka-topics.sh --describe \
    --bootstrap-server localhost:9092 \
    --topic quickstart-events

输出应包含主题名、分区数、副本分布等信息。

5.2 生产与消费消息

现在打开两个终端窗口,模拟生产者和消费者。

终端 A (生产者):

cd /opt/kafka
bin/kafka-console-producer.sh \
    --bootstrap-server localhost:9092 \
    --topic quickstart-events

输入提示符 > 会出现,此时你可以输入几条消息:

>Hello, Kafka!
>This is a test message.
>Goodbye.

每输入一行按回车,消息就被发送到 Kafka 了。按 Ctrl+C 退出。

终端 B (消费者):

cd /opt/kafka
bin/kafka-console-consumer.sh \
    --bootstrap-server localhost:9092 \
    --topic quickstart-events \
    --from-beginning

--from-beginning 参数表示从这个主题最早的消息开始消费。你应该会立刻看到在终端 A 中输入的所有消息。如果没有,检查两个终端连接的 --bootstrap-server 地址是否一致,并且确保消费者命令是在生产者发送消息之后启动的(或者使用了 --from-beginning)。

保持消费者终端运行,再回到生产者终端发送新消息,观察消费者终端是否能实时接收到。这是验证 Kafka 实时消息传递能力的关键。

6. 图形化工具实战:Kafka Assistant 与 IDEA 双保险

命令行测试通过,证明服务基础功能正常。但对于日常开发和调试,图形化工具更直观。我们分别用 Kafka Assistant(独立客户端)和 IDEA 插件来验证,这也能模拟不同客户端连接的情况。

6.1 使用 Kafka Assistant 进行管理

Kafka Assistant 是一款功能丰富的桌面客户端。连接时,最关键的点就是 Bootstrap Servers 地址。

  1. 连接配置:在连接设置中,输入 你的服务器IP:9092(例如 192.168.1.100:9092)。如果是在本机,可以用 localhost:9092。
  2. 验证连接:点击连接后,如果成功,左侧会列出所有 Topic,包括我们刚创建的 quickstart-events。
  3. 查看详情:
    • 点击 quickstart-events,可以查看分区信息、消息数量。
    • 在消息浏览器中,可以直接查看我们之前发送的 Hello, Kafka! 等消息内容。
    • 可以尝试在这里直接发送新消息,然后用命令行消费者验证是否能收到。

注意:如果 Kafka Assistant 连接失败,而命令行工具可以连接,99% 的问题出在 advertised.listeners 配置上。Kafka Assistant 作为外部客户端,会使用这个地址去连接,请确保这个地址在 Kafka Assistant 所在的机器上是可访问的。

6.2 在 IDEA 中集成测试

对于 Java 开发者,在 IDEA 里直接测试 Kafka 非常方便。你可以创建一个简单的 Java 测试类,使用 Kafka 客户端库。

首先,在你的 Maven 或 Gradle 项目中添加依赖:

<!-- Maven 依赖示例 -->
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
    <version>3.6.0</version>
</dependency>

然后,编写一个简单的生产者和消费者测试代码。这里的关键同样是 bootstrap.servers 配置属性。

import org.apache.kafka.clients.producer.*;
import org.apache.kafka.clients.consumer.*;
import java.util.Properties;
import java.time.Duration;
import java.util.Collections;

public class SimpleKafkaTest {
    private static final String BOOTSTRAP_SERVERS = "192.168.1.100:9092"; // 替换为你的地址
    private static final String TOPIC = "idea-test-topic";

    public static void main(String[] args) throws InterruptedException {
        // 1. 创建主题(如果不存在,需确保允许自动创建,或先用命令行创建)
        // 2. 运行生产者
        runProducer();
        // 3. 运行消费者
        runConsumer();
    }

    static void runProducer() {
        Properties props = new Properties();
        props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, BOOTSTRAP_SERVERS);
        props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer");
        props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer");

        try (Producer<String, String> producer = new KafkaProducer<>(props)) {
            ProducerRecord<String, String> record = new ProducerRecord<>(TOPIC, "key1", "Hello from IDEA!");
            producer.send(record, (metadata, exception) -> {
                if (exception == null) {
                    System.out.printf("Message sent to topic %s, partition %d, offset %d%n",
                            metadata.topic(), metadata.partition(), metadata.offset());
                } else {
                    exception.printStackTrace();
                }
            });
            producer.flush(); // 确保消息发送完成
        }
    }

    static void runConsumer() {
        Properties props = new Properties();
        props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, BOOTSTRAP_SERVERS);
        props.put(ConsumerConfig.GROUP_ID_CONFIG, "idea-test-group");
        props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringDeserializer");
        props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringDeserializer");
        props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest"); // 从最早的消息开始读

        try (Consumer<String, String> consumer = new KafkaConsumer<>(props)) {
            consumer.subscribe(Collections.singletonList(TOPIC));
            ConsumerRecords<String, String> records = consumer.poll(Duration.ofSeconds(5));
            for (ConsumerRecord<String, String> record : records) {
                System.out.printf("Consumed message: key = %s, value = %s, partition = %d, offset = %d%n",
                        record.key(), record.value(), record.partition(), record.offset());
            }
        }
    }
}

在 IDEA 中运行这个程序。观察控制台输出,如果能看到 “Message sent…” 和 “Consumed message: … Hello from IDEA!” 的日志,恭喜你,从 Java 客户端到 Kafka 服务器的整个通路已经完全打通。

7. 进阶排查与优化建议

走完上述流程,你的 Kafka 应该已经稳定运行了。但在长期使用前,还有几个深水区需要注意。

7.1 常见错误与解决方案

这里汇总几个我遇到过的典型问题:

错误现象可能原因解决方案
java.net.UnknownHostExceptionadvertised.listeners 使用了主机名,但客户端无法解析。在客户端机器的 hosts 文件中添加映射,或直接使用 IP 地址。
Connection refusedKafka 进程未启动;防火墙阻止;listeners 绑定地址错误。检查进程、端口监听状态 (netstat)、防火墙规则。
生产者发送成功,消费者收不到消费者组 (group.id) 不同,且未设置 auto.offset.reset=earliest。确保消费者能正确加入消费组,或指定从开始消费。
日志目录权限错误Kafka 进程用户对 log.dirs 目录没有写权限。使用 chown 和 chmod 修正目录权限。
启动时报内存不足默认 JVM 内存设置过小或过大。修改 bin/kafka-server-start.sh 中的 KAFKA_HEAP_OPTS 变量。

7.2 性能与监控初探

对于单机开发环境,你可能不关心性能。但了解基本监控方式有益无害。

  • 查看服务器状态:使用 jconsole 或 jvisualvm 连接 Kafka 的 Java 进程,可以观察堆内存、线程状态。
  • Kafka 自带工具:
    # 查看所有消费组
    bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
    # 查看特定消费组的消费偏移量详情
    bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group idea-test-group --describe
    
    这个命令的输出能告诉你消费组是否滞后(Lag),这是判断消费者是否健康的重要指标。

7.3 安全关闭服务

不要直接用 kill -9,这可能导致数据损坏。正确关闭顺序是:先停 Kafka,再停 Zookeeper。

# 在 Kafka 目录下
bin/kafka-server-stop.sh
# 等待一段时间(如30秒),再停止 Zookeeper
bin/zookeeper-server-stop.sh

可以用 ps -ef | grep 命令确认进程都已退出。

折腾完这一整套,从环境检查、配置调优、启动验证到多工具测试,你应该对 Kafka 在 Ubuntu 上的部署有了肌肉记忆。最深的体会就是,日志 (kafka.log 和 zookeeper.log) 是你最好的朋友,任何问题第一时间看日志,能解决 90% 的疑惑。另外,对于 listeners 和 advertised.listeners 的理解,是区分“照抄教程”和“真正掌握”的关键,特别是在涉及网络访问的时候。下次如果遇到客户端连不上的问题,先从这里开始排查,准没错。

Ubuntu 22.04下Kafka 4.0集群部署全流程:含JDK17配置与Systemctl服务集成 本文详细介绍了在Ubuntu 22.04生产环境中部署高可用Kafka 4.0集群的全流程。重点讲解了基于KRaft共识协议的无ZooKeeper架构配置,涵盖JDK17环境准备、三节点集群的详细参数设置、集群初始化步骤,以及如何集成Systemctl实现服务化管理与高可用验证。 阅读详情

相关推荐

Ubuntu 18.04 部署 Kafka 实战:Java 环境、ZooKeeper 与 systemd 深度适配

Apache Kafka 是分布式实时消息系统的事实标准,其核心原理依赖于 JVM 运行时、ZooKeeper 协调服务与网络协议栈的精密协同。技术价值体现在高吞吐、低延迟、强持久性三大特性,广泛应用于日志采集、事件驱动架构与流式数据处理等场景。但在 Ubuntu 18.04 这一关键 LTS 版本上,OpenJDK 11 的 TLS 策略限制、systemd 服务隔离机制及缺失的官方 apt 包,导致部署极易陷入 Java 环境不兼容与 ZooKeeper 连接失败等典型问题。本文聚焦真实生产环境中的可复

anwenzhao0749的博客 456

使用Kafka Assistant监控Kafka关键指标

监控Kafka关键指标

serene的博客 1606

SQL Assistant(SQL助手) 含序列号和破解替换文件-不会被拦截

分享SQL Assistant(SQL助手) 。内含SQL Assistant安装包、序列号以及替换文件。亲测,17.X版本的SQL Server依然可用。

使用 Kafka Assistant,为您的开发加速

快速查看所有 Kafka 集群,包括Brokers、Topics和Consumers支持各种认证模式:PLAINTEXT、SASL_PLAINTEXT、SSL、SASL_SSL对Kafka集群进行健康检查查看分区中的消息内容并添加新消息查看消费者订阅了哪些主题,以及分区被分配给了哪些消费者;当出现消息积压时,Kafka Assistant 帮您快速定位问题配合数据模板和定时器,您可以一次发送数千条消息进行性能测试,以了解系统如何处理负载。

serene的博客 1317

记一次springboot集成海康威视SDK过程

一开始没有接触过物联网这块,走了很多弯路,后面还是自己一点点摸索出来的。有个项目,需要对海康的门禁设备进行集成,后台统一管理设备,进行设备人脸数据的下发、删除等操作。3.我还接入了门禁设备的事件监听,门禁所有的事件都会上报到后台服务,这块代码有需要的可以找我。在linux系统中,sdk我使用的是绝对路径,把Linux版本的文件放到服务时,Acs文件夹下的 各个Manage都有现成的代码,可以根据自己的需要调用即可。路径也不要有中文,切记!2.sdk的存放路径不要有中文,不然会出现很多奇怪的问题。

huang_xiaoen的博客 2348

企业微信消息推送API实战:5步搞定可信IP与域名配置(含Python代码示例)

本文详细解析了企业微信消息推送API实战中的关键配置步骤,特别是可信IP与可信域名的配置流程。通过5个清晰步骤,结合Python代码示例,指导开发者快速完成安全通信链路搭建,避免常见错误,确保消息推送服务稳定可靠。

qsc9012345的博客 996

Kafka GUI+实时监控——Kafka Assistant

Kafka可视化工具,想要查看Topic里的消息却找不到软件,想要查看或更新Broker、Topic配置,想要监控Broker服务器状态?试试下面的Kafka GUI工具——Kafka Assistant

serene的博客 5478

无需Root!用VirtualXposed+JustTrustMe在安卓高版本上抓包拼多多API数据

本文详细介绍了在安卓高版本设备上无需Root权限即可抓取拼多多API数据的完整方案,通过VirtualXposed与JustTrustMe组合技术,有效绕过SSL Pinning限制。文章涵盖工具准备、环境配置、应用处理及实战分析,特别针对PDD应用的混合通信策略提供了专业解决方案,适合开发者进行竞品分析和数据采集。

weixin_28678151的博客 453

Kafka 监听器详解

是一款 Kafka GUI 管理工具——管理Broker,Topic,Group、查看消费详情、监控服务器状态、支持多种消息格式。

serene的博客 3680

ROS2初级面试题汇总

总结和收集了一些关于ros2的问题和解答记录

qq_57633442的博客 5567

【学习笔记】计算机网络 第八章 无线局域网(WLAN)

计算机网络 第八章 无线局域网(WLAN)

Vera_shsf的博客 1243

好用的Kafka可视化管理与监控工具

kafka

立身以力学为先,力学以读书为本。 —郑耕老《劝学》 2409

[学习笔记]Esp32 + 4G模块,随身wifi,ppp拨号上网

Esp32S3 + 4G模块制作随身WIFI教程

weixin_45595548的博客 7415

Ubuntu20.04上Kafka保姆级安装指南:从Java环境到消息收发全流程

本文提供了一份在Ubuntu 20.04系统上从零开始安装和配置Apache Kafka的详细指南。内容涵盖Java环境准备、ZooKeeper部署、Kafka核心配置解析、服务启动管理,并通过创建主题、使用控制台进行消息生产与消费的实战演示,帮助读者快速掌握Kafka的基础使用与关键配置,构建可用的消息队列服务。

sat99的博客 1012

mac(apple silicon)arm64安装spm12详细教程

3.下载matlab runtime R2023b for macOS (macA64),注意必须下载这个,只下载matlab是不可以的。默认安装目录是/Applications/MATLAB/MATLAB_Runtime/R2023b。注意最后的命令,路径根据自己的matlab_runtime安装位置进行调整,然后就可以安装成功了。5. 解压spm12.zip,解压后将文件夹拖到应用程序下(Applications)2.下载spm12,这个版本可兼容mac芯片!6.打开mac终端,输入。

weixin_62332001的博客 2024

本地部署AI应用:基于Google Gemini的banana-prompt快速上手指南

AI应用开发的核心在于将大模型能力集成到实际场景中,其原理是通过API调用将用户输入转化为模型可理解的指令,再由模型生成响应。这一技术价值在于降低AI应用开发门槛,实现数据本地化处理与隐私保护。在工程实践中,开发者常面临环境配置复杂、API集成繁琐等挑战。本文聚焦于使用banana-prompt工具包,通过TypeScript技术栈和npm包管理,快速在Windows本地部署基于Google Gemini API的AI应用。该方案特别适用于ai-prompts提示词工程和content-creation内容

weixin_27188815的博客 316

ubuntu20.04下Kafka安装部署及基础使用

ubuntu20.04下Kafka安装与部署及基础使用

DuebassLei的博客 4211

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Ubuntu 20.04.1 搭建单机kafka

Ubuntu 20.04.1 搭建单机kafka 很早之前有写过一篇搭建单机kafka的,但是这些服务一直在更新,我刚好要自己搭建一个新的环境,所以决定写一篇新的。 服务器环境:Ubuntu20.04、jdk1.8 准备工作 下载zookeeper3.6.2和kafka2.13-2.70 Zookeeper下载地址: 官网地址:https://zookeeper.apache.org/releases.html 点击Download,进入下载页面,点击下载 ...

hy_luckyyang的博客 1709

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

如何在 Ubuntu 22.04 上安装和使用 Apache Kafka

Apache Kafka是一个高性能、低延迟的分布式流处理平台,广泛用于构建实时数据管道和流式应用。本文将指导你如何在Ubuntu 22.04系统上快速部署Apache Kafka,让你体验到Kafka在处理大规模实时数据流方面的强大能力。通过本教程,你将学会如何安装、配置Kafka及其依赖的Zookeeper服务,并进行基本的测试以确保部署成功。Apache Kafka的核心优势在于其高吞吐量和分布式、容错的特性,使其成为处理大规模实时数据流的理想选择。高吞吐量。

weixin_53510183的博客 3467

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

在Ubuntu 14.04上安装Apache Kafka的方法

Apache Kafka 是一个流行的分布式消息代理,旨在高效处理大量实时数据。Kafka 集群不仅高度可扩展和容错,而且与其他消息代理(如 ActiveMQ 和 RabbitMQ)相比,吞吐量也更高。虽然它通常用作发布/订阅消息系统,但许多组织也将其用于日志聚合,因为它为发布的消息提供了持久存储。在本教程中,您将学习如何在 Ubuntu 14.04 上安装和使用 Apache Kafka 0.8.2.1。

rubys007的博客 822

Ubuntu 20.04 安装 Kafka 3.5.2 实战指南:避坑、配置与生产就绪

Apache Kafka 是一个高吞吐、分布式、容错的流处理平台,其核心原理依赖于Broker集群、ZooKeeper协调(或KRaft元数据管理)、日志分段存储与ISR副本同步机制。技术价值在于支撑实时数据管道、事件驱动架构和微服务解耦,广泛应用于日志收集、CDC同步、实时风控与推荐系统等场景。然而在 Ubuntu 20.04 这一特定LTS环境中,Java 11兼容性、systemd服务治理、advertised.listeners网络解析及内嵌ZooKeeper配置成为高频故障源。本文聚焦Kafka

weixin_34354945的博客 448

Ubuntu20.04上Kafka保姆级安装教程:从Java环境配置到消息收发实战

本文提供Ubuntu20.04上Kafka的保姆级安装教程,涵盖从Java环境配置到消息收发的完整流程。详细讲解Kafka集群部署、主题管理及Python客户端实战,帮助开发者快速掌握高可用消息队列的搭建与应用。

weixin_33670786的博客 184

Ubuntu 18.04 手动部署 Kafka 3.6.1 完整指南

Apache Kafka 是一种基于分布式日志的高吞吐消息队列系统,其核心原理依赖于分区副本机制、ZooKeeper 协调服务与 JVM 运行时环境。掌握 Kafka 部署不仅关乎消息收发功能实现,更直接影响流处理架构(如 Flink/Spark Streaming)的数据接入稳定性与可运维性。在 Ubuntu 18.04 这类长期支持但源已归档的系统中,手动部署二进制包成为保障版本可控、路径清晰和调试自由的关键实践。本文聚焦 Kafka 3.6.1 与 ZooKeeper 3.8.3 的协同安装,覆盖 O

weixin_33849215的博客 411

Ubuntu18.04 docker kafka 本地测试环境搭建

Kafka是一种分布式流处理平台,也是一个高吞吐量的分布式发布订阅消息系统。它由LinkedIn开发,并于2011年成为Apache软件基金会的顶级项目。Kafka的设计目标是能够处理大规模的消息流,并提供持久性、高吞吐量和低延迟的特性。它的核心概念是发布-订阅模型,其中消息被组织成一个或多个主题(Topics),生产者(Producers)将消息发布到主题中,而消费者(Consumers)从主题中订阅并处理消息。

mayue_web的博客 1186

kafka单机版环境搭建与测试

一、前期的准备 1.linux环境 在VMware 下安装了Ubuntu14.04(32位), 内存分配 :1G; 2.kafka下载 kafka官网下载kafka的压缩包,本文用的是 kafka_2.9.2-0.8.1.tgz 在Home下新建一个文件夹test_kafka,并将kafka_2.9.2-0.8.1.tgz放在其中,并解压 tar -xzf kafka_2.9

IT成长 1万+

Ubuntu22.04快速搭建Kafka集群环境指南

本文提供了一份在Ubuntu 22.04系统上快速搭建高可用Apache Kafka三节点集群的详细指南。内容涵盖从系统准备、Java环境安装、ZooKeeper集群配置,到Kafka集群部署、服务管理及基础故障排查的全过程,旨在帮助开发者在半小时内构建一个可用于开发和测试的稳定分布式消息处理环境。

weixin_29190573的博客 324
上一篇: 威联通Container Station实战:用Docker三件套搭建企业级GitLab(附邮件服务器配置)
下一篇: Java验签踩坑记:当SHA256withRSA/PSS遇到只有摘要没有原文时怎么办?
android
博客等级 码龄22年 47粉丝 1455原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值