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

elasticsearch-6.8.23的集群搭建过程

三个节点的 ElasticSearch 集群搭建步骤

准备三台机器:28.104.87.98、28.104.87.100、28.104.87.101 和 ElasticSearch 的安装包 elasticsearch-6.8.23.tar.gz

----------------------------- 28.104.87.98,使用 root 用户操作 ---------------------------
上传 elasticsearch-6.8.23.tar.gz 到 28.104.87.98,比如上传到 /opt/es 目录下

进入到 /opt/es 目录,执行 tar -zxvf elasticsearch-6.8.23.tar.gz 命令,解压安装包到本目录

进入到 ElasticSearch 的配置目录 cd /opt/es/elasticsearch-6.8.23/config

执行 cp elasticsearch-6.8.23.yml elasticsearch-6.8.23.yml.backup 命令,对配置文件进行备份。(此步骤可选)

执行 vi elasticsearch-6.8.23.yml 命令,编辑配置文件

cluster.name: elasticsearch # 集群的名字
node.master: true # 是不是有作为 Master 节点的资格
node.name: node-1 # 节点的名字,集群内要唯一不可重复
node.data: true # 是否存储数据
path.data: /opt/es/data # 存储数据的路径,这个要自己创建
path.logs: /opt/es/logs # 存储日志的路径,这个要自己创建
network.host: 28.104.87.98 # 设置节点的 ip
http.port: 9200 #设置端口号
discovery.zen.ping.unicast.hosts:["28.104.87.98","28.104.87.100","28.104.87.101"] # 集群里所有节点的 ip
discovery.zen.minimum_master_nodes: 2 # 选举 Master 节点时需要参与的最少的候选主节点,计算方式:节点数/2+1
discovery.zen.ping_timeout: 10s # 超时时间
path.repo: ["/mnt/databackup/ElasticSearchBackupSet"] # 使用 NFS 共享的方式进行 Elasticsearch 备份的目录,这个要自己创建。(此配置项可选)

创建三个目录 /opt/es/data、/opt/es/logs、/mnt/databackup/ElasticSearchBackupSet(此目录可选)

创建启动当前节点的 ElasticSearch 用户和设置密码
useradd esUser
passwd esUser

把 /opt/es、/mnt 目录及其子目录授权给 esUser
chown -R esUser:esUser /opt/es
chown -R esUser:esUser /mnt

给 /mnt 目录及其子目录授权 750 权限
chmod -R 750 /mnt

切换用户 esUser
su - esUser
----------------------------- 28.104.87.98,使用 esUser 用户操作 ------------------------------------------------------
进入到 /opt/es/elasticsearch-6.8.23/bin 目录下
cd /opt/es/elasticsearch-6.8.23/bin
启动 ElasticSearch 服务,下面的命令二选一,./elasticesearch 命令能看到启动日志,但是会占用一个窗口。
./elasticesearch
./elasticesearch -d

----------------------------- 28.104.87.100,使用 root 用户操作 ------------------------------------------------------
上传 elasticsearch-6.8.23.tar.gz 到 28.104.87.100,比如上传到 /opt/es 目录下

进入到 /opt/es 目录,执行 tar -zxvf elasticsearch-6.8.23.tar.gz 命令,解压安装包到本目录

进入到 ElasticSearch 的配置目录 cd /opt/es/elasticsearch-6.8.23/config

执行 cp elasticsearch-6.8.23.yml elasticsearch-6.8.23.yml.backup 命令,对配置文件进行备份(此步骤可选)

执行 vi elasticsearch-6.8.23.yml 命令,编辑配置文件

cluster.name: elasticsearch # 集群的名字
node.master: true # 是不是有作为 Master 节点的资格
node.name: node-2 # 节点的名字,集群内要唯一不可重复
node.data: true # 是否存储数据
path.data: /opt/es/data # 存储数据的路径,这个要自己创建
path.logs: /opt/es/logs # 存储日志的路径,这个要自己创建
network.host: 28.104.87.100 # 设置节点的 ip
http.port: 9200 #设置端口号
discovery.zen.ping.unicast.hosts:["28.104.87.98","28.104.87.100","28.104.87.101"] # 集群里所有节点的 ip
discovery.zen.minimum_master_nodes: 2 # 选举 Master 节点时需要参与的最少的候选主节点,计算方式:节点数/2+1
discovery.zen.ping_timeout: 10s # 超时时间
path.repo: ["/mnt/databackup/ElasticSearchBackupSet"] # 使用 NFS 共享的方式进行 Elasticsearch 备份的目录,这个要自己创建。(此配置项可选)

