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
 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

5c/c++内存管理

1. C/C内存分布 int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1[10] { 1, 2, 3, 4 };char char2[] "abcd";const char* pChar3 "abcd";int* ptr1 (int*)malloc(sizeof(int) * 4);i…

Tomcat-web服务器介绍以及安装部署

一、Tomcat简介 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用…

国产编辑器EverEdit - 超多样式设置

1 设置-编辑-样式 1.1 设置说明 1.1.1 折叠样式 默认为箭头,折叠样式选项如下: 箭头: 矩形和线条 五边形 圆形图标 1.1.2 光标样式 光标用于指示当前用户输入位置,光标样式选项如下: 默认 纤细 字宽 …

【DeepSeek】5分钟快速实现本地化部署教程

一、快捷部署 (1)下载ds大模型安装助手,下载后直接点击快速安装即可。 https://file-cdn-deepseek.fanqiesoft.cn/deepseek/deepseek_28348_st.exe (2)打开软件,点击立即激活 (3)选…

2025系统架构师(一考就过):(2016-2017)案例+论文历年真题及解析系列二

24、管道-过滤器风格 和 数据仓库风格 对比(2016真题) 比较因素管道-过滤器风格数据仓储风格交互方式顺序结构或有限的循环结构星型数据结构数据流文件或模型控制结构数据流驱动业务功能驱动扩展方法接口适配模型适配25、用例及其关系、类及其关系(2016真题) 用例是对系统…

Artec Leo+Ray II 三维扫描仪成功为VR展数字化30吨重设备-沪敖3D

挑战:在贸易展上展示重达30吨的机械设备,同时克服设备搬运和展示的难题,减轻物流负担。。 解决方案:Artec Leo、Artec Ray II、Artec Studio、Blender、Unity、Microsoft HoloLens、HTC VIVE PRO 效果:在虚拟展厅中&am…

Flink深入浅出之01:应用场景、基本架构、部署模式

Flink 1️⃣ 一 、知识要点 📖 1. Flink简介 Apache Flink — Stateful Computations over Data StreamsApache Flink 是一个分布式大数据处理引擎,可对有界数据流和无界数据流进行有状态的计算。Flink 能在所有常见集群环境中运行,并能以…

Docker新手入门(持续更新中)

一、定义 快速构建、运行、管理应用的工具。 Docker可以帮助我们下载应用镜像,创建并运行镜像的容器,从而快速部署应用。 所谓镜像,就是将应用所需的函数库、依赖、配置等应用一起打包得到的。 所谓容器,为每个镜像的应用进程创建…

DeepSeek R1学习入门

一、什么是 DeepSeek R1 2025.01.20 DeepSeek-R1 发布,DeepSeek R1 是 DeepSeek AI 开发的第一代推理模型,擅长复杂的推理任务,官方对标OpenAI o1正式版。适用于多种复杂任务,如数学推理、代码生成和逻辑推理等。 根据官方信息D…

[数据库笔记(二)]表的增删改查(基础)

目录 前言 CRUD 新增 单行数据全列插入 ​编辑 多行数据指定列插入 查询 全列查询 指定列查询 查询字段为表达式 别名&#xff1a;AS 别名去重&#xff1a;distinct 排序&#xff1a;order by 条件查询&#xff1a;where 运算符 和 <>的区别 between...…

Redis——缓存穿透、击穿、雪崩

缓存穿透 什么是缓存穿透 缓存穿透说简单点就是大量请求的 key 根本不存在于缓存中&#xff0c;导致请求直接到了数据库上&#xff0c;根本没有经过缓存这一层。举个例子&#xff1a;某个黑客故意制造我们缓存中不存在的 key 发起大量请求&#xff0c;导致大量请求落到数据库…

网络安全ctf试题 ctf网络安全大赛真题

