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

【Linux】jumpserver开源堡垒机部署

JumpServer 安装部署指南

本文档详细记录了 JumpServer 安装部署的过程、核心脚本功能说明以及后续管理使用提示,方便运维人员快速查阅和二次安装。


1. 前提条件

  • 操作系统要求:
    仅支持 Linux 系统,不支持 Darwin(macOS)。脚本内对 OS 类型进行了判断,若检测为 Darwin,则会中止执行。

  • 必备工具:
    脚本会自动检测并安装以下工具:

    • curl
    • wget
    • tar
    • iptables
      若系统中未安装上述命令,会尝试根据所使用的包管理器(dnf、yum、apt、zypper、apk)自动安装,不存在则报错退出。
  • 网络要求:
    确保服务器能够访问外部网络,以便下载脚本和安装包。


2. 脚本说明与准备工作

2.1 下载官方安装脚本

在 JumpServer 服务器上执行以下命令,下载官方安装脚本并保存为 install.sh

# 下载官方脚本文件
curl -sSL https://resource.fit2cloud.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh >> ./install.sh
ls
cat install.sh

2.2 脚本结构解析

定义变量
  • VERSION
    当前版本号(例如 v4.8.1)。

  • DOWNLOAD_URL
    下载安装包的基础 URL。

安装依赖函数:install_soft

根据系统内置的包管理器(dnf、yum、apt、zypper、apk),检测并安装缺失的软件包;同时针对 apk 的情况,额外安装 gettext-devpython3,确保依赖完整。

依赖检查函数:prepare_install

遍历检查所需的工具(curl、wget、tar、iptables),若不存在则调用 install_soft 自动安装。

获取安装器函数:get_installer
  • 进入 /opt 目录,在该目录下创建或使用 jumpserver-installer-${VERSION} 文件夹。
  • 使用 wget 下载相应版本的安装包(tar.gz 格式),并在 60 秒内限时下载。
  • 下载成功后解压安装包至 /opt 目录,解压失败则清理并退出提示错误。
配置与启动函数:config_installer
  • 进入安装包所在目录 /opt/jumpserver-installer-${VERSION}
  • 修改配置示例文件,将 # DOCKER_IMAGE_MIRROR=1 替换为 DOCKER_IMAGE_MIRROR=1,启用 Docker 镜像加速。
  • 依次调用 ./jmsctl.sh install 进行安装配置,再调用 ./jmsctl.sh start 启动服务。
主程序 main
  • 判断是否在 Darwin 系统下运行(若是则退出)。
  • 执行依赖检查、下载安装包及配置安装步骤。

脚本结构如下:

#!/usr/bin/env bashVERSION=v4.8.1
DOWNLOAD_URL=https://resource.fit2cloud.comfunction install_soft() {if command -v dnf &>/dev/null; thendnf -q -y install "$1"elif command -v yum &>/dev/null; thenyum -q -y install "$1"elif command -v apt &>/dev/null; thenapt-get -qqy install "$1"elif command -v zypper &>/dev/null; thenzypper -q -n install "$1"elif command -v apk &>/dev/null; thenapk add -q "$1"command -v gettext &>/dev/null || {apk add -q gettext-dev python3}elseecho -e "[\033[31m ERROR \033[0m] $1 command not found, Please install it first"exit 1fi
}function prepare_install() {for i in curl wget tar iptables; docommand -v $i &>/dev/null || install_soft $idone
}function get_installer() {echo "download install script to /opt/jumpserver-installer-${VERSION}"cd /opt || exit 1if [ ! -d "/opt/jumpserver-installer-${VERSION}" ]; thentimeout 60 wget -qO jumpserver-installer-${VERSION}.tar.gz ${DOWNLOAD_URL}/jumpserver/installer/releases/download/${VERSION}/jumpserver-installer-${VERSION}.tar.gz || {rm -f /opt/jumpserver-installer-${VERSION}.tar.gzecho -e "[\033[31m ERROR \033[0m] Failed to download jumpserver-installer-${VERSION}"exit 1}tar -xf /opt/jumpserver-installer-${VERSION}.tar.gz -C /opt || {rm -rf /opt/jumpserver-installer-${VERSION}echo -e "[\033[31m ERROR \033[0m] Failed to unzip jumpserver-installer-${VERSION}"exit 1}rm -f /opt/jumpserver-installer-${VERSION}.tar.gzfi
}function config_installer() {cd /opt/jumpserver-installer-${VERSION} || exit 1sed -i "s/# DOCKER_IMAGE_MIRROR=1/DOCKER_IMAGE_MIRROR=1/g" /opt/jumpserver-installer-${VERSION}/config-example.txt./jmsctl.sh install./jmsctl.sh start
}function main(){if [[ "${OS}" == 'Darwin' ]]; thenechoecho "Unsupported Operating System Error"exit 1fiprepare_installget_installerconfig_installer
}main

