威联通安装Kafka

最近在学习 Kafka 的知识,遇到一些问题网上搜到的信息不全。想要在本地安装一个 Kafka 进行验证,想到了之前买的 Nas 就开始折腾。

用 Docker 的方式安装 Kafka

现在的 Nas 很多都支持 Docker,我买的也支持。威联通的 Docker 叫 Container Station,因为提供了图形化界面就不用写命令了。现在的 Kafka 似乎可以在没有 Zookeeper 的情况下运行,但我考虑到万一以后要用到 Zookeeper 再腾出时间来安装太费事了,就索性一起装了。

安装 Zookeeper

选择映像

Zookeeper 的映像我使用的是搜索出来的第一个镜像,因为看起来像是官方出品。下载完映像后开始安装过程。
在这里插入图片描述

发布网络端口

配置一下Zookeeper 对外暴露的网络端口,这个映像已经把用到的端口写上了,只需要配置主机上要暴露的端口就可以了。如果不填就是与容器的端口保持一致,我直接在所有的端口前面加了一个 1(2181 变成 12181)。容器端口最好不要改,如果改了的话要在 Kafka 的配置里做相同的更改。
在这里插入图片描述

存储映射

在高级设置中配置文件夹的映射,映像也已经把用到的几个文件夹提出来了(本来还想去网上搜一下要用的哪些文件夹)。为了方面看文件,我把这三个文件夹 绑定装载主机路径,绑定到 Nas 的文件夹里。
在这里插入图片描述

Zookeeper 安装完成

配置完网络和存储就直接安装完成了,Zookeeper 自己会启动。等启动完之后看日志没有报错,再登录容器执行 zkCli.sh,能连接上就说明成功了。

安装 Kafka

选择映像

Kafka 的映像我使用的是星星最多的 bitnami/kafka 映像。下载映像后直接开始安装。
在这里插入图片描述

配置文件

Kafka 依赖几个配置文件,要在安装之前先准备好并放到 Nas 上的一个目录里,我在 Nas 上新建了一个 Container\kafka\config 目录,在安装 Kafka 的步骤里映射到容器里。

server.properties

server.properties 是 Kafka 的核心配置文件,没有启动会报错。文件的内容如下

broker.id=0
listeners=PLAINTEXT://{Ip}:{Port}
log.dirs=/var/lib/kafka/data
zookeeper.connect={Ip}:{Port}
  • broker.id:Broker 的 id,随便写一个大于等于 0 的整数就可以了
  • listeners:监听的端口,PLAINTEXT:// 是固定的,后面是 ip 和端口,默认端口是 9092,没有特殊需求可以不用改
  • log.dirs:日志文件夹
  • zookeeper.connect:Zookeeper 的 ip 和端口.注意这里的端口是 zk 容器的端口,不要写成主机映射的端口(在安装 zookeeper 时不管有没有绑定主机端口都没有影响,用容器端口)
log4j.properties

Kafka 的日志文件,网上直接拷贝一份就可以了。我是直接在 Github 上拉的 Kafka 项目里的 log4j.properties 文件。

tools-log4j.properties

Kafka 工具的日志文件,同样网上直接拷贝。我还是直接在 Github 上拉的 Kafka 项目里的 tools-log4j.properties 文件。

网络映射

这个映像文件已经把要用的端口提出来了,根据需要绑定主机端口,如果不填就是对外暴露 9092 端口。
在这里插入图片描述

存储映射

存储映射的时候配置文件的目录是一定要绑定的,因为要把刚才新建的几个配置文件映射到容器里让 Kafka 能够使用。我还映射了一个 data 文件夹,方便后面看文件学习。
在这里插入图片描述

Kafka 安装完成

网络映射和存储映射都配置好了之后,就可以完成安装了。等容器启动完成后看下日志,没有报错就算成功了。为了验证安装是否成功可以登录容器创建一个 Topic

kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --create --replication-factor 1 --partitions 1 --topic first-topic

注意这里的 ip 和端口一定要和配置文件里的一致,不然可能会报错。Topic 创建成功就说明 Kafka 安装成功了(其实只要 Kafka 响应了就算安装成功了)。

关于网络

安装之间看到有文章说 Docker 容器之间互相访问需要对网络做一些配置,想着先安装完试一下再说。结果安装完直接可以用,不需要对网络做处理,不知道是否威联通做了处理。反正不用处理最好。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/778808.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于vue的MOBA类游戏攻略分享平台的设计与实现|Springboot+Vue+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW,文末可获取本项目的所有资料。 推荐阅读100套最新项目持续更新中..... 2024年计算机毕业论文(设计)学生选题参考合集推荐收藏(包含Springboot、jsp、ssmvue等技术项目合集) 目录 1. …

Leo赠书活动-22期 【大模型在金融行业的应用场景和落地路径】文末送书

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 赠书活动专栏 ✨特色专栏:…

Go的数据结构与实现【Stack】

介绍 栈是存放值的一种特殊容器,在插入与删除值时,这种结构遵循后进先出(Last-in-first-out,LIFO)的原则,也就是说,值可以任意插入栈中,但每次取出的都是此前插入的最后一个值。 实…

Linux:详解TCP协议段格式

文章目录 认识TCPTCP协议段格式 本篇主要总结的是TCP协议的一些字段 认识TCP TCP协议全称是传输控制协议,也就是说是要对于数据的传输进行一个控制 以上所示的是对于TCP协议进行数据传输的一个理解过程 全双工 至此就可以对于TCP协议是全双工的来进行理解了&…

