Elasticsearch_8.11.4_kibana_8.11.4_metricbeat_8.11.4安装及本地部署_ELK日志部署

文章目录

    • Elasticsearch_8.11.4_kibana_8.11.4_metricbeat_8.11.4安装及本地部署_ELK日志部署
      • 分布式引擎Elasticsearch_8.11.4安装及本地部署
      • 系统环境要求
      • 1 Windows 安装 Elasticsearch
        • 下载完成后进行解压,进入 bin 目录,找到`elasticsearch.bat`脚本文件执行一键启动.
        • 启动都选允许访问网络
        • 启动后,特别注意一下 cmd 窗口的一个用户名和一个密码信息,访问登录需要这个用户名密码
        • 看到启动的端口
        • 访问时候报错,版本8以上,默认SSL证书是开启,我尝试证书关闭是没有成功,下面是生成证书
          • 第一步:生成证书,我们在ES的bin目录路径下,执行
            • 自动在目录生成文件
          • 第二步:对生成的证书进行验证,在ES的bin目录路径下,执行指令
            • keystore和truststore设置密码
            • 生成文件在根目录下
      • 1.1 config参数解释和详细配置可参考
        • 文件路径window环境下路径问题:默认是从D盘开始的,一定要设定在有效的elasticSearch文件安装的目录下的config文件夹下,才会识别成功,这个很重要
        • elasticsearch.yml配置文件释义
        • 设置文件路径的,只配置这两个:
        • jvm文件修改:
          • config配置文件夹中修改jvm.options 配置,设置jvm启动内存的大小
        • 启动
        • 进行访问,这个界面就是启动成功
      • 1.2 其他服务指令,查找服务
      • 2 kibana 安装
        • 下载后解压后的目录结构
        • 配置文件中主要配置
        • 访问超时的时间
        • 改成汉化
        • 设置好后,进入bin目录双击`kibana.bat`运行
        • 下面常用几个配置:kibana中配置ES中配置的kibana账号密码即可连接ES认证
          • 默认端口是5601,`127.0.0.1:5601`进行访问,我这边都是默认
          • 进入页面这两个点击任何一个都一样,我选择的是`Explore on my own`
          • 滚动屏幕,选择监控
          • 点击默认选项
          • 提示安装Download Metricbeat
      • 3 Metricbeat安装及部署
        • 执行报错
        • 修改执行策略:允许本地脚本和远程签名脚本 RemoteSigned
        • 配置文件说明: `metricbeat.yml`
        • 配置文件主要修改如下,其他默认:
        • 启动指令`start metricbeat `
        • 重新打开页面,发现页面有了变化
      • 4 ELK日志分析

Elasticsearch_8.11.4_kibana_8.11.4_metricbeat_8.11.4安装及本地部署_ELK日志部署

分布式引擎Elasticsearch_8.11.4安装及本地部署

Elasticsearch是一个基于 Lucene 库的分布式搜索和分析引擎,它提供了一个分布式、多租户的全文搜索引擎,具有 HTTP Web 接口和无模式 JSON 文档,同时也是是一个非常强大的工具,可以用于各种用途,例如日志分析、搜索引擎、安全分析等等。

远程连接的好处在于可以让用户从远程位置访问 Elasticsearch集群,这样可以方便地进行数据查询和管理。具体好处如下:

1 方便远程协作:远程连接可以让多个用户从不同的地方同时访问 Elasticsearch 集群,方便团队协作和数据共享。
2 提高数据安全性:远程连接可以让用户在本地进行数据查询和管理,避免了在服务器上直接操作数据的风险,提高了数据的安全性。
3 方便数据备份:远程连接可以让用户方便地将数据备份到本地,避免了数据丢失的风险。
4 提高数据处理效率:远程连接可以让用户在本地进行数据处理和分析,避免了数据传输的时间和带宽限制,提高了数据处理效率。

