Elasticsearch 集群部署

news2024/12/15 2:15:43

        Elasticsearch 是一个分布式的搜索和分析引擎,广泛应用于日志分析、全文搜索、实时数据分析等场景。它以其高性能、高可用性和易用性而著称。本文档将引导您完成一个基本的 Elasticsearch 集群配置,包括节点间的通信、客户端访问、安全设置等关键步骤。我们将通过三个节点(node1、node2、node3)来搭建一个高可用的 Elasticsearch 集群,以确保您的数据能够在多个节点之间高效地存储和检索。

中文文档:Elastic — 搜索 AI 公司 | Elastic

英文文档:Documentation

1. 准备工作

1. 配置多台 Linux 虚拟机参考如何准备多台虚拟机并配置集群化软件_多台服务器虚拟化集群-CSDN博客文章浏览阅读978次,点赞8次,收藏11次。在搭建集群化软件的过程中,首先需要准备好多台Linux服务器。本文将详细介绍如何使用VMware提供的克隆功能来准备多台虚拟机,并进行必要的配置以实现集群化软件的部署。_多台服务器虚拟化集群https://blog.csdn.net/kersixy/article/details/142205834?spm=1001.2014.3001.5501

2. 【node1、2、3】创建工作目录

以部署到 /export/server 目录为例:

mkdir -p /export/server

3. 【node1、2、3】开放必要端口

确保以下端口在防火墙中开放:

  • 9200:HTTP REST API 端口,用于与 Elasticsearch 集群进行交互。
  • 9300:节点间通信端口,用于 Elasticsearch 节点之间的内部通信。
  • 5601(可选):Kibana 端口,用于访问 Kibana 界面。
sudo firewall-cmd --zone=public --add-port=9200/tcp --permanent
sudo firewall-cmd --zone=public --add-port=9300/tcp --permanent
sudo firewall-cmd --zone=public --add-port=5601/tcp --permanent
sudo firewall-cmd --reload

2. 下载和安装 Elasticsearch

1. 下载 Elasticsearch

方式一:在线下载

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

方式二:浏览器下载

Past Releases of Elastic Stack Software | ElasticLooking for a past release of Elasticsearch, Logstash, Kibana, es-hadoop, Shield, Marvel, or our language clients? You're in the right place....icon-default.png?t=O83Ahttps://www.elastic.co/cn/downloads/past-releases#elasticsearch

选择所需的版本,点击下载:

点击 LINUX X86_64,下载 tar.gz 文件,上传到虚拟机。

2. 【node1】解压 Elasticsearch,并创建数据目录

tar -zxvf elasticsearch-7.17.26-linux-x86_64.tar.gz
mv elasticsearch-7.17.26 /export/server/elasticsearch
mkdir -p /export/server/elasticsearch/data

3. 配置 Elasticsearch

1. 【node1】配置 elasticsearch.yml :

sudo vi /export/server/elasticsearch/config/elasticsearch.yml

i 编辑文件,在文件中追加一下内容:

cluster.name: es-cluster
node.name: node-1
node.master: true
node.data: true
path.data: /export/server/elasticsearch/data
path.logs: /export/server/elasticsearch/logs
network.host: 0.0.0.0
discovery.seed_hosts: ["node2", "node3"]
network.tcp.keep_alive: true
network.tcp.no_delay: true
action.destructive_requires_name: true
gateway.recover_after_nodes: 2
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
http.port: 9200
cluster.routing.allocation.cluster_concurrent_rebalance: 16
cluster.routing.allocation.node_concurrent_recoveries: 16
cluster.routing.allocation.node_initial_primaries_recoveries: 16

