Elasticsearch-8.11.1 (2+1)HA(高可用)集群部署

目录

一、环境描述

二、安装 ES

2.1 下载Elasticsearch

2.2 解压Elasticsearch

2.3 创建es服务账号/密码

2.3 修改服务器配置

2.4 配置节点

2.4.1 配置说明

2.4.2 配置高可用集群

2.4.2.1 maser节点服务配置

2.4.2.2 node1 节点服务配置

2.4.2.3 node2 节点服务配置

2.4.2.3 node3 节点服务配置

2.4.2.3 node4 节点服务配置

2.4.3 服务启动

2.4.4 验证服务启动有没有成功

2.4.4.1 ps查看有没有es进程

2.4.4.2 访问服务

三、部署Kibana

3.1 下载Kibana

3.2 解压

3.3 配置Kibana

3.4  给账号密码做目录授权

3.5 启动服务

3.6 访问Kibana

四、安装Head 插件

4.1 下载Head插件

4.2 修改Gruntfile.js文件

4.3 修改ES配置文件

4.3 安装head 服务

4.4 启动服务

4.5 访问Head

五、ES集群安全

5.1 集群安全策略

5.1.1 版本支持

5.1.2 支持的策略

5.2 不同策略的实现

5.2.1 Minimal security(最低安全等级)配置

5.2.1.1 Minimal security配置步骤

5.2.1.1.1 启动Security

5.2.1.1.2 重启节点服务

5.2.1.1.2 创建用户密码

5.2.1.1.3 配置Kibana的账号信息

5.2.2 Basic security(基本安全等级)配置

5.2.2.1 适用范围和概念

5.2.2.2 配置步骤

5.2.2.2.1 配置文件 elasticsearch.yml

5.2.2.2.2 生成密钥文件

5.2.2.2.3 为节点颁发证书

5.2.2.2.4 把证书拷贝的每个节点

5.2.2.2.5 启动所有节点

5.2.2.2.6 设置集群密码

5.2.2.2.7 配置Kibana

5.2.3 基本安全+HTTPS

5.2.3.1 前置条件

5.2.3.2 配置步骤

5.2.3.2.1 保证每个节点的服务处于停止状态

5.2.3.2.2 生成证书签名文件

5.2.3.2.2.1 当询问您是否要生成 CSR 时,请输入 n

5.2.3.2.2.2 当询问您是否要使用现有 CA 时,输入 y

5.2.3.2.2.3 输入您的 CA 的路径

5.2.3.2.2.4 输入您的 CA 的密码

5.2.3.2.2.5 输入证书的到期值

5.2.3.2.2.6 当询问您是否要为每个节点生成一个证书时,输入 y

5.2.3.2.2.7 出现提示时,输入集群中第一个节点的名称

5.2.3.2.2.8 输入用于连接到您的第一个节点的所有主机名

5.2.3.2.2.9 输入客户端可用于连接到您的节点的 IP 地址

5.2.3.2.3 设置私钥密码

5.2.3.2.3.1 解压elasticsearch-ssl-http.zip文件

5.2.3.2.3.3 修改 elasticsearch.yml 文件

5.2.3.2.3.4 复制证书到config目录中

5.2.3.2.3.5 把私钥密码添加到 Elasticsearch 的安全设置中

5.2.3.3 启动节点服务

5.2.3.4 配置Kibana

5.2.3.4.1 拷贝证书到config下

5.2.3.4.2 修改Kibana配置


一、环境描述

系统环境描述:本教程基于CentOS 8.0版本虚拟机

es集群规划:

节点Master(主节点/候选节点)Master(紧选举)Data(数据节点)KibanaIP
master*192.168.31.215
node1*192.168.31.8
node2**192.168.31.9
node3*192.168.31.167
node4*192.168.31.154

软件版本:
Elasticsearch    8.11.1
kibana      8.11.1

二、安装 ES

2.1 下载Elasticsearch

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

2.2 解压Elasticsearch

tar -zxvf elasticsearch-8.11.1-linux-x86_64.tar.gzmv  elasticsearch-8.11.1 /usr/local/