3. 安装执行过程

3.1 执行安装脚本

运行以下命令启动安装流程:

bash install.sh

安装过程会输出相关信息,例如:

#执行安装脚本
root@jumpserver:~> bash install.sh
download install script to /opt/jumpserver-installer-v4.8.1██╗██╗   ██╗███╗   ███╗██████╗ ███████╗███████╗██████╗ ██╗   ██╗███████╗██████╗██║██║   ██║████╗ ████║██╔══██╗██╔════╝██╔════╝██╔══██╗██║   ██║██╔════╝██╔══██╗██║██║   ██║██╔████╔██║██████╔╝███████╗█████╗  ██████╔╝██║   ██║█████╗  ██████╔╝██   ██║██║   ██║██║╚██╔╝██║██╔═══╝ ╚════██║██╔══╝  ██╔══██╗╚██╗ ██╔╝██╔══╝  ██╔══██╗╚█████╔╝╚██████╔╝██║ ╚═╝ ██║██║     ███████║███████╗██║  ██║ ╚████╔╝ ███████╗██║  ██║╚════╝  ╚═════╝ ╚═╝     ╚═╝╚═╝     ╚══════╝╚══════╝╚═╝  ╚═╝  ╚═══╝  ╚══════╝╚═╝  ╚═╝Version:  v4.8.1-ce1. Check Configuration File
Path to Configuration file: /opt/jumpserver/config
/opt/jumpserver/config/config.txt        []
/opt/jumpserver/config/loki/promtail.yml         []
/opt/jumpserver/config/nginx/cert/server.crt     []
/opt/jumpserver/config/nginx/cert/server.key     []

安装脚本会引导完成多个配置步骤:

  1. 配置私钥(SECRETE_KEY 与 BOOTSTRAP_TOKEN)
    会自动生成后显示在提示中,直接按回车确认(如果不需要自定义修改)。

  2. 配置持久化目录

    • 默认目录为 /data/jumpserver
    • 如需自定义,建议选择磁盘空间充足的盘符,但注意:安装后不可更改!
  3. 数据库配置

    • 是否使用外部 PostgreSQL(默认内置)
  4. Redis 配置

    • 配置 Redis 引擎模式(redis/sentinel)
    • 是否使用外部 Redis:若选择外部,则需提供服务器 IP、端口和密码
  5. 外部访问配置

    • 是否修改默认的外部访问端口(默认端口 80)
  6. 初始化数据库
    安装过程中会启动容器并完成数据库初始化、静态文件收集和数据迁移。

