ES环境搭建、ES安装

news2024/11/26 14:30:56

文章目录

  • 简介与环境搭建
    • 全文检索
    • 倒排索引
    • ElasticSearch
    • Windows安装ES
      • 下载
      • 配置JDK环境
      • 启动ES服务
    • centos7安装ES
      • 下载ElasticSearch
      • 创建es用户
      • 配置JDK环境
      • 配置ElasticSearch
      • 配置JVM参数
      • 启动ElasticSearch服务
      • 常见启动报错
    • 客户端Kibana安装
      • 下载
      • 修改Kibana.yml
      • 运行Kibana
      • 访问
    • ES安装分词插件
      • 在线安装analysis-icu分词插件
      • 离线安装ik中文分词插件
      • 测试分词效果

简介与环境搭建

全文检索

全文检索是通过对文本进行全面索引和搜索的技术。

  1. 首先对文本进行分词、去除停用词等。
  2. 对处理后的数据建立倒排索引。索引会记录每个单词在文本中的位置信息与其他元数据信息,比如词频、权重等
  3. 发起搜索请求时,搜索引擎根据搜索的关键词或短语,在建立好的索引中查找匹配文档



倒排索引

正排索引Forward index 和 倒排索引Inverted index是全文检索中常用的两种索引结构

  • 正排索引

    将文档按顺序排列并进行编号,在正排索引中,可以根据文档编号或其他属性快速定位和访问文档的内容。

  • 倒排索引

    根据单词或短语建立的索引结构。倒排索引建立的过程是先对文档进行分词处理,然后记录每个单词在哪个文档中出现,以及出现的位置。然后就可以根据关键词快速定位到包含这些词的文档,并确定他们的相关性

    倒排索引适用于在大规模文本数据中进行关键词搜索和相关性排序的场景



我们在创建文章时,创建一个关键词与文章的对应关系就称为倒排索引,如下所示

关键词文章ID是否命中索引
Java1,2
设计模式1,2,3,4
多线程2
JavaScript4



ElasticSearch

本文使用的ElasticSearch版本是7.17.3

开源的分布式搜索和数据费分析引擎,它专门设计用于处理大规模的文本数据和实现高性能的全文检索。



以下是一些 Elasticsearch 的特点和优势:

  • 分布式架构:Elasticsearch 是一个分布式系统,可以轻松地水平扩展,处理大规模的数据集和高并发的查询请求。
  • 全文检索功能:Elasticsearch 提供了强大的全文检索功能,包括分词、词项查询、模糊匹配、多字段搜索等,并支持丰富的查询语法和过滤器。
  • 多语言支持:Elasticsearch 支持多种语言的分词器和语言处理器,可以很好地处理不同语言的文本数据。
  • 高性能:Elasticsearch 使用倒排索引和缓存等技术,具有快速的搜索速度和高效的查询性能。
  • 实时性:Elasticsearch 支持实时索引和搜索,可以几乎实时地将文档添加到索引中,并立即可见。
  • 易用性:Elasticsearch 提供了简单易用的 RESTful API,方便进行索引管理、查询操作和数据分析。



官方网站: https://www.elastic.co/

**下载地址:**https://www.elastic.co/cn/downloads/past-releases#elasticsearch



应用场景

只要用到搜索的场景,ES几乎都可以是最好的选择。结合Kibana、Logstash、Beats,Elastic Stack还被广泛运用在大数据近实时分析领域,包括日志分析、指标监控、信息安全等多个领域。

  • 搜索引擎
  • 站内搜索
  • 日志管理与分析
  • 大数据分析



技术选型

ElasticsearchSolrMongoDBMySQL
DB类型搜索引擎搜索引擎文档数据库关系型数据库
基于何种框架开发LuceneLucene
基于何种开发语言JavaJavaC++C、C++
数据结构FST、Hash等B+ Trees
数据格式JsonJson/XML/CSVJsonRow
分布式支持原生支持支持原生支持不支持
数据分区方案分片分片分片分库分表
业务系统类型OLAPOLAPOLTPOLTP
事务支持不支持不支持多文档ACID事务支持
数据量级PB级TB级~PB级PB级单库3000万
一致性策略最终一致性最终一致性最终一致性即时一致性即时一致性
擅长领域海量数据全文检索大数据聚合分析大数据全文检索海量数据CRUD强一致性ACID事务
劣势不支持事务写入实时性低海量数据的性能不如ES随着数据量的不断增大,稳定性低于ES弱事务,不支持join查询大数据全文搜索性能低
查询性能★★★★★★★★★★★★★★★★★
写入性能★★★★★★★★★★★



