美文网首页
树莓派 + KRaft (Kafka Raft) + Java(

树莓派 + KRaft (Kafka Raft) + Java(

作者: 焜_8899 | 来源:发表于2021-11-02 10:11 被阅读0次

请注意本文编辑时间↑
我在查资料的时候遇到好多现在已经不适用了的……

1. 树莓派安装Java

配置环境变量

2. 树莓派运行KRaft (Kafka Raft)

每一步参考了不同的文献

2.1 Generate a cluster ID

官方:

$ ./bin/kafka-storage.sh random-uuid
xtzWWN4bTjitpL3kfd9s5g

我的:

$ ./bin/kafka-storage.sh random-uuid
Java HotSpot(TM) Server VM warning: G1 GC is disabled in this release.
P3ewPgDaRVyi8I1pCPq9AQ

中间那一行我忽略了没管。

2.2 Format Storage Directories

官方:

$ ./bin/kafka-storage.sh format -t <uuid> -c ./config/kraft/server.properties
Formatting /tmp/kraft-combined-logs

我的:

$ ./bin/kafka-storage.sh format -t P3ewPgDaRVyi8I1pCPq9AQ -c ./config/kraft/server.properties
Java HotSpot(TM) Server VM warning: G1 GC is disabled in this release.
Formatting /tmp/kraft-combined-logs

2.3 允许监听非本地请求

官方没有这一步。
首先打开配置文件。

$ sudo nano ./config/kraft/server.properties

advertised.listeners=PLAINTEXT://localhost:9092这一行内容用#注释掉。
配置文件里对这一段的说明是

Hostname and port the broker will advertise to producers and consumers. If not set, it uses the value for "listeners" if configured. Otherwise, it will use the value returned from java.net.InetAddress.getCanonicalHostName().

2.4 Start the Kafka Server

$ ./bin/kafka-server-start.sh ./config/kraft/server.properties

2.5 Create Topic

需要开启另一个终端窗口(因为第一个窗口里正在运行Kafka服务器)。

$ ./bin/kafka-topics.sh --create --topic foo --partitions 1 --replication-factor 1 --bootstrap-server localhost:9092
Created topic foo.

以下步骤可要可不要,所以用括号标了一下。

(2.6 在树莓派上启动生产者)

官方

$ bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092
This is my first event
This is my second event

我的:

$ bin/kafka-console-producer.sh --topic foo --bootstrap-server localhost:9092
Java HotSpot(TM) Server VM warning: G1 GC is disabled in this release.
>123
>456

然后就可以输入各种消息。

(2.7 在树莓派上启动消费者)

需要再开启另一个终端窗口(因为第二个窗口里正在运行Kafka生产者)。

官方

$ bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092
This is my first event
This is my second event

我的:

$ bin/kafka-console-consumer.sh --topic foo --from-beginning --bootstrap-server localhost:9092
Java HotSpot(TM) Server VM warning: G1 GC is disabled in this release.
123
456

(2.8 把Kafka服务器放在后台运行)

3. 树莓派放通端口

3.1 安装防火墙

sudo apt-get install ufw

3.2 放通ssh端口(用于ssh连接)

sudo ufw allow 22

3.3 放通Kafka端口

sudo ufw allow 9092

3.4 启动防火墙

sudo ufw enable

(3.5 放通远程桌面连接端口)

sudo ufw allow 3389

3.6 其它

假如执行防火墙有关的命令时遇到报错

ERROR: Couldn't determine iptables version

则需要将树莓派重启一下

sudo reboot

4. Java连接Kafka

4.1 Producer

4.2 Consumer

5. 补充

按照上述步骤操作,仅能在树莓派与电脑直连的情况下实现数据传输。当二者不是直接连接时,即使在同一局域网下,虽然可以远程登录树莓派,但也无法通过Kafka传输数据。这一问题目前尚未解决。(但找同学借个Mac可以)

相关文章

  • 树莓派 + KRaft (Kafka Raft) + Java(

    请注意本文编辑时间↑我在查资料的时候遇到好多现在已经不适用了的…… 1. 树莓派安装Java 配置环境变量 2. ...

  • Kafka基于Kraft下的权限控制

    Kafka基于Kraft下的权限控制 本文基于kafka的版本 3.2.0, 之前的版本无法使用本文所提到的方法。...

  • 树莓派---JAVA操作GPIO

    引言 我身边大部分朋友是使用JAVA的,他们都对树莓派有不少兴趣,所以我干脆也探索一下如何使用JAVA来操作树莓派...

  • 【kafka】kafka 的 kraft模式

    课程分为四部分:主体技术讲解、外部系统集成、生产调优手册、源码解析。基于最新稳定版本Kafka3.x,加入最新的K...

  • 树莓派针脚图

    树莓派40Pin引脚对照表 本表格适用于树莓派B+、树莓派2B、树莓派A+,并且兼容树莓派B,树莓派B为26Pin...

  • 树莓派上手资料

    树莓派开箱上手教程树莓派下载资料使用手机连接树莓派1使用手机连接树莓派2树莓派实验室无显示屏启动树莓派 如何用pu...

  • 树莓派技术网站导航

    树莓派官网 安装 树莓派Mac OS X下安装系统开启ssh登陆 使用教程 树莓派实验室树莓派吧树莓派中文站 项目...

  • 可移动的图像识别小车(树莓派+摄像头)

    熟悉树莓派 树莓派介绍 树莓派安装系统 picamera的API 树莓派连接显示器不亮屏的解决方案 树莓派摄像头的...

  • 树莓派连接WiFi实现无线上网

    问题:我的树莓派怎么上网呢? 解答: 树莓派基金会于2016年2月发布了树莓派3,较前一代树莓派2,树莓派3的处理...

  • 树莓派4没显示器?手机来凑

    一、快速查找树莓派的IP 二、ssh连接树莓派 三、vnc连接树莓派

网友评论

      本文标题:树莓派 + KRaft (Kafka Raft) + Java(

      本文链接:https://www.haomeiwen.com/subject/tirtzltx.html