>>> Install and Configure JumpServer
1. Configure Private Key
SECRETE_KEY:     3e1e8dea32665fe01eed82a44b52a90556c0a7f61cf91a79
BOOTSTRAP_TOKEN: zZEHIGACppkAaC123RED0ywp
complete2. Configure Persistent Directory
Do you need custom persistent store, will use the default directory /data/jumpserver? (y/n)  (default n): yTo modify the persistent directory such as logs video, you can select your largest disk and create a directory in it, such as /data/jumpserver
Note: you can not change it after installation, otherwise the database may be lostFilesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv   96G   11G   81G  12% /Persistent storage directory (default /data/jumpserver):
complete3. Configure DB
Do you want to use external PostgreSQL? (y/n)  (default n):
complete4. Configure Redis
Please enter Redis Engine? (redis/sentinel)  (default redis):
Do you want to use external Redis? (y/n)  (default n): y
Please enter Redis server IP (default redis):
Please enter Redis server port (default 6379):
Please enter Redis password (no default):
complete5. Configure External Access
Do you need to customize the JumpServer external port? (y/n)  (default n):
complete6. Init JumpServer Database
[+] Running 4/4✔ Network jms_net           Created                                                                                                                                                                  0.1s✔ Container jms_redis       Started                                                                                                                                                                  0.8s✔ Container jms_core        Started                                                                                                                                                                  0.8s✔ Container jms_postgresql  Started                                                                                                                                                                  0.8s

4. 部署完成后的使用

安装流程结束后,会显示最终的账号信息和管理命令,示例如下:

4.1 默认账号信息

  • Web 访问地址:
    http://192.168.200.200:80

  • 默认账号:

    • 用户名:admin
    • 密码:ChangeMe

登录后如下
在这里插入图片描述

4.2 常用管理命令

所有容器和服务均由 /opt/jumpserver-installer-v4.8.1 下的 jmsctl.sh 脚本管理,常用命令包括:

# 启动 JumpServer
cd /opt/jumpserver-installer-v4.8.1
./jmsctl.sh start# 停止 JumpServer
./jmsctl.sh stop# 重启 JumpServer
./jmsctl.sh restart# 数据备份
./jmsctl.sh backup# 升级 JumpServer
./jmsctl.sh upgrade# 查看更多命令帮助
./jmsctl.sh --help

具体使用

可以参考我写的一篇openstack+jumpserver的文章,里面有介绍jumpserver的简单使用
【Project】基于OpenStack的公司云平台建设与管理方案

4.3 更多信息

  • 官方网站:
    https://www.jumpserver.org/

  • 文档:
    https://docs.jumpserver.org/

相关文章:

【Linux】jumpserver开源堡垒机部署