下面介绍在 Windows 安装 Elasticsearch 并结合 Cpolar 实现远程连接和访问!

系统环境要求

安装前–》需要JDK 1.8的环境

1 Windows 安装 Elasticsearch

相关b站视频学习:https://www.bilibili.com/video/BV1o4411j7cX?p=2&vd_source=07fe8b0af86975fbc5f3de79fd3d6186

中文官网https://www.elastic.co/cn/

进入官方下载界面: https://www.elastic.co/downloads/elasticsearch,选择windows版本下载,Elasticsearch 运行需要 java 环境,如果没有安装环境,需要提前安装 JDK.

在这里插入图片描述

下载完成后进行解压,进入 bin 目录,找到elasticsearch.bat脚本文件执行一键启动.

在这里插入图片描述

启动都选允许访问网络

在这里插入图片描述

启动后,特别注意一下 cmd 窗口的一个用户名和一个密码信息,访问登录需要这个用户名密码
 用户:elastic  密码:Dd1ScBihh_*-W2vYTLci

在这里插入图片描述

看到启动的端口

在这里插入图片描述

访问时候报错,版本8以上,默认SSL证书是开启,我尝试证书关闭是没有成功,下面是生成证书
Elasticsearch 启动后访问报错:[2024-01-12T21:02:18,560][WARN ][o.e.t.TcpTransport       ] [20230605-170021] exception caught on transport layer [Netty4TcpChannel{localAddress=/127.0.0.1:9300, remoteAddress=/127.0.0.1:10465, profile=default}], closing connectionio.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: Empty client certificate chain
        at io.netty.codec@4.1.94.Final/io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:499)
        at io.netty.codec@4.1.94.Final/io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
        at io.netty.transport@4.1.94.Final/io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
        at io.netty.transport@4.1.94.Final/io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at io.netty.transport@4.1.94.Final/io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
第一步:生成证书,我们在ES的bin目录路径下,执行
bin/elasticsearch-certutil ca

生成ca证书,在期间,会提示我们输入生成文件名(可直接回车跳过),提示我们输入证书密码(可直接回车跳过,也可以设置一个密码,密码尽量统一);这样,我们就可以得到一个以.p12结尾的ca证书,其文件名默认为elastic-stack-ca.p12

在这里插入图片描述

自动在目录生成文件

在这里插入图片描述

第二步:对生成的证书进行验证,在ES的bin目录路径下,执行指令
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12  #依次输入上一个步骤的密码。回车(文件使用默认名),密码(建议与上一步密码相同)

bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password    #输入密码:第一步中设置的密码,例如本样例中的123456

bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password  #输入密码:第一步中设置的密码,例如本样例中的12345

在这里插入图片描述

在这里插入图片描述

keystore和truststore设置密码

在这里插入图片描述

生成文件在根目录下

在这里插入图片描述

在这里插入图片描述

1.1 config参数解释和详细配置可参考

文件路径window环境下路径问题:默认是从D盘开始的,一定要设定在有效的elasticSearch文件安装的目录下的config文件夹下,才会识别成功,这个很重要

在这里插入图片描述

elasticsearch.yml配置文件释义
#集群名字,目前是单节点
cluster.name: “test”
#节点名
node.name: “es_test”
#配置可进行数据交互的ip
network.host: 0.0.0.0
#允许http跨域访问,es_head插件必须开启
http.cors.enabled: true
http.cors.allow-origin: “*”
#数据存储路径
path.data: /usr/share/elasticsearch/dat
#启动的端口
http.port: 9200
#日志存储路径
path.logs: /usr/share/elasticsearch/logs
#不锁定jvm内存
bootstrap.memory_lock: false
#备份库
path.repo: [“/usr/share/elasticsearch/data/backup”]
#主节点
cluster.initial_master_nodes: [“es_test”]
#es_head连接时读取用户名密码
http.cors.allow-headers:
Authorization,X-Requested-With,Content-Length,Content-Type
# 集群
discovery.seed_hosts: ["host1", "host2"]
# 有哪些节点可以成为主节点
cluster.initial_master_nodes: ["node-1", "node-2"]
#开启密码认证
xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path:【es的安装路径】/config/XXX/elastic-certificates.p12
Linux:----------> /usr/share/elasticsearch/config/certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path:【es的安装路径】/config/XXX/elastic-certificates.p12
Linux:----------> /usr/share/elasticsearch/config/certs/elastic-certificates.p12
设置文件路径的,只配置这两个:
xpack.security.transport.ssl.keystore.path:
xpack.security.transport.ssl.truststore.path

