【5.x】ELK日志分析

ELK日志分析

一、ELK概述

1、ELK简介

ELK平台是一套完整的日志集中处理解决方案,将ElasticSearch、Logstash和Kiabana三个开源工具配合使用,完成更强大的用户对日志的查询、排序、统计需求。
一个完整的集中式日志系统,需要包含以下几个主要特点:

  • 收集-能够采集多种来源的日志数据
  • 传输-能够稳定的把日志数据传输到中央系统
  • 存储-如何存储日志数据
  • 分析-可以支持 UI 分析
  • 警告-能够提供错误报告,监控机制

2、ELK组成

(1)ElasticSearch

• 是基于Lucene(一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日志

• Elasticsearch是用Java开发的,可通过RESTful Web接口,让用户可以通过浏览器与Elasticsearch通信

• Elasticsearch是个分布式搜索和分析引擎,优点是能对大容量的数据进行接近实时的存储、搜索和分析操作

• Elasticsearch可以划分为三种:主节点、数据节点和客户端节点

1、master主节点:
elasticsearch.yml:
node.master:true
node.data:false
主要功能:维护元数据,管理集群节点状态;不负责数据写入和查询
配置要点:内存可以相对小一些,但是机器一定要稳定,最好是独占的机器
2、data数据节点
elasticsearch.yml:
node.master:false
node.data:true
主要功能:负责数据的写入与查询,压力大
配置要点:大内存,最好是独占的机器
3、client客户端节点
elasticsearch.yml:
node.master:true
node.data:true
主要功能:综合上述三个节点的功能。
配置要点:大内存,最好是独占的机器。
特别说明:不建议这种配置,节点容易挂掉
4、一般配置主节点3台服务器,数据节点与客户端节点配置比例一般在3:1左右,根据实际情况调节

(2)Logstash

• 作为数据收集引擎。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置,一般会发送给Elasticsearch

• Logstash由JRuby语言编写,运行在Java虚拟机(JVM)上,是一款强大的数据处理工具,可以实现数据传输、格式处理、格式化输出。Logstash具有强大的插件功能,常用于日志处理

(3)Kibana

是基于Node.js开发的展示工具,可以为Logstash和ElasticSearch提供图形化的日志分析Web界面展示,可以汇总、分析和搜索重要数据日志

(4)Filebeat

轻量级的开源日志文件数据搜集器。通常在需要采集数据的客户端安装 Filebeat,并指定目录与日志格式,Filebeat就能快速收集数据,并发送给logstash进行解析,或是直接发给Elasticsearch存储,性能上相比运行于JVM上的loqstash优势明显,是对它的替代
在这里插入图片描述

3、为什么要使用ELK

(1)日志主要包括-系统日志,应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及。错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。
(2)往往单台机器的日志我们使用grep、awk等工具就能基本实现简单析,但是当日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样感觉很繁琐和效率低下。
(3)当务之急我们使用集中化的日志管理,例如∶开源的syslog,将所有服务器上的日志收集汇总。集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。
(4)一般大型系统是一个分布式部署的架构,不同的服务模块部署在不同的服务器上,问题出现时,大部分情况需要根据问题暴露的关键信息,定位到具体的服务器和服务模块,构建一套集中式日志系统,可以提高定位问题的效率。

4.ELK的主要特点

存储:面向文档+JSON
(1)面向文档

Elasticsearch是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document)。然而它不仅仅是存储,还会索引(index)每个文档的内容使之可以被搜索。在Elasticsearch中,你可以对文档(而非成行成列的数据)进行索引、搜索、排序、过滤。这种理解数据的方式与以往完全不同,这也是Elasticsearch能够执行复杂的全文搜索的原因之一。

(2)JSON

ELasticsearch使用Javascript对象符号(JavaScript Object Notation),也就是JSON,作为文档序列化格式。JSON现在已经被大多语言所支持,而且已经成为NoSQL领域的标准格式。它简洁、简单且容易阅读。尽管原始的user对象很复杂,但它的结构和对象的含义已经被完整的体现在JSON中了,在Elasticsearch中将对象转化为JSON并做索引要比在表结构中做相同的事情简单的多。传统数据库有表名.字段.,属性 然后对应下面行为数据,但是在es中不区分,统一将一行数据转换为json格式进行存储,所以es中存储非格式化的方式。