创建三个目录 /opt/es/data、/opt/es/logs、/mnt/databackup/ElasticSearchBackupSet(此目录可选)

创建启动当前节点的 ElasticSearch 用户和设置密码
useradd esUser
passwd esUser

把 /opt/es、/mnt 目录及其子目录授权给 esUser
chown -R esUser:esUser /opt/es
chown -R esUser:esUser /mnt

给 /mnt 目录及其子目录授权 750 权限
chmod -R 750 /mnt

切换用户 esUser
su - esUser
----------------------------- 28.104.87.100,使用 esUser 用户操作 ------------------------------------------------------
进入到 /opt/es/elasticsearch-6.8.23/bin 目录下
cd /opt/es/elasticsearch-6.8.23/bin
启动 ElasticSearch 服务,下面的命令二选一,./elasticesearch 命令能看到启动日志,但是会占用一个窗口。
./elasticesearch
./elasticesearch -d

----------------------------- 28.104.87.101,使用 root 用户操作 ------------------------------------------------------
上传 elasticsearch-6.8.23.tar.gz 到 28.104.87.101,比如上传到 /opt/es 目录下

进入到 /opt/es 目录,执行 tar -zxvf elasticsearch-6.8.23.tar.gz 命令,解压安装包到本目录

进入到 ElasticSearch 的配置目录 cd /opt/es/elasticsearch-6.8.23/config

执行 cp elasticsearch-6.8.23.yml elasticsearch-6.8.23.yml.backup 命令,对配置文件进行备份(此步骤可选)

执行 vi elasticsearch-6.8.23.yml 命令,编辑配置文件

cluster.name: elasticsearch # 集群的名字
node.master: true # 是不是有作为 Master 节点的资格
node.name: node-3 # 节点的名字,集群内要唯一不可重复
node.data: true # 是否存储数据
path.data: /opt/es/data # 存储数据的路径,这个要自己创建
path.logs: /opt/es/logs # 存储日志的路径,这个要自己创建
network.host: 28.104.87.101 # 设置节点的 ip
http.port: 9200 #设置端口号
discovery.zen.ping.unicast.hosts:["28.104.87.98","28.104.87.100","28.104.87.101"] # 集群里所有节点的 ip
discovery.zen.minimum_master_nodes: 2 # 选举 Master 节点时需要参与的最少的候选主节点,计算方式:节点数/2+1
discovery.zen.ping_timeout: 10s # 超时时间
path.repo: ["/mnt/databackup/ElasticSearchBackupSet"] # 使用 NFS 共享的方式进行 Elasticsearch 备份的目录,这个要自己创建。(此配置项可选)

创建三个目录 /opt/es/data、/opt/es/logs、/mnt/databackup/ElasticSearchBackupSet(此目录可选)

创建启动当前节点的 ElasticSearch 用户和设置密码
useradd esUser
passwd esUser

把 /opt/es、/mnt 目录及其子目录授权给 esUser
chown -R esUser:esUser /opt/es
chown -R esUser:esUser /mnt

给 /mnt 目录及其子目录授权 750 权限
chmod -R 750 /mnt

切换用户 esUser
su - esUser
----------------------------- 28.104.87.101,使用 esUser 用户操作 ------------------------------------------------------
进入到 /opt/es/elasticsearch-6.8.23/bin 目录下
cd /opt/es/elasticsearch-6.8.23/bin
启动 ElasticSearch 服务,下面的命令二选一,./elasticesearch 命令能看到启动日志,但是会占用一个窗口。
./elasticesearch
./elasticesearch -d

三台机器上的 ElasticSearch 成功启动以后,在浏览器输入以下地址查看集群健康状态、集群里的所有节点、集群里的所有索引
http://28.104.87.101:9200/_cluster/health?pretty
http://28.104.87.101:9200/_cat/nodes?pretty
http://28.104.87.101:9200/_cat/indices?pretty

--------------------------- 使用 NFS 共享的方式进行 Elasticsearch 备份过程中可能遇到的问题 ------------------------

java -version 命令查看三台机器的 jdk 版本,如果不是 OpenJDK 需要在 java.security 文件里面取消 crypto.policy=unlimited 的注释

cat /etc/passwd | grep esUser 命令查看三台机器 esUser 的 uid 和 gid 是否一致,不一致需要修改为一致

---------------------------------------------- 设置集群的账户和密码(可选) -------------------------------------------------------
如果集群搭建成功了,就可以开始设置账户和密码。注意:设置了账户和密码以后,节点内部的通信需要各个节点配置相同的证书。
1、集群启动以后,新开启一个 Linux 登录窗口,选择 28.104.87.98、28.104.87.100、28.104.87.101 中的任何一个都可以,以 28.104.87.98 为例