Windows安装ES

下载

下载地址页面,选择版本:7.17.3

直接下载安装包

ElasticSearch文件目录结构

目录描述
bin脚本文件,包括启动elasticsearch,安装插件,运行统计数据等
config配置文件目录,如elasticsearch配置、角色配置、jvm配置等。
jdk7.x 以后特有,自带的 java 环境,8.x版本自带 jdk 17
data默认的数据存放目录,包含节点、分片、索引、文档的所有数据,生产环境需要修改。
libelasticsearch依赖的Java类库
logs默认的日志文件存储路径,生产环境需要修改。
modules包含所有的Elasticsearch模块,如Cluster、Discovery、Indices等。
plugins已安装插件目录



配置JDK环境

  • 运行Elasticsearch,需安装并配置JDK。各个版本对Java的依赖 https://www.elastic.co/support/matrix#matrix_jvm

    • Elasticsearch 5需要Java 8以上的版本
    • Elasticsearch 从6.5开始支持Java 11
    • 7.0开始,内置了Java环境。ES的JDK环境变量生效的优先级配置顺序ES_JAVA_HOME > JAVA_HOME > ES_HOME
    • ES_JAVA_HOME:这个环境变量用于指定Elasticsearch使用的Java运行时环境的路径。在启动Elasticsearch时,它会检查ES_JAVA_HOME环境变量并使用其中的Java路径。
    • ES_HOME:这个环境变量指定Elasticsearch的安装路径。它用于定位Elasticsearch的配置文件、插件和其他相关资源。设置ES_HOME环境变量可以让您在命令行中更方便地访问Elasticsearch的目录结构和文件。

可以参考es的环境文件elasticsearch-env.bat

在这里插入图片描述



windows下,设置ES_JAVA_HOMEES_HOME的环境变量

在这里插入图片描述



启动ES服务

进入bin目录,直接运行elasticsearch.bat

测试,浏览器中访问:http://localhost:9200/

在这里插入图片描述



centos7安装ES

下载ElasticSearch

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.3-linux-x86_64.tar.gz



创建es用户

es默认不能用root用户启动,生产环境建议为elasticsearch创建用户。

#为elaticsearch创建用户并赋予相应权限
[root@localhost ~]# useradd es
[root@localhost ~]# passwd es
Changing password for user es.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.


[root@localhost ~]# tar -zxvf elasticsearch-7.17.3-linux-x86_64.tar.gz -C /home/es
[root@localhost ~]# chown -R es:es /home/es/elasticsearch-7.17.3
# 切换用户
[root@localhost ~]# su - es



给用户授予sudo权限:

[root@VM-8-7-centos tmp]# visudo
# 执行上面的命令 其实修改的是/etc/sudoers文件

# 允许某个用户,在那一台计算机ip上,执行某个命令
# 用户名 被管理员主机的地址=(可使用的身份) 授权命令(绝对路径)
root       ALL=(ALL)                    ALL
lzj        ALL=(ALL)                    ALL
# 给普通用户sc授予一个能够重启服务器的命令
sc		  ALL=/sbin/shutdown -r now

# %组名 被管理员主机的地址=(可使用的身份) 授权命令(绝对路径)
%wheel    ALL=(ALL)                    ALL


# 查看该普通用户,可用的所有sudo命令
[sc@VM-8-7-centos tmp]$ sudo -l



配置JDK环境

[es@localhost ~]$ vim .bash_profile
export ES_JAVA_HOME=/home/es/elasticsearch-7.17.3/jdk/
export ES_HOME=/home/es/elasticsearch-7.17.3

[es@localhost ~]$ source .bash_profile



配置ElasticSearch

修改elasticsearch.yml配置

[es@localhost elasticsearch-7.17.3]$ vim config/elasticsearch.yml

#开启远程访问  
network.host: 0.0.0.0