以下是一个表示嵌套JSON的示例:

{
  "person": {
    "name": "John",
    "age": 30,
    "address": {
      "street": "123 Main St",
      "city": "New York",
      "state": "NY",
      "zipcode": "10001"
    },
    "phone_numbers": [
      {
        "type": "home",
        "number": "555-1234"
      },
      {
        "type": "work",
        "number": "555-5678"
      }
    ]
  }
}

在上面的示例中,“person"是一个对象,它包含了"name”、“age”、"address"和"phone_numbers"四个属性。其中,“address"是一个对象,它包含了"street”、“city”、"state"和"zipcode"四个属性。"phone_numbers"是一个数组,它包含了两个元素,每个元素是一个对象,包含了"type"和"number"两个属性。

检索:倒排+乐观锁(了解)
(1)倒排

倒排是一种索引方法,用来存储在全文检索下某个单词在一个/组文档中的存储位置,也常被称为反向索引、置入档案或反向档案。也是ES为何具有高检索性能的原因。

  • 一般的正向索引

一般的正向索引要搜索某个单词,是遍历文档,检查文档中是否有这个单词。

文档1>>[单词1,单词2]

文档2>>[单词1,单词2,单词3]

  • 倒排索引

而倒排索引是建立一个映射关系,确定单词属于哪几个文档

单词1>>[文档1,文档2]

单词2>>[文档1,文档2,文档3]

ES中采用的就是倒排索引结构。

(2)冲突处理和修改操作

ES采用乐观锁处理冲突,乐观锁概念参考Elasticsearch-并发冲突处理机制,因此在执行一些操作时可能要进行多次操作才可以完成,并且ES的修改操作有以下方面有几个特性

修改:

  • 文档不能被修改,只能被替换

删除:

  • 文档删除操作只是标记为”已删除“,并没有真正释放内存

  • 尽管不能再对旧版本的文档进行访问,但它并不会立即消失

  • 当继续索引更多的数据,Elasticsearch 会在后台清理这些已删除文档

  • 删除索引会直接释放内存

分析:监控+预警+可视化
ELK将所有节点上的日志统一收集,传输,存储,管理,访问,分析,警告,可视化。

它提供了大量应用于监控的可视化界面,例如Uptime、Metric、Machine Learning、DashBoard、Stack Monitoring,都是我们将系统/服务器/应用的数据传入ES后,就可以利用Kibana的模板来展示相关内容。

对于各种常见的采集器采集到的数据,官方提供了一系列对应的模板,但是我们也可以针对自己的数据自定义,来按需求展示想要的信息。

关于各个板块的具体展示内容和查看方式,在后文具体提到,见三、Beats和四、Kibana+插件。

支持集群

集群真正的扩容能力是来自于水平扩容–为集群添加更多的节点,并且将负载压力和稳定性分散到这些节点中。

(1)ES集群特点

一个集群拥有相同的cluster.name 配置的节点组成, 它们共同承担数据和负载的压力

主节点负责管理集群的变更例如增加、删除索引,或者增加、删除节点等。 而主节点并不需要涉及到文档级别的变更和搜索等操作

(2)分片的特点

Elasticsearch 是利用分片将数据分发到集群内各处

分片是数据的容器,文档保存在分片内

分片又被分配到集群内的各个节点里

当集群规模变动,ES会自动在各个节点中迁移分片。使得数据仍然均匀分布在集群中

副分片是主分片的一个拷贝,作为硬件故障时的备份。并提供返回文档读操作

在创建索引时,确定主分片数,但是副分片可以在后面进行更改

5.ELK工作原理

  1. 在所有需要收集日志的服务器上部署Logstash;或者先将日志进行集中化管理在日志服务器上,在日志服务器上部署 Logstash。
  2. Logstash 收集日志,将日志格式化并输出到 Elasticsearch 群集中。
  3. Elasticsearch 对格式化后的数据进行索引和存储。
  4. Kibana 从 ES 群集中查询数据生成图表,并进行前端数据的展示。

总结:logstash作为日志搜集器,从数据源采集数据,并对数据进行过滤,格式化处理,然后交由Elasticsearch存储,kibana对日志进行可视化处理
在这里插入图片描述

ElasticSearch工作原理

ElasticSearch(简称ES)是一个基于Lucene构建的开源、分布式、RESTful的全文本搜索引擎。