2、进入到 ElasticSearch 的配置目录 cd /opt/es/elasticsearch-6.8.23/config

3、执行 vi elasticsearch-6.8.23.yml 命令,编辑配置文件,添加下面内容

http.cors.enabled: true # 是否支持跨域
http.cors.allow-origin: "*" # 当设置允许跨域,默认为 *,表示支持所有域名,如果我们只是允许某些网站能访问,那么可以使用正则表达式。比如只允许本地地址。 /https?:\/\/localhost(:[0-9]+)?/
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type # 跨域允许设置的头信息,默认为 X-Requested-With,Content-Type,Content-Length
http.cors.allow-methods: OPTIONS,HEAD,GET,POST,PUT,DELETE # 允许跨域的请求方式,默认OPTIONS,HEAD,GET,POST,PUT,DELETE
http.cors.allow-credentials: true # 是否返回设置的跨域 Access-Control-Allow-Credentials 头,如果设置为 true,那么会返回给客户端xpack.security.enabled: true # # 设置启用了 xpack 安全特性。请注意,启用安全特性后,还需要设置用户名和密码
xpack.security.transport.ssl.enabled: true # 设置启用了节点间通信的SSL/TLS 来加密 Elasticsearch 节点之间的通信。
xpack.license.self_generated.type: basic # 设置指定了使用基本类型的自生成许可证
xpack.security.transport.ssl.verification_mode: certificate # 设置定义了 SSL/TLS 通信时的证书验证模式
xpack.security.transport.ssl.keystore.path: /opt/es/elasticsearch-6.8.23/config/elastic-certificates.p12 # 设置指定了包含 SSL 密钥和证书的 PKCS#12 文件(.p12)的路径
xpack.security.transport.ssl.truststore.path: /opt/es/elasticsearch-6.8.23/config/elastic-certificates.p12 # 设置指定了包含受信任证书集合的 PKCS#12 文件(.p12)的路径

4、配置 x-pack 生成 p12 格式证书(用来加密 Elasticsearch 节点之间的通信)
cd /opt/es/elasticsearch-6.8.23/bin 进入到 bin 目录下,执行下面的命令,把生成的证书放到 /opt/es/elasticsearch-6.8.23/config 目录下
./elasticsearch-certutil cert -out …/config/elastic-certificates.p12 -pass “”

5、修改证书的权限
cd /opt/es/elasticsearch-6.8.23/config
chmod 640 elastic-certificates.p12

6、把生成的证书复制到其他节点的 /opt/es/elasticsearch-6.8.23/config 目录下。可以通过命令完成;也可以先下载下来,再上传的方式完成

7、集群剩余的节点复制证书到 /opt/es/elasticsearch-6.8.23/config 目录下后,需要在 elasticsearch-6.8.23.yml 文件中添加配置。

http.cors.enabled: true # 是否支持跨域
http.cors.allow-origin: "*" # 当设置允许跨域,默认为 *,表示支持所有域名,如果我们只是允许某些网站能访问,那么可以使用正则表达式。比如只允许本地地址。 /https?:\/\/localhost(:[0-9]+)?/
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type # 跨域允许设置的头信息,默认为 X-Requested-With,Content-Type,Content-Length
http.cors.allow-methods: OPTIONS,HEAD,GET,POST,PUT,DELETE # 允许跨域的请求方式,默认OPTIONS,HEAD,GET,POST,PUT,DELETE
http.cors.allow-credentials: true # 是否返回设置的跨域 Access-Control-Allow-Credentials 头,如果设置为 true,那么会返回给客户端xpack.security.enabled: true # # 设置启用了 xpack 安全特性。请注意,启用安全特性后,还需要设置用户名和密码
xpack.security.transport.ssl.enabled: true # 设置启用了节点间通信的SSL/TLS 来加密 Elasticsearch 节点之间的通信。
xpack.license.self_generated.type: basic # 设置指定了使用基本类型的自生成许可证
xpack.security.transport.ssl.verification_mode: certificate # 设置定义了 SSL/TLS 通信时的证书验证模式
xpack.security.transport.ssl.keystore.path: /opt/es/elasticsearch-6.8.23/config/elastic-certificates.p12 # 设置指定了包含 SSL 密钥和证书的 PKCS#12 文件(.p12)的路径
xpack.security.transport.ssl.truststore.path: /opt/es/elasticsearch-6.8.23/config/elastic-certificates.p12 # 设置指定了包含受信任证书集合的 PKCS#12 文件(.p12)的路径

8、停止集群的服务,重新启动集群