2.3 创建es服务账号/密码

#ES无法通过root账号启动服务
(elastic/xiaoning)
# 创建账号
useradd elastic# 创建密码
passwd elastic# 给账号密码做目录授权
chown -R elastic:elastic /usr/local/elasticsearch-8.11.1

2.3 修改服务器配置

vim  /etc/security/limits.confhard nofile 65536
soft nofile 65636
elastic soft memlock unlimited
elastic hard memlock unlimitedvim /etc/sysctl.confvm.max_map_count=262144
vm.swappiness=0
#重启
sysctl -pulimit -l unlimited

提示:以上操作,所有节点都需要操作

2.4 配置节点

2.4.1 配置说明

cluster.name:集群名称,节点根据集群名称确定是否是同一个集群。

node.name:节点名称,集群内唯一。

node.roles:[ data, master, voting_only ],node.roles配置项如果没有显式的配置,那么当前节点拥有所有角色(master、data、ingest、ml、remote_cluster_client、transform)。如果你放开了注释,或者手动显式添加了 node.roles配置项,那么当前节点仅拥有此配置项的中括号中显式配置的角色,没有配置的角色将被阉割。因此如果在不熟悉角色配置的情况下,不要轻易修改角色配置值, 切勿画蛇添足 。

network.host:节点对外提供服务的地址以及集群内通信的ip地址

bootstrap.memory_lock: Swapping对性能和节点稳定性非常不利,应该不惜一切代价避免。它可能导致GC持续几分钟而不是几毫秒,并且可能导致节点响应缓慢甚至与集群断开连接。在弹性分布式系统中,使用Swap还不如让操作系统杀死节点效果更好。可以通过设置 bootstrap.memory_lock: true 以防止任何 Elasticsearch 堆内存被换出。

http.port:对外提供服务的端口号

discovery.seed_hosts: 集群初始化的种子节点,可配置部分或全部候选节点,大型集群可通过嗅探器发现剩余节点,考试环境配置全部节点即可

cluster.initial_master_nodes:节点初始 active master节点, 必须是有master角色的节点,即必须是候选节点,但并不是必须配置所有候选节点。生产模式下启动新集群时,必须明确列出应在第一次选举中计算其选票的候选节点。第一次成功形成集群后,cluster.initial_master_nodes从每个节点的配置中删除设置。重新启动集群或向现有集群添加新节点时,请勿使用此设置。

2.4.2 配置高可用集群