JumpServer 安装部署指南 本文档详细记录了 JumpServer 安装部署的过程、核心脚本功能说明以及后续管理使用提示,方便运维人员快速查阅和二次安装。 1. 前提条件 操作系统要求: 仅支持 Linux 系统,不支持 Darwin(macOS&#xff0…...

Memcached缓存系统:从部署到实战应用指南

#作者:猎人 文章目录 一、安装libevent二、安装配置memcached三、安装Memcache的PHP扩展四、使用libmemcached的客户端工具五、Nginx整合memcached:六、php将会话保存至memcached Memcached是一款开源、高性能、分布式内存对象缓存系统,可应用各种需要缓…...

【rdma tx data flow问题】

rdma data flow问题 1 SQ_doorbell如何产生? --RDMA网卡doorbell寄存器触发;2 CPU如何访问网卡的Doorbell寄存器?3 为什么需要roce_qid_convert把local_qid转换成global_qid;4.WQE的format是什么?5.WQE在网卡硬件中的处理流程&…...

Vue 框架组件间通信方式

组件间通信方式 不管是 vue2 还是 vue3,组件通信方式很重要,以下是常见的几种通信方式: props:可以实现父子组件、子父组件、甚至兄弟组件通信自定义事件:可以实现子父组件通信全局事件总线 $bus:可以实现…...

React 第三十节 使用 useState 和 useEffect Hook实现购物车

不使用 redux 实现 购物车案例 使用 React 自带的 useState 和 useEffect Hook 即可实现购物车 export default function ShoppingCar() {// 要结算的商品 总数 以及总价const [totalNum, setTotalNum] useState(0)const [totalPerice, setTotalPerice] useState(0)// 商品…...

卷积神经网络CNN

目录 一、图像基础知识 图像基本概念 图像的加载 二、CNN概述 CNN概述 三、卷积层 卷积计算 Padding Stride 多通道卷积计算 PyTorch卷积层API 四、池化层 池化层计算 Stride Padding 多通道池化层计算 PyTorch 池化 API 五、图像分类案例 CIFAR10 数据集 …...

【大数据生态】Hive的metadata服务未开启

解决办法 进入到Hive的bin目录下,键入命令: #启动元服务 [atguiguhadoop102 bin]$ pwd /opt/module/hive-3.1.2/bin [atguiguhadoop102 bin]$ ./hive --service metastore & #启动hive [atguiguhadoop102 hive-3.1.2]$ pwd /opt/module/hive-3.1.2 [atguiguhadoop102 hiv…...

【RabbitMQ】死信队列

1.概述 死信,顾名思义就是无法被消费的消息,也就是没有被传到消费者的消息,或者即使传到了也没有被消费。当然有死信就有死信队列。死信队列就是用来存储死信的。 它的应用场景就是保证订单业务的消息数据不丢失,当消息消费发 生…...

区间 dp 系列 题解

1.洛谷 P4342 IOI1998 Polygon 我的博客 2.洛谷 P4290 HAOI2008 玩具取名 题意 某人有一套玩具,并想法给玩具命名。首先他选择 W, I, N, G 四个字母中的任意一个字母作为玩具的基本名字。然后他会根据自己的喜好,将名字中任意一个字母用 W, I, N, G …...

Typora使用笔记

文章目录 主题自动编号字体设置两端对齐Step1Step 2 代码块显示行号设置快捷键参考文献 主题自动编号 typora-theme-auto-numbering 字体设置两端对齐 Step1 切记从typora的偏好设置中打开主题所在的文件夹,并修改对应的css文件。(以 github.css 为例…...

k8s部署grafana

先决条件 这里部署过程的前提是已经部署好storageclass,所以pv会根据pvc自动创建. 详情参考:k8s-StoargClass的使用-基于nfs_a volume that contains injected data from multiple-CSDN博客 直接开始: 部署pvc [rootmodule /zpf/grafana]$cat pvc.yml apiVersion: v1 kind…...

第三章:SQL 高级功能与性能优化

1. 窗口函数(Window Functions)​​ 用于在结果集的“窗口”(指定行范围)内执行计算,保留原数据行的同时生成聚合或排序结果。 ​​1.1 核心语法​​ SELECT column1,column2,[窗口函数] OVER (PARTITION BY 分组列…...

[ACM_3] n组数据 | getchar() | getline(cin,s)

目录 14. 第⼀⾏是⼀个整数n,表示⼀共有n组测试数据, 之后输⼊n⾏ 字符串 15. 第⼀⾏是⼀个整数n,然后是n组数据,每组数据2⾏,每⾏ 为⼀个字符串,为每组数据输出⼀个字符串,每组输出占⼀⾏ 16. 多组测试…...

富士相机照片 RAF 格式如何快速批量转为 JPG 格式教程

富士(Fujifilm)相机拍摄的 RAW 格式文件(RAF)因其高质量和丰富的图像信息而受到摄影师的喜爱。然而,RAF 文件通常体积较大且不易于分享或直接使用。为了方便处理,许多人选择将其转换为更通用的 JPG 格式。在…...

[特殊字符]【高并发实战】Java Socket + 线程池实现高性能文件上传服务器(附完整源码)[特殊字符]

大家好!今天给大家分享一个 Java Socket 线程池 实现的高性能文件上传服务器,支持 多客户端并发上传,代码可直接运行,适合 面试、项目实战、性能优化 学习! 📌 本文亮点: ✅ 完整可运行代码&a…...

2025 年天津消防设施操作员考试攻略:深挖地区特色考点​

天津作为重要的港口城市与工业基地,消防安全形势复杂多样,其消防设施操作员考试也带有鲜明的地区特色。​ 地区特色考点解析:天津化工产业发达,涉及众多危化品场所。因此,危化品储存场所的消防设施配置与应急处置成为…...

chrome extension开发框架WXT之Browser.runtime

以下是对 Browser.runtime API 中主要方法的参数、返回值、作用及运用场景的详细解释: 1. 连接与通信方法 connect(connectInfo?: ConnectInfo) / connect(extensionId: string, connectInfo?: ConnectInfo) 参数: extensionId(可选):目标扩展的 ID,未指定时默认连接当…...

dav_1_MySQL数据库排查cpu消耗高的sql

CPU消耗高sql定位 以下从2个维度进行分析,一个是当前cpu高占用排查,一个是历史sql占用高排查 一.当前cpu占用高排查 1 从os资源消耗逐步到mysql查询 1.1 输入top 然后按大P 使之进程按照消耗cpu排序 比如3889为mysql进程ID,接下来再用它查…...

数据结构刷题之贪心算法

贪心算法(Greedy Algorithm) 是一种在每个步骤中都选择当前最优解的算法设计策略。它通常用于解决优化问题,例如最小化成本或最大化收益。贪心算法的核心思想是:在每一步选择中,都做出局部最优的选择,希望…...

每日一题(小白)暴力娱乐篇23

由题意得知给我们一串数字,我们每次交换两位,最少交换多少次成功得到有顺序的数组。我们以平常的思维去思考,加入给你一串数字获得最少的交换次数,意味着你的交换后续基本不会变,比如说2 1 3 5 4 中1与2交换后不变&…...

回归预测 | Matlab实现RIME-CNN-GRU-Attention霜冰优化卷积门控循环单元注意力机制多变量回归预测

回归预测 | Matlab实现RIME-CNN-GRU-Attention霜冰优化卷积门控循环单元注意力机制多变量回归预测 目录 回归预测 | Matlab实现RIME-CNN-GRU-Attention霜冰优化卷积门控循环单元注意力机制多变量回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现RIME…...

第1章 对大型语言模型的介绍

人类正处在一个关键转折点。自2012年起,基于深度神经网络的人工智能系统研发进入快速通道,将这一技术推向了新高度:至2019年底,首个能够撰写与人类文章真假难辨的软件系统问世,这个名为GPT-2(生成型预训练变…...

PGA 简介

PGA(Programmable Gain Amplifier,可编程增益放大器)是一种可以通过外部控制信号改变增益大小的放大器,常用于需要灵活调节信号放大倍数的应用中,比如在模拟信号采集、数据转换(如 ADC 之前)、传…...

2025年CCF-C NCA:导航变量多目标粒子群算法NMOPSO,深度解析+性能实测

目录 1.摘要2.运动学模型和约束3.路径规划目标函数3.多目标粒子群算法4.结果展示5.参考文献6.代码获取 1.摘要 路径规划是无人机(UAV)任务执行的核心,因为它决定了无人机完成任务所需的飞行路径。为了解决这一问题,本文提出了一种…...

FFMpeg音视频解码实战

音频解码 一、初始化阶段 avformat_open_input 打开输入媒体文件。avformat_find_stream_info 读取媒体流信息,查找音频流。avcodec_find_decoder 查找对应的解码器(如 AAC、MP3 解码器)。avcodec_alloc_context3 分配解码器上下文。avcodec…...

day25学习Pandas库

文章目录 三、Pandas库4.函数计算7.合并8.随机抽样9.空值处理9.1检测空值9.2填充空值9.3删除空值行/列 5.读取CSV文件5.1 to_csv()5.2 read_csv() 6.绘图 三、Pandas库 4.函数计算 7.合并 merge 函数用于将两个 DataFrame 对象根据一个或多个键进行合并 函数: …...

去除Mysql表中的空格、回车、换行符和特殊字符

系列文章目录 文章目录 系列文章目录前言一、示例1.sql层面2.java层面 前言 一、示例 1.sql层面 参考 ## 例子1 ## CHAR(10) 表示换行符 ## CHAR(13) 表示回车UPDATE 表名 SET 列名 REPLACE(REPLACE(列名, CHAR(10), ), CHAR(13), )## 例子2 ## 删除字段中的空格、换行符、…...

以普通用户身份启动pure-ftpd服务端

Pureftp的优点包括 : 高性能,适用于大容量数据传输。安全性强,通过SSL/TLS加密和身份验证机制保证文件传输安全。易用性高,具有直观的用户界面。灵活性强,支持多种文件存储方式。没有漏洞,便于维护 基于Centos 9的pu…...

国内下载不了镜像,可以用国外机器下载完成,打成tar文件,在国内机器上重新加载

可以在 已经拉取过镜像的机器上打包(导出)镜像文件,然后 拷贝到另一台机器上导入使用。这是离线部署 Docker 镜像的常用方法,非常适合网络受限的环境。 🛠️ 步骤如下: ✅ 1. 在已有镜像的机器上打包镜像 …...

【Java】Java 中不同类型的类详解

目录 Java 中不同类型的类详解一、基础类类型1. 普通类(Concrete Class)2. 抽象类(Abstract Class)3. 接口(Interface)4. 枚举类(Enum Class) 二、嵌套类与特殊类5. 内部类&#xff…...

Cadence学习笔记之---热风焊盘制作

目录 01 | 前 言 02 | 环境描述 03 | 热风焊盘 04 | 规则热风焊盘制作 05 | 不规则热风焊盘制作 06 | 总 结 01 | 前 言 在上一篇Cadence小记中讲述了如何制作贴片(SMD)焊盘、通孔焊盘、以及过孔;本篇关于Cadence的小记主要讲如何制作热风焊盘。 上篇小记&a…...

518. Coin Change II

这是完全背包问题。 由于求的是组合数,所以外层循环只能是对硬币遍历,内层循环只能是对总金额的遍历。 另外,虽然题目数据保证结果符合 32 位带符号整数。但是第28个测试用例,dp[j]dp[j-conis[i]]中间结果会整数溢出&#xff0c…...

GPIO子系统与Pinctrl子系统的交互

我们前面呢,已经讲过GPIO子系统的数据结构以及他的设备树信息是怎么转换成我们的C代码存储在结构体里面了,我们知道,如果想去使用一个GPIO,避免不了得把这个引脚复用成GPIO功能,那么就避不开Pinctrl子系统,…...

DeepSeek实用操作及行业应用系列2

DeepSeek的本地化部署与AI通识教育之未来 DeepSeek之火,可以燎原 面向审计行业DeepSeek大模型操作指南v1.0 DeepSeek提示词设计、幻觉避免与应用(大数据百家讲坛) DeepSeek 搞钱教程(0基础入门) DeepSeek基础知识…...

面向数据库场景的大模型交互微调数据集

关键要点 研究表明,面向数据库场景的大模型交互微调数据集通常包括数据库模式、自然语言查询和对应的SQL查询。证据倾向于认为,数据集应以JSON格式组织,覆盖多种查询类型,并确保高质量和多样性。对于自定义数据库,建议…...

解锁ChatGPT-4o文生图潜力:精选提示词收集整理更新中

示例一:按元素和描述要求生成图片 示例二:“吉卜力”风格 示例三:3D Q版风格 示例四:生成指定布局和主题图片 具体的提示词参考,陆续更新中:https://blog.luler.top/d/25...

WHAT - React 进一步学习推荐

书籍 adevnadia 的《Advanced React》TejasKumar_ 的《Fluent React》addyosmani 和 djirdehh 的《Building Large Scale Web Apps》 面试准备 reactjs-interview-questions 文章:最佳实践 如果你想了解最佳实践并学习技巧,请务必关注以下专家&…...

有关串口的知识点

轻微了解 一般都是 前这俩01 Ren1才能接受 开局T1 R1要给0 所以就是0x50的起手 终端服务是接受的 ———————————————————————————— 进入实际引用 使用的时候1 初始化 2要给个500ms的延时函数即可...

无线插卡话机如何接入呼叫中心系统?

一、接入原理与技术架构 ​ ​无线插卡话机通过内置SIM卡模块(支持GSM/CDMA/4G/5G等网络制式),将移动网络信号转化为语音通信信号,再通过SIP协议或专用网关与呼叫中心系统对接。其核心流程包括: ​ ​1、网络信号…...

prometheus有几种数据类型

Prometheus 数据类型主要有以下四种: Counter(计数器): 单调递增的数值,表示某个事件发生的次数。计数器的值只会增加,除非被重置为0(例如在系统重启时)。示例:HTTP 请求…...

C++设计模式+异常处理

#include <iostream> #include <cstring> #include <cstdlib> #include <unistd.h> #include <sstream> #include <vector> #include <memory> #include <stdexcept> // 包含异常类using namespace std;// 该作业要求各位写一…...

字符串替换 (模拟)神奇数 (数学)DNA序列 (固定长度的滑动窗口)

⭐️个人主页&#xff1a;小羊 ⭐️所属专栏&#xff1a;每日两三题 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 字符串替换 &#xff08;模拟&#xff09;神奇数 &#xff08;数学&#xff09;DNA序列 &#xff08;固定长度的滑动窗口&am…...

echarts地图详解

获取地图坐标json数据 <template><div id"china-map" style"width:500px;height:500px"></div> </template> <script>import * as echarts from echarts;// 坐标jsonimport chinaJson from "/assets/china.json" …...

Redis 哨兵模式:告别手动故障转移!

目录 前言一、 Redis哨兵模式是啥&#xff1f;&#x1f914;二、 为什么需要哨兵模式&#xff1f;&#x1f937;‍♀️三、 哨兵模式的原理是什么&#xff1f;&#x1f91d;1. 监控&#xff08;Monitoring&#xff09;2. 信息共享与客观下线判断3. 哨兵领导者选举4. 故障转移5.…...

地理数据输出

为了便于数据共享和交换&#xff0c;可以将地理数据库中的要素数据输出为Shapefiles或者Coverage&#xff0c;将相应的属性表输出为Info或者dBase格式的数据文件。 1.输出为 Shapefile (1)在AreCatalog目录树或者内容栏中&#xff0c;右键点击需要输出的地理要素类&#xff0c;…...

springboot + security + redis + jwt 实现验证登录上

前言&#xff1a; 通过实践而发现真理&#xff0c;又通过实践而证实真理和发展真理。从感性认识而能动地发展到理性认识&#xff0c;又从理性认识而能动地指导革命实践&#xff0c;改造主观世界和客观世界。实践、认识、再实践、再认识&#xff0c;这种形式&#xff0c;循环往…...

SomeIP通讯机制

在SOME/IP协议中&#xff0c;通讯方式主要围绕服务的交互模式进行的设计&#xff0c;核心机制包括Event&#xff08;时间&#xff09;、Method&#xff08;方法&#xff09;以及其变种Fire-and-Forget&#xff08;FF&#xff09;。以下是SOME/IP中所有通信方式的总结&#xff1…...

线代第三课:n阶行列式

引言 行标取自然排列 不同行不同列的3个元素相乘 列标取排列的所有可能 列标排列的逆序数的奇偶性决定符号&#xff0c;- n阶行列式 第一种&#xff1a;按行展开 (1) 行标取自然排列 (2) 列标取排列的所有可能 &#xff08;PS&#xff1a;可以理解为随意取&#xff09; (3) 从…...

人工智能在高中教育中的应用现状剖析与挑战应对

第一章&#xff1a;绪论 1.1 研究背景与意义 随着全球化的加速和科技的飞速发展&#xff0c;高中教育在培养未来社会所需人才方面的重要性日益凸显。高中阶段是学生知识体系构建和思维能力发展的关键时期&#xff0c;然而&#xff0c;当前高中教育面临着诸多挑战&#xff0c;…...

如何在powerbi使用自定义SQL

我们在刚使用到powerbi的时候发现当直接连接到数据库的时候我们只能使用数据库中已存在的表&#xff0c;我们没有办法使用自定义SQL来准备数据&#xff0c;这给我们的开发造成很大的困扰&#xff1b;我目前使用的是vertica数据库&#xff0c;首先我们需要在本地有vertica的驱动…...