不过,ElasticSearch却也不仅只是一个全文本搜索引擎,它还是一个分布式实时文档存储,其中每个field均是被索引的数据且可被搜索;也是一个带实时分析功能的分布式搜索引擎,并且能够扩展至数以百计的服务器存储及处理PB级的数据。

如前所述,ElasticSearch在底层利用Lucene完成其索引功能,因此其许多基本概念源于Lucene。

说说ES的基本概念

索引(Index)

ES将数据存储于一个或多个索引中,索引是具有类似特性的文档的集合。类比传统的关系型数据库领域来说,索引相当于SQL中的一个数据库,或者一个数据存储方案(schema)。

索引由其名称(必须为全小写字符)进行标识,并通过引用此名称完成文档的创建、搜索、更新及删除操作。一个ES集群中可以按需创建任意数目的索引。

类型(Type)

类型是索引内部的逻辑分区(category/partition),然而其意义完全取决于用户需求。因此,一个索引内部可定义一个或多个类型(type)。一般来说,类型就是为那些拥有相同的域的文档做的预定义。

例如,在索引中,可以定义一个用于存储用户数据的类型,一个存储日志数据的类型,以及一个存储评论数据的类型。类比传统的关系型数据库领域来说,类型相当于“表”。

文档(Document)

文档是Lucene索引和搜索的原子单位,它是包含了一个或多个域的容器,基于JSON格式进行表示。

文档由一个或多个域组成,每个域拥有一个名字及一个或多个值,有多个值的域通常称为“多值域”。每个文档可以存储不同的域集,但同一类型下的文档至应该有某种程度上的相似之处。

映射(Mapping)

ES中,所有的文档在存储之前都要首先进行分析。用户可根据需要定义如何将文本分割成token、哪些token应该被过滤掉,以及哪些文本需要进行额外处理等等。

另外,ES还提供了额外功能,例如将域中的内容按需排序。事实上,ES也能自动根据其值确定域的类型。

接下去再说说ES Cluster相关的一些概念。

集群(Cluster)

ES集群是一个或多个节点的集合,它们共同存储了整个数据集,并提供了联合索引以及可跨所有节点的搜索能力。

多节点组成的集群拥有冗余能力,它可以在一个或几个节点出现故障时保证服务的整体可用性。

集群靠其独有的名称进行标识,默认名称为“elasticsearch”。节点靠其集群名称来决定加入哪个ES集群,一个节点只能属一个集群。

如果不考虑冗余能力等特性,仅有一个节点的ES集群一样可以实现所有的存储及搜索功能。

节点(Node)

运行了单个实例的ES主机称为节点,它是集群的一个成员,可以存储数据、参与集群索引及搜索操作。

类似于集群,节点靠其名称进行标识,默认为启动时自动生成的随机Marvel字符名称。

用户可以按需要自定义任何希望使用的名称,但出于管理的目的,此名称应该尽可能有较好的识别性。

节点通过为其配置的ES集群名称确定其所要加入的集群。

分片(Shard)和副本(Replica)

ES的“分片(shard)”机制可将一个索引内部的数据分布地存储于多个节点,它通过将一个索引切分为多个底层物理的Lucene索引完成索引数据的分割存储功能,这每一个物理的Lucene索引称为一个分片(shard)。

每个分片其内部都是一个全功能且独立的索引,因此可由集群中的任何主机存储。创建索引时,用户可指定其分片的数量,默认数量为5个。

Shard有两种类型:primary和replica,即主shard及副本shard。

  • Primary shard用于文档存储,每个新的索引会自动创建5个Primary shard,当然此数量可在索引创建之前通过配置自行定义,不过,一旦创建完成,其Primary shard的数量将不可更改。

  • Replica shard是Primary Shard的副本,用于冗余数据及提高搜索性能。

每个Primary shard默认配置了一个Replica shard,但也可以配置多个,且其数量可动态更改。ES会根据需要自动增加或减少这些Replica shard的数量。

ES集群可由多个节点组成,各Shard分布式地存储于这些节点上。

ES可自动在节点间按需要移动shard,例如增加节点或节点故障时。简而言之,分片实现了集群的分布式存储,而副本实现了其分布式处理及冗余功能。

下面说说ES系统及插件

ES依赖于JDK,使用Oracke JDK或OpenJDK均可。