#单节点模式   初学者建议设置为此模式 
discovery.type: single-node

# 生产环境下强烈建议 path.data 和 path.logs 部署到另外的目录下



ElasticSearch配置参数

参考: https://www.elastic.co/guide/en/elasticsearch/reference/7.17/important-settings.html

  • cluster.name

当前节点所属集群名称,多个节点如果要组成同一个集群,那么集群名称一定要配置成相同。默认值elasticsearch,生产环境建议根据ES集群的使用目的修改成合适的名字。不要在不同的环境中重用相同的集群名称,否则,节点可能会加入错误的集群。

  • node.name

当前节点名称,默认值当前节点部署所在机器的主机名,所以如果一台机器上要起多个ES节点的话,需要通过配置该属性明确指定不同的节点名称。

  • path.data

配置数据存储目录,比如索引数据等,默认值 $ES_HOME/data,生产环境下强烈建议部署到另外的安全目录,防止ES升级导致数据被误删除。

  • path.logs

配置日志存储目录,比如运行日志和集群健康信息等,默认值 $ES_HOME/logs,生产环境下强烈建议部署到另外的安全目录,防止ES升级导致数据被误删除。

  • bootstrap.memory_lock

配置ES启动时是否进行内存锁定检查,默认值true。

ES对于内存的需求比较大,一般生产环境建议配置大内存,如果内存不足,容易导致内存交换到磁盘,严重影响ES的性能。所以默认启动时进行相应大小内存的锁定,如果无法锁定则会启动失败。

非生产环境可能机器内存本身就很小,能够供给ES使用的就更小,如果该参数配置为true的话很可能导致无法锁定内存以致ES无法成功启动,此时可以修改为false。

  • network.host

节点对外提供服务的地址以及集群内通信的ip地址,默认值为当前节点所在机器的本机回环地址127.0.0.1 和[::1],这就导致默认情况下只能通过当前节点所在主机访问当前节点。

  • http.port

配置当前ES节点对外提供服务的http端口,默认 9200

  • transport.port:

节点通信端口号,默认 9300

  • discovery.seed_hosts

配置参与集群节点发现过程的主机列表,说白一点就是集群中所有节点所在的主机列表,可以是具体的IP地址,也可以是可解析的域名。

  • cluster.initial_master_nodes

配置ES集群初始化时参与master选举的节点名称列表,必须与node.name配置的一致。ES集群首次构建完成后,应该将集群中所有节点的配置文件中的cluster.initial_master_nodes配置项移除,重启集群或者将新节点加入某个已存在的集群时切记不要设置该配置项。



配置JVM参数

ES比较耗内存,建议虚拟机4G或以上内存,jvm1g以上的内存分配

修改config/jvm.options配置文件,调整jvm堆内存大小

-Xms2g
-Xmx2g



配置的建议

  • Xms和Xms设置成—样
  • Xmx不要超过机器内存的50%
  • 不要超过30GB - https://www.elastic.co/cn/blog/a-heap-of-trouble



启动ElasticSearch服务

ES不允许使用root账号启动服务,如果你当前账号是root,则需要创建一个专有账户

#非root用户启动,我们可以先前台启动 方便查看启动报错日志
bin/elasticsearch 

# -d 后台启动
bin/elasticsearch -d



控制台一直报错

在这里插入图片描述



但还是能,正常访问

在这里插入图片描述



常见启动报错

在这里插入图片描述



max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

ES因为需要大量的创建索引文件,需要大量的打开系统的文件,所以我们需要解除linux系统当中打开文件最大数目的限制,不然ES启动就会抛错

#切换到root用户
[root@localhost ~]# vim /etc/security/limits.conf

# shfit+G跳转到最后一行 末尾添加如下配置:
*       soft     nofile     65536
*       hard     nofile     65536
*       soft     nproc     4096
*       hard     nproc     4096



max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

最大虚拟内存太小,调大系统的虚拟内存

[root@localhost ~]# vim /etc/sysctl.conf
# shfit+G跳转到最后一行 追加以下内容:
vm.max_map_count=262144


# 保存退出之后执行如下命令:
[root@localhost ~]# sysctl -p



max number of threads [1024] for user [es] is too low, increase to at least [4096]