9、集群启动以后,新开启一个 Linux 登录窗口,选择 28.104.87.98、28.104.87.100、28.104.87.101 中的任何一个都可以,以 28.104.87.98 为例

10、进入到 ElasticSearch 的 bin 目录 cd /opt/es/elasticsearch-6.8.23/bin 目录,执行下面的命令。按照提示,设置账号 elastic、apm_system、kibana、logstash_system、beats_system、remote_monitoring_user 的账号和密码

./elasticsearch-setup-passwords interactive

11、三台机器上的 ElasticSearch 成功启动以后,在浏览器输入以下地址查看集群健康状态、集群里的所有节点、集群里的所有索引,此时会要求输入账号和密码
http://28.104.87.101:9200/_cluster/health?pretty
http://28.104.87.101:9200/_cat/nodes?pretty
http://28.104.87.101:9200/_cat/indices?pretty

---------------------------------------------- 使用 NFS 共享的方式进行 Elasticsearch 备份过程中可能遇到的问题 -------------------------------------------------------

java -version 命令查看三台机器的 jdk 版本,如果不是 OpenJDK 需要在 java.security 文件里面取消 crypto.policy=unlimited 的注释

cat /etc/passwd | grep esUser 命令查看三台机器 esUser 的 uid 和 gid 是否一致,不一致需要修改为一致

相关文章:

elasticsearch-6.8.23的集群搭建过程

三个节点的 ElasticSearch 集群搭建步骤 准备三台机器:28.104.87.98、28.104.87.100、28.104.87.101 和 ElasticSearch 的安装包 elasticsearch-6.8.23.tar.gz ----------------------------- 28.104.87.98,使用 root 用户操作 ----------------------…...

javascript输出语法

javascript输出有三种方式 一种是弹窗输出&#xff0c;就是网页弹出一个对话框&#xff0c;弹出输出内容 语法是aler(内容) 示例代码如下 <body> <script> alert(你好); </script> </body> 这段代码运行后网页会出现一个对话框&#xff0c;弹出你…...

仓库管理系统26--权限设置

原创不易&#xff0c;打字不易&#xff0c;截图不易&#xff0c;多多点赞&#xff0c;送人玫瑰&#xff0c;留有余香&#xff0c;财务自由明日实现 1、权限概述 在应用软件中&#xff0c;通常将软件的功能分为若干个子程序&#xff0c;通过主程序调用。那么&#xff0c;通过…...

d3dx9_43.dll丢失怎么解决?d3dx9_43.dll怎么安装详细教程

在使用计算机中&#xff0c;如果遇到d3dx9_43.dll丢失或许找不到d3dx9_43.dll无法运行打开软件怎么办&#xff1f;这个是非常常见问题&#xff0c;下面我详细介绍一下d3dx9_43.dll是什么文件与d3dx9_43.dll的各种问题以及d3dx9_43.dll丢失的多个解决方法&#xff01; 一、d3dx9…...

[C++] 退出清理函数解读(exit、_exit、abort、atexit)

说明&#xff1a;在C中&#xff0c;exit、_exit&#xff08;或_Exit&#xff09;、abort和atexit是用于控制程序退出和清理的标准库函数。下面是对这些函数的详细解读&#xff1a; exit 函数原型&#xff1a;void exit(int status);作用&#xff1a;exit函数用于正常退出程序…...

代码随想录(回溯)

组合&#xff08;Leetcode77&#xff09; 思路 用递归每次遍历从1-n得数&#xff0c;然后list来记录是不是组合到k个了&#xff0c;然后这个每次for循环的开始不能和上一个值的开始重复&#xff0c;所以设置个遍历开始索引startindex class Solution {static List<List<…...

编译原理1

NFA&DFA 在正规式的等价证明可以借助正规集&#xff0c;也可以通过有限自动机DFA来证明等价&#xff0c;以下例题是针对DFA证明正规式的等价&#xff0c;主要步骤是①NFA&#xff1b;②状态转换表&#xff1b; ③状态转换矩阵&#xff1b; ④化简DFA&#xff1b; 文法和语…...

【信息系统项目管理师知识点速记】组织通用管理:流程管理

23.2 流程管理 通过流程视角能够真正看清楚组织系统的本质与内在联系,理顺流程能够理顺整个组织系统。流程是组织运行体系的框架基础,流程框架的质量影响和决定了整个组织运行体系的质量。把流程作为组织运行体系的主线,配备满足流程运作需要的资源,并构建与流程框架相匹配…...

前端 JS 经典:箭头函数的意义