在这里插入图片描述

# Enable security features
xpack.security.enabled: true

xpack.security.enrollment.enabled: true

# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
  enabled: true
  keystore.path: certs/http.p12

# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
  enabled: true
  verification_mode: certificate
  keystore.path: elastic-certificates.p12
  truststore.path: elastic-certificates.p12
jvm文件修改:
config配置文件夹中修改jvm.options 配置,设置jvm启动内存的大小
-Xms512m
-Xmx512m

在这里插入图片描述

启动
./bin/elasticsearch -d  #逐个启动节点

在这里插入图片描述

进行访问,这个界面就是启动成功

在这里插入图片描述

1.2 其他服务指令,查找服务

tasklist  | find "java.exe"  # 检查java服务是否运行
taskkill /F /IM "java.exe"   # 结束java服务
java -jar  path/java/service.jar  #启动服务需要日环java实际的jar包路径

2 kibana 安装

Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板(dashboard)实时显示Elasticsearch查询动态。设置Kibana非常简单。无需编码或者额外的基础架构,几分钟内就可以完成Kibana安装并启动Elasticsearch索引检测。

Kibana版本要和ES一致

官方下载地址:https://www.elastic.co/cn/downloads/kibana

在这里插入图片描述

下载后解压后的目录结构

在这里插入图片描述

配置文件中主要配置
elasticsearch.hosts: ["http://localhost:9200"]  # 填写的elasticsearch服务地址

在这里插入图片描述

访问超时的时间

在这里插入图片描述

改成汉化

在这里插入图片描述

设置好后,进入bin目录双击kibana.bat运行

在这里插入图片描述

下面常用几个配置:kibana中配置ES中配置的kibana账号密码即可连接ES认证
elasticsearch.username: "kibana"
elasticsearch.password: "XXX"
elasticsearch.hosts: ["http://1.1.1.1:9200","http://2.2.2.2:9200","http://3.3.3.3:9200"]
server.port: 5601
默认端口是5601,127.0.0.1:5601进行访问,我这边都是默认

在这里插入图片描述

进入页面这两个点击任何一个都一样,我选择的是Explore on my own

在这里插入图片描述

滚动屏幕,选择监控

在这里插入图片描述

点击默认选项

在这里插入图片描述

提示安装Download Metricbeat

在这里插入图片描述

3 Metricbeat安装及部署

下载注意:与elastic要保持版本的基本一致

Metricbeat是一个轻量级的托运程序,可以安装在服务器上,定期从操作系统和服务器上运行的服务收集度量。Metricbeat获取它收集的度量和统计数据,并将它们发送到您指定的输出,例如Elasticsearch或Logstash。

Metricbeat通过从服务器上运行的系统和服务收集指标,帮助您监控服务器,例如:

  • Apache
  • HAProxy
  • MongoDB
  • MySQL
  • Nginx
  • PostgreSQL
  • Redis
  • System
  • Zookeeper

详细官方安装教程

下载地址

1 将zip文件的内容解压到C:\Program Files中 
2 将“Metricbeat-8.11.4-windows-x86_64”目录重命名为“Metricbeat”。
3 以管理员身份打开PowerShell提示符(右键单击PowerShell图标并选择以管理员身份运行)。

	PS > cd 'C:\Program Files\Metricbeat'
	PS C:\Program Files\Metricbeat> .\install-service-metricbeat.ps1

