当前位置: 首页 > article >正文

JDK ZOOKEEPER KAFKA安装

JDK17下载安装

mkdir -p /usr/local/develop

cd /usr/local/develop

将下载的包上传服务器指定路径

解压文件

tar -zxvf jdk-17.0.14_linux-x64_bin.tar.gz -C /usr/local/develop/

修改文件夹名

mv /usr/local/develop/jdk-17.0.14 /usr/local/develop/java17

配置环境变量

vim /etc/profile
 

export JAVA_HOME=/usr/local/develop/17

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib

保存之后让环境变量生效

source /etc/profile

KAFKA下载安装

kafka.apache.org

将下载的包放到/usr/local/develop路径下

解压

tar -xvf kafka_2.13-3.9.0.tgz -C /usr/local/develop/

Kafka 的版本命名方式 kafka_2.13-3.9.0 可以拆分成两部分:

  1. 2.13:指的是 Scala 版本
  2. 3.9.0:指的是 Kafka 的版本号

cd kafka_2.13-3.9.0

命令区别

在解压JDK和KAFKA时候

JDK用了tar -zxvf  而KAFKA用了 tar -xvf的原因

Kafka启动方式

kafka基于Scala开发,需要Java8+环境

有两种启动方式

1种是基于zookeeper  另外一种是基于KRaft(用于取代Zookeeper)

基于ZOOKEEPER启动

(zookeeper也是java开发的)

进去kafka的bin目录

cd /usr/local/develop/kafka_2.13-3.9.0/bin

先启动zookeeper 并指定Zookeeper的配置文件  即使不指定应该也是用的这个配置文件

nohup ./zookeeper-server-start.sh ../config/zookeeper.properties > /usr/local/develop/zookeeper.log 2>&1 &

启动kafka

nohup ./kafka-server-start.sh ../config/server.properties > /usr/local/develop/zookeeper.log 2>&1 &

关闭kafka

./kafka-server-stop.sh

关闭zookeeper

./zookeeper-server-stop.sh

可以通过

netstat -nlpt   查看使用的端口

基于KRaft启动(无需zookeeper)

cd /usr/local/develop/kafka_2.13-3.9.0/bin

生成 Cluster UUID(集群ID)

./kafka-storage.sh random-uuid              可以多次执行  每次生成的UUID不同

格式化存储 format -t  后面是集群ID 然后指定配置

./kafka-storage.sh format -t zvalKa2rSxmM_NUp6hOxxQ -c ../config/kraft/server.properties &
启动 Kafka

nohup ./kafka-server-start.sh ../config/kraft/server.properties > /usr/local/develop/zookeeper.log 2>&1 &

关闭

./kafka-server-stop.sh
 

解释:事实上UUID可以随意   但是当第一次启动之后 在/tmp/kraft-combined-logs 中已经将zvalKa2rSxmM_NUp6hOxxQ集群ID写入   可以

rm -rf /tmp/kraft-combined-logs   这样的话  集群ID是123也可以启动

./kafka-storage.sh format -t 123 -c ../config/kraft/server.properties &

使用独立zookerper

kafka自带了zookerper

zookeeper下载安装

都一样  随便点击下载   或者用wget下载

cd /usr/local/develop

wget https://dlcdn.apache.org/zookeeper/zookeeper-3.9.3/apache-zookeeper-3.9.3-bin.tar.gz

解压

tar -zxvf apache-zookeeper-3.9.3-bin.tar.gz -C /usr/local/develop/

cd apache-zookeeper-3.9.3-bin

配置zookeeper

cd /usr/local/develop/apache-zookeeper-3.9.3-bin/conf

cp zoo_sample.cfg zoo.cfg

启动zookeeper

./zkServer.sh start                    默认就会用zoo.cfg的配置

./zkServer.sh stop     关闭zookeeper

netstat -nlpt           查看使用的端口和pid

zookeeper会启用一个8080端口  为避免端口冲突   修改下配置

ZooKeeper的8080端口主要用于管理界面和REST API服务‌。ZooKeeper的默认管理端口是8080,通过这个端口可以访问ZooKeeper的管理界面和REST API,从而进行配置管理、监控和调试等操作‌

