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

Hadoop生态圈框架部署(五)- Zookeeper完全分布式部署

文章目录

  • 前言
  • 一、Zookeeper完全分布式部署(手动部署)
    • 1. 下载Zookeeper
    • 2. 上传安装包
    • 2. 解压zookeeper安装包
    • 3. 配置zookeeper配置文件
      • 3.1 创建 zoo.cfg 配置文件
      • 3.2 修改 zoo.cfg 配置文件
      • 3.3 创建数据持久化目录并创建myid文件
    • 4. 虚拟机hadoop2安装并配置Zookeeper
    • 5. 虚拟机hadoop3安装并配置Zookeeper
    • 6. 配置Zookeeper系统环境变量
      • 4.1 配置虚拟机hadoop1的Zookeeper环境变量
      • 4.2 配置虚拟机hadoop2的Zookeeper环境变量
      • 4.3 配置虚拟机hadoop3的Zookeeper环境变量
    • 5. 启动Zookeeper集群
    • 6. 查看Zookeeper集群状态
  • 二、使用shell脚本自动部署Zookeeper完全分布式(选看)
    • 1. 下载Zookeeper
    • 2. 上传安装包
    • 3. 使用shell脚本自动部署Zookeeper完全分布式
      • 3.1 创建 hadoop1_zookeeper_install_config.sh 脚本文件并添加脚本内容
      • 3.2 添加可执行权限
      • 3.3 执行脚本
    • 4. 加载环境变量
    • 5. 启动Zookeeper集群
    • 6. 查看Zookeeper集群状态


前言

  1. 介绍在虚拟机hadoop1、hadoop2和hadoop3部署完全分布式Zookeeper
  2. 配置zookeeper配置文件
  3. 配置zookeeper环境变量
  4. 启动zookeeper及查看zookeeper集群状态
  5. 提供shell脚本自动化安装zookeeper完全分布式

一、Zookeeper完全分布式部署(手动部署)

1. 下载Zookeeper

点击下载zookeeper3.7.0安装包:https://archive.apache.org/dist/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz

2. 上传安装包

通过拖移的方式将下载的zookeeper安装包apache-zookeeper-3.7.0-bin.tar.gz上传至虚拟机hadoop1的/export/software目录。

在这里插入图片描述

2. 解压zookeeper安装包

虚拟机hadoop1上传完成后将zookeeper安装包通过解压方式安装至/export/servers目录。

tar -zxvf /export/software/apache-zookeeper-3.7.0-bin.tar.gz -C /export/servers/

在这里插入图片描述

重命名
虚拟机hadoop1把解压后的安装目录apache-zookeeper-3.7.0-bin重命名为zookeeper-3.7.0,重命名是为了简化路径,其次是为了标准化命名。

mv /export/servers/apache-zookeeper-3.7.0-bin /export/servers/zookeeper-3.7.0

在这里插入图片描述

3. 配置zookeeper配置文件

3.1 创建 zoo.cfg 配置文件

虚拟机hadoop1通过复制Zookeeper的模板配置文件zoo_sample.cfg创建配置文件zoo.cfg。

cp /export/servers/zookeeper-3.7.0/conf/zoo_sample.cfg /export/servers/zookeeper-3.7.0/conf/zoo.cfg

在这里插入图片描述

3.2 修改 zoo.cfg 配置文件

虚拟机hadoop1修改 zoo.cfg 配置文件,执行如下命令修改和添加配置文件内容。

cat >/export/servers/zookeeper-3.7.0/conf/zoo.cfg <<EOF
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/export/data/zookeeper/zkdata
clientPort=2181server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888
EOF

在这里插入图片描述

3.3 创建数据持久化目录并创建myid文件

虚拟机hadoop1创建数据持久化目录并创建myid文件。

mkdir -p /export/data/zookeeper/zkdata
echo 1 > /export/data/zookeeper/zkdata/myid

在这里插入图片描述

虚拟机hadoop2创建数据持久化目录并创建myid文件。

mkdir -p /export/data/zookeeper/zkdata
echo 2 > /export/data/zookeeper/zkdata/myid

在这里插入图片描述

虚拟机hadoop3创建数据持久化目录并创建myid文件。

mkdir -p /export/data/zookeeper/zkdata
echo 3 > /export/data/zookeeper/zkdata/myid

在这里插入图片描述

4. 虚拟机hadoop2安装并配置Zookeeper