2.4.2.1 maser节点服务配置
vim elasticsearch.ymlcluster.name: ning_cluster
node.name: ning_cluster_node-1
node.roles: [master]
path.data: /usr/local/elasticsearch-8.11.1/data
path.logs: /usr/local/elasticsearch-8.11.1/logs
bootstrap.memory_lock: true
network.host: 192.168.31.215
http.port: 9200
transport.port: 9300
xpack.security.enabled: false
discovery.seed_hosts: ["192.168.31.215:9300", "192.168.31.8:9300","192.168.31.9:9300", "192.168.31.167:9300","192.168.31.154:9300"]
cluster.initial_master_nodes: ["ning_cluster_node-1"]
2.4.2.2 node1 节点服务配置
vim elasticsearch.ymlcluster.name: ning_cluster
node.name: ning_cluster_node-2
node.roles: [master]
path.data: /usr/local/elasticsearch-8.11.1/data
path.logs: /usr/local/elasticsearch-8.11.1/logs
bootstrap.memory_lock: true
network.host: 192.168.31.8
http.port: 9200
transport.port: 9300
xpack.security.enabled: false
discovery.seed_hosts: ["192.168.31.215:9300", "192.168.31.8:9300","192.168.31.9:9300", "192.168.31.167:9300","192.168.31.154:9300"]
cluster.initial_master_nodes: ["ning_cluster_node-1"]
2.4.2.3 node2 节点服务配置
vim elasticsearch.ymlcluster.name: ning_cluster
node.name: ning_cluster_node-3
node.roles: [master,data,voting_only]
path.data: /usr/local/elasticsearch-8.11.1/data
path.logs: /usr/local/elasticsearch-8.11.1/logs
bootstrap.memory_lock: true
network.host: 192.168.31.9
http.port: 9200
transport.port: 9300
xpack.security.enabled: false
discovery.seed_hosts: ["192.168.31.215:9300", "192.168.31.8:9300","192.168.31.9:9300", "192.168.31.167:9300","192.168.31.154:9300"]
cluster.initial_master_nodes: ["ning_cluster_node-1"]
2.4.2.3 node3 节点服务配置
vim elasticsearch.ymlcluster.name: ning_cluster
node.name: ning_cluster_node-4
node.roles: [data]
path.data: /usr/local/elasticsearch-8.11.1/data
path.logs: /usr/local/elasticsearch-8.11.1/logs
bootstrap.memory_lock: true
network.host: 192.168.31.167
http.port: 9200
transport.port: 9300
xpack.security.enabled: false
discovery.seed_hosts: ["192.168.31.215:9300", "192.168.31.8:9300","192.168.31.9:9300", "192.168.31.167:9300","192.168.31.154:9300"]
cluster.initial_master_nodes: ["ning_cluster_node-1"]
2.4.2.3 node4 节点服务配置
vim elasticsearch.ymlcluster.name: ning_cluster
node.name: ning_cluster_node-5
node.roles: [data]
path.data: /usr/local/elasticsearch-8.11.1/data
path.logs: /usr/local/elasticsearch-8.11.1/logs
bootstrap.memory_lock: true
network.host: 192.168.31.154
http.port: 9200
transport.port: 9300
xpack.security.enabled: false
discovery.seed_hosts: ["192.168.31.215:9300", "192.168.31.8:9300","192.168.31.9:9300", "192.168.31.167:9300","192.168.31.154:9300"]
cluster.initial_master_nodes: ["ning_cluster_node-1"]

2.4.3 服务启动

#前台进程./bin/elasticsearch#后台启动 守护进程./bin/elasticsearch -d#推荐方式(保存进程号 不占用窗口,并且方便杀进程):./bin/elasticsearch -d -p pid

2.4.4 验证服务启动有没有成功

2.4.4.1 ps查看有没有es进程
ps -ef|grep elastic
2.4.4.2 访问服务

直接浏览器输入:

http://192.168.31.8:9200/

出现以上内容则说明启动成功。

提示:所有节点都需要执行上述命令

三、部署Kibana

3.1 下载Kibana

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

3.2 解压

tar -zxvf kibana-8.11.1-linux-x86_64.tar.gz

3.3 配置Kibana

server.port: 5601
server.host: "192.168.31.9"
elasticsearch.hosts: ["192.168.31.215:9200", "192.168.31.8:9200","192.168.31.9:9200", "192.168.31.167:9200","192.168.31.154:9200"]

3.4  给账号密码做目录授权

chown -R elastic:elastic /usr/local/kibana-8.11.1

3.5 启动服务

./bin/kibana

3.6 访问Kibana

浏览器直接访问:http://192.168.31.9:5601/

四、安装Head 插件

4.1 下载Head插件

https://github.com/mobz/elasticsearch-head

4.2 修改Gruntfile.js文件

#添加
hostname:'*',

4.3 修改ES配置文件

#ES配置文件中设置允许跨域
vim elasticsearch.ymlhttp.cors.enabled: true
http.cors.allow-origin: "*"

4.3 安装head 服务

进入 elasticsearch-head 解压目录,执行命令

npm install

4.4 启动服务

执行命令:

npm run start

4.5 访问Head

浏览器直接输入:http://localhost:9100

五、ES集群安全

5.1 集群安全策略

5.1.1 版本支持

不同版本对 Security 的支持不同,对于 ES 6.8 及之前版本,需要手动安装 x-pack,对于7.X以上版本 X-Pack 已经内置,所以不需要额外的操作。

5.1.2 支持的策略