kill之后重启zookeeper    或者在zookeeper的bin目录下执行   ./zkServer.sh stop

ZooKeeper的8080端口主要用于管理界面和REST API服务‌。ZooKeeper的默认管理端口是8080,通过这个端口可以访问ZooKeeper的管理界面和REST API,从而进行配置管理、监控和调试等操作‌

不了解之前  安全组还是关闭的好

用独立zookeeper启动kafka

先启动zookeeper

nohup/usr/local/develop/apache-zookeeper-3.9.3-bin/bin/zkServer.sh start

启动kafka

nohup /usr/local/develop/kafka_2.13-3.9.0/bin/kafka-server-start.sh /usr/local/develop/kafka_2.13-3.9.0/config/server.properties > /usr/local/develop/zookeeper.log 2>&1       后面加&  不加是前台启动

关闭kafka

/usr/local/develop/kafka_2.13-3.9.0/bin/kafka-server-start.sh

关闭zookeeper

ps -ef|grep zoo

或者

netstat -nlpt

然后kill 

通过Docker安装kafka

1.安装docker

查看是否安装过docker

yum list installed|grep docker

卸载docker

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

安装最新版本docker

设置docker的下载镜像  这个适合国外,国内可能有点慢

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
 

国内用这个
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

上面两个命令-->/etc/yum.repos.d/ 目录中新增一个 .repo 配置文件,让 yum 能够从指定的 Docker 仓库下载软件包。    docker-ce.repo作用是指定去哪里下载镜像  镜像源配置文件

/etc/yum.repos.d

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

sudo systemctl start docker

设置docker开机自启

sudo systemctl enable docker

配置docker镜像加速器

vim /etc/docker/daemon.json

{
  "registry-mirrors": [
    "https://dockerproxy.com",
    "https://mirror.baidubce.com",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.sjtug.sjtu.edu.cn"
  ]
}
 

加载配置

sudo systemctl daemon-reload

如果无法启动 配置vim /etc/docker/daemon.json的时候格式有误

sudo systemctl restart docker


systemctl status docker   查看docker状态

systemctl stop docker   停止docker

也可以使用

service docker start   启动

service docker stop   停止

service docker restart  重启

2.docker安装kafka

docker search kafka

可以查看kafka文档

也可以上docker查看

我这里就按kafka官方推荐的

拉取镜像也可以直接run  没有就会自动下载

docker pull apache/kafka-native:3.9.0

先要启动zookeeper 

docker run -d --name dckafka -p 9092:9092 apache/kafka:3.9.0

Docker配置Kafka

以上方式启动kafka的话,用于本地测试,外部无法连接

https://hub.docker.com/r/apache/kafka

Docker容器的kafka三种配置方式,

1.就是默认配置 (因没有配置,外部无法连接,只有本地测试可用)

2.文件输入:提供一个本地kafka属性配置文件,替换docker容器中kafka的默认配置

3.环境变量:通过-e 变量  在启动时候覆盖默认配置中的对应属性值

在kafka的docker容器内部 /etc/kafka/docker  下有个server.properties

需要将这个文件放到宿主机

mkdir -p /usr/local/develop/docker/kafka/data

创建Topic

这里暂时用传统方式启动zookeeper和kafka    用kafka自带的zookeeper

进去kafka的bin目录

cd /usr/local/develop/kafka_2.13-3.9.0/bin

先启动zookeeper

nohup ./zookeeper-server-start.sh ../config/zookeeper.properties > /usr/local/develop/zookeeper.log 2>&1 &

启动kafka

nohup ./kafka-server-start.sh ../config/server.properties > /usr/local/develop/zookeeper.log 2>&1 &

# 1. 创建主题  --bootstrap-server localhost:9092指要连接的kafka服务器
./kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092

./kafka-topics.sh --create --topic quickstart-events2 --partitions 2 --bootstrap-server localhost:9092    指定分区数量
修改分区数量(分区数量只能加 不能减 (删了重新创建))

./kafka-topics.sh --alter --topic quickstart-events2 --partitions 5 --bootstrap-server localhost:9092