MISC 1 签到 难度 签到 复制给出的flag输入即可 2 range_download 难度 中等 flag{6095B134-5437-4B21-BE52-EDC46A276297} 0x01 分析dns流量&#xff0c;发现dns && ip.addr1.1.1.1存在dns隧道数据&#xff0c;整理后得到base64: cGFzc3dvcmQ6IG5zc195eWRzIQ 解…

蓝桥备赛(11)- 数据结构、算法与STL

一、数据结构 1.1 什么是数据结构&#xff1f; 在计算机科学中&#xff0c;数据结构是一种 数据组织、管理和存储的格式。它是相互之间存在一种 或多种特定关系的数据元素的集合。 ---> 通俗点&#xff0c;数据结构就是数据的组织形式 &#xff0c; 研究数据是用什么方…

VsCode + EIDE + OpenOCD + STM32(野火DAP) 开发环境配置

VsCode EIDE OpenOCD STM32(野火DAP) 开发环境配置 接受了新时代编辑器的我&#xff0c;实在受不了Keil的上古编辑页面&#xff0c;周树人说过&#xff1a;由奢入俭难&#xff0c;下面我们一起折腾一下开源软件Vscode&#xff0c; 用以开发51和STM32&#xff0c;有错误之处&…

esp32驱动带字库芯片TFT屏幕

前言 学习esp32单片机开发&#xff0c;前段时间在网上买了一块2.0寸TFT屏幕。 长这个样子&#xff0c;这个屏幕带汉字字库的硬件模块。我仔细看了一下这个字库模块上面写的字是25Q32FVSIG 1336 文档 卖家也发来了开发文档&#xff0c;是个doc文档&#xff0c;张这个样子。 开…

短分享-Flink图构建

一、背景 通过简单的书写map、union、keyby等代码&#xff0c;Flink便能构建起一个庞大的分布式计算任务&#xff0c;Flink如何实现的这个酷炫功能呢&#xff1f;我们本次分享Flink做的第一步&#xff0c;将代码解析构建成图 源码基于Flink 2.10&#xff0c;书籍参考《Flink核…

在 ASP.NET Core 中启用 Brotli 和 Gzip 响应压缩

在本文中&#xff0c;我们将探讨如何在 ASP.NET Core 应用程序中启用响应压缩&#xff0c;重点介绍 Brotli 和 Gzip 算法以及如何验证压缩是否有效。 什么是响应压缩&#xff1f; 响应压缩通过使用Brotli 或 Gzip等算法来最小化 HTTP 响应的大小。这些算法在传输文本资产&#…

调研:如何实现智能分析助手(Agent)(AutoCoder、FastGPT、AutoGen、DataCopilot)

文章目录 调研&#xff1a;如何实现智能分析助手&#xff08;Agent&#xff09;&#xff08;AutoCoder、FastGPT、AutoGen、DataCopilot&#xff09;一、交互流程二、数据流程三、架构分类四、开源产品4.1 AutoCoder&#xff08;知识库变体&#xff09;4.2 FastGPT&#xff08;…

由麻省理工学院计算机科学与人工智能实验室等机构创建低成本、高效率的物理驱动数据生成框架,助力接触丰富的机器人操作任务

2025-02-28&#xff0c;由麻省理工学院计算机科学与人工智能实验室&#xff08;CSAIL&#xff09;和机器人与人工智能研究所的研究团队创建了一种低成本的数据生成框架&#xff0c;通过结合物理模拟、人类演示和基于模型的规划&#xff0c;高效生成大规模、高质量的接触丰富型机…

Oracle OCP认证考试考点详解083系列01

题记&#xff1a; 本系列主要讲解Oracle OCP认证考试考点&#xff08;题目&#xff09;&#xff0c;适用于19C/21C,跟着学OCP考试必过。 1. 第1题&#xff1a; 题目 解析及答案&#xff1a; 关于自动工作量存储库&#xff08;AWR&#xff09;快照&#xff0c;以下哪三个选项…