4 如果您的系统禁用脚本执行,则需要设置执行策略: PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-metricbeat.ps1
执行报错
PS C:\Program Files\Metricbeat> .\install-service-metricbeat.ps1
.\install-service-metricbeat.ps1 : File C:\Program Files\Metricbeat\install-service-metricbeat.ps1 cannot be loaded bec
ause running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.micros
oft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ .\install-service-metricbeat.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess
修改执行策略:允许本地脚本和远程签名脚本 RemoteSigned

执行策略修改:https://learn.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.4

PS C:\Program Files\Metricbeat> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Execution Policy Change
The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose
you to the security risks described in the about_Execution_Policies help topic at
https:/go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): y
PS C:\Program Files\Metricbeat> .\install-service-metricbeat.ps1
[SC] DeleteService SUCCESS

Status   Name               DisplayName
------   ----               -----------
Stopped  metricbeat         metricbeat




在这里插入图片描述

配置文件说明: metricbeat.yml
# Metricbeat配置文件
 
# Metricbeat模块配置
metricbeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false
 
# 设置模板配置
setup.template.settings:
  index.number_of_shards: 1
  index.codec: best_compression
 
# 设置Kibana相关配置
setup.dashboards.enabled: true
setup.kibana:
  host: "192.168.122.118:5601"
 
# 输出到Elasticsearch的配置
output.elasticsearch:
  # Elasticsearch集群节点
  hosts: ["https://192.168.122.118:9200", "https://192.168.122.119:9200", "https://192.168.122.120:9200"]
  protocol: "https"
  username: "elastic"
  password: "elastic"
  # SSL配置
  ssl.certificate_authorities: ["/opt/module/metricbeat-8.11.0/certs/elasticsearch-ca.pem"]
  ssl.certificate: "/opt/module/metricbeat-8.11.0/certs/instance.crt"
  ssl.key: "/opt/module/metricbeat-8.11.0/certs/instance.key"
 
# Metricbeat处理器配置
processors:
  - add_host_metadata: ~
  - add_cloud_metadata: ~
  - add_docker_metadata: ~
  - add_kubernetes_metadata: ~
  

# 直接发送elasticsearch
output.elasticsearch:
  hosts: ["192.168.0.1:9200"]

# 要加载仪表板,可以在metricbeat设置中启用仪表板加载。当仪表板加载被启用时,Metricbeat使用Kibana API来加载样本仪表板。只有当Metricbeat启动时,才会尝试仪表板加载。
# 设置kibana服务地址
setup.kibana.host: "172.30.1.45:5601"
# 加载默认的仪表盘样式
setup.dashboards.enabled: true
# 设置如果存在模板,则不覆盖原有模板
setup.template.overwrite: false
配置文件主要修改如下,其他默认:

在这里插入图片描述

启动指令start metricbeat
# 启用modules
# metricbeat modules enable 模块名
 
# 禁用modules
# metricbeat modules disable 模块名
 
# # 启动system监控,如果想监控mysql、redis等则相应打开相关功能
# metricbeat modules enable system

.\metricbeat.exe modules list
.\metricbeat.exe setup -e   # 加载资源
.\metricbeat.exe modules enable elasticsearch-xpack # 启动

PS C:\Program Files\Metricbeat> start metricbeat   # 启动会自动黑框,无需操作等待

.\metricbeat.exe setup --dashboards  # 开启面板命令

在这里插入图片描述

执行完成后,可以在计算机管理-服务中看到metricbeat服务是启动状态,在kibana可视化中可以看到Windows主机信息了。

在这里插入图片描述

重新打开页面,发现页面有了变化

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

整个Elasticsearch安装中间走了很多弯路,最后是成功安装,如何使用后续会更新!