# 2. 列出所有主题
./kafka-topics.sh --list --bootstrap-server localhost:9092

# 3. 显示主题详细信息
./kafka-topics.sh --describe --topic quickstart-events2 --bootstrap-server localhost:9092

# 4. 删除主题
./kafka-topics.sh --delete --topic quickstart-events --bootstrap-server localhost:9092

Kafka和EMQX的区别

生产者消费者通信(发送接收)

示例:

创建Topic

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

生产者发送消息

./kafka-console-producer.sh --topic topic-0 --bootstrap-server localhost:9092  回车后建立生产者的连接通道,消息就会被发送到 Kafka topic-0 主题中。

消费者读消息(拉取)  --from-beginning 消费拉取该topic所有历史消息 (因此每次启动都可以重复消费)

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

没有--from-beginning 只会消费(拉取)新消息 消费者启动之后生产者发送的消息

./kafka-console-consumer.sh --topic topic-0 --bootstrap-server localhost:9092
 

相关文章:

JDK ZOOKEEPER KAFKA安装

JDK17下载安装 mkdir -p /usr/local/develop cd /usr/local/develop 将下载的包上传服务器指定路径 解压文件 tar -zxvf jdk-17.0.14_linux-x64_bin.tar.gz -C /usr/local/develop/ 修改文件夹名 mv /usr/local/develop/jdk-17.0.14 /usr/local/develop/java17 配置环境变量…...