JDK在不同平台的安装方式各异,具体方法这里不再介绍。ES的安装也非常容易,通常只需要简单修改其配置文件中的集群名称,并启动服务即可,这里不再赘述。

ElasticSearch在设计上支持插件式体系结构,用户可根据需要通过插件来增强ElasticSearch的功能。

目前,常用的通过插件扩展的功能包括添加自定义映射类型、自定义分析器、本地脚本、自定义发现方式等等。

安装及移除插件

插件的安装有两种方式:直接将插件放置于plugins目录中,或通过plugin脚本进行安装。

Marvel、BigDesk及Head这三个是较为常用的插件。

ElasticSearch提供了易用但功能强大的RESTful API以用于与集群进行交互,这些API大体可分为如下四类:

(1) 检查集群、节点、索引等健康与否,以及获取其相关状态与统计信息;
(2) 管理集群、节点、索引数据及元数据;
(3) 执行CRUD操作及搜索操作;
(4) 执行高级搜索操作,例如paging、filtering、scripting、faceting、aggregations及其它操作;

Logstash原理

Logstash的理念很简单,它只做3件事情:Collect:数据输入(收集);Enrich:数据加工,如过滤,改写等;Transport:数据输出(被其他模块进行调用)

Logstash 配置文件基本由三部分组成:Input、Output、Filter Plugin

  1. Input:获取日志,表示从数据源采集数据,常见的数据源如Kafka、日志文件等
  2. Output:输出日志,表示将Logstash收集的数据经由过滤器处理之后输出到Elasticsearch
  3. Filter Plugin:过滤日志、格式处理,表示数据处理层,包括对数据进行格式化处理、数据类型转换、数据过滤等,支持正则表达式

在这里插入图片描述
Logstash主要组件
(1)Shipper(日志收集者):日志收集负责监控本地日志文件的变化,及时把日志文件的最新内容收
集起来。通常,远程代理端(agent)只需要运行这个组件即可。
(2)Indexer(日志存储者):日志存储负责接受日志并写入到本地文件。
(3)Broker(日志Hub):日志hub负责链接多个shipper和对应数目的indexer。
(4)Search and Storage:允许对事件进行搜索和存储。
(5)Web Interface:基于web的展示界面。
以上组件在Logstash架构中可以独立部署,因此提供了很好的集群扩展性

LogStash主机分类

  • 代理主机(agent host):作为事件的传递者(shipper),将各种日志数据发送至中心主机;只需运行Logstash代理( agent)程序;
  • 中心主机(central host):可运行包括中间转发器(Broker)、索引器(Indexer)、搜索和存储器(Searchandstorage)
  • web界面端(web Interface):在内的各个组件,以实现对日志数据的接收,处理和存储

其它组件
Filebeat:轻量级的开源日志文件数据搜集器。通常在需要采集数据的客户端安装 Filebeat,并指定目录与日志格式,Filebeat 就能快速收集数据,并发送给 logstash 进行解析,或是直接发给 Elasticsearch存储,性能上相比运行于 JVM 上的 logstash 优势明显,是对它的替代。常应用于 EFLK 架构当中。

filebeat 结合 logstash 带来好处:
(1)通过 Logstash 具有基于磁盘的自适应缓冲系统,该系统将吸收传入的吞吐量,从而减轻Elasticsearch 持续写入数据的压力
(2)从其他数据源(例如数据库,S3对象存储或消息传递队列)中提取
(3)将数据发送到多个目的地,例如S3,HDFS(Hadoop分布式文件系统)或写入文件
(4)使用条件数据流逻辑组成更复杂的处理管道

缓存/消息队列(redis、kafka、RabbitMQ等):可以对高并发日志数据进行流量削峰和缓冲,这样的缓冲可以一定程度的保护数据不丢失,还可以对整个架构进行应用解耦。

Fluentd:是一个流行的开源数据收集器。由于 logstash 太重量级的缺点,Logstash 性能低、资源消耗比较多等问题,随后就有 Fluentd 的出现。
相比较 logstash,Fluentd 更易用、资源消耗更少、性能更高,在数据处理上更高效可靠,受到企业迎,成为 logstash 的一种替代方案,
常应用于 EFK 架构当中。在 Kubernetes 集群中也常使用 EFK 作为日志数据收集的方案。
在 Kubernetes 集群中一般是通过 DaemonSet 来运行 Fluentd,以便它在每个 Kubernetes 工作节点上都可以运行一个 Pod。
它通过获取容器日志文件、过滤和转换日志数据,然后将数据传递到Elasticsearch 集群,在该集群中对其进行索引和存储。