4 ELK日志分析

在安装和配置Metricbeat前,需确保ELK(Elasticsearch、Logstash、Kibana)已正确安装和工作,关于ELK部署安装,请参照文章《ELK日志监控分析系统的探索与实践(一):利用Filebeat监控Springboot日志》

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

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

相关文章

【Python学习】Python学习15-模块

目录 【Python学习】Python学习15-模块 前言创建语法引入模块from…import 语句from…import* 语句搜索路径PYTHONPATH 变量-*- coding: UTF-8 -*-导入模块现在可以调用模块里包含的函数了PYTHONPATH 变量命名空间和作用域dir()函数globals() 和 locals() 函数reload() 函数Py…

ROS2学习笔记一:安装及测试

目录 前言 1 ROS2安装与卸载 1.1 安装虚拟机 1.2 ROS2 humble安装 2 ROS2测试 2.1 topic测试 2.2 小海龟测试 2.3 RQT可视化 2.4 占用空间 前言 ROS2的前身是ROS,ROS即机器人操作系统(Robot Operating System),ROS为了“提高机器人…

原生js实现拖拽效果

<!DOCTYPE html> <html> <head> <style> #mydiv { width: 200px; height: 200px; background-color: red; position: absolute; cursor: move; } </style> | </head> <body> <div id"mydiv">拖拽我…

基于java web的机票管理系统设计与实现设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

机器学习扩散模型简介

一、说明 扩散模型的迅速崛起是过去几年机器学习领域最大的发展之一。在这本易于理解的指南中了解您需要了解的有关扩散模型的所有信息。 扩散模型是生成模型&#xff0c;在过去几年中越来越受欢迎&#xff0c;这是有充分理由的。仅在 2020 年代发布的几篇开创性论文就向世界…

socket.io分房间交流

基本详情看这里 Socket.IO 是一个库,可以在客户端和服务器之间实现 低延迟, 双向 和 基于事件的 通信. 效果展示 安装依赖 // 后端插件安装 npm i socket.io -S // 前端插件安装 npm i socket.io-client -S 前端搭建及逻辑 <script setup> import { ref, onMounted…

机器学习 | 卷积神经网络

机器学习 | 卷积神经网络 实验目的 采用任意一种课程中介绍过的或者其它卷积神经网络模型&#xff08;例如LeNet-5、AlexNet等&#xff09;用于解决某种媒体类型的模式识别问题。 实验内容 卷积神经网络可以基于现有框架如TensorFlow、Pytorch或者Mindspore等构建&#xff…

Vue2脚手架配置教程IDEA配置VUE

5.12.3 Vue Cli 文档地址: https://cli.vuejs.org/zh/ IDEA 打开项目&#xff0c;运行项目

React 原理

函数式编程 纯函数 reducer 必须是一个纯函数&#xff0c;即没有副作用的函数&#xff0c;不修改输入值&#xff0c;相同的输入一定会有相同的输出不可变值 state 必须是不可变值&#xff0c;否则在 shouldComponentUpdate 中无法拿到更新前的值&#xff0c;无法做性能优化操作…

Linux网络服务部署yum仓库

目录 一、网络文件 1.1.存储类型 1.2.FTP 文件传输协议 1.3.传输模式 二、内网搭建yum仓库 一、网络文件 1.1.存储类型 直连式存储&#xff1a;Direct-Attached Storage&#xff0c;简称DAS 存储区域网络&#xff1a;Storage Area Network&#xff0c;简称SAN&#xff0…

服务拆分及远程调用

分布式架构都离不开服务的拆分&#xff0c;微服务也是一样。 1.微服务拆分 不同微服务&#xff0c;不要重复开发相同业务 微服务数据独立&#xff0c;不要访问其它微服务的数据库 微服务可以将自己的业务暴露为接口&#xff0c;供其它微服务调用 2.远程调用 以前时&#xf…