无法创建本地线程问题,用户最大可创建线程数太小

vim /etc/security/limits.d/20-nproc.conf

改为如下配置:
* soft nproc 4096



the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

缺少默认配置,至少需要配置discovery.seed_hosts/discovery.seed_providers、discovery.seed_providers、cluster.initial_master_nodes中的一个参数.

  • discovery.seed_hosts: 集群主机列表
  • discovery.seed_providers: 基于配置文件配置集群主机列表
  • cluster.initial_master_nodes: 启动时初始化的参与选主的node,生产环境必填
vim config/elasticsearch.yml
#添加配置
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]

#或者指定配置单节点(集群单节点)
discovery.type: single-node



客户端Kibana安装

Kibana是一个开源分析和可视化平台,旨在与Elasticsearch协同工作。

参考文档:https://www.elastic.co/guide/en/kibana/7.17/get-started.html



下载

下载地址:https://www.elastic.co/cn/downloads/past-releases#kibana

选择版本:7.17.3

#windows
https://artifacts.elastic.co/downloads/kibana/kibana-7.17.3-windows-x86_64.zip

#linux
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.17.3-linux-x86_64.tar.gz



修改Kibana.yml

vim config/kibana.yml

server.port: 5601   #指定Kibana服务器监听的端口号
server.host: "localhost"  #指定Kibana服务器绑定的主机地址
elasticsearch.hosts: ["http://localhost:9200"]  #指定Kibana连接到的Elasticsearch实例的访问地址
i18n.locale: "zh-CN"   #将 Kibana 的界面语言设置为简体中文



运行Kibana



windows

直接执行kibana.bat



Linux

注意:kibana也需要非root用户启动

bin/kibana
#后台启动
nohup  bin/kibana &

#查询kibana进程
netstat -tunlp | grep 5601



访问

访问Kibana: http://localhost:5601/app/dev_tools#/console

在这里插入图片描述



cat API

cat API 是 Elasticsearch 提供的一个用于查看和显示集群信息的 RESTful API。它可以用于获取关于索引、节点、分片、健康状态等各种集群相关的信息。

/_cat/allocation         #查看单节点的shard分配整体情况
/_cat/shards          #查看各shard的详细情况
/_cat/shards/{index}     #查看指定分片的详细情况
/_cat/master          #查看master节点信息
/_cat/nodes           #查看所有节点信息
/_cat/indices         #查看集群中所有index的详细信息
/_cat/indices/{index}      #查看集群中指定index的详细信息
/_cat/segments        #查看各index的segment详细信息,包括segment名, 所属shard, 内存(磁盘)占用大小, 是否刷盘
/_cat/segments/{index}#查看指定index的segment详细信息
/_cat/count           #查看当前集群的doc数量
/_cat/count/{index}   #查看指定索引的doc数量
/_cat/recovery        #查看集群内每个shard的recovery过程.调整replica。
/_cat/recovery/{index}#查看指定索引shard的recovery过程
/_cat/health          #查看集群当前状态:红、黄、绿
/_cat/pending_tasks   #查看当前集群的pending task
/_cat/aliases         #查看集群中所有alias信息,路由配置等
/_cat/aliases/{alias} #查看指定索引的alias信息
/_cat/thread_pool     #查看集群各节点内部不同类型的threadpool的统计信息,
/_cat/plugins         #查看集群各个节点上的plugin信息
/_cat/fielddata       #查看当前集群各个节点的fielddata内存使用情况
/_cat/fielddata/{fields}     #查看指定field的内存使用情况,里面传field属性对应的值
/_cat/nodeattrs              #查看单节点的自定义属性
/_cat/repositories           #输出集群中注册快照存储库
/_cat/templates              #输出当前正在存在的模板信息



ES安装分词插件

在线安装analysis-icu分词插件

#查看已安装插件
$ES_HOME/bin/elasticsearch-plugin list
#安装插件
$ES_HOME/bin/elasticsearch-plugin install analysis-icu
#删除插件
$ES_HOME/bin/elasticsearch-plugin remove analysis-icu

注意:安装和删除完插件后,需要重启ES服务才能生效。

在这里插入图片描述



同时,在$ES_HOME/plugins目录下就有我们刚刚安装的分词插件了

在这里插入图片描述



