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

kafka与zookeeper的集群

基础配置

systemctl stop firewalld && systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/configvi /etc/hosts
ip1 node1
ip2 node2
ip3 node3

zookeeper介绍

zookeeper是一个分布式的协调服务,主要用于维护集群的元数据信息和配置信息。kafka集群依赖其存储、管理自身元数据、配置。

zookeeper在kafka中的作用

1、管理broker节点:broker的上下线、topic信息、partition信息、副本;
2、存储、管理集群的元数据信息和配置:broker的ip地址、端口、topic、partition的分配;
3、监控broker节点状态:实现fail over和load balance;

在这里插入图片描述

zk安装配置

#全节点
yum install -y java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64#提前配好
vi /etc/profile
export KAFKA_HOME=/kafka_2.12-2.0.0
export ZK_HOME=/apache-zookeeper-3.7.1-bin
export KE_HOME=/efak-web-3.0.1
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$KAFKA_HOME/bin:$ZK_HOME/bin:$KE_HOME/bin:$JAVA_HOME/bin:$JRE_HOME/bintar -xvf apache-zookeeper-3.7.1-bin.tar.gz
mkdir -p /apache-zookeeper-3.7.1-bin/data
mkdir -p /apache-zookeeper-3.7.1-bin/logcp conf/zoo_sample.cfg conf/zoo.cfg
cat zoo.cfg 
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/apache-zookeeper-3.7.1-bin/data
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1## Metrics Providers
#
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true
dataLogdir=/apache-zookeeper-3.7.1-bin/log
server.1=ip1:2888:3888
server.2=ip2:2888:3888
server.3=ip3:2888:3888#节点1至3
echo "1" > /apache-zookeeper-3.7.1-bin/data/myid
echo "3" > /apache-zookeeper-3.7.1-bin/data/myid
echo "3" > /apache-zookeeper-3.7.1-bin/data/myid#启动、停止
./zkServer.sh start
./zkServer.sh stop

kafka介绍

kafka是一个高性能、低延迟、分布式的消息传递系统,特点在于实时处理数据。其集群由多个成员节点broker组成,每个节点都可以独立处理消息传递和存储任务。
在这里插入图片描述

kafka安装配置

#全节点
tar -xvf kafka_2.12-2.0.0.tgzvi config/server.properties
log.dirs=/var/log/kafka-logs
zookeeper.connect=ip1:2181,ip2:2181,ip3:2181#1至3节点
broker.id:0
listeners=PLAINTEXT://ip1:9092broker.id:1listeners=PLAINTEXT://ip2:9092broker.id:2
listeners=PLAINTEXT://ip3:9092#启动顺序:先启动zookeeper,后启动kafka
#关闭顺序:先关闭kafka,后关闭zookeeper (可使用kill命令直接关闭)
cd /kafka_2.12-2.0.0
kafka-server-start.sh -daemon config/server.properties &

开启JMX功能用于监控

#全节点
vi /kafka_2.12-2.0.0/bin/kafka-server-start.sh
export JMX_PORT="9999"

在这里插入图片描述

可视化监控eagle

tar -zvxf v3.0.1.tar.gz
cd kafka-eagle-bin-3.0.1 && tar -zxvf kafka-eagle-web-3.0.1-bin.tar.gzyum install -y mariadb*mysqladmin -uroot -p password Mdb123#MariaDB [(none)]>create user eagle@localhost identified by 'kafka123#';
MariaDB [(none)]>select user,host from mysql.user;
MariaDB [(none)]>create database ke;
MariaDB [(none)]>exitvi /etc/profile
export KE_HOME=/efak-web-3.0.1
export PATH=$PATH:$KAFKA_HOME/bin:$ZK_HOME/binvi /efak-web-3.0.1/conf/system-config.propertiescluster1.zk.list=ip1:2181,ip2:2181,ip3:2181
efak.driver=com.mysql.cj.jdbc.Driver
efak.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
efak.username=efak
efak.password=kafka123#ke.sh start

在这里插入图片描述

集群启动

在这里插入图片描述

按照以上配置,首先启动zookeeper服务,确保znode节点都能够相互通信、协作,然后启动kafka服务,broker按照不同topic、partition选举为不同leader、follower,实现消息传递和存储任务的分布式协作。

相关文章:

kafka与zookeeper的集群

基础配置 systemctl stop firewalld && systemctl disable firewalld setenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/configvi /etc/hosts ip1 node1 ip2 node2 ip3 node3zookeeper介绍 zookeeper是一个分布式的协调服务,主要用…...

sqlalchemy 连接池