不同环境对集群安全的策略等级要求不同,主要区别在于你是开发环境还是生产集群环境。ES提供了三个不同等级的安全策略:最低安全等级、基本安全等级、基本安全 + HTTPS
就实际而言,在处于 ES 学习 或者本地开发模式下,是可以关闭 Security 功能的,因为如果是以学习为目的,不存在所谓的数据安全问题,因为数据即便被删除也是没关系的。而如果在学习或开发模式下也开启安全策略,意味着你需要频繁的跟密码较劲,实属没必要。

5.2 不同策略的实现

5.2.1 Minimal security(最低安全等级)配置

5.2.1.1 Minimal security配置步骤
5.2.1.1.1 启动Security
vim vim elasticsearch.ymlxpack.security.enabled: true

5.2.1.1.2 重启节点服务
# kill -9 [pid]
./bin/elasticsearch -d -p pid

提示:单节点环境下,能启动成功,集群环境的安全策略最低要求配置成基本安全等级模式,所以这里是启动不了的,过不了集群的安全检查,会直接报错

5.2.1.1.2 创建用户密码
./bin/elasticsearch-setup-passwords interactive

提示:单节点环境下,可以按照这个步骤,集群环境下,需要完成Basic security(基本安全等级)配置后才能创建

5.2.1.1.3 配置Kibana的账号信息

提示:单节点环境下,可以按照这个步骤,集群环境下,需要完成Basic security(基本安全等级)配置后才能配置Kibana账号信息

5.2.2 Basic security(基本安全等级)配置

5.2.2.1 适用范围和概念

最低安全配置仅适用于单节点服务,而不符合集群的最低安全要求。如果集群有多个节点,那么您必须在节点之间配置 TLS。如果您不启用 TLS,无法启动生产集群。

传输层依赖双向 TLS 对节点进行加密和认证。正确应用 TLS 可确保恶意节点无法加入集群并与其他节点交换数据。虽然在 HTTP 层实现用户名和密码身份验证对于保护本地集群很有用,但节点之间的通信安全需要 TLS。

Transport 协议是 Elasticsearch 节点用于相互通信的协议的名称。此名称特定于 Elasticsearch,用于区分传输端口(默认 9300)和 HTTP 端口(默认 9200)。节点使用传输端口相互通信,REST 客户端使用 HTTP 端口与 Elasticsearch 通信。

5.2.2.2 配置步骤
5.2.2.2.1 配置文件 elasticsearch.yml
# 开启ssl访问请求头配置(head访问需要)
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
#配置SSL证书
xpack.security.transport.ssl.enabled: true#设置验证模式为:certificate
xpack.security.transport.ssl.verification_mode: certificate#设置证书路径
xpack.security.transport.ssl.key: certs/elastic-certificates.key
xpack.security.transport.ssl.certificate: certs/elastic-certificates.crt
xpack.security.transport.ssl.certificate_authorities: certs/ca.crt
5.2.2.2.2 生成密钥文件

提示:

1、删除各个es节点$ELASTICSEARCH_HOME/config目录下的elasticsearch.keystore文件
2、清空各个es节点$ELASTICSEARCH_HOME/ 下的data和log目录

./bin/elasticsearch-certutil ca --pem --out ca.zip --days 36500 -s

5.2.2.2.3 为节点颁发证书
#解压ca.zip
unzip ca.zip# 颁发证书
./bin/elasticsearch-certutil cert --ca-cert ca/ca.crt --ca-key ca/ca.key --pem --name elastic-certificates --out elastic-certificates.zip --days 36500 -s

5.2.2.2.4 把证书拷贝的每个节点

#每个节点的config文件夹下,新建一个certs目录

mkdir certs

#拷贝文件到节点的cert目录下