Halcon提取亚像素轮廓edges_sub_pix算子

Halcon提取亚像素轮廓edges_sub_pix算子 最常用的提取亚像素轮廓的算子是edges_sub_pix算子&#xff0c;该算子同样提供了大量的提取方法&#xff0c;只需要在Filter 参数中设置方法的名字&#xff0c;就可以完成边缘的提取。该算子的输入是灰度图像&#xff0c;输出是XLD轮廓…

BurpSuite超详细安装教程-功能概述-配置-使用教程---(附下载链接)

一、介绍 BurpSuite是渗透测试、漏洞挖掘以及Web应用程序测试的最佳工具之一&#xff0c;是一款用于攻击web 应用程序的集成攻击测试平台&#xff0c;可以进行抓包、重放、爆破&#xff0c;包含许多工具&#xff0c;能处理对应的HTTP消息、持久性、认证、代理、日志、警报。 …

使用scipy处理图片——滚动图片

大纲 常规模式constant和grid-constant 交换模式wrap和grid-wrap 镜像reflect、mirror和grid-mirror 最近值nearest 代码 在《使用numpy处理图片——滚动图片》一文中&#xff0c;我们介绍了numpy的roll方法&#xff0c;它只能让超出区域的元素回到被移动的区域中&#xff0c;如…

图像提取大师:轻松从指定时长中获取某帧的图片,视频剪辑方法

在数字媒体时代&#xff0c;视频和图像已成为生活中不可或缺的部分。要从视频中提取某一帧作为图片&#xff0c;或者在视频剪辑时要采用其他的方法来达到需求的效果。下面来看云炫AI智剪如何轻松地从指定时长的视频中获取某帧的图片&#xff0c;视频剪辑的新方法。 视频中按指定…

Spring Cloud中的提供者与消费者

在服务调用关系中&#xff0c;会有两个不同的角色&#xff1a; 服务提供者&#xff1a;一次业务中&#xff0c;被其它微服务调用的服务。&#xff08;提供接口给其它微服务&#xff09; 服务消费者&#xff1a;一次业务中&#xff0c;调用其它微服务的服务。&#xff08;调用…

【竞技宝】DOTA2梦幻联赛 G2.iG让一追二击败Bright晋级败决!

北京时间2024年1月16日&#xff0c;DOTA2梦幻联赛S22中国区预选赛继续进行&#xff0c;本日首场比赛迎来G2.IG对阵Bright。本场比赛双方前两局战至1-1平&#xff0c;决胜局G2.iG monet的虚空在中期连续放出两个完美团战帮助G2.iG奠定胜势&#xff0c;最终G2.iG让一追二击败Brig…

Java 基础 - 06 List 之 Stack 以及List的相关总结

Java的栈&#xff0c;算是我们在Java中常见的一种数据结构&#xff0c;他遵循先进后出的原则&#xff08;Last-In-First-Out&#xff0c;LIFO&#xff09;的原则&#xff0c;在Java中&#xff0c;Stack是通过继承自Vector类实现的。 如上图所示&#xff0c;我们的stack继承自Ve…

el-table右固定最后一列显示不全或者是倒数第二列无边框线

问题图片&#xff1a; 解决方式1&#xff1a; >>>.el-table__row td:not(.is-hidden):last-child { border-left:1px solid #EBEEF5; } >>>.el-table__header th:not(.is-hidden):last-child{ border-left:1px solid #EBEEF5; } >>>.el-table__head…

苹果传拟移除Apple Watch血氧侦测功能 | 百能云芯

近日传来消息&#xff0c;苹果公司正考虑对部分型号的Apple Watch进行调整&#xff0c;可能会移除血氧侦测功能&#xff0c;以规避美国国际贸易委员会&#xff08;ITC&#xff09;在去年10月做出的禁售令决定。这一决定的背后是因为两款苹果智能手表&#xff0c;即Apple Watch …