纸上得来终觉浅->代码详解锁升级

背景 最近再看关于锁升级的内容,一方面这个是编写代码时程序性能提高的一个利器,另一方面这部分也会是面试时候的热门话题。那么作者最开始也是通过b站视频包括一些csdn上面的资料去看,最终发现只是有一些结论,而没有具体的例子。…

​python学习之变量类型​

print单纯输中的十种数据类型只需要用print()函数即可,()里面直接写变量名。 下面重点介绍print格式输出: 第一种方法:一个萝卜一个坑,下面的代码中,{0}、{1}、{2}分别表示j,i,j*i,单引号里面是输出格式。…

什么是土壤墒情检测站?它在农业生产中有什么作用?

土壤墒情检测站是一种专门用于监测土壤水分状况和土壤水力性质的设备。它由多个传感器和数据采集单元组成,能够实时监测土壤中的水分含量、土壤温度等参数,并收集和记录相关的数据,提供土壤墒情(即土壤水分状态)的详细…

【学习】软件测试人员如何设计出优秀的测试用例

在软件开发的过程中,测试用例如同工程质量的守护者,它们的存在确保了软件产品的稳定性和可靠性。然而,如何设计出优秀的测试用例,让其在千变万化的软件世界中独领风骚,成为众多测试工程师追寻的目标。本文将为你揭示其…

Android RecyclerView 滑动后选中的条目居中显示

话不多说先看效果: 实录效果视频如下 滚动居中 RecyclerView 在原有的RecyclerView 基础上操作,其他步骤不变,只是替换一下 manager 步骤 导入依赖 maven { url https://www.jitpack.io }//无限滚动implementation com.github.ZhaoChanghu:GalleryLayou…

1、Cocos Creator 基础入门

目录 Cocos Creator 是什么? 语言支持 功能特性 工作流程 功能模块 相关游戏 参考 Cocos Creator 是什么? Cocos Creator 既是一款高效、轻量、免费开源的跨平台 2D&3D 图形引擎,也是一个实时 2D&3D 数字内容创作平台。拥有…

Java开发过程中如何进行进制换换

最近由于工作上的需要,遇到进制转换的问题。涉及到的进制主要是十进制、十六进制、二进制转换。 1、十进制转十六进制、二进制 调用java自带的api,测试十进制转16进制、2进制 package com.kangning.common.utils.reflect;/*** 十进制 转 十六进制* 十进制 转 二进…

机器学习算法的另一个分支-贝叶斯算法原理(贝叶斯要解决什么问题)

目录 一、贝叶斯简介 二、贝叶斯要解决的问题 三、例子(公式推导) 四、实例 1. 拼写纠正实例 2. 垃圾邮件过滤实例 一、贝叶斯简介 1. 贝叶斯:英国数学家。1702年出生于伦敦,做过神甫。贝叶斯在数学方面主要研究概率论.对于…

初识C++ · 入门(1)

目录 前言: 1 命名空间 2 输入和输出 3 缺省参数 5 函数重载 前言: C与C语言是有一定交集的,可以理解为本贾尼在使用C语言的时候认为有缺陷,于是加了一些小语法进行改良,后来经过委员会的修改,C98问世…

深度学习故障诊断实战 | 数据预处理之基于滑动窗的数据样本增强

前言 本期给大家分享介绍如何基于滑动窗方法进行数据样本增强 背景 深度学习模型训练需要大量的样本。在故障诊断领域,每个类别大都会达到300个样本。但是在实际公开数据集中,以CWRU数据集为例,每个类别只有24组数据,这明显是不…

CSGO赛事管理系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW,文末可获取本项目的所有资料。 推荐阅读100套最新项目持续更新中..... 2024年计算机毕业论文(设计)学生选题参考合集推荐收藏(包含Springboot、jsp、ssmvue等技术项目合集) 目录 1. 系…

ExpandableNotificationRow的父类layout

ExpandableNotificationRow的父类layout NotificationsQuickSettingsContainer NotificationPanelView NotificationShadeWindowView ExpandableNotificationRow 就是下图的一个 Notification: USB连接 。 何时创建一个ExpandableNotificationRow 并且被添加到Not…

Spring Boot 工程开发常见问题解决方案,日常开发全覆盖

本文是 SpringBoot 开发的干货集中营,涵盖了日常开发中遇到的诸多问题,通篇着重讲解如何快速解决问题,部分重点问题会讲解原理,以及为什么要这样做。便于大家快速处理实践中经常遇到的小问题,既方便自己也方便他人&…

护眼台灯对眼睛有危害吗?多款预防近视的台灯推荐

在日常生活中,灯光对于我们而言,是非常重要的,尤其是在夜晚,不管是学习还是办公都需要合适的光线环境。很多家长为了保护孩子的视力会选择从台灯下手,但又不知道护眼台灯对眼睛有危害吗?今天就来好好的告诉…

【MySQL】数据库--表操作

目录 一、创建表 二、查看表 三、修改表 1. 添加字段--add 2.修改表名--rename to 3.修改列名--change 4.修改字段的数据类型--modify 5.删除字段(列)--drop 四、删除表 一、创建表 create [temporary]table[if not exists]table_name [([colu…

python如何获取word文档的总页数

最近在搞AI. 遇到了一个问题,就是要进行doc文档的解析。并且需要展示每个文档的总页数。 利用AI. 分别尝试了chatGPT, 文心一言, github copilot,Kimi 等工具,给出来的答案都不尽如人意。 给的最多的查询方式就是下面这种。 这个…