Kibana(展示)

(1)一个针对Elasticsearch的开源分析及可视化平台;
(2)搜索、查看存储在Elasticsearch索引中的数据;
(3)通过各种图标进行高级数据分析及展示;
(4)让海量数据更容易理解;
(5)操作简单,基于浏览器地用户界面就可以快速创建仪表板(dashboard)实时显示Elasticsearch查询动态;
(6)设置安装Kibana非常简单,无需编写代码,几分钟内就可以完成Kibana安装并启动Elasticsearch监测。

Kibana主要功能
Kibana 通常与 Elasticsearch 一起部署,Kibana 是 Elasticsearch 的一个功能强大的数据可视化Dashboard,Kibana 提供图形化的 web 界面来浏览 Elasticsearch 日志数据,可以用来汇总、分析和搜索重要数据。

(1)Elasticsearch无缝之集成。Kibana架构为Elasticsearch定制,可以将任何结构化和非结构化数据加入Elasticsearch索引。Kibana还充分利用了Elasticsearch强大的搜索和分析功能。
(2)整合数据:Kibana能够更好地处理海量数据,并据此创建柱形图、折线图、散点图、直方图、饼图和地图。
(3)复杂数据分析:Kibana提升了Elasticsearch分析能力,能够更加智能地分析数据,执行数学转换并且根据要求对数据切割分块。
(4)让更多团队成员受益:强大的数据库可视化接口让各业务岗位都能够从数据集合受益。
(5)接口灵活,分享更容易:使用Kibana可以更加方便地创建、保存、分享数据,并将可视化数据快速交流。
(6)配置简单:Kibana的配置和启用非常简单,用户体验非常友好。Kibana自带Web服务器,可以快速启动运行。
(7)可视化多数据源:Kibana可以非常方便地把来自Logstash、ES-Hadoop、Beats或第三方技术的数据整合到Elasticsearch,支持的第三方技术包括Apache Flume、Fluentd等。
(8)简单数据导出:Kibana可以方便地导出感兴趣的数据,与其它数据集合并融合后快速建模分析,发现新结果。

二、ELK Elasticsearch 集群部署(在Node1、Node2节点上操作)

准备

Node1节点(2C/4G):node1/192.168.99.111 Elasticsearch Kibana
Node2节点(2C/4G):node2/192.168.99.122 Elasticsearch
Apache节点:apache 192.168.99.143 Logstash Apache

所有节点,关闭系统防火墙和安全机制

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

更改主机名

Node1节点:hostnamectl set-hostname n1
Node2节点:hostnamectl set-hostname n2

#查看Java环境,如果没有安装,yum -y install java
java -version

在这里插入图片描述

部署 Elasticsearch 软件

安装elasticsearch—rpm包
cd /opt
rpm -ivh elasticsearch-5.5.0.rpm
加载系统服务
systemctl daemon-reload
systemctl enable elasticsearch.service
修改elasticsearch主配置文件
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
# 修改时属性名和属性值之间需要有空格间隔
vim /etc/elasticsearch/elasticsearch.yml
--17--取消注释,指定集群名字
cluster.name: my-elk-cluster
--23--取消注释,指定节点名字:Node1节点为node1,Node2节点为node2
node.name: node1
--33--取消注释,指定数据存放路径
path.data: /data/elk_data
--37--取消注释,指定日志存放路径
path.logs: /var/log/elasticsearch/
--43--取消注释,改为在启动的时候不锁定内存
bootstrap.memory_lock: false
--55--取消注释,设置监听地址,0.0.0.0代表所有地址
network.host: 0.0.0.0
--59--取消注释,ES 服务的默认监听端口为9200
http.port: 9200
--68--取消注释,集群发现通过单播实现,指定要发现的节点 主机名 n1、n2
discovery.zen.ping.unicast.hosts: ["n1", "n2"]
#查看主配置文件
grep -v "^#" /etc/elasticsearch/elasticsearch.yml
创建数据存放路径并授权
mkdir -p /data/elk_data 
chown elasticsearch:elasticsearch /data/elk_data/
启动elasticsearch是否成功开启
systemctl restart elasticsearch.service
netstat -antp | grep 9200