虚拟机hadoop1使用scp命令把虚拟机hadoop1的zookeeper的安装目录复制到虚拟机hadoop2的相同目录下,就相当于在hadoop2安装并配置了zookeeper。

scp -r /export/servers/zookeeper-3.7.0/ hadoop2:/export/servers/

在这里插入图片描述

5. 虚拟机hadoop3安装并配置Zookeeper

虚拟机hadoop1使用scp命令把虚拟机hadoop1的zookeeper的安装目录复制到虚拟机hadoop3的相同目录下,就相当于在hadoop3安装并配置了zookeeper。

scp -r /export/servers/zookeeper-3.7.0/ hadoop3:/export/servers/

在这里插入图片描述

6. 配置Zookeeper系统环境变量

4.1 配置虚拟机hadoop1的Zookeeper环境变量

虚拟机hadoop1使用echo命令向环境变量配置文件/etc/profile追加环境变量内容。

echo >> /etc/profile
echo 'export ZK_HOME=/export/servers/zookeeper-3.7.0' >> /etc/profile
echo 'export PATH=$PATH:$ZK_HOME/bin' >> /etc/profile

配置环境变量后,需要使用如下命令加载环境变量配置文件/etc/profile,使用Zookeeper的环境变量生效。

source /etc/profile

在这里插入图片描述

4.2 配置虚拟机hadoop2的Zookeeper环境变量

虚拟机hadoop2使用echo命令向环境变量配置文件/etc/profile追加环境变量内容。

echo >> /etc/profile
echo 'export ZK_HOME=/export/servers/zookeeper-3.7.0' >> /etc/profile
echo 'export PATH=$PATH:$ZK_HOME/bin' >> /etc/profile

配置环境变量后,需要使用如下命令加载环境变量配置文件/etc/profile,使用Zookeeper的环境变量生效。

source /etc/profile

在这里插入图片描述

4.3 配置虚拟机hadoop3的Zookeeper环境变量

虚拟机hadoop3使用echo命令向环境变量配置文件/etc/profile追加环境变量内容。

echo >> /etc/profile
echo 'export ZK_HOME=/export/servers/zookeeper-3.7.0' >> /etc/profile
echo 'export PATH=$PATH:$ZK_HOME/bin' >> /etc/profile

配置环境变量后,需要使用如下命令加载环境变量配置文件/etc/profile,使用Zookeeper的环境变量生效。

source /etc/profile

在这里插入图片描述

5. 启动Zookeeper集群

虚拟机hadoop1执行如下命令启动zookeeper。

zkServer.sh start

在这里插入图片描述

虚拟机hadoop2执行如下命令启动zookeeper。

zkServer.sh start

在这里插入图片描述

虚拟机hadoop3执行如下命令启动zookeeper。

zkServer.sh start

在这里插入图片描述

6. 查看Zookeeper集群状态

虚拟机hadoop1执行如下命令查看Zookeeper集群状态是否正常。

zkServer.sh status

在这里插入图片描述

虚拟机hadoop2执行如下命令查看Zookeeper集群状态是否正常。

zkServer.sh status

在这里插入图片描述

虚拟机hadoop3执行如下命令查看Zookeeper集群状态是否正常。

zkServer.sh status

在这里插入图片描述

如果集群启动正常如上图所示,会有一个领导者leader,两个跟随者follower。

若要停止Zookeeper集群运行,依次在虚拟机hadoop1、hadoop2和hadoop3执行如下命令停止Zookeeper服务。

zkServer.sh stop

二、使用shell脚本自动部署Zookeeper完全分布式(选看)

1. 下载Zookeeper

点击下载zookeeper3.7.0安装包:https://archive.apache.org/dist/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz

2. 上传安装包

通过拖移的方式将下载的zookeeper安装包apache-zookeeper-3.7.0-bin.tar.gz上传至虚拟机hadoop1的/export/software目录。

在这里插入图片描述

3. 使用shell脚本自动部署Zookeeper完全分布式

3.1 创建 hadoop1_zookeeper_install_config.sh 脚本文件并添加脚本内容

虚拟机hadoop1上创建hadoop1_zookeeper_install_config脚本文件

touch /export/shell/hadoop1_zookeeper_install_config.sh

添加如下内容:

#!/bin/bash# 定义常量
ZK_VER="3.7.0"
ZK_BIN_TAR="apache-zookeeper-${ZK_VER}-bin.tar.gz"
ZK_DATA_DIR="/export/data/zookeeper/zkdata"
DATA_DIR="/export/data"
SOFTWARE_DIR="/export/software"
SERVERS_DIR="/export/servers"# 如果数据持久化目录存在则删除
if [ -d "${ZK_DATA_DIR}" ]; thenecho "删除 Hadoop1 的数据持久化目录 ${ZK_DATA_DIR}..."rm -rf ${ZK_DATA_DIR}
fissh root@hadoop2 \
"
if [ -d \"${ZK_DATA_DIR}\" ]; thenecho \"删除 Hadoop2 的数据持久化目录 ${ZK_DATA_DIR}...\"rm -rf ${ZK_DATA_DIR}
fi
exit
"ssh root@hadoop3 \
"
if [ -d \"${ZK_DATA_DIR}\" ]; thenecho \"删除 Hadoop3 的数据持久化目录 ${ZK_DATA_DIR}...\"rm -rf ${ZK_DATA_DIR}
fi
exit
"# 检查zookeeper是否已解压
if [ -d "${SERVERS_DIR}/apache-zookeeper-${ZK_VER}-bin" ]; thenecho "zookeeper安装程序已存在,正在删除原安装程序目录..."rm -rf "${SERVERS_DIR}/apache-zookeeper-${ZK_VER}-bin"
fi
if [ -d "${SERVERS_DIR}/zookeeper-${ZK_VER}" ]; thenecho "zookeeper安装程序已存在,正在删除原安装程序目录..."rm -rf "${SERVERS_DIR}/zookeeper-${ZK_VER}"
fi# 检查zookeeper安装包是否存在
if [ -f ${SOFTWARE_DIR}/${ZK_BIN_TAR} ]; thenecho "zookeeper安装包存在,正在解压安装包..."# 解压zookeeper安装包tar -zxvf ${SOFTWARE_DIR}/${ZK_BIN_TAR} -C ${SERVERS_DIR}echo "解压 ${SOFTWARE_DIR}/${ZK_BIN_TAR}${SERVERS_DIR} 目录成功"
elseecho "zookeeper安装包不存在,请先上传安装包到 ${SOFTWARE_DIR} 目录"exit 1
fi# 重命名
mv ${SERVERS_DIR}/apache-zookeeper-${ZK_VER}-bin ${SERVERS_DIR}/zookeeper-${ZK_VER}
if [ $? -eq 0 ]; thenecho "${SERVERS_DIR}/apache-zookeeper-${ZK_VER}-bin 重命名为 ${SERVERS_DIR}/zookeeper-${ZK_VER} 成功"
elseecho "${SERVERS_DIR}/apache-zookeeper-${ZK_VER}-bin 重命名为 ${SERVERS_DIR}/zookeeper-${ZK_VER}失败,请检查"exit 1
fi# 创建zoo.cfg配置文件
cp ${SERVERS_DIR}/zookeeper-${ZK_VER}/conf/zoo_sample.cfg ${SERVERS_DIR}/zookeeper-${ZK_VER}/conf/zoo.cfg
if [ $? -eq 0 ]; thenecho "ZooKeeper 配置文件 zoo.cfg 创建成功"
elseecho "ZooKeeper 配置文件 zoo.cfg 创建失败,请检查"exit 1
fi# 修改zoo.cfg配置文件内容
cat >${SERVERS_DIR}/zookeeper-${ZK_VER}/conf/zoo.cfg <<EOF
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/export/data/zookeeper/zkdata
clientPort=2181server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888
EOF
echo "${SERVERS_DIR}/zookeeper-${ZK_VER}/conf/zoo.cfg 配置文件修改成功"# 创建数据持久化目录并创建myid文件
mkdir -p /export/data/zookeeper/zkdata
echo 1 > /export/data/zookeeper/zkdata/myid
if [ $? -eq 0 ]; thenecho 'Hadoop1 创建数据持久化目录并创建 myid 文件成功'
elseecho 'Hadoop1 创建数据持久化目录并创建 myid 文件失败,请检查'exit 1
fissh root@hadoop2 \
"
mkdir -p /export/data/zookeeper/zkdata
echo 2 > /export/data/zookeeper/zkdata/myid
if [ $? -eq 0 ]; thenecho 'Hadoop2 创建数据持久化目录并创建 myid 文件成功'
elseecho 'Hadoop2 创建数据持久化目录并创建 myid 文件失败,请检查'
fi
exit
"ssh root@hadoop3 \
"
mkdir -p /export/data/zookeeper/zkdata
echo 3 > /export/data/zookeeper/zkdata/myid
if [ $? -eq 0 ]; thenecho 'Hadoop3 创建数据持久化目录并创建 myid 文件成功'
elseecho 'Hadoop3 创建数据持久化目录并创建 myid 文件失败,请检查'
fi
exit
"# 配置ZooKeeper系统环境变量
if [ -n "$ZK_HOME" ]; thenecho "Hadoop1 ZooKeeper 环境变量已配置:$ZK_HOME"
elseecho >> /etc/profileecho 'export ZK_HOME=/export/servers/zookeeper-3.7.0' >> /etc/profileecho 'export PATH=$PATH:$ZK_HOME/bin' >> /etc/profileecho "Hadoop1 ZooKeeper 环境变量配置成功"
fi# 分发环境变量配置文件到hadoop2
scp /etc/profile root@hadoop2:/etc/
if [ $? -eq 0 ]; thenecho "分发 /etc/profile 到 hadoop2 的 /etc 目录成功"
elseecho "分发 /etc/profile 到 hadoop2 的 /etc 目录失败,请检查"exit 1
fi# 分发环境变量配置文件到hadoop3
scp /etc/profile root@hadoop3:/etc/
if [ $? -eq 0 ]; thenecho "分发 /etc/profile 到 hadoop3 的 /etc 目录成功"
elseecho "分发 /etc/profile 到 hadoop3 的 /etc 目录失败,请检查"exit 1
fi# 分发安装程序到hadoop2
scp -r ${SERVERS_DIR}/zookeeper-${ZK_VER} root@hadoop2:${SERVERS_DIR}/
if [ $? -eq 0 ]; thenecho "分发 ${SERVERS_DIR}/zookeeper-${ZK_VER} 到 hadoop2 的 ${SERVERS_DIR} 目录成功"
elseecho "分发 ${SERVERS_DIR}/zookeeper-${ZK_VER} 到 hadoop2 的 ${SERVERS_DIR} 目录失败,请检查"exit 1
fi# 分发安装程序到hadoop3
scp -r ${SERVERS_DIR}/zookeeper-${ZK_VER} root@hadoop3:${SERVERS_DIR}/
if [ $? -eq 0 ]; thenecho "分发 ${SERVERS_DIR}/zookeeper-${ZK_VER} 到 hadoop3 的 ${SERVERS_DIR} 目录成功"
elseecho "分发 ${SERVERS_DIR}/zookeeper-${ZK_VER} 到 hadoop3 的 ${SERVERS_DIR} 目录失败,请检查"exit 1
fiecho -e "\n-----zookeeper 完全分布式安装配置完成-----\n"
echo -e "1. 依次在虚拟机Hadoop1、Hadoop2和Hadoop3执行命令 \e[31msource /etc/profile\e[0m 加载环境变量\n"
echo -e "2. 依次在虚拟机Hadoop1、Hadoop2和Hadoop3启动ZooKeeper服务:\e[31mzkServer.sh start\e[0m\n"
echo -e "3. 依次在虚拟机Hadoop1、Hadoop2和Hadoop3查看ZooKeeper服务状态:\e[31mzkServer.sh status\e[0m\n"
echo -e "若要停止ZooKeeper集群运行,依次在虚拟机Hadoop1、Hadoop2和Hadoop3停止ZooKeeper服务: \e[31mzkServer.sh stop\e[0m"exit 0

在这里插入图片描述

3.2 添加可执行权限

虚拟机hadoop1上给脚本文件/export/shell/hadoop1_hadoop_install_config.sh添加可执行权限。

chmod +x /export/shell/hadoop1_zookeeper_install_config.sh

在这里插入图片描述

3.3 执行脚本

虚拟机hadoop1上执行脚本文件自动化安装配置zookeeper完全分布式。

/export/shell/hadoop1_zookeeper_install_config.sh

执行完成如下图所示。

在这里插入图片描述

4. 加载环境变量

根据使用shell脚本自动安装完成后的提示依次在虚拟机hadoop1、hadoop2和hadoop3执行如下命令加载环境变量。

source /etc/profile

在这里插入图片描述

5. 启动Zookeeper集群

虚拟机hadoop1执行如下命令启动zookeeper。

zkServer.sh start

在这里插入图片描述

虚拟机hadoop2执行如下命令启动zookeeper。

zkServer.sh start

在这里插入图片描述

虚拟机hadoop3执行如下命令启动zookeeper。

zkServer.sh start

在这里插入图片描述

6. 查看Zookeeper集群状态

虚拟机hadoop1执行如下命令查看Zookeeper集群状态是否正常。

zkServer.sh status

在这里插入图片描述

虚拟机hadoop2执行如下命令查看Zookeeper集群状态是否正常。

zkServer.sh status

在这里插入图片描述

虚拟机hadoop3执行如下命令查看Zookeeper集群状态是否正常。

zkServer.sh status

在这里插入图片描述

如果集群启动正常如上图所示,会有一个领导者leader,两个跟随者follower。

若要停止Zookeeper集群运行,依次在虚拟机hadoop1、hadoop2和hadoop3执行如下命令停止Zookeeper服务。

zkServer.sh stop

相关文章:

Hadoop生态圈框架部署(五)- Zookeeper完全分布式部署

文章目录 前言一、Zookeeper完全分布式部署&#xff08;手动部署&#xff09;1. 下载Zookeeper2. 上传安装包2. 解压zookeeper安装包3. 配置zookeeper配置文件3.1 创建 zoo.cfg 配置文件3.2 修改 zoo.cfg 配置文件3.3 创建数据持久化目录并创建myid文件 4. 虚拟机hadoop2安装并…...

【机器学习】聚类算法分类与探讨

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…...

MySQL中distinct与group by之间的性能进行比较

在 MySQL 中&#xff0c;DISTINCT 和 GROUP BY 都是用于去重或汇总数据的常用 SQL 语法。尽管它们在某些情况下能产生相同的结果&#xff0c;但它们的内部工作方式和性能表现可能有所不同。理解这两者的差异&#xff0c;对于选择正确的语法非常重要&#xff0c;尤其是在处理大量…...

计算机视觉读书系列(1)——基本知识与深度学习基础

研三即将毕业&#xff0c;后续的工作可能会偏AI方向的计算机视觉方面&#xff0c;因此准备了两条线来巩固计算机视觉基础。 一个是本系列&#xff0c;阅读经典《Deep Learning for Vision System》&#xff0c;做一些总结跑一些例子&#xff0c;也对应本系列文章 二是OpenCV实…...

怎么查看navicat的数据库密码

步骤1:打开navicat连接数据库工具&#xff0c;顶部的文件栏-导出结果-勾选导出密码-导出 步骤2&#xff1a;导出结果使用NotePad或文本打开&#xff0c;找到&#xff0c;数据库对应的的Password"995E66F64A15F6776“”的值复制下来 <Connection ConnectionName"…...

webrtc前端播放器完整案例

https://download.csdn.net/download/jinhuding/89961792...

GORM优化器和索引提示

在使用 GORM 进行数据库操作时&#xff0c;优化器和索引提示可以帮助你提高查询性能。GORM 提供了一些方法来利用这些特性。 优化器提示 优化器提示&#xff08;Optimizer Hints&#xff09;是数据库系统提供的功能&#xff0c;用于指导查询优化器如何处理查询。不同的数据库…...

linux驱动-i2c子系统框架学习(1)

可以将整个 I2C 子系统用下面的框图来描述&#xff1a; 可以将上面这一 I2C 子系统划分为三个层次&#xff0c;分别为用户空间、内核空间和硬件层&#xff0c;内核空间就包括 I2C 设备驱动层、I2C 核心层和 I2C 适配器驱动层&#xff0c; 本篇主要内容就是介绍 I2C 子系统框架中…...

元戎启行嵌入式面试题及参考答案

介绍下 CAN 通信原理 控制器局域网(CAN)是一种串行通信协议,主要用于汽车、工业自动化等领域的电子控制单元(ECU)之间的通信。 其通信原理是基于多主站架构。在总线上,多个节点(设备)都可以主动发起通信。CAN 协议使用差分信号来传输数据,通过两条信号线 CAN_H 和 CAN…...

【EasyExcel】EasyExcel导出表格包含合计行、自定义样式、自适应列宽

目录 0 EasyExcel简介1 Excel导出工具类设置自定义表头样式设置自适应列宽添加合计行 2 调用导出工具类导出Excel表3 测试结果 0 EasyExcel简介 在数据处理和报表生成的过程中&#xff0c;Excel是一个非常常用的工具。特别是在Java开发中&#xff0c;EasyExcel库因其简单高效而…...

es数据同步(仅供自己参考)

数据同步的问题分析&#xff1a; 当MySQL进行增删改查的时候&#xff0c;数据库的数据有所改变&#xff0c;这个时候需要修改es中的索引库的值&#xff0c;这个时候就涉及到了数据同步的问题 解决方法&#xff1a; 1、同步方法&#xff1a; 当服务对MySQL进行增删改的时候&…...

apt镜像源制作-ubuntu22.04

# 安装必要的软件 sudo apt-get install -y apt-mirror # 编辑/etc/apt/mirror.list,添加以下内容 set base_path /var/spool/apt-mirror # 指定要镜像的Ubuntu发布和组件-null dir jammy-updates main restricted universe multiverse # 镜像的Ubuntu发布和组件的URL-n…...

libaom 源码分析: 预测编码过程梳理

AV1 预测编码中核心技术 AV1(AOMedia Video 1)作为一种开源的视频编码格式,其预测编码核心技术主要包括以下几个方面: 分区树分割模块: AV1利用多类型分割模式,递归地对图像/视频序列进行分区,以捕捉更丰富的空间信息,从而提升编码效率。这包括新的方向预测分割模式及…...

从0开始学习Linux——Yum工具

往期目录&#xff1a; 从0开始学习Linux——简介&安装 从0开始学习Linux——搭建属于自己的Linux虚拟机 从0开始学习Linux——文本编辑器 上一个章节我们简单了解了Linux中常用的一些文本编辑器&#xff0c;本次教程我们将学习yum工具。 一、Yum简介 Yum&#xff08;全名…...

【Linux】Linux管道揭秘:匿名管道如何连接进程世界

&#x1f308;个人主页&#xff1a;Yui_ &#x1f308;Linux专栏&#xff1a;Linux &#x1f308;C语言笔记专栏&#xff1a;C语言笔记 &#x1f308;数据结构专栏&#xff1a;数据结构 &#x1f308;C专栏&#xff1a;C 文章目录 1.什么是管道 &#xff1f;2. 管道的类型2.1 匿…...

【LeetCode】【算法】155. 最小栈

LeetCode 155. 最小栈 题目描述 设计一个支持 push &#xff0c;pop &#xff0c;top 操作&#xff0c;并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推入堆栈。 void pop() 删除堆栈顶部的元素。 int …...

3.3 windows,ReactOS系统中页面的换出----1

系列文章目录 文章目录 系列文章目录3.3 页面的换出MiBalancerThread()MmTrimUserMemory&#xff08;&#xff09;MmPageOutVirtualMemory&#xff08;&#xff09; 3.3 页面的换出 在前一节中我们看到&#xff0c;如果有映射的页面已经被倒换到磁盘上即倒换文件中&#xff0c…...

QCustomPlot添加自定义的图例,实现隐藏、删除功能(二)

文章目录 实现步骤:详细代码示例:实现原理和解释:使用方法:其他参考要实现一个支持复选框来控制曲线显示和隐藏的自定义 QCPLegend 类,可以通过继承 QCPLegend 并重写绘制和事件处理方法来实现,同时发出信号通知曲线的状态变更。 实现步骤: 继承 QCPLegend 类,添加绘…...

Linux云计算 |【第五阶段】CLOUD-DAY8

主要内容&#xff1a; 掌握DaemonSet控制器、污点策略&#xff08;NoSchedule、Noexecute&#xff09;、Job / CronJob资源对象、掌握Service服务、服务名解析CluterIP&#xff08;服务名自动发现&#xff09;、&#xff08;Nodeport、Headless&#xff09;、Ingress控制器 一…...

岛屿数量 广搜版BFS C#

和之前的卡码网深搜版是一道题 力扣第200题 99. 岛屿数量 题目描述 给定一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的矩阵&#xff0c;你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接而成&#xff0c;并且四周都是水域。…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控&#xff0c;故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令&#xff1a;jps [options] [hostid] 功能&#xff1a;本地虚拟机进程显示进程ID&#xff08;与ps相同&#xff09;&#xff0c;可同时显示主类&#x…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...