离线安装ik中文分词插件

本地下载elasticsearch-analysis-ik-7.17.3.zip插件,解压,然后手动上传到elasticsearch的plugins目录,然后重启ES实例就可以了。

ik中文分词插件:https://github.com/medcl/elasticsearch-analysis-ik

在这里插入图片描述



测试分词效果

#ES的默认分词设置是standard,会单字拆分
POST _analyze
{
    "analyzer":"standard",
    "text":"中华人民共和国"
}


# _analyzer API可以用来查看指定分词器的分词结果
POST _analyze
{
    "analyzer":"icu_analyzer",
    "text":"中华人民共和国"
}

#ik_smart:会做最粗粒度的拆
POST _analyze
{
    "analyzer": "ik_smart",
    "text": "中华人民共和国"
 }

#ik_max_word:会将文本做最细粒度的拆分
POST _analyze
{
    "analyzer":"ik_max_word",
    "text":"中华人民共和国"
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IntelliJ IDEA全新版的0个新特性【送源码】

jetBrains刚刚发布了最新IntelliJ IDEA 2024.2版本,做了不少优化性能方面的优化,同时新的ui也默认为启动ui。感兴趣的小伙伴可以下载体验,以下为官方本次介绍: 借助 IntelliJ IDEA 2024.2 Ultimate,您可以直接在 IDE …

宝塔面板实现定时任务删除 logs文件 加条件删除 只删除一个月前的日志

我们在开发中难免用到了日志功能,随着日志越来越多导致占用我们的内存 下面是一个简单的 使用宝塔面板里面的定时任务来实现删除日志案例 第一步 首先我的日志文件目录 都在log文件夹里面, 每个月生成一个日志文件夹 文件夹命名是年月来命名的 第二…

JVM(一) 类加载器、类加载过程、JVM参数设置

JVM Java编译器 Java源文件在通过编译器之后被编译成相应的.Class文件(字节码文件) JVM解释器 .Class文件又被JVM中的解释器编译成机器码在不同的操作 系统(Windows、Linux、Mac)上运行。每种操作系统的解释器都是不同的&#xf…

SpringBoot起步依赖和配置

目录 起步依赖 目的 1 继承父工程,确定版本信息 2 添加 starter-web 坐标信息 配置 配置文件的分类 ​编辑实操 1 后缀名是.properties文件修改端口号,把原本的默认端口号8080改为8082 2 创建后缀名是.yaml文件,尝试修改端口号&…

ARM——体系结构

计算机体系结构:冯诺伊曼 哈佛 冯诺依曼结构 冯诺依曼结构,也称冯诺依曼模型或普林斯顿结构,是根据冯诺依曼提出的存储程序概念设计的计算机体系结构。其主要特点包括: 存储程序:指令与数据都…

【Qt】信号与槽(下)

目录 自定义信号 带参数的信号和槽 信号和槽存在的意义 信号与槽的连接方式 一对一 一对多 多对一 意义 信号和槽的其他说明 信号和槽的断开 使用Lambda表达式定义槽函数 信号与槽的优缺点 优点: 松散耦合 缺点: 效率较低 自定义信号 自定义槽函数是非常关键的&a…

VMware 安装 centos7.9教程

目录 VMware17安包装 1.创建新的虚拟机 2.稍后安装一个系统 3.选择Centos7 4.选择安装位置 5.指定磁盘内存大小 6.自定义硬件 7.编辑内存 8.编辑处理器 9.选择安装镜像位置 10.选择网络适配器 11.播放虚拟机 12.选择语言简体中文 13.选择时区时间 14.最小化安装 …

电机学习-基础知识

文章目录 1 基本物理概念1.1 左手定则1.2 安培定则1.3 感应电动势 2 电机简单分类2.1 直流有刷电机2.2 步进电机2.2.1 步进电机的驱动原理1.相与线2.极性3.步进电机的驱动 2.3 无刷电机2.3.1 充磁方式2.3.2正弦波电动势与梯型电动势 3 编码器3.1 霍尔编码器3.2 光电编码器3.3 增…

TexWorks配置使用latexmk实现增量编译

TexWorks配置使用latexmk实现增量编译 TexWorks默认使用pdfLaTeXMakeIndexBibTeX,修改后,重新编译等待时间较长。本文旨在说明配置TexWorks使用latexmk实现增量式编译,加速编译。 前置条件说明 (1) 通过miktex自动安装了TexWorks及自带pdf…

Docker相关配置记录

Docker相关配置记录 换源 {"registry-mirrors": ["https://dockerhub.icu","https://docker.chenby.cn","https://docker.1panel.live","https://docker.awsl9527.cn","https://docker.anyhub.us.kg","htt…

VisionPro二次开发学习笔记12-使用CogToolGroup控件进行图像检测

本示例演示了如何通过图像数据库使用 CogImageFileTool,并将其放入 CogToolGroup 中,对于数据库中的每个图像运行一次检测. 当用户按下 运行 按钮时,程序执行以下操作: 如果工具组中没有 CogImageFileTools,它将显示一…

Codeforces Pinely Round 4 (Div. 1 + Div. 2) A~G

A.Maximize the Last Element(枚举) 题意: 给你一个由 n n n个整数组成的数组 a a a,其中 n n n是奇数。 在一次操作中,你将从数组 a a a中删除两个相邻的元素,然后将数组的剩余部分连接起来。例如&…

轻松构建Electron应用:TypeScript与esbuild的完美搭档

简介 使用 TypeScript (TS) 编写 Electron 应用程序带来了许多好处,以下是一些主要优势: 类型安全:TypeScript 是一种静态类型语言,它在编译时检查类型错误,这有助于在开发过程中及早发现潜在的错误。更好的工具支持…

RK3568平台(背光篇)背光调试常见问题

一.屏幕背光概述 背光就是屏幕的从里往照射的光。 LCD 主要由液晶面板、背光、驱动电路等组成,液晶面板不会主动发光,需要背光源才能显示,液晶面板的作用就是通过电压改变某像素光的透过率来显示的,当然此光要求是偏振光&#x…

数据结构(5.5_3)——并查集的进一步优化

Find操作的优化(压缩路径) 压缩路径——Find操作,先找到根节点,再将查找路径上所有结点都挂到根结点下 代码: //Find "查"操作优化,先找到根节点,再进行"路径压缩" int Find(int S[], int x) {…

Shell、C/C++、Python操作环境变量

环境变量 环境变量是一种在操作系统中用于存储信息的机制,这些信息可以被系统进程、应用程序和脚本访问和使用。环境变量在操作系统中的作用类似于一个全局配置参数,它们定义了操作系统的运行环境,包括系统行为、应用程序路径、用户信息等。…

uniapp自定义浮动图标、列表布局

uniapp自定义浮动图标 <button class="fab" @click="goPage"><image src="../../../static/yiyuan.png" mode="" style="width: 60rpx;height:60rpx;"></image></button>.fab {z-index: 100;positi…

TLE4966-3G带方向检测功能的高灵敏度汽车霍尔开关

TLE4966-3G是一款集成电路双霍尔效应传感器&#xff0c;专为使用旋转极轮的高精度应用而设计。通过片上有源补偿电路和斩波器技术实现精确的磁切换点和高温稳定性。 该传感器在Q2提供速度输出&#xff0c;其状态&#xff08;高或低&#xff09;与磁场值相对应。对于超过阈值BO…

小白零基础学数学建模系列-Day3-线性回归模型的构建与评估

文章目录 1 线性回归基础1.1 线性回归概念与应用1.2 数学原理与推导1.3 线性回归的实现 2 案例分析&#xff1a;房价预测2.1 加载数据2.2 数据预处理2.3 探索性数据分析2.4 观察选择特征2.5 准备训练模型的数据2.6 将数据拆分为训练集和测试集2.7 训练和测试模型2.8 模型评估 3…

Ubuntu每次登录都提示有新的更新,apt更新却0个软件需要升级:清空MOTD消息 安装update-notifier-common组件 运行强制更新脚本

问题 每登录ubuntu&#xff0c;都会显示有更新需要注意。 80更新可以立即应用。 这些更新中有 1 个是标准安全更新。 要查看这些附加更新&#xff0c;请运行&#xff1a;apt list --upgradable 然而使用更新命令却提示0可更新 查询了一下&#xff0c;这似乎是MOTD的错误&#x…