报错 sqlalchemy.exc.TimeoutError: QueuePool limit of size 100 overflow 10 reached, connection timed out, timeout 30 (Background on this error at: http://sqlalche.me/e/3o7r) 查看数据库未活动超时时间 show variables like "interactive_timeout";一般…...

用Blender制作YOLO目标检测器训练数据

推荐:用 NSDT编辑器 快速搭建可编程3D场景 本文将介绍一种非常有吸引力的机器学习训练数据的替代方案,用于为给定的特定应用程序收集数据。 无论应用程序类型如何,这篇博文都旨在向读者展示使用 Blender 等开源资源生成合成数据(S…...

c++视觉处理---均值滤波

均值滤波 cv::blur()函数是OpenCV中用于应用均值滤波的函数。均值滤波是一种简单的平滑技术,它计算每个像素周围像素的平均值,并用该平均值替代原始像素值。这有助于降低图像中的噪声,并可以模糊图像的细节。 以下是cv::blur()函数的基本用…...

QT基础入门——Qt事件(五)

前言: 事件(event)是由系统或者 Qt 本身在不同的时刻发出的。当用户按下鼠标、敲下键盘,或者是窗口需要重新绘制的时候,都会发出一个相应的事件。一些事件在对用户操作做出响应时发出,如键盘事件等&#x…...

自学黑客方法-----(网络安全)

如果你想自学网络安全,首先你必须了解什么是网络安全!,什么是黑客!! 1.无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如 Web 安全技术,既有 Web 渗透2.也有 Web 防…...

Dockerfile自定义容器

1、Dockerfile Dockerfile 是用于构建 Docker 镜像的文本文件,其中包含一系列的指令和配置,用于定义镜像的构建过程。通过 Dockerfile,你可以定义镜像的基础操作系统、依赖、环境设置、应用程序等信息,从而实现可复制、自动化的镜…...

(5)SpringMVC处理携带JSON格式(“key“:value)请求数据的Ajax请求

SpringMVC处理Ajax 参考文章数据交换的常见格式,如JSON格式和XML格式 请求参数的携带方式 浏览器发送到服务器的请求参数有namevalue&...(键值对)和{key:value,...}(json对象)两种格式 URL请求会将请求参数以键值对的格式拼接到请求地址后面,form表单的GET和POST请求会…...

【iOS】——仿写计算器

文章目录 一、实现思路二、实现方法三、判错处理 一、实现思路 先搭建好MVC框架,接着在各个模块中实现各自的任务。首先要创建好UI界面,接着根据UI界面的元素来与数据进行互动,其中创建UI界面需要用到Masonry布局。 二、实现方法 在calcu…...

公安机关警务vr综合实战模拟训练提高团队合作能力

公安出警VR虚拟仿真培训软件是VR公司利用VR虚拟现实和web3d开发技术,对警务执法过程中可能发生的各种场景进行还原、模拟、演练,结合数据分析,实施量化考核,提高学员的心理承压、应急处突、遇袭反应和临危处置综合能力。 公安出警…...

MySQL-1(12000字详解)

一:数据库的引入 数据库在我们以后工作中是一个非常常用的知识,数据库用来存储数据,但是有些同学可能就会疑惑了,存储数据用文件就可以了,为什么还要弄个数据库呢? 文件保存数据有以下几个缺点&#xff1…...

voc数据集格式与yolo数据集格式的区别及相互转化

Pascal VOC数据集是目标检测领域最常用的标准数据集之一,几乎所有检测方向的论文都会给出其在VOC数据集上训练并评测的效果。VOC数据集包含的信息非常全,它不仅被拿来做目标检测,也可以拿来做分割等任务,因此除了目标检测所需的文…...

超详细!Android Termux上如何安装MySQL,内网穿透实现公网远程访问

文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前言 Android作为移动设备,尽管最初并非设计为服务器,但是随着技术的进步我们可以将Android配置为生产力工具,变成一个随身…...

TSNE降维学习

在学习使用Cora数据集时,输入的初始为[2708, 1433], 输入一共有2708个点,每个节点有1433个特征。测试集的大小为[1000, 1433]最后的输出为[1000, 7],表示每个点的类别。 我们要的就是查看这个[1000, 7]的预测结果。想要将他展示在一个平面上是…...

基于Python+Selenium的web自动化测试框架详解

简介 随着Web应用程序的广泛应用和不断发展,Web自动化测试已经成为软件质量保证中的一个重要环节。而PythonSelenium作为一组强大的工具和框架,已经成为Web自动化测试领域中的热门技术之一。PythonSelenium可以帮助我们快速、准确地模拟用户行为和操作&…...

C (1094) : DS双向链表—前驱后继

Description 在双向链表中,A有一个指针指向了后继节点B,同时,B又有一个指向前驱节点A的指针。这样不仅能从链表头节点的位置遍历整个链表所有节点,也能从链表尾节点开始遍历所有节点。 对于给定的一列数据,按照给定的…...

mp4视频太大怎么压缩变小?

mp4视频太大怎么压缩变小?确实,很多培训和教学都转向了线上模式,这使得我们需要下载或分享大量的在线教学视频。然而,由于MP4视频文件通常较大,可能会遇到无法打开或发送的问题。为了解决这个问题,我们可以…...

利用easy excel 实现文件导出

一.创建实体类 package com.siact.product.jwp.module.report.dto;import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alib…...

LongLoRA:超长上下文,大语言模型高效微调方法

麻省理工学院和香港中文大学联合发布了LongLoRA,这是一种全新的微调方法,可以增强大语言模型的上下文能力,而无需消耗大量算力资源。 通常,想增加大语言模型的上下文处理能力,需要更多的算力支持。例如,将…...

【漏洞复现】某 NVR 视频存储管理设备远程命令执行

漏洞描述 NUUO NVR是中国台湾NUUO公司旗下的一款网络视频记录器,该设备存在远程命令执行漏洞,攻击者可利用该漏洞执行任意命令,进而获取服务器的权限。 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律&am…...

重磅发布!2026网络安全六大趋势,决定企业安全布局

安全牛重磅发布!2026 网络安全六大趋势,决定企业安全布局 《2026年网络安全趋势研究报告》,立足 2025 年网络安全行业发展背景,分析了当下行业核心特征与挑战,预判 2026 年网络安全六大核心技术发展趋势,并…...

ARM服务器生态挑战:从技术理想主义到商业现实的冷静分析

1. 数据中心微服务器市场:喧嚣背后的冷静审视最近几年,只要聊到数据中心硬件的未来,ARM架构进军服务器市场这个话题就一定会被反复提起。媒体和分析师们描绘了一幅美好的图景:低功耗、高密度的ARM微服务器将颠覆由英特尔X86主导的…...

Seraphine:你的英雄联盟智能游戏伙伴,让每一局游戏都更从容

Seraphine:你的英雄联盟智能游戏伙伴,让每一局游戏都更从容 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 你是否曾在英雄联盟的BP阶段犹豫不决,错过了最佳选择&#xff1…...

STM32CubeMX LL库定时器中断避坑指南:为什么你的中断不触发?

STM32CubeMX LL库定时器中断避坑指南:为什么你的中断不触发? 在嵌入式开发中,定时器中断是最基础也最常用的功能之一。然而,当开发者从标准库转向LL库(Low Layer Library)时,往往会遇到各种&quo…...

Python face_recognition 库实战:从环境搭建到人脸特征点检测

1. 环境准备:搭建人脸识别的开发环境 第一次接触人脸识别开发时,最让人头疼的就是环境配置。记得我刚开始用face_recognition库时,光是安装依赖就折腾了大半天。后来才发现,其实只要掌握几个关键步骤,整个过程可以非常…...

Ajax技术和Axois工具库

前端如何才能动态展示数据?如何动态获取后端的数据呢? 目录 文章目录 一、什么是Ajax? 二、什么是Axios? 核心用途 三、如何在Vue项目中使用Axios? 1、安装Axios 2、引入Axios 3、基础使用 4、拦截器 5、async/await是什么? 总…...

从NOI真题到算法思维:向量叉积在计算几何中的实战解析

1. 向量叉积:从数学公式到代码实现 第一次接触NOI真题中计算三角形面积的题目时,我被那个看似复杂的向量叉积公式吓了一跳。但当我真正理解它的原理后,才发现这简直是计算几何中的"瑞士军刀"。让我们从一个具体的例子开始&#xff…...

Keil5 UV4目录下的global.prop文件,除了改黑色背景还能玩出什么花样?

Keil5 UV4目录下的global.prop文件:从黑色主题到深度定制指南 如果你已经厌倦了Keil5默认的白色界面,或者对网上流传的"黑色背景修改教程"感到意犹未尽,那么这篇文章将带你深入探索global.prop这个配置文件的无限可能。作为Keil μ…...

从90%到99%:实战提升Tesseract在C++项目中的识别准确率(附调参技巧)

从90%到99%:实战提升Tesseract在C项目中的识别准确率(附调参技巧) 在工业级文档处理系统中,我们常遇到这样的困境:测试集上的OCR识别准确率卡在90%左右,而业务部门要求必须达到99%以上才能上线。去年负责某…...

5分钟掌握直播间数据抓取:Live Room Watcher终极指南

5分钟掌握直播间数据抓取:Live Room Watcher终极指南 【免费下载链接】live-room-watcher 📺 可抓取直播间 弹幕, 礼物, 点赞, 原始流地址等 项目地址: https://gitcode.com/gh_mirrors/li/live-room-watcher Live Room Watcher是一款基于Java开发…...