在这里插入图片描述

查看节点信息

浏览器访问 ,查看节点 Node1、Node2 的信息
http://192.168.99.111:9200
http://192.168.99.122:9200
在这里插入图片描述

浏览器访问
http://192.168.99.111:9200/_cluster/health?pretty
http://192.168.99.122:9200/_cluster/health?pretty
查看群集的健康情况,
可以看到 status 值为 green(绿色), 表示节点健康运行。
在这里插入图片描述

未完待续……

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【FPGA项目】bin文件ram存取回环测试

🎉欢迎来到FPGA专栏~bin文件ram存取回环测试 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒🍹 ✨博客主页:小夏与酒的博客 🎈该系列文章专栏:FPGA学习之旅 文章作者技术和水平有限,如果文中出现错误,希望大…

Java常用的设计模式,如单例模式、工厂模式、观察者模式等

设计模式是软件工程中的一种解决方案,用于应对常见的设计问题和挑战。它们提供了一种标准化的方式来解决设计难题,使代码更加灵活、可扩展和易于维护。 单例模式(Singleton Pattern) 概述 单例模式确保一个类只有一个实例&…

C/C++图形渲染引擎开发方向有钱景吗?

在当前的技术环境下,特别是在图形渲染引擎开发领域,的确存在一些挑战和变化。我这里有一套编程入门教程,不仅包含了详细的视频 讲解,项目实战。如果你渴望学习编程,不妨点个关注,给个评论222,私…

Jenkins For Windows编译构建C#项目环境搭建(完整版)

安装Jenkins 下载Windows安装包 官方下载地址 选择稳定版,这里下载的是最新版,如需下载指定版本点击 以前的发行版 配置java环境 下载 java jdk 17 jdk17官方下载链接 这里下载的是msi版本的安装包 安装jdk17 双击运行安装包,一直下…

SpringMVC-基础架构

一、什么是MVC 二、什么是SpringMVC 三、SpringMVC的特点 四、配置SpringMVC 简单流程&#xff1a; 总体框架 1.创建pom.xml依赖 <!--打包方式--><packaging>war</packaging><!--依赖--><dependencies><dependency><groupId>org.s…

得物架构面试:如何保证服务发布过程中流量无损?

哈喽&#xff0c;大家好&#xff0c;我是明智 今天跟大家讨论一个服务稳定性相关的话题&#xff0c;对于大部分做业务的小伙伴来说&#xff0c;很少会被问到这类问题 不过你如果你希望面试公司的一些基础部门&#xff0c;例如&#xff1a;基础架构、效能开发、服务稳定性保障等…

ubtun虚拟机安装

选择镜像后启动 选择第一个回车 加载完成后 &#xff0c;进入Ubuntu安装界面&#xff0c;安装语言选择English&#xff0c;完成后按一下回车&#xff1a; 此时弹出安装器可更新提示&#xff0c;下方选项选择第二个Continue without updating&#xff08;不更新&#xff0c;继续…

复旦微FMQL20SM全国产ARM+FPGA核心板,替代xilinx ZYNQ7020系列

FMQL20SM核心板一款全国产工业核心板。基于复旦微FMQL20S400M四核ARM Cortex-A7&#xff08;PS端&#xff09; FPGA可编程逻辑资源&#xff08;PL端&#xff09;异构多核SoC处理器设计的全国产工业核心板&#xff0c;PS端主频高达1GHz。 核心板简介 FMQL20SM核心板是一款全国…

PHP地方门户分类信息网站源码讯客分类信息系统源码(含手机版)

源码介绍 1.上传程序到网站根目录,访问http://域名/install/index.php 进行安装,不要直接打开网址&#xff0c;先直接安装; 2.安装完成后 后台恢复数据即可 默认帐号密码都是admin http://域名/admin/ 3.不要删除任何文件&#xff0c;因为删除文件或者修改代码可能造成错误 运…

【机器学习】鸢尾花分类:机器学习领域经典入门项目实战

学习机器学习&#xff0c;就像学习任何新技能一样&#xff0c;最好的方法之一就是通过实战来巩固理论知识。鸢尾花分类项目是一个经典的入门项目&#xff0c;它不仅简单易懂&#xff0c;还能帮助我们掌握机器学习的基本步骤和方法。 鸢尾花数据集&#xff08;Iris Dataset&…