c++雅兰亭库 (yalantinglibs) 介绍及使用(序列化、json和结构体转换、协程

c雅兰亭库 (yalantinglibs) 介绍及使用(序列化、json和结构体转换、协程)-CSDN博客 雅兰亭库(yalantinglibs)介绍 雅兰亭库,名字很优雅,也很强大。它是阿里开源的一个现代C基础工具库的集合, 现在包括 struct_pack, struct_json, struct_xml, struct_yam…...

深度融合,智领未来丨zAIoT 全面集成 DeepSeek,助力企业迎接数据智能新时代

前言 Introduction 在数字化浪潮汹涌澎湃的当下,数据智能成为企业破局与创新的关键驱动力。zAIoT 作为云和恩墨面向 AIData 时代推出的数据智能平台软件,凭借其全面且强大的“采存算用”一体化功能体系,正在为航空航天、工业制造等领域和态势…...

类和对象—多态—案例2—制作饮品

案例描述: 制作饮品的大致流程为:煮水-冲泡-倒入杯中-加入辅料 利用多态技术实现本案例,提供抽象制作产品基类,提供子类制作咖啡和茶叶 思路解析: 1. 定义抽象基类 - 创建 AbstractDrinking 抽象类,该类…...

VSCode 配置优化指南:打造高效的 uni-app、Vue2/3、JS/TS 开发环境

VSCode 配置优化指南,适用于 uni-app、Vue2、Vue3、JavaScript、TypeScript 开发,包括插件推荐、设置优化、代码片段、调试配置等,确保你的开发体验更加流畅高效。 1. 安装 VSCode 如果你还未安装 VSCode,可前往 VSCode 官网 下载最新版并安装。 2. 安装推荐插件 (1) Vue…...

低代码平台的后端架构设计与核心技术解析

引言:低代码如何颠覆传统后端开发? 在传统开发模式下,一个简单用户管理系统的后端开发需要: 3天数据库设计5天REST API开发2天权限模块对接50个易出错的代码文件 而现代低代码平台通过可视化建模自动化生成,可将开发…...

Redis中多大的Key算热key,该如何解决

在 Redis 中,“热key” 是指频繁访问的 Redis 键。这些键通常会导致 Redis 服务器的性能下降,甚至可能导致 Redis 服务不可用。热key 的大小是相对的,通常来说,以下几个因素可能导致一个 Redis 键成为热key: 访问频率…...

机器学习数学基础:43.外生变量与内生变量

外生变量与内生变量:模型中的因果角色 在因果模型(像结构方程模型、回归分析这类)里,外生变量和内生变量是用来区分变量来源和相互关系的重要概念。下面从定义、实例、差异以及应用场景四个方面来详细介绍: 一、定义…...

单元测试与仿真程序之间的选择

为什么写这篇文章 现在的工作需求,让我有必要总结和整理一下。 凡事都有适用的场景。首先这里我需要提示一下,这里的信息,可能并不普适。 但是可以肯定一点的是,有些人,不论做事还是写书,上下文还没有交待…...

一周学会Flask3 Python Web开发-SQLAlchemy简介及安装

锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili SQLAlchemy是Python编程语言下的一款开源软件。提供了SQL工具包及对象关系映射(ORM)工具,…...

【玩转正则表达式】正则表达式常用语法汇总

1. 基本字符 普通字符:匹配自身。例如,正则表达式hello匹配字符串中的“hello”。\d:匹配任何数字字符,相当于[0-9]。例如,\d\d\d匹配三个连续的数字。 示例:123、456 \w:匹配任何字母数字字符…...

django中序列化器serializer 的高级使用和需要注意的点

在 Django REST framework(DRF)中,序列化器(Serializer)是一个强大的工具,用于将复杂的数据类型(如 Django 模型实例)转换为 Python 原生数据类型,以便将其渲染为 JSON、XML 等格式,同时也能将接收到的外部数据反序列化为 Django 模型实例。以下将介绍序列化器的高级…...

如何下载安装 PyCharm?

李升伟 整理 一、下载 PyCharm 访问官网 打开 PyCharm 官网,点击 "Download" 按钮25。 版本选择: 社区版(Community):免费使用,适合个人学习和基础开发。 专业版(Professional&#…...

URL中的特殊字符与web安全

在现代Web应用中,URL作为客户端与服务器之间的通信桥梁,承载着大量的重要信息。URL中的特殊字符,看似只是一些常见的符号,但在Web安全领域,它们与其他安全知识密切相关,如在Base64编码、SQL注入&#xff0c…...

Golang学习笔记_41——观察者模式

Golang学习笔记_38——享元模式 Golang学习笔记_39——策略模式 Golang学习笔记_40——模版方法模式 文章目录 一、核心概念1. 定义2. 解决的问题3. 核心角色4. 类图 二、特点分析三、适用场景1. 股票价格监控系统2. 物联网设备状态监控3. 电商订单状态通知 四、Go语言实现示例…...

中原银行:从“小机+传统数据库”升级为“OceanBase+通用服务器”,30 +系统成功上线|OceanBase DB大咖说(十五)

OceanBase《DB 大咖说》第 15 期,我们邀请到了中原银行金融科技部数据团队负责人,吕春雷。本文为本期大咖说的精选。 吕春雷是一位资历深厚的数据库专家,从传统制造企业、IT企业、甲骨文公司到中原银行,他在数据库技术与运维管理…...

slam学习笔记9---ubuntu2004部署interactive_slam踩坑记录

背景:interactive_slam是一款可用于离线优化点云地图算法。部署安装容易出问题,这里记录一下。 一、安装基本流程 绝大部分跟着readme走,g2o安装使用apt安装 interactive_slam depends on the following libraries:GL3W GLFW Dear ImGui p…...

MVC模式全解析

MVC 模式:概念与架构基石 在软件开发的广袤宇宙中,MVC 模式宛如一颗璀璨的恒星,照亮了无数开发者前行的道路。它是一种经典的软件架构模式,全称为 Model - View - Controller,即模型 - 视图 - 控制器 ,将应…...

游戏引擎学习第140天

回顾并为今天的内容做准备 目前代码的进展到了声音混音的部分。昨天我详细解释了声音的处理方式,声音在技术上是一个非常特别的存在,但在游戏中进行声音混音的需求其实相对简单明了,所以今天的任务应该不会太具挑战性。 今天我们会编写一个…...

LeetCode热题100JS(44/100)第八天|二叉树的直径|二叉树的层序遍历|将有序数组转换为二叉搜索树|验证二叉树搜索树|二叉搜索树中第K小的元素

543. 二叉树的直径 题目链接:543. 二叉树的直径 难度:简单 刷题状态:1刷 新知识: 解题过程 思考 示例 1: 输入:root [1,2,3,4,5] 输出:3 解释:3 ,取路径 [4,2,1,3] 或…...

【虚拟化】Hyper-V 与 WSL 2

关于 Hyper-V 与 WSL 2 的简介 Hyper-V 是微软出的 Type-I 型 Hypervisor,根据微软官方说 WSL 2 用了 Hyper-V 架构的子集,称为虚拟机平台(Virtual Machine Platform),是 Windows 中的一个可选组件,所以你…...

力扣刷题DAY6(滑动窗口/中等+栈/简单、中等)

一、滑动窗口 找到字符串中所有字母异位词 方法一&#xff1a;哈希表 class Solution { public:vector<int> findAnagrams(string s, string p) {vector<int> ans;unordered_map<char, int> target;for (int i 0; i < p.size(); i) {target[p[i]];}in…...

MySQL中的共享锁和排他锁

MySQL 中的锁可以从多个维度进行分类&#xff0c;其中从模式上可以分为共享锁&#xff08;Shared Lock&#xff0c;S Lock&#xff09;和 排他锁&#xff08;Exclusive Lock&#xff0c;X Lock&#xff09;。 共享锁&#xff08;Shared Lock&#xff0c;S Lock&#xff09; 共…...

HarmonyOS ArkTS声明式UI开发实战教程

引言&#xff1a;为何选择ArkTS&#xff1f; 在HarmonyOS生态快速发展的当下&#xff0c;ArkTS作为新一代声明式UI开发框架&#xff0c;正在引发移动应用开发范式的变革。笔者曾在多个跨平台框架开发中经历过"命令式编程之痛"&#xff0c;直到接触ArkTS后才发现&…...

【AI】【Unity】关于Unity接入DeepseekAPI遇到的坑

前言 由于deepseek网页端在白天日常抽风&#xff0c;无法正常的使用&#xff0c;所以调用API就成了目前最好的选择&#xff0c;尤其是Deepseek的API价格低得可怕&#xff0c;这不是和白送的一样吗&#xff01;然后使用过很多本地部署接入API的方式&#xff0c;例如Chatbox、Pa…...

虚拟机 | Ubuntu图形化系统: open-vm-tools安装失败以及实现文件拖放

系列文章目录 虚拟机 | Ubuntu 安装流程以及界面太小问题解决 文章目录 系列文章目录虚拟机 | Ubuntu 安装流程以及界面太小问题解决 前言一、VMware Tools 和 open-vm-tools 是什么1、VMware Tools2、open-vm-tools 二、推荐使用open-vm-tools&#xff08;简单&#xff09;1、…...

zabbix 监控的内存溢出问题 out of memory

zabbix 由于是docker 建置 zabbix-server-server 在web端出现异常情况 经过检查发现docker status 显示Restarting (0) 4 seconds ago 频繁在重起 经过docker logs 分析查看到 __zbx_shmem_malloc(): out of memory (requested 256 bytes) 问题 191:20250306:023902.993 m…...

【DeepSeek】Ubuntu快速部署DeepSeek(Ollama方式)

文章目录 人人都该学习的DeepSeekDeepSeek不同版本功能差异DeepSeek与硬件直接的关系DeepSeek系统兼容性部署方式选择部署步骤&#xff08;Ollama方式&#xff09;1.选定适合的deepseek版本2.环境准备3.安装Ollama4.部署deepseek5.测试使用 人人都该学习的DeepSeek DeepSeek 作…...

升级到Android Studio 2024.2.2 版本遇到的坑

一、上来就编译报错&#xff0c;大概率是因为选择了替换安装&#xff0c;本地配置文件出错 找到本地当前版本的配置文件&#xff0c;删掉&#xff0c;重启studio就好了&#xff1a; 1、打开终端 2、“cd /Users/用户名/Library/Application\ Support/Google” //到Google目录 …...

2025最新Transformer模型及深度学习前沿技术应用

第一章、注意力&#xff08;Attention&#xff09;机制 1、注意力机制的背景和动机&#xff08;为什么需要注意力机制&#xff1f;注意力机制的起源和发展里程碑&#xff09;。 2、注意力机制的基本原理&#xff08;什么是注意力机制&#xff1f;注意力机制的数学表达与基本公…...