ESC 退出编辑,:wq 保存并退出。 

 配置说明:

  • cluster.name:集群名称。同一个集群的所有节点必须使用相同的集群名称。
  • node.name:节点名称。同一个集群内的每个节点名称必须唯一。
  • node.master:是否可以被选举为主节点。设置为 true 表示该节点有资格成为主节点。
  • node.data:该节点是否可以存储数据。设置为 true 表示该节点可以存储数据。
  • node.roles:是否有主节点资格;master使其有资格被选为控制集群的主节点;data此节点同时为数据节点,7.x版本以后支持,同node.master + node.data。配置示例:node.roles: [master,data]
  • path.data:数据目录的位置。Elasticsearch 将在此目录下存储索引数据。
  • path.logs:日志目录的位置。Elasticsearch 将在此目录下存储日志文件。
  • network.host:设置节点绑定的 IP 地址或主机名。默认情况下,Elasticsearch 只允许本机访问。设置为 0.0.0.0 表示允许任何 IP 地址访问。
  • discovery.seed_hosts:发现其他节点的初始列表。这里填写其他节点的 IP 地址或主机名,不包括当前节点。
  • network.tcp.keep_alive:是否启用 TCP 保活机制。设置为 true 可以防止长时间空闲的连接被关闭。
  • network.tcp.no_delay:是否禁用 Nagle 算法。设置为 true 可以减少延迟,提高响应速度。
  • action.destructive_requires_name:控制是否需要在执行破坏性操作时明确指定索引名称。破坏性操作包括删除索引、清空索引等。启用此配置可以增加安全性,防止误操作导致数据丢失。
  • gateway.recover_after_nodes:在集群恢复过程中,至少需要多少个节点在线后才开始恢复索引。通常,这个值应该小于或等于集群中的总节点数。
  • cluster.initial_master_nodes:用于指定在集群启动时哪些节点可以作为初始主节点候选。填写全部节点名称。
  • http.port:HTTP REST API 端口。默认端口为 9200。
  • cluster.routing.allocation.cluster_concurrent_rebalance:集群内同时启动的数据任务个数。默认是 2 个。
  • cluster.routing.allocation.node_concurrent_recoveries:添加或删除节点及负载均衡时并发恢复线程个数。默认是 4 个。
  • cluster.routing.allocation.node_initial_primaries_recoveries:初始化数据恢复时,并发恢复线程的个数。默认是 4 个。

2. 【node1】配置 JVM 选项

sudo vi /export/server/elasticsearch/config/jvm.options

G 跳转到文件尾行,$ 跳转到当前行末尾,i 编辑文件。在文件末尾新建一行添加:

-Xms4g
-Xmx4g

 ESC 退出编辑,:wq 保存并退出。

3. 【node1】将 elasticsearch 录递归复制到 node2、node3 主机的 /export/server/ 目录下

cd /export/server
scp -r elasticsearch node2:`pwd`/
scp -r elasticsearch node3:`pwd`/

4. 【node2】修改 node2 的 elasticsearch.yml

sudo vi /export/server/elasticsearch/config/elasticsearch.yml

i 编辑文件,文件内容修改为: 

cluster.name: es-cluster
node.name: node-2
node.master: true
node.data: true
path.data: /export/server/elasticsearch/data
path.logs: /export/server/elasticsearch/logs
network.host: 0.0.0.0
discovery.seed_hosts: ["node1", "node3"]
network.tcp.keep_alive: true
network.tcp.no_delay: true
action.destructive_requires_name: true
gateway.recover_after_nodes: 2
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
http.port: 9200
cluster.routing.allocation.cluster_concurrent_rebalance: 16
cluster.routing.allocation.node_concurrent_recoveries: 16
cluster.routing.allocation.node_initial_primaries_recoveries: 16

ESC 退出编辑,:wq 保存并退出。 

5. 【node3】修改 node3 的 elasticsearch.yml

sudo vi /export/server/elasticsearch/config/elasticsearch.yml

i 编辑文件,文件内容修改为: 