箭头函数是为了消除函数的二义性。 1. 二义性 函数的二义性指函数有不同的两种用法&#xff0c;就造成了二义性&#xff0c;函数的两种用法&#xff1a;1. 指令序列。2. 构造器 1.1 指令序列 就是调用函数&#xff0c;相当于将函数内部的代码再从头执行一次。 1.2 构造器 …...

Java List操作详解及常用方法

Java List操作详解及常用方法 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 什么是Java List&#xff1f; Java中的List是一种动态数组&#xff0c;它允许存…...

《mysql篇》--查询(进阶)

目录 将查询结果作为插入数据 聚合查询 聚合函数 count sum group by子句 having 联合查询 笛卡尔积 多表查询 join..on实现多表查询 内连接 外连接 自连接 子查询 合并查询 将查询结果作为插入数据 Insert into 表2 select * from 表1//将表1的查询数据插入…...

数据库-MySQL 实战项目——书店图书进销存管理系统数据库设计与实现(附源码)

一、前言 该项目非常适合MySQL入门学习的小伙伴&#xff0c;博主提供了源码、数据和一些查询语句&#xff0c;供大家学习和参考&#xff0c;代码和表设计有什么不恰当还请各位大佬多多指点。 所需环境 MySQL可视化工具&#xff1a;navicat&#xff1b; 数据库&#xff1a;MySq…...

eNSP中WLAN的配置和使用

一、基础配置 1.拓扑图 2.VLAN和IP配置 a.R1 <Huawei>system-view [Huawei]sysname R1 GigabitEthernet 0/0/0 [R1-GigabitEthernet0/0/0]ip address 200.200.200.200 24 b.S1 <Huawei>system-view [Huawei]sysname S1 [S1]vlan 100 [S1-vlan100]vlan 1…...

<sa8650>QCX ID16_UsecaseRawLiteAuto 使用详解

<sa8650>QCX ID16_UsecaseRawLiteAuto 使用详解 一、前言二、ID16_UsecaseRawLiteAuto拓扑图三、UsecaseRawLiteAuto拓扑图 解析3.1 camxUsecaseRawLiteAuto.xml3.2 camxRawLiteAuto.xml四、测试一、前言 我们在使用QCX时,如果由于使用的摄像头自带了ISP,那么可能不需要使…...

为什么3d重制变换模型会变形?---模大狮模型网

在当今数字技术飞速发展的时代&#xff0c;3D建模和动画制作已经成为影视、游戏和虚拟现实中不可或缺的一部分。然而&#xff0c;即使在高级的3D软件中&#xff0c;重制(rigging)和变换(transformation)过程中仍然会面临一个普遍的问题——模型变形。这种变形可能导致动画效果不…...

ElasticSearch中的BM25算法实现原理及应用分析

文章目录 一、引言二、BM25算法实现原理BM25算法的实现原理1. 词频&#xff08;TF&#xff09;&#xff1a;2. 逆文档频率&#xff08;IDF&#xff09;&#xff1a;3. 长度归一化&#xff1a;4. BM25评分公式&#xff1a; BM25算法示例 三、BM25算法在ElasticSearch中的应用分析…...

web权限到系统权限 内网学习第一天 权限提升 使用手工还是cs???msf可以不??

现在开始学习内网的相关的知识了&#xff0c;我们在拿下web权限过后&#xff0c;我们要看自己拿下的是什么权限&#xff0c;可能是普通的用户权限&#xff0c;这个连添加用户都不可以&#xff0c;这个时候我们就要进行权限提升操作了。 权限提升这点与我们后门进行内网渗透是乘…...

ros1仿真导航机器人 hector_mapping gmapping

仅为学习记录和一些自己的思考&#xff0c;不具有参考意义。 1 hector_mapping 建图过程 &#xff08;1&#xff09;gazebo仿真 roslaunch why_simulation why_slam.launch <launch><!-- We resume the logic in empty_world.launch, changing only the name of t…...

嵌入式实验---实验五 串口数据接收实验

一、实验目的 1、掌握STM32F103串口数据接收程序设计流程&#xff1b; 2、熟悉STM32固件库的基本使用。 二、实验原理 1、STM32F103R6能通过查询中断方式接收数据&#xff0c;每接收到一个字节&#xff0c;立即向对方发送一个相同内容的字节&#xff0c;并把该字节的十六进…...

ubuntu 22.04下编译安装glog共享库

笔者是完美主义者&#xff0c;在编译opencv4.9时,有个有关glog的warn&#xff0c;就下载编译google的glog库并把它编译成shared libaray。重新编译opencv4.9时&#xff0c;该warn解除。现把编译安装glog过程记录&#xff0c;以备后查。 以下操作全程以root身份或sudo执行。 cd…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...