Django 5 Web应用开发实战

文章目录 一、内容简介二、目录内容三、值得一读四、适读人群 一、内容简介 《Django 5 Web应用开发实战》集Django架站基础、项目实践、开发经验于一体&#xff0c;是一本从零基础到精通Django Web企业级开发技术的实战指南。《Django 5 Web应用开发实战》内容以Python 3.x和…

Java多线程面试重点-1

0. 什么是并发&#xff1f;什么是并行&#xff1f; 并发&#xff1a;把时间分成一段一段&#xff0c;每个线程轮流抢占时间段。 如果时间段非常短&#xff0c;线程切换非常快&#xff0c;被称为伪并行。并行&#xff1a;多个线程可以同时运行。 并发与并行造成的影响&#xff…

如何把路由器设备的LAN口地址为三大私网地址

要将路由器的LAN口地址配置为三大私有IP地址范围之一&#xff08;10.0.0.0/8、172.16.0.0/12 或 192.168.0.0/16&#xff09;&#xff0c;我们需要访问路由器的管理界面并进行相应的设置。 下面是步骤&#xff1a; 连接到路由器&#xff1a; 连接到路由器的管理界面&#xf…

在vue中循环中调用接口-promise.all();按顺序执行异步处理

&#x1f308;&#x1f308;&#x1f308;目录 场景一 解决 场景二 解决 场景一 数组遍历中每次遍历都需要去请求getStaffCover接口&#xff0c;拿到该接口的结果拼接到数组的每一项&#xff0c;等到数组遍历完之后&#xff0c;拿到拼接好的数组。拼接的数组必须是最终遍历…

计算机网络 —— 应用层(应用层概述及服务方式)

计算机网络 —— 应用层&#xff08;应用层概述及服务方式&#xff09; 应用层服务方式C/S&#xff08;客户端-服务器&#xff08;C/S&#xff09;模型&#xff09;基本概念特点B/S&#xff08;Browser/Server&#xff09;基本概念特点应用场景 p2p &#xff08;对等网络&#…

这三款使用的视频、图片设计工具,提供工作效率

Videograp Videograp是一款专注于视频生成的工具&#xff0c;特别适合需要快速剪辑和编辑视频的用户。Videograp具备以下特点&#xff1a; 影音比例转换&#xff1a;Videograp支持调整视频的分辨率和比例&#xff0c;使其更适合不同的播放环境和设备。 AI快剪&#xff1a;该工…

超市陈列艺术:不仅仅是货品摆放,更是营销策略的体现

品类管理在门店落地的最直观表现就是单品的空间陈列管理&#xff0c;通过陈列细节的差异体现出门店的商品定位与策略。此文分析入木三分&#xff0c;值得学习。 在商品陈列的空间管理领域&#xff0c;不仅要考虑整体的空间陈列&#xff0c;也要对每个商品的空间陈列位置&#…

旅游行业电商平台:数字化转型的引擎与未来发展趋势

引言 旅游行业数字化转型的背景和重要性 随着信息技术的飞速发展&#xff0c;数字化转型成为各行业发展的必然趋势。旅游行业&#xff0c;作为一个高度依赖信息和服务的领域&#xff0c;数字化转型尤为重要。通过数字化手段&#xff0c;旅游行业能够实现资源的高效配置、服务的…

Apache Doris单机快速安装(已踩坑)

官方文档&#xff1a;https://doris.incubator.apache.org/zh-CN/docs/get-starting/quick-start/ 环境&#xff1a; 操作系统&#xff1a;CentOS7.6 X86_64 JDK&#xff1a;Oracle jdk1.8.0_351 1.版本下载 从 doris.apache.org 下载相应的 Doris 安装包&#xff0c;并且解压…

11.QLoRA微调ChatGLM3-6B

实战 QLoRA 微调 ChatGLM3-6B 大模型 实战 PEFT 库 QLoRA ChatGLM3-6B 微调数据集 AdvertiseGen AdvertiseGen 数据集获取 使用ChatGLM3-6b Tokenizer处理数据 关于ig nore_label_id 的设置&#xff1a; 在许多自然语言处理和机器学习框架中&#xff0c; ig nore_label_id 被…