#解压证书文件
unzip elastic-certificates.zip
#拷贝到certs文件夹下
cp ca/* elastic-certificates/* config/certs# 拷贝给其他机器
scp config/certs/* elastic@node1:/usr/local/elasticsearch-8.11.1/config/certs/scp config/certs/* elastic@node2:/usr/local/elasticsearch-8.11.1/config/certs/scp config/certs/* elastic@node3:/usr/local/elasticsearch-8.11.1/config/certs/scp config/certs/* elastic@node4:/usr/local/elasticsearch-8.11.1/config/certs/
5.2.2.2.5 启动所有节点
5.2.2.2.6 设置集群密码
bin/elasticsearch-setup-passwords interactiveelastic xiaoning
apm_system xiaoning
kibana_system xiaoning
logstash_system xiaoning
beats_system xiaoning
remote_monitoring_user xiaoning

5.2.2.2.7 配置Kibana
# 配置账号密码
vim kibana.ymlelasticsearch.username: "kibana_system"
elasticsearch.password: "xiaoning"

5.2.3 基本安全+HTTPS

在生产环境中,如果没有基于HTTPS上启用 TLS,那么部分安全功能会无法使用,比如Token和API密钥。

官方文档参考:

Set up basic security for the Elastic Stack plus secured HTTPS traffic | Elasticsearch Guide [8.11] | Elastic

5.2.3.1 前置条件

启用 HTTPS 必须要配置集群 Security,即基础集群安全策略。

5.2.3.2 配置步骤
5.2.3.2.1 保证每个节点的服务处于停止状态
5.2.3.2.2 生成证书签名文件
./bin/elasticsearch-certutil http

提示:
此命令会生成一个 .zip文件,其中包含用于 Elasticsearch 和 Kibana 的证书和密钥。每个文件夹都包含一个 README.txt 解释如何使用这些文件。

5.2.3.2.2.1 当询问您是否要生成 CSR 时,请输入 n

5.2.3.2.2.2 当询问您是否要使用现有 CA 时,输入 y

5.2.3.2.2.3 输入您的 CA 的路径

elastic-stack-ca.p12这是您为集群生成 的文件的绝对路径

5.2.3.2.2.4 输入您的 CA 的密码
5.2.3.2.2.5 输入证书的到期值

您可以输入年、月或日的有效期。例如,输入 90D90 天.

5.2.3.2.2.6 当询问您是否要为每个节点生成一个证书时,输入 y

每个证书都有自己的私钥,并针对特定的主机名或 IP 地址颁发.

5.2.3.2.2.7 出现提示时,输入集群中第一个节点的名称

使用生成节点证书时使用的相同节点名称.

5.2.3.2.2.8 输入用于连接到您的第一个节点的所有主机名

这些主机名将作为 DNS 名称添加到证书的主题备用名称 (SAN) 字段中。
列出用于通过 HTTPS 连接到集群的每个主机名和变体

5.2.3.2.2.9 输入客户端可用于连接到您的节点的 IP 地址

到此,证书生成完成,可以看到生成的证书名称

5.2.3.2.3 设置私钥密码
5.2.3.2.3.1 解压elasticsearch-ssl-http.zip文件
unzip elasticsearch-ssl-http.zip

5.2.3.2.3.3 修改 elasticsearch.yml 文件
#启用 HTTPS
xpack.security.http.ssl.enabled: true
#指定 http.p12 安全证书的位置
xpack.security.http.ssl.keystore.path: http.p12
5.2.3.2.3.4 复制证书到config目录中
#拷贝到本机
cp elasticsearch/http.p12 config/
# 拷贝给其他机器scp elasticsearch/http.p12 elastic@node1:/usr/local/elasticsearch-8.11.1/config/scp elasticsearch/http.p12 elastic@node2:/usr/local/elasticsearch-8.11.1/config/scp elasticsearch/http.p12 elastic@node3:/usr/local/elasticsearch-8.11.1/config/scp elasticsearch/http.p12 elastic@node4:/usr/local/elasticsearch-8.11.1/config/
5.2.3.2.3.5 把私钥密码添加到 Elasticsearch 的安全设置中
#每个节点都需要执行,每个节点的密码可以设置的并不一样,生产环境可以做好密码记录,这里我为了方便,就设置一样了
./bin/elasticsearch-keystore add xpack.security.http.ssl.keystore.secure_password
输入密码:xiaoning
5.2.3.3 启动节点服务
5.2.3.4 配置Kibana
5.2.3.4.1 拷贝证书到config下
scp kibana/elasticsearch-ca.pem elastic@node2:/usr/local/kibana-8.11.1/config
5.2.3.4.2 修改Kibana配置
vim kibana.ymlelasticsearch.ssl.certificateAuthorities:[config/elasticsearch-ca.pem]elasticsearch.hosts: ["https://192.168.31.215:9200", "https://192.168.31.8:9200","https://192.168.31.9:9200", "https://192.168.31.167:9200","https://192.168.31.154:9200"]

以上之后,kibana 与Elasticsearch之间的SSL加密通道传输就完成了。

好了,本次分享就到这里,如果帮助到大家,欢迎大家点赞+关注+收藏,有疑问也欢迎大家评论留言!

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

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

相关文章

redis的基本使用

一、 Redis简介 Redis是一个基于内存的 key-value 结构数据库。Redis是一款采用key-value数据存储格式的内存级NoSQL数据库,重点关注数据存储格式,是key-value格式,也就是键值对的存储形式。与MySQL数据库不同,MySQL数据库有表、…

Pearson correlation coefficient (Pearson’s r) 皮尔森相关系数

此图用的是箱状图,的纵轴是“Pearson’s r”,是实际观测值与机器学习模型预测值之间的相关性 Pearsons f得分,它是一个统计量,用来衡量两个变量之间线性相关性的强度。这个得分可能是用来衡量实际观测值与机器学习模型预测值之间的…

YOLOv8改进 | 检测头篇 | ASFF改进YOLOv8检测头(全网首发)

一、本文介绍 本文给大家带来的改进机制是利用ASFF改进YOLOv8的检测头形成新的检测头Detect_ASFF,其主要创新是引入了一种自适应的空间特征融合方式,有效地过滤掉冲突信息,从而增强了尺度不变性。经过我的实验验证,修改后的检测头…

Tomcat和Servlet

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、Tomcat是什么?1.1下载:1.2 tomcat是什么1.3启动服务器: 二.部署三、Servlet3.1创建项目3.2引入依赖pom.xml的所有代码 3…

Tg-5511cb: tcxo高稳定性+105℃高温

爱普生推的一款TG-5511CB是一种高稳定的TCXO温补晶体振荡器,频率范围十分广泛从 10mhz ~ 54mhz,它的电源电压只需要3.3V,无论是手机还是其他电子设备,都能轻松提供稳定的电力支持。频率/温度特性表现出色,0.28 10^6Ma…

(2023,提示扩展,图像反演,文本到文本生成)自适应文本到图像生成的提示扩展

Prompt Expansion for Adaptive Text-to-Image Generation 公众:EDPJ(添加 VX:CV_EDPJ 或直接进 Q 交流群:922230617 获取资料) 目录 0. 摘要 3. 提示扩展数据集 3.1 图像审美数据集 3.2 图像到文本反演 3.3 查…

Obsidian笔记软件无公网远程同步数据到群辉Webdav

文章目录 1. 群晖开启Webdav服务2. 群晖安装Cpolar3. 配置Webdav远程地址4. Obsidian 安装Remotely Save5. Obsidian远程连接Webdav6. 固定Cpolar公网地址7. PC和移动端笔记同步演示 Obsidian是一款笔记软件,它基于Markdown,支持Windows、macOS、iOS和An…

个人博客主题 vuepress-hope

文章目录 1. 简介2. 配置2.1 个人博客,社媒链接配置 非常推荐vuepress-hope 1. 简介 下面的我的博客文章的截图 通过md写博客并且可以同步到github-page上 2. 配置 2.1 个人博客,社媒链接配置 配置文件 .vuepress/theme.ts blog: {medias: {BiliB…

计算机毕业设计 基于HTML5+CSS3的在线英语阅读分级平台的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

C#编程-使用变量

使用变量 请考虑以下场景:您必须创建一个程序,接受来自用户的两个数字并在屏幕上显示着两个数字之和。现在,读取用户提供的数字时,您需要将这些数字存储在内存中的某个位置,以便您能对这些数字执行加操作。您可以使用变量将这些数字存储在内存中。 下图显示了使用变量将…

股票价格预测 | Python实现Autoformer, FEDformer和PatchTST等模型用于股价预测

文章目录 效果一览文章概述环境描述源码设计效果一览 文章概述 Autoformer、FEDformer和PatchTST是一些用于时间序列预测,包括股价预测的模型。它们都是在Transformer模型的基础上进行了改进和扩展,以更好地适应时间序列数据的特点。 Autoformer:Autoformer是一种自适应Tran…

pytorch05:卷积、池化、激活

目录 一、卷积1.1 卷积的概念1.2 卷积可视化1.3 卷积的维度1.4 nn.Conv2d1.4.1 无padding 无stride卷积1.4.2 无padding stride2卷积1.4.3 padding2的卷积1.4.4 空洞卷积1.4.5 分组卷积 1.5 卷积输出尺寸计算1.6 卷积的维度1.7 转置卷积1.7.1 为什么被称为转置卷积1.7.2 nn.Con…

【HDFS联邦(2)】HDFS Router-based Federation官网解读:HDFSRouterFederation的架构、各组件基本原理

文章目录 一. 介绍二、HDFS Router-based Federation 架构1. 示例说明2. Router2.1. Federated interface2.2. Router heartbeat2.3. NameNode heartbeat2.4. Availability and fault toleranceInterfaces 3. Quota management4. State Store 三、部署 ing 本文主要参考官网&am…

JavaScript系列——正则表达式

文章目录 需求场景正则表达式的定义创建正则表达式通过 / 表示式/ 创建通过构造函数创建 编写一个正则表达式的模式使用简单模式使用特殊字符常用特殊字符列表特殊字符组和范围 正则表达式使用代码演示 常用示例验证手机号码合法性 小结 需求场景 在前端开发领域,在…

C语言 指针

C语言学习! 目录 文章目录 前言 一、指针是什么? 二、指针变量的大小 三、指针和指针类型 四、指针和函数 五、野指针 5.1野指针成因 5.2 如何规避野指针 六、指针运算 6.1 指针- 整数 6.2 指针-指针 6.3 指针的关系运算 总结 前言 指针理解的2个要点&a…

前端Vue中自定义Popup弹框、按钮及内容的设计与实践

标题:前端Vue中自定义Popup弹框、按钮及内容的设计与实践 一、引言 在Web前端开发中,弹框(Popup)是一种常见的用户界面元素,用于向用户显示额外的信息或提供额外的功能。然而,标准的弹框往往不能满足所有…

Django学习3——靓号管理

目录 靓号管理 表结构和数据 根据表结构的需求,在models.py中创建类(由类生成数据库中的表) 在数据库生成表 自己在数据模拟创建一些数据: 靓号列表 新建靓号 编辑靓号 删除靓号 搜索靓号 靓号管理 表结构和数据 根…

DHCP学习记录

目录 客户端向DHCP服务端申请租用IP的4个阶段: 客户端向HDCP服务器续租IP过程: 客户端重新连接租用IP过程: 客户端释放IP 声明: (Dynamic Host Configuration Protocol)动态主机配置协议,客户端向DHCP服务端申请获得ip的一种约定俗成的话语(协议) 手工配置方式…

啊哈c语言——4.10、for隆重登场(一起来找茬)

下面这段代码是求12345678910的值。其中有4个错误&#xff0c; 快来改正吧&#xff01; 改正后&#xff1a; #include <stdio.h> #include <stdlib.h> int main( ) {int i, sum;sum1;for(i1; i<10;i){sumsum*i;}printf("%d", sum);system("paus…

如何在无公网IP环境使用Windows远程桌面Ubuntu

文章目录 一、 同个局域网内远程桌面Ubuntu二、使用Windows远程桌面连接三、公网环境系统远程桌面Ubuntu1. 注册cpolar账号并安装2. 创建隧道&#xff0c;映射3389端口3. Windows远程桌面Ubuntu 四、 配置固定公网地址远程Ubuntu1. 保留固定TCP地址2. 配置固定的TCP地址3. 使用…