cluster.name: es-cluster
node.name: node-3
node.master: true
node.data: true
path.data: /export/server/elasticsearch/data
path.logs: /export/server/elasticsearch/logs
network.host: 0.0.0.0
discovery.seed_hosts: ["node1", "node2"]
network.tcp.keep_alive: true
network.tcp.no_delay: true
action.destructive_requires_name: true
gateway.recover_after_nodes: 2
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
http.port: 9200
cluster.routing.allocation.cluster_concurrent_rebalance: 16
cluster.routing.allocation.node_concurrent_recoveries: 16
cluster.routing.allocation.node_initial_primaries_recoveries: 16

ESC 退出编辑,:wq 保存并退出。

4. 【node1、2、3】系统配置

1. 创建 Elasticsearch 用户

groupadd es
useradd es -g es
cd /export/server
sudo chown es:es -R elasticsearch/

查看赋权情况:

ll

2. 设置系统资源限制

sudo vi /etc/security/limits.conf

G 跳转到文件尾行,$ 跳转到当前行末尾,i 编辑文件。在文件末尾新建一行添加:

*               soft    nofile          65536
*               hard    nofile          65536

ESC 退出编辑,:wq 保存并退出。

3. 设置虚拟内存限制

sudo vi /etc/sysctl.conf

G 跳转到文件尾行,$ 跳转到当前行末尾,i 编辑文件。在文件末尾新建一行添加:

vm.max_map_count=262145

ESC 退出编辑,:wq 保存并退出。加载并应用 /etc/sysctl.conf 文件中的系统参数设置:

sysctl -p

4. 设置环境变量

sudo vi /etc/profile

G 跳转到文件尾行,$ 跳转到当前行末尾,i 编辑文件。在文件末尾新建一行添加:

export ES_JAVA_HOME=/export/server/elasticsearch/jdk
export PATH=$ES_JAVA_HOME/bin:$PATH

注意:

 如果同时配置过 JAVA_HOME 和 ES_JAVA_HOME ,PATH 会优先使用先配置的环境变量,即 java -version 的版本为先配置的 PATH,如想优先使用 JAVA_HOME,则需要将

export PATH=$ES_JAVA_HOME/bin:$PATH
export PATH=$JAVA_HOME/bin:$PATH

合并为:

export PATH=$JAVA_HOME/bin:$ES_JAVA_HOME/bin:$PATH

ESC 退出编辑,:wq 保存并退出。重新加载 /etc/profile 文件中的环境变量设置,使新的设置立即生效:

source /etc/profile

5. 创建 Systemd 服务(可选)

vi /etc/systemd/system/elasticsearch.service

i 编辑文件,文件内容为:

[Unit]
Description=Elasticsearch
After=network.target

[Service]
User=es
Group=es
Environment="ES_JAVA_OPTS=-Xms512m -Xmx512m"
Environment="ES_JAVA_HOME=/export/server/elasticsearch/jdk"
Environment="JAVA_HOME=/export/server/jdk"
ExecStart=/export/server/elasticsearch/bin/elasticsearch
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill -SIGINT $MAINPID
Restart=on-failure
LimitMEMLOCK=infinity
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

5. 【node1、2、3】启动 Elasticsearch

5.1 方式一:手动启动

su es
cd /export/server/elasticsearch/bin
./elasticsearch -d

5.2 方式二:使用 Systemd 服务

# 启动elasticsearch
systemctl start elasticsearch
# 查看elasticsearch状态
systemctl status elasticsearch
# 设置开机自启动
systemctl enable elasticsearch

Systemd 服务其他命令:

# 重启elasticsearch
systemctl restart elasticsearch
# 停止elasticsearch服务
systemctl stop elasticsearch

6. 查看服务状态

1. 查看启动是否成功

项目启动大约需要2-4 分钟时间,要确保项目完全启动后再执行,否则会出现拒绝访问:

curl http://内网ip:9200

2. 检查 Elasticsearch 集群的健康状态

curl -X GET "内网ip:9200/_cat/health?v"

说明:

status: 集群状态,常见的状态有:

  • green: 所有主分片和副本分片都可用。
  • yellow: 所有主分片可用,但某些副本分片不可用。
  • red: 一些主分片不可用。

3. 分析 Elasticsearch 集群的状态和各个节点的信息

curl -X GET "http://内网ip:9200/_cat/nodes?v" 

说明:

  • ip: 节点的 IP 地址。
  • heap.percent: 堆内存使用百分比。
  • ram.percent: 物理内存使用百分比。
  • cpu: CPU 使用率。
  • load_1m: 最近 1 分钟的系统负载平均值。
  • load_5m: 最近 5 分钟的系统负载平均值。
  • load_15m: 最近 15 分钟的系统负载平均值。
  • node.role: 节点的角色,常见的角色包括:
    • c: 集群管理节点。
    • d: 数据节点。
    • f: 冻结节点。
    • h: 主节点。
    • i: 协调节点。
    • l: 日志节点。
    • m: 主节点。
    • r: 远程集群客户端节点。
    • s: 存储节点。
    • t: 传输节点。
    • w: 写节点。
  • master: 是否为主节点,* 表示是主节点,- 表示不是主节点。
  • name: 节点名称。

 到此为止,无安全配置的 Elasticsearch 集群配置完成。


7. 安全配置

7.1 生成证书

1. 【node1】生成 CA 证书

cd /export/server/elasticsearch/bin
./elasticsearch-certutil ca
  • 输入 CA 证书文件名。接受默认文件名 elastic-stack-ca.p12,亦可换成其他文件名;
  • 设置 CA 密钥库的密码。

2. 【node1】生成节点证书

./elasticsearch-certutil cert --ca /export/server/elasticsearch/elastic-stack-ca.p12
  • 输入CA 密钥库的密码。输入上一步的CA 密钥库的密码;
  • 输入节点证书文件名。接受默认文件名 elastic-certificates.p12 ,亦可输入文件名修改;
  • 最后提示输入节点证书密钥库密码。可以直接回车,跳过输入密码。

 3. 【node1】移动和赋权证书

cd /export/server/elasticsearch
mv elastic-certificates.p12 config/
mv elastic-stack-ca.p12 config/
cd config/
scp -r elastic-certificates.p12 node2:`pwd`/
scp -r elastic-stack-ca.p12 node2:`pwd`/
scp -r elastic-certificates.p12 node3:`pwd`/
scp -r elastic-stack-ca.p12 node3:`pwd`/

4. 【node1、2、3】配置安全设置

cd /export/server/elasticsearch/config/
sudo chown es:es -R ./*
sudo vi elasticsearch.yml

G 跳转到文件尾行,$ 跳转到当前行末尾,i 编辑文件。在文件末尾新建一行添加:

xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /export/server/elasticsearch/config/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /export/server/elasticsearch/config/elastic-certificates.p12

ESC 退出编辑,:wq 保存并退出。

5. 【node1、2、3】重启 Elasticsearch

  • 如果是手动启动的,则按以下方法重启:
# 查看进程
ps -ef | grep elasticsearch
# 强制停止进程
kill -9 对应进程
# 启动Elasticsearch
# 如果是root用户下,需要su es切换用户,es用户下无需切换
su es
cd /export/server/elasticsearch/bin
./elasticsearch -d

  • 如果使用 Systemd 服务,则按以下方法重启:
# 重启Elasticsearch,elasticsearch.service可写为elasticsearch
systemctl restart elasticsearch.service

7.2 【node1】设置用户密码

1. 交互式设置密码

cd /export/server/elasticsearch/bin
./elasticsearch-setup-passwords interactive
  • 请确认您是否要继续:y
  • 为 elastic 用户(超级用户,具有所有权限)输入密码;
  • 为 elastic 用户(超级用户,具有所有权限)确认密码;
  • 为 apm_system 用户(APM 服务器使用的用户)输入密码;
  • 为 apm_system 用户(APM 服务器使用的用户)确认密码;
  • 为 kibana 用户(Kibana 服务器使用的用户)输入密码;
  • 为 kibana 用户(Kibana 服务器使用的用户)确认密码;
  • 为 logstash_system 用户(Logstash 服务器使用的用户)输入密码;
  • 为 logstash_system 用户(Logstash 服务器使用的用户)确认密码;
  • 为 beats_system 用户(Filebeat 和其他 Beats 采集器使用的用户)输入密码;
  • 为 beats_system 用户(Filebeat 和其他 Beats 采集器使用的用户)确认密码;
  • 为 remote_monitoring_user 用户(用于远程监控的用户)输入密码;
  • 为 remote_monitoring_user 用户(用于远程监控的用户)确认密码。

2. 测试连接

  • 虚拟机访问测试:
curl -u elastic:elastic用户密码 http://内网ip:9200

  •  浏览器访问测试:

访问 http://外网ip:9200/ ,访问结果如下图:

8. 安装 IK 分词器

注意:

安装 IK 分词器可以不配置证书和密码。

1. 【node1】下载 IK 分词器

源码地址:GitHub - infinilabs/analysis-ik at Latest

注意:

下载 IK 分词器选择的版本一定要和 Elasticsearch 版本一致

 方式一:在线下载 zip 包

wget https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-7.17.26.zip

方式二:离线下载

Index of: analysis-ik/stable/icon-default.png?t=O83Ahttps://release.infinilabs.com/analysis-ik/stable/方式三:在线下载插件

/export/server/elasticsearch/bin/elasticsearch-plugin install https://get.infini.cloud/elasticsearch/analysis-ik/7.17.26

2. 【node1】解压并移动插件

# 如果是zip包则需要解压,也可以本地解压好再上传
unzip elasticsearch-analysis-ik-7.17.26.zip
# 移动并重命名
mv elasticsearch-analysis-ik-7.17.26 /export/server/elasticsearch/plugins/ik

3. 【node1】配置 IK 分词器

进入插件目录并编辑配置文件 IKAnalyzer.cfg.xml,可以根据需要配置扩展字典和扩展停止词字典:

cd /export/server/elasticsearch/plugins/ik
sudo vi config/IKAnalyzer.cfg.xml

i 编辑文件,修改后文件内容示例为:

<properties>
	<comment>IK Analyzer 扩展配置</comment>
	<!--用户可以在这里配置自己的扩展字典 -->
	<entry key="ext_dict">ext.dic</entry>
	 <!--用户可以在这里配置自己的扩展停止词字典-->
	<entry key="ext_stopwords">stopwords.dic</entry>
	<!--用户可以在这里配置远程扩展字典 -->
	<!-- <entry key="remote_ext_dict">words_location</entry> -->
	<!--用户可以在这里配置远程扩展停止词字典-->
	<!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

 ESC 退出编辑,:wq 保存并退出。 

1. 标签说明:

  • <entry key="ext_dict">ext.dic</entry>
    • 作用: 指定 IK 分词器使用的扩展字典文件路径。
    • 说明: 在 ext.dic 文件中,你可以添加自定义的词汇,这些词汇会被 IK 分词器识别为单独的词。每行一个词。ext.dic 可以换成其他文件名。
  • <entry key="ext_stopwords">stopword.dic</entry>
    • 作用: 指定 IK 分词器使用的扩展停止词字典文件路径。
    • 说明: 在 stopword.dic 文件中,你可以添加自定义的停止词,这些词在分词过程中会被过滤掉。每行一个词。stopword.dic 可以换成其他文件名。
  • <entry key="remote_ext_dict">words_location</entry>
    • 作用: 指定远程扩展字典的 URL 地址。
    • 说明: 如果你有一个远程服务器托管的字典文件,可以配置此选项。IK 分词器会定期从指定的 URL 下载字典文件并更新本地字典。
  • <entry key="remote_ext_stopwords">words_location</entry>
    • 作用: 指定远程扩展停止词字典的 URL 地址。
    • 说明: 类似于远程扩展字典,用于配置远程的停止词字典文件。

2. IK 分词器默认词典说明:

文件名

作用

内容

extra_main.dic

额外的主要字典文件,通常包含大量常用词汇

每行一个词汇,用于扩展分词器的词汇库

extra_single_word.dic

额外的单字词典文件,包含单字词汇

每行一个单字词汇

extra_single_word_full.dic

额外的单字词典文件(完整版),包含更多的单字词汇

每行一个单字词汇

extra_single_word_low_freq.dic

额外的低频单字词典文件,包含低频出现的单字词汇

每行一个低频单字词汇

extra_stopword.dic

额外的停止词词典文件,用于添加自定义停止词

每行一个停止词

main.dic

主字典文件,包含基本的常用词汇

每行一个词汇,用于分词器的基本词汇库

preposition.dic

介词词典文件,包含介词词汇

每行一个介词词汇

quantifier.dic

量词词典文件,包含量词词汇

每行一个量词词汇

stopword.dic

停止词词典文件,包含常用的停止词

每行一个停止词

suffix.dic

后缀词典文件,包含常见的后缀词汇

每行一个后缀词汇

surname.dic

姓氏词典文件,包含常见的姓氏词汇

每行一个姓氏词汇

创建扩展字典和扩展停止词字典文件:

touch /export/server/elasticsearch/plugins/ik/config/ext.dic
touch /export/server/elasticsearch/plugins/ik/config/stopwords.dic

说明:

  1. 扩展字典和扩展停止词字典文件字符集必须是 UTF-8 ,否则不会生效;
  2. 可以配置多个扩展字典和扩展停止词字典,用英文分号分隔;
  3. 扩展字典和扩展停止词字典文件一行代表一个组词;
  4. 在使用 IK 分词器时,如果你对扩展字典或扩展停止词字典进行了修改,通常情况下不需要重启 Elasticsearch。IK 分词器会定期自动加载这些字典文件的更新内容。如果想立即生效,可以重启 Elasticsearch。

4. 【node1】同步插件到其他节点

cd /export/server/elasticsearch/plugins
scp -r ik node2:`pwd`/
scp -r ik node3:`pwd`/

5. 【node1、2、3】修改插件目录权限

chown -R es:es /export/server/elasticsearch/plugins

6. 【node1、2、3】重启

  •  如果是手动启动的,则按以下方法重启:
# 查看进程
ps -ef | grep elasticsearch
# 强制停止进程
kill -9 对应进程
# 启动Elasticsearch
# 如果是root用户下,需要su es切换用户,es用户下无需切换
su es
cd /export/server/elasticsearch/bin
./elasticsearch -d

  • 如果使用 Systemd 服务,则按以下方法重启:
# 重启Elasticsearch,elasticsearch.service可写为elasticsearch
systemctl restart elasticsearch.service

7. 访问测试

curl -u elastic:elastic-pwd123 -X POST "node1:9200/_analyze?pretty" -H 'Content-Type: application/json' -d'
{
  "analyzer": "ik_smart",
  "text": "加油,小明同学"
}
'

IK 分词器的分词规则: 

IK分词插件的分词器的分词规则包括ik_smart和ik_max_word两种:

  • ik_max_word:将文本按照最细粒度进行拆分,适合术语查询。例如会将计算机汉字输入方法拆分为计算机,计算,算机,汉字输入,汉字,输入,方法。
  • ik_smart:将文本按照粗粒度进行拆分,适合短语查询。例如会将计算机汉字输入方法拆分为计算机,汉字输入,方法。 

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

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

相关文章

#思科模拟器通过服务配置保障无线网络安全Radius

演示拓扑图&#xff1a; 搭建拓扑时要注意&#xff1a; 只能连接它的Ethernet接口&#xff0c;不然会不通 MAC地址绑定 要求 &#xff1a;通过配置MAC地址过滤禁止非内部员工连接WiFi 打开无线路由器GUI界面&#xff0c;点开下图页面&#xff0c;配置路由器无线网络MAC地址过…

webstorm开发uniapp(从安装到项目运行)

1、下载uniapp插件 下载连接&#xff1a;Uniapp Tool - IntelliJ IDEs Plugin | Marketplace &#xff08;结合自己的webstorm版本下载&#xff0c;不然解析不了&#xff09; 将下载到的zip文件防在webstorm安装路径下&#xff0c;本文的地址为&#xff1a; 2、安装uniapp插…

mHand Pro动捕数据手套在人形机器人领域的具体运用

mHandPro是一款高精度的动作捕捉数据手套&#xff0c;可应用于动作捕捉与VR交互等领域&#xff0c;配套”mHand Studio“引擎&#xff0c;可实时捕捉真人手部位姿及运动轨迹数据&#xff0c;将数据导出还可以用于人形机器人的训练加速高精度机器人操作技能的培训进程。 高精度动…

CNCF云原生生态版图-分类指南(三)- 运行时

CNCF云原生生态版图-分类指南&#xff08;三&#xff09;- 运行时 CNCF云原生生态版图-分类指南三、运行时&#xff08;Runtime&#xff09;&#xff08;一&#xff09;云原生存储&#xff08;Cloud Native Storage&#xff09;1. 是什么&#xff1f;2. 解决什么问题&#xff1…

算法论文/半监督1——2024最新半监督目标检测综述(CNN和Transformer)全文1.5W字

Semi-Supervised Object Detection: A Survey on Progress from CNN to Transformer 摘要 半监督学习的惊人进步促使研究人员探索其在计算机视觉领域内目标检测任务中的潜力。半监督对象检测 &#xff08;SSOD&#xff09; 利用小型标记数据集和较大的未标记数据集的组合。这…

LLMC:大语言模型压缩工具的开发实践

关注&#xff1a;青稞AI&#xff0c;学习最新AI技术 青稞Talk主页&#xff1a;qingkelab.github.io/talks 大模型的进步&#xff0c;正推动我们向通用人工智能迈进&#xff0c;然而庞大的计算和显存需求限制了其广泛应用。模型量化作为一种压缩技术&#xff0c;虽然可以用来加速…

【Linux】常用Linux命令大全(持续更新)

前言 汇总常用linux命令及用法&#xff0c;方便大家在日常工作中操作linux的便捷性 一、top命令 top 是一个在 Linux 系统上常用的实时系统监控工具。它提供了一个动态的、交互式的实时视图&#xff0c;显示系统的整体性能信息以及正在运行的进程的相关信息    在键入top命令…

VLC还是SmartPlayer?Windows平台RTSP播放器低延迟探讨

技术背景 好多开发者在用过大牛直播SDK的RTSP播放器后&#xff0c;都希望我们也分享下&#xff0c;如何在Windows平台实现低延迟的RTSP播放&#xff1f;低延迟的RTSP播放器&#xff0c;说起来容易做起来难&#xff0c;下面&#xff0c;我们从以下维度做个探讨&#xff1a; 播…

28. Three.js案例-创建圆角矩形并进行拉伸

28. Three.js案例-创建圆角矩形并进行拉伸 实现效果 知识点 WebGLRenderer (WebGL渲染器) WebGLRenderer 是 Three.js 中用于渲染 3D 场景的主要渲染器。 构造器 WebGLRenderer( parameters : Object ) 参数类型描述parametersObject渲染器的配置参数&#xff0c;可选。 …

启明智显ZX7981PC:5G时代的新选择,全屋网络无缝覆盖

在这个飞速发展的5G时代&#xff0c;每一个细微的科技进步都在推动着我们的生活向更加智能、便捷的方向发展。近日&#xff0c;启明智显再次引领科技潮流&#xff0c;正式发布其最新的5G CPE产品——ZX7981PC。作为继7981PG与7981PM之后的又一次迭代升级&#xff0c;ZX7981PC凭…

Qt控件的盒子模型,了解边距边线和内容区

这篇专门讲讲一个控件在绘制时的视觉样式。我们平常在对控件设置样式时&#xff0c;需要设置控件的一些外边距&#xff0c;内边距&#xff0c;边线&#xff0c;还有文字内容&#xff0c;贴上图片等。那么对于一个控件&#xff0c;到底怎么实现这些设置的呢&#xff1f; 先看下面…

docker简单私有仓库的创建

1&#xff1a;下载Registry镜像 导入镜像到本地中 [rootlocalhost ~]# docker load -i registry.tag.gz 进行检查 2&#xff1a;开启Registry registry开启的端口号为5000 [rootlocalhost ~]# docker run -d -p 5000:5000 --restartalways registry [rootlocalhost ~]# dock…

操作系统(5)进程

一、定义与特点 定义&#xff1a;进程是计算机中的程序关于某数据集合上的一次运行活动&#xff0c;是系统进行资源分配和调度的基本单位&#xff0c;是操作系统结构的基础。 特点&#xff1a; 动态性&#xff1a;进程是动态创建的&#xff0c;有它自身的生命周期&#xff0c;…

OLLAMA+FASTGPT+M3E 大模型本地化部署手记

目录 1.安装ollama 0.5.1 2.下载大模型 qwen2.5 3b 3.开启WSL 4.更新wsl 5.安装ubuntu 6.docker下载 6.1 修改docker镜像源 6.2 开启WSL integration 7.安装fastgpt 7.1 创建fastgpt文件夹 7.2 下载fastgpt配置文件 8.启动容器 9.M3E下载 9.1 下载运行命令 9.2…

[创业之路-190]:《华为战略管理法-DSTE实战体系》-2-华为DSTE战略管理体系概要

目录 一、DSTE战略管理体系与BLM的关系 1、DSTE战略管理体系概述 2、BLM模型概述 3、DSTE与BLM的关系 二、重新认识流程 1. 流程就是业务本身&#xff0c;流程是业务过程的可视化&#xff1a; 2. 流程是业务最佳路径的经验教训总结&#xff1a; 3. 流程是战略知识资产、…

强化学习路径规划:基于SARSA算法的移动机器人路径规划,可以更改地图大小及起始点,可以自定义障碍物,MATLAB代码

一、SARSA算法概述 SARSA&#xff08;State-Action-Reward-State-Action&#xff09;是一种在线强化学习算法&#xff0c;用于解决决策问题&#xff0c;特别是在部分可观测的马尔可夫决策过程&#xff08;POMDPs&#xff09;中。SARSA算法的核心思想是通过与环境的交互来学习一…

ABAQUS进行焊接仿真分析(含子程序)

0 前言 焊接技术作为现代制造业中的重要连接工艺,广泛应用于汽车、船舶、航空航天、能源等多个行业。焊接接头的质量和性能直接影响到结构件的安全性、可靠性和使用寿命。因此,在焊接过程中如何有效预测和优化焊接过程中的热效应、应力变化以及材料变形等问题,成为了焊接研…

electron常用方法

一&#xff0c;,electron设置去除顶部导航栏和menu 1&#xff0c;electron项目 在创建BrowserWindow实例的main.js页面添加frame&#xff1a;false属性 2&#xff0c;electron-vue项目 在src/main/index.js文件下找到创建窗口的方法&#xff08;createWindow&#xff09;&…

location和重定向、代理

location匹配的规则和优先级 在nginx当中&#xff0c;匹配的对象一般是URI来匹配 http://192.168.233.62/usr/local/nginx/html/index.html 182.168.233.61/ location匹配的分类&#xff1a; 多个location一旦匹配其中之一&#xff0c;不在匹配其他location 1、精确匹配 …

用拉普拉斯变换的方差算法实现相机自动对焦

使用拉普拉斯变换的方差来计算图像的清晰度的主要原因是拉普拉斯算子可以有效检测图像的边缘和高频细节。图像的清晰度与边缘强度和高频分量的丰富程度密切相关,以下是更详细的解释: 1. 拉普拉斯算子的作用 拉普拉斯算子是一种二阶导数算子,定义为: 它可以在图像中检测快…