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

Linux下安装elasticsearch(Elasticsearch 7.17.23)

       Elasticsearch 是一个分布式的搜索和分析引擎,能够以近乎实时的速度存储、搜索和分析大量数据。它被广泛应用于日志分析、全文搜索、应用程序监控等场景。

本文将带你一步步在 Linux 系统上安装 Elasticsearch 7.17.23 版本,并完成基本的配置,为后续的使用打下基础。

你将学到:

  • 如何在 Linux 系统上下载和安装 Elasticsearch 7.17.23

  • 如何配置 Elasticsearch 的基本参数

  • 如何启动和停止 Elasticsearch 服务

  • 如何验证 Elasticsearch 是否安装成功

准备工作:

  • 一台运行 Linux 系统的服务器

  • 确保服务器上已经安装了 Java 8 或更高版本

  • 以 root 用户或具有 sudo 权限的用户身份登录

接下来,我们将按照以下步骤进行安装:

  1. 下载 Elasticsearch 7.17.23 安装包

  2. 解压安装包并配置环境变量

  3. 修改 Elasticsearch 配置文件

  4. 启动 Elasticsearch 服务

  5. 验证 Elasticsearch 是否安装成功

1. 下载 Elasticsearch 7.17.23 安装包

Elasticsearch 7.17.23 | Elastic

直接在官方下载对应安装包。

2. 解压安装包并配置环境变量

把安装包上传到服务器后,拷贝到/usr/local目录下,执行解压命令:

tar -xzf elasticsearch-7.3.2-linux-x86_64.tar.gz

由于ES不允许用root账号启动,这里需要创建用户,例如:elastic

创建过程如下:

sudo useradd -m -d /home/elastic -s /bin/bash elastic
sudo passwd elastic  # 设置密码
sudo chown -R elastic:elastic /usr/local/elasticsearch-7.17.23

切换elastic账号

su - elastic

3.修改 Elasticsearch 配置文件

进入Elasticsearch目录:

cd /usr/local/elasticsearch/config

例如:

开始修改配置文件elasticsearch.yml:

 

记得自己创建好对应路径的文件夹分配好权限!!!!

sudo chown -R elastic:elastic /usr/local/elasticsearch/
sudo chmod -R 755 /usr/local/elasticsearch/

 修改配置文件jvm.options:

4.启动 Elasticsearch 服务

执行以下命令。如果不报错,则跳转到第五点看结果。

/usr/local/elasticsearch-7.17.23/bin/elasticsearch -d

5.如何验证 Elasticsearch 是否安装成功

一切正常的情况下,配置完成后,运行curl -X GET "localhost:9200",出现如下图,则表示安装完成!

但是,肯定不会有正常情况

我们来说一下常见的错误:

(1)如果系统配置的是jdk8,启动会出现jdk版本不匹配等错误,如下:

warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME
Future versions of Elasticsearch will require Java 11; your Java version from [/usr/local/java/jdk1.8.0_144/jre] does not meet this requirement. Consider switching to a distribution of Elasticsearch with a bundled JDK. If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set.
warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME
Future versions of Elasticsearch will require Java 11; your Java version from [/usr/local/java/jdk1.8.0_144/jre] does not meet this requirement. Consider switching to a distribution of Elasticsearch with a bundled JDK. If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set.

解决办法就是,修改jdk指向路径,默认使用es自带的JDK,找到文件

 /usr/local/elasticsearch-7.17.23/bin下的:elasticsearch-env编辑,

vim elasticsearch-env

注释掉一部分配置,如下图: 

这样就解决jdk问题了。这个是常见问题。。另外还有几个不常见的:

(1) 两项系统限制值过低,需要调整 max file descriptorsvm.max_map_count

错误信息如下:

ERROR: [2] bootstrap checks failed. You must address the points described in the following [2] lines before starting Elasticsearch.
bootstrap check failure [1] of [2]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
bootstrap check failure [2] of [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: Elasticsearch did not exit normally - check the logs at /usr/local/elasticsearch/logs/my-cluster.log

直接切换root账号调整:

sudo vi /etc/security/limits.conf

在文件末尾添加以下两行:

elastic soft nofile 65535
elastic hard nofile 65535

退出保存!解决

(2)vm.max_map_count 的值太低,错误信息如下:

ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: Elasticsearch did not exit normally - check the logs at /usr/local/elasticsearch/logs/my-cluster.log

切换root,编辑sysctl.conf

 vi /etc/sysctl.conf

添加:vm.max_map_count=262144

保存退出!解决!!

最后,我们得给es配置个密码吧,有密码才像那么一回事!

设置密码方式有三种,我们选择最稳妥的通过 elasticsearch-setup-passwords 工具设置密码

修改配置文件

sudo vi /usr/local/elasticsearch-7.17.23/config/elasticsearch.yml

新增一下内容:

http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

如图: 

 运行命令:

/usr/local/elasticsearch-7.17.23/bin/elasticsearch-setup-passwords interactive

提示是否设置密码。如图: 

会让设置很多账号的密码:

依次输入密码。建议同一个密码!

修改完成后,重启es服务!大功告成。。 

相关文章:

Linux下安装elasticsearch(Elasticsearch 7.17.23)

Elasticsearch 是一个分布式的搜索和分析引擎,能够以近乎实时的速度存储、搜索和分析大量数据。它被广泛应用于日志分析、全文搜索、应用程序监控等场景。 本文将带你一步步在 Linux 系统上安装 Elasticsearch 7.17.23 版本,并完成基本的配置&#xff0…...

华为云 | 快速搭建DeepSeek推理系统

DeepSeek(深度求索)作为一款国产AI大模型,凭借其高性能、低成本和多模态融合能力,在人工智能领域崛起,并在多个行业中展现出广泛的应用潜力。 如上所示,在华为云解决方案实践中,华为云提供的快速…...

宠物医院台账怎么做,兽医电子处方单模板打印样式,佳易王兽医兽药开方宠物病历填写打印操作教程

一、概述 本实例以佳易王兽医宠物电子处方开单系统版本为例说明,其他版本可参考本实例。试用版软件资源可到文章最后了解,下载的文件为压缩包文件,请使用免费版的解压工具解压即可试用。 软件特点: 多场景处方兼容性针对宠物医…...

STM32之DMA

Flash是主闪存,下载程序的地方,系统存储器出厂自动写入,不许修改。系统存储器是存储Bootloader,选项字节存的是flash的读保护,写保护,还有看门狗等。运行内存SRAM存的临时变量,也就是程序中定义…...

用低代码平台集成人工智能:无需专业开发也能实现智能化

引言:人工智能的普及与企业需求 随着人工智能(AI)技术的飞速发展,越来越多的企业开始意识到其在提升运营效率、优化客户体验和推动业务创新方面的巨大潜力。从智能客服到自动化决策支持,从数据分析到个性化推荐&#x…...

UI自动化:利用百度ocr识别解决图形验证码登录问题

相信大家在做自动化测试过程中都遇到过图形验证码的问题,最近我也是遇到了,网上搜了很多方法,最简单的方法无非就是去掉图形验证码或者设置一个万能验证码,但是这个都需要开发来帮忙解决,对于我们这种自学的人来说就不…...

1236 - 二分查找

题目描述 请在一个有序递增数组中(不存在相同元素),采用二分查找,找出值 xx 的位置,如果 xx 在数组中不存在,请输出 -1 ! 输入 第一行,一个整数 nn ,代表数组元素个数…...

MARL零样本协调之Fictitious Co-Play学习笔记

下列引用来自知乎作者Algernon 知乎link FCP作为ZSC领域两阶段训练方法的开创者 论文《Collaborating with Humans without Human Data》来自 NeurIPS 2021。这篇论文提出 Fictitious Co-Play (FCP) 来解决 ZSC 问题。论文认为,ZSC 的第一个重要问题是对称性&#x…...

设计模式 + java8方法引用 实现任意表的过滤器

会用到下面2个依赖&#xff0c;原因是在今天的案例中&#xff0c;我想在我代码中使用上Entity::getFieldName 这种形式 LambdaQueryWrapper<ApplicationDashboard> queryWrapper new LambdaQueryWrapper<>(); queryWrapper.eq(ApplicationDashboard::getAppCode,…...

thingsboard edge 在windows 环境下的配置

按照官方文档&#xff1a;Installing ThingsBoard Edge on Windows | ThingsBoard Edge&#xff0c;配置好java环境和PostgreSQL。 下载对应的windows 环境下的tb-edge安装包。下载附件 接下来操作具体如下 步骤1&#xff0c;需要先在thingsboard 服务上开启edge 权限 步骤2…...

OpenAI Whisper:开启语音转文本的智能时代

在人工智能技术飞速发展的今天,OpenAI推出的Whisper语音识别系统正悄然改变着人类与机器的交互方式。作为一款开源的AI驱动语音转文本工具,Whisper凭借其跨语言能力、高精度识别和灵活的生态系统,成为开发者和普通用户共同追捧的技术标杆。 核心技术与突破 Whisper基于深度…...

OpenHarmony4.0_Linux环境搭建

查看链接&#xff1a;OpenHarmony4.0_Linux环境搭建https://www.yuque.com/xinzaigeek/jishu/fs9msruqhd5nhw4i...

道可云人工智能每日资讯|亚马逊云业务部门成立智能体人工智能团队

道可云元宇宙每日简报&#xff08;2025年3月6日&#xff09;讯&#xff0c;今日元宇宙新鲜事有&#xff1a; 《杭州市富阳区未来产业培育行动计划(2025-2026年)》发布 3月3日&#xff0c;杭州市富阳区经信局正式发布了《杭州市富阳区未来产业培育行动计划(2025-2026年)》&…...

Java-servlet(四)详细讲解Servlet类层次结构与生命周期

Java-servlet&#xff08;四&#xff09;详细讲解Servlet和生命周期 前言一、Servlet类层次结构1.Servlet包2.Servlet 与 ServletConfig 与 Serializable 的关系1. 三者分别是什么2. 三者之间的关系 3.如何让类具有 Servlet 功能 二、Servlet 生命周期1.初始化阶段2.服务阶段3.…...

python基础课程整理--字典的基础

字典的特点 定义&#xff1a;使用花括号 {} 包裹&#xff0c;存储键值对&#xff08;key-value pairs&#xff09;。特点&#xff1a; 无序&#xff1a;字典中的元素没有固定的顺序&#xff0c;但可以通过键来访问。可变&#xff1a;字典中的键值对可以被添加、修改或删除。键…...

doris: MySQL

Doris JDBC Catalog 支持通过标准 JDBC 接口连接 MySQL 数据库。本文档介绍如何配置 MySQL 数据库连接。 使用须知​ 要连接到 MySQL 数据库&#xff0c;您需要 MySQL 5.7, 8.0 或更高版本 MySQL 数据库的 JDBC 驱动程序&#xff0c;您可以从 Maven 仓库下载最新或指定版本的…...

推荐一个基于Koin, Ktor Paging等组件的KMM Compose Multiplatform项目

Kotlin Multiplatform Mobile&#xff08;KMM&#xff09;已经从一个雄心勃勃的想法发展成为一个稳定而强大的框架&#xff0c;为开发人员提供了在多个平台上无缝共享代码的能力。通过最近的稳定版本里程碑&#xff0c;KMM已成为跨平台开发领域的改变者。 环境设置 带有Kotli…...

Tomcat 新手入门指南

Tomcat 新手入门指南 Apache Tomcat 是一个开源的 Java Servlet 容器和 Web 服务器&#xff0c;广泛用于部署和运行 Java Web 应用程序。以下是 Tomcat 的入门指南&#xff0c;帮助你快速上手。 1. 安装 Tomcat 步骤 1: 下载 Tomcat 访问 Apache Tomcat 官网。选择适合的版…...

游戏引擎学习第138天

仓库:https://gitee.com/mrxiao_com/2d_game_3 资产&#xff1a;game_hero_test_assets_003.zip 发布 我们的目标是展示游戏运行时的完整过程&#xff0c;从像素渲染到不使用GPU的方式&#xff0c;我们自己编写了渲染器并完成了所有的工作。今天我们开始了一些新的内容&#…...

c++ 类特殊成员函数的编译器隐式声明规则

c 类特殊成员函数的编译器隐式声明规则 特殊成员函数编译器隐式声明规则关键术语说明&#xff1a;核心规则总结&#xff1a;示例场景&#xff1a; 特殊成员函数 编译器隐式声明规则 用户声明的成员函数默认构造函数析构函数拷贝构造函数拷贝赋值移动构造函数移动赋值无声明默…...

综合使用pandas、numpy、matplotlib、seaborn库做数据分析、挖掘、可视化项目

目录 1.结构化数据挖掘 1.1依赖库导入和数据读取 1.2各品牌机型及售价统计 1.3视频录制规格与价格关联性分析 2.结构化数据预处理 2.1筛选特征 2.2特征标签归一化及编码 1.结构化数据挖掘 1.1依赖库导入和数据读取 导入必要的依赖库&#xff0c;读取 csv 格式数据集转化为 Data…...

day21-API(算法,lambda,练习)

常见的七种查找算法&#xff1a; ​ 数据结构是数据存储的方式&#xff0c;算法是数据计算的方式。所以在开发中&#xff0c;算法和数据结构息息相关。今天的讲义中会涉及部分数据结构的专业名词&#xff0c;如果各位铁粉有疑惑&#xff0c;可以先看一下哥们后面录制的数据结构…...

Linux : 进程地址空间

目录 一 前言 二 进程地址空间是什么 1.现象 2.虚拟地址空间 3. 现象解释 4. 写时拷贝 三 为什么要存在进程地址空间 四 进程地址空间是如何实现的 1 操作系统如何管理进程地址空间 一 前言 进程地址空间图&#xff1a; 在学习C语言的内存管理的时候&#xff0c;我…...

wordpress鼠标特效笔记+npm问题解决

在WordPress网站上添加鼠标点击特效和网页背景特效_wordpress鼠标特效-CSDN博客 学习设置文章浏览量的插件超详细图解&#xff1a;如何使用 WordPress搭建一个个人博客&#xff1f;-CSDN博客 ------------------2025.03.06------------------------------- npm 运行时报错“因…...

大模型——使用 Embedding 模型和向量数据库的 Spring AI RAG

大模型——使用 Embedding 模型和向量数据库的 Spring AI RAG 本文主要介绍以下内容: 嵌入式模型简介。使用 DocumentReader 加载数据。在 VectorStore 中存储 Embedding。实现 RAG(Retrieval-Augmented Generation,检索增强生成),又名 Prompt Stuffing。你可以在 GitHub…...

Spring Boot 缓存最佳实践:从基础到生产的完整指南

Spring Boot 缓存最佳实践&#xff1a;从基础到生产的完整指南 引言 在现代分布式系统中&#xff0c;缓存是提升系统性能的银弹。Spring Boot 通过 spring-boot-starter-cache​ 模块提供了开箱即用的缓存抽象&#xff0c;但如何根据业务需求实现灵活、可靠的缓存方案&#xf…...

vue3,Element Plus中隐藏树el-tree滚动条

el-tree&#xff0c;节点过多&#xff0c;默认会出现垂直滚动条&#xff0c;显得不美观 可以使用隐藏组件 el-scrollbar 将 el-tree 包裹&#xff0c;就可以隐藏垂直滚动条 <el-scrollbar> <el-tree> ... </el-tree> </el-scrollbar> /* 滚动条禁用鼠…...

《机器学习数学基础》补充资料:过渡矩阵和坐标变换推导

尽管《机器学习数学基础》这本书&#xff0c;耗费了比较长的时间和精力&#xff0c;怎奈学识有限&#xff0c;错误难免。因此&#xff0c;除了在专门的网页&#xff08; 勘误和修订 &#xff09;中发布勘误和修订内容之外&#xff0c;对于重大错误&#xff0c;我还会以专题的形…...

掌握高效大模型任务流搭建术(二):链式流程如何赋能 AI 处理能力提升

前言&#xff1a; 在上一篇文章中&#xff0c;我们初步探索了 LangChain 的基础链式操作——LLMChain。它巧妙地将大语言模型&#xff08;LLM&#xff09;与提示模板&#xff08;Prompt Template&#xff09;相结合&#xff0c;为模型交互逻辑的封装提供了一种简洁而高效的方式…...

Linux——Docker容器内MySQL密码忘记了如何查看

目录 查看正在运行的MySQL的容器ID 方法一&#xff1a;查看MySQL容器的日志里的密码 方法二&#xff1a;通过环境变量密码登录 方法三&#xff1a;修改密码 查看正在运行的MySQL的容器ID docker ps 方法一&#xff1a;查看MySQL容器的日志里的密码 docker logs [MySQL的容器…...

深入剖析 Kubernetes 弹性伸缩:HPA 与 Metrics Server

引言 在 Kubernetes (K8s) 集群中&#xff0c;如何根据应用的实际负载自动调整 Pod 数量&#xff0c;实现资源的弹性利用&#xff0c;是保障服务稳定性和成本效益的关键。Horizontal Pod Autoscaler (HPA) 和 Metrics Server 正是实现这一目标的核心组件。本文将深入探讨 HPA …...

Qt5 C++ QMap使用总结

文章目录 功能解释代码使用案例代码解释注意事项代码例子参考 功能解释 QList<T> QMap::values() const Returns a list containing all the values in the map, in ascending order of their keys. If a key is associated with multiple values, all of its values wi…...

如何改变怂怂懦弱的气质(2)

你是否曾经因为害怕失败而逃避选择&#xff1f;是否因为不敢拒绝别人而让自己陷入困境&#xff1f;是否因为过于友善而被人轻视&#xff1f;如果你也曾为这些问题困扰&#xff0c;那么今天的博客就是为你准备的。我们将从行动、拒绝、自我认知、实力提升等多个角度&#xff0c;…...

【CVTE】嵌入式软件开发-Linux方向{一面}

文章目录 数组和链表的区别&#xff1f;特点&#xff1f;使用场景&#xff1f;**1. 数组&#xff08;Array&#xff09;****特点&#xff1a;****使用场景&#xff1a;** **2. 链表&#xff08;Linked List&#xff09;****特点&#xff1a;****使用场景&#xff1a;** **3. 数…...

自律linux 第 35 天

之前学习了UDP编程&#xff0c;UDP是可以实现多个用户向一个用户发送的&#xff0c;但是TCP一个服务端在同一时刻只能对应一个客户端&#xff0c;因为TCP的通信是使用管道通信的&#xff0c;如果要使用TCP实现一对多的通信&#xff0c;有如下几种办法&#xff1a;多进程&#x…...

云原生系列之本地k8s环境搭建

前置条件 Windows 11 家庭中文版&#xff0c;版本号 23H2 云原生环境搭建 操作系统启用wsl(windows subsystem for linux) 开启wsl功能&#xff0c;如下图 安装并开启github加速器 FastGithub 2.1 下载地址&#xff1a;点击下载 2.2 解压安装文件fastgithub_win-x64.zip 2…...

Cursor实战:Web版背单词应用开发演示

Cursor实战&#xff1a;Web版背单词应用开发演示 需求分析自行编写需求文档借助Cursor生成需求文档 前端UI设计后端开发项目结构环境参数数据库设计安装Python依赖运行应用 前端代码修改测试前端界面 测试数据生成功能测试Bug修复 总结 在上一篇《Cursor AI编程助手不完全指南》…...

每日一题----------枚举的注意事项和细节

注意事项&#xff1a; 1.当我们使用enum关键字开发一个枚举类时&#xff0c;默认会继承Enum类&#xff0c;而且是一个final类&#xff0c;利用javap反编译可查。 2.public static Season SPRING new Season("春天", "温暖");简化成SPRING("春天&qu…...

【Java学习】异常

一、异常的处理过程 异常类的似复刻变量被throw时&#xff0c;会立即中止当前所在的这层方法&#xff0c;即当层方法里throw异常类似复刻变量之后的语句就不会执行了&#xff0c;如果throw异常语句在当层方法中被try{}包裹&#xff0c;则中止就先发生被包裹在了try{}层&#xf…...

使用STM32CubeMX实现LED灯每秒闪烁一次(STM32G070CBT6单片机)

1.打开STM32CubeMX&#xff0c;点击File->New Project&#xff0c;新建一个新工程。 2.搜索芯片型号&#xff0c;选择正确的芯片封装规格&#xff0c;准备对芯片的引脚进行配置。 进行上面的操作后&#xff0c;跳转到如下的页面。 3.选择要配置的引脚进行配置。此处我的LED是…...

FastGPT 引申:如何基于 LLM 判断知识库的好坏

文章目录 如何基于 LLM 判断知识库的好坏方法概述示例 Prompt声明抽取器 Prompt声明检查器 Prompt 判断机制总结 下面介绍如何基于 LLM 判断知识库的好坏&#xff0c;并展示了如何利用声明抽取器和声明检查器这两个 prompt 构建评价体系。 如何基于 LLM 判断知识库的好坏 在知…...

rabbitmq版本升级并部署高可用

RabbitMQ版本升级 先检查是否已经安装rabbitmq rpm -qa|grep rabbitmq|wc -l //如果结果是0&#xff0c;表示没有安装 rpm -e --nodeps $(rpm -qa|grep rabbitmq) //如安装了&#xff0c;则进行卸载 先检查是否已经安装erlang rpm -qa|grep erlang|wc -l //如果结果…...

了解JVM

目录 一、内存区域划分 1.方法区&#xff08;元数据区&#xff09; 2.堆 3.栈 4.程序计数器 5.本地方法栈 总结&#xff1a; 二、类加载 1.加载 2.验证 3.准备 4.解析 5.初始化 三、双亲委派模型 四、垃圾回收 1.找到垃圾 1&#xff09;引用计数 2&#xff09;…...

Linux - 工具

一、 代码编译&#xff08;g/gcc&#xff09; 1) 预处理 g –E hello.c –o hello.i宏替换 条件编译 头文件展开 去注释 2) 编译 g –S hello.i –o hello.s检查语法将代码转为汇编 3) 汇编 g –c hello.s –o hello.o将汇编转为二进制代码 4) 链接 g hello.o –o …...

ASP.NET Core 6 MVC 文件上传

概述 应用程序中的文件上传是一项功能&#xff0c;用户可以使用该功能将用户本地系统或网络上的文件上传到 Web 应用程序。Web 应用程序将处理该文件&#xff0c;然后根据需要对文件进行一些验证&#xff0c;最后根据要求将该文件存储在系统中配置的用于保存文件的存储中&#…...

大模型LoRA微调训练原理是什么?

环境&#xff1a; LoRA 问题描述&#xff1a; 大模型LoRA微调训练原理是什么&#xff1f; 解决方案&#xff1a; LoRA&#xff08;Low-Rank Adaptation&#xff09;微调是一种高效的参数优化技术&#xff0c;专门用于大型语言模型的微调&#xff0c;旨在减少计算和内存需求…...

Ubuntu系统上部署Node.js项目的完整流程

以下是在Ubuntu系统上部署Node.js项目的完整流程&#xff0c;分为系统初始化、环境配置、项目部署三个部分&#xff1a; 一、系统初始化 & 环境准备 bash # 1. 更新系统软件包 sudo apt update && sudo apt upgrade -y# 2. 安装基础工具 sudo apt install -y buil…...

vue3:七、拦截器实现

一、前言 拦截器可以很好的统一处理请求和响应 ​请求拦截器&#xff1a;可以在请求发送之前对请求进行统一处理&#xff0c;比如添加认证信息&#xff08;如 token&#xff09;、设置请求头、添加公共参数等。​响应拦截器&#xff1a;可以在响应返回之后对响应数据进行统一…...

K8S高可用集群-小白学习之二进制部署(ansible+shell)

一.K8S高可用集群配置概述 序言:本文从一个小白的视角进行K8S的研究和部署,采用二进制的方式是为了更清楚了分解部署流程及了解这个集群是怎么运作的,加上ansible+shell是方便在这个过程中,遇到了问题,我们可以不断的快速重复部署来测试和研究问题的所在点,本文的架构图…...

学生管理信息系统的需求分析与设计

伴随教育的迅猛演进以及学生规模的不断扩增&#xff0c;学生管理信息系统已然成为学校管理的关键利器。此系统能够助力学校管控学生的课程成绩、考勤记载、个人资讯等诸多数据&#xff0c;提升学校的管理效能与服务品质。 一.需求分析 1.1 学生信息管理 学生信息在学校管理体…...