Elasticsearch7.10集群搭建

Elasticsearch详细介绍:

Elasticsearch 是一个分布式、RESTful 风格的搜索和分析引擎。它的核心基于 Apache Lucene,能够处理海量的数据,并支持实时的全文搜索。以下是关于 Elasticsearch 的详细介绍。

一、基本概念
  1. 索引(Index):索引是 Elasticsearch 中的一个基本单位,类似于关系型数据库中的数据库。每个索引包含多种类型的文档(在 7.x 之前)。在 7.x 之后,一个索引只能包含一种类型的文档。

  2. 文档(Document):文档是 Elasticsearch 中最小的数据单元,存储在索引中,类似于关系型数据库中的行。每个文档用 JSON 格式表示,包含多个字段和对应的值。

  3. 分片(Shard):索引可以分成多个分片,每个分片是一个独立的 Lucene 实例。分片允许数据水平扩展,分布在集群中的多个节点上。

  4. 副本(Replica):每个分片可以有多个副本,副本用于提高数据的可用性和查询性能。当主分片出现故障时,副本分片可以保证数据的高可用性。

二、核心功能
  1. 全文搜索:Elasticsearch 提供强大的全文搜索能力,支持复杂的查询和过滤条件,能够处理自然语言文本,并支持分词、同义词扩展等功能。

  2. 实时数据处理:Elasticsearch 支持实时索引和查询,适用于需要快速响应的大数据处理场景。

  3. 分布式架构:通过分片和副本机制,Elasticsearch 能够在集群中分布和管理数据,提供高可用性和可扩展性。

  4. RESTful API:Elasticsearch 通过 RESTful API 提供与外部系统的交互接口,支持常见的 HTTP 方法(如 GET、POST、PUT、DELETE),方便集成。

  5. 聚合分析:支持复杂的聚合操作,如统计、分组、求和、平均等,能够对大规模数据进行实时分析。

三、主要组件
  1. Elasticsearch Core:核心组件,负责数据存储、索引、查询等基本功能。

  2. Kibana:数据可视化工具,与 Elasticsearch 集成,用于创建图表、仪表盘、报表等,方便用户进行数据分析和展示。

  3. Logstash:数据收集和处理管道,支持从多种数据源采集数据,进行过滤、变换,然后输出到 Elasticsearch。

  4. Beats:轻量级的数据采集器家族,包括 Filebeat、Metricbeat、Packetbeat 等,用于将不同类型的数据发送到 Logstash 或 Elasticsearch。

四、使用场景
  1. 日志和事件数据分析:通过 Logstash 和 Beats,Elasticsearch 可以收集和分析日志数据,提供实时监控和故障排查。

  2. 全文搜索引擎:适用于构建网站内部搜索引擎、文档管理系统等,提供快速、精准的全文搜索能力。

  3. 实时数据分析:通过 Kibana,用户可以对数据进行可视化分析,适用于各种实时数据监控和分析场景,如监控系统性能、用户行为分析等。

  4. 大数据处理:利用 Elasticsearch 的分布式架构,可以处理海量数据,并支持复杂的查询和聚合操作。

Elasticsearch各版本比较:

优缺点Elasticsearch 6.x 系列Elasticsearch 7.x 系列
优点强大的分词和搜索能力:提供多种分词器和搜索功能,适用于不同语言和需求。
滚动升级:支持从5.x到6.x的滚动升级,简化了升级过程。
跨集群复制:允许在多个Elasticsearch集群之间复制索引,增加了数据的可用性和冗余。更加优化的性能:预计在查询、索引和聚合性能方面有进一步优化。
更好的安全性:更多的安全功能和改进,使得数据更加安全。
云原生支持:对云原生环境的支持更好,方便在各种云平台上部署和管理。
自动化和简化运维:更多的自动化运维功能,减少手动干预,提高稳定性和可维护性。
缺点类型删除:Elasticsearch 6.x 开始移除了类型功能,虽然简化了映射但对某些应用造成了影响。
性能问题:与7.x相比,某些查询和索引性能较低。兼容性问题:新版本可能会引入一些不向下兼容的变更,需要在升级前进行充分的评估和测试。
学习曲线:新功能和新特性可能需要学习和适应,尤其对于现有用户来说。

Elasticsearch集群搭建:

一、环境配置
角色IP地址操作系统
master99.99.10.30CentOS Linux release 7.9.2009 (Core)
slave99.99.10.31CentOS Linux release 7.9.2009 (Core)
slave99.99.10.32CentOS Linux release 7.9.2009 (Core)
# Elasticsearch 不能以 root 用户运行,创建一个新用户并赋予适当权限。
sudo adduser es
​
sudo passwd 123456
​
sudo usermod -aG sudo es
# 调整 vm.max_map_count 参数,以满足 Elasticsearch 的需求。
sudo sysctl -w vm.max_map_count=262144
​
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
# 增加文件描述符限制。
sudo echo "elasticsearch - nofile 65535" | sudo tee -a /etc/security/limits.conf
​
sudo echo "elasticsearch - nproc 4096" | sudo tee -a /etc/security/limits.conf
# 调整内存锁定:
sudo echo "elasticsearch soft memlock unlimited" | sudo tee -a /etc/security/limits.conf
​
sudo echo "elasticsearch hard memlock unlimited" | sudo tee -a /etc/security/limits.conf
# 安装java
sudo yum install java-11-openjdk-devel -y
​
# 配置 JAVA_HOME 环境变量(在.bash_profile 文件,添加以下内容)
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=$JAVA_HOME/bin:$PATH
​
# 然后重新加载配置:
source ~/.bashrc
​
#检查Java版本
java -version
​
openjdk version "11.0.23" 2024-04-16 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.23.0.9-2.el7_9) (build 11.0.23+9-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.23.0.9-2.el7_9) (build 11.0.23+9-LTS, mixed mode, sharing)
二、安装elasticsearch

es官方下载地址,es和kibana尽量下载同一版本

elasticsearch各版本下载地址

    https://www.elastic.co/cn/downloads/past-releases#elasticsearch

kibana (es的可视化管理工具)

    https://www.elastic.co/cn/downloads/past-releases/#kibana
# 解压elasticsearch包到/usr/local/下面:
tar -zxvf elasticsearch-7.10.0-linux-x86_64.tar.gz -C /usr/local/
​
#将elasticsearch-7.10.0重命名为es
cd /usr/local/
mv elasticsearch-7.10.0 es
​
# 这个文件夹用于存储 Elasticsearch 的数据,它将所有的索引数据和相关元数据存储在这个目录中
mkdir -p /data/elasticsearch_data/data
# 这个文件夹用于存储 Elasticsearch 的日志文件,记录了 Elasticsearch 的运行状态、错误信息和性能指标。
mkdir -p /data/elasticsearch_data/logs
​
sudo chown -R es:es /data/elasticsearch_data
sudo chmod -R 755 /data/elasticsearch_data
​
# 这个文件夹用于存储 Elasticsearch 的备份数据。
mkdir -p /opt/backup/es
mkdir -p /opt/backup/es1
​
sudo chown -R es:es /opt/backup/
sudo chmod -R 755 /opt/backup/
三、配置elasticsearch

1.先搭建单个节点,再复制到其他节点:

path.data: /opt/data
path.logs: /opt/logs#http访问端口,程序或kibana使用
http.port: 9200xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
# 尝试启动
./bin/elasticsearch

设置安全账号信息(ES要启动状态):

  • 执行以下命令,给各账号设置密码(演示使用的密码都为:123456), 整个集群只需要设置一次即可

  • 警告:设置账户密码切记要在单实例非集群模式时配置,不能添加任何集群的配置,否则会设置失败

./bin/elasticsearch-setup-passwords interactive

2.集群配置:

cluster.name: elasticsearchnode.name: node1path.data: /data/elasticsearch_data/datapath.logs: /data/elasticsearch_data/logs#数据备份和恢复使用,可以一到多个目录
path.repo: ["/opt/backup/es", "/opt/backup/es1"]http.port: 9200#是否可以参与选举主节点
node.master: true#是否是数据节点
node.data: true#允许访问的ip,4个0的话则允许任何ip进行访问
network.host: 0.0.0.0#es各节点通信端口
transport.tcp.port: 9300#集群每个节点IP地址。
discovery.seed_hosts: ["99.99.10.30:9300", "99.99.10.31:9300", "99.99.10.32:9300"]#es7.x新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node1", "node2", "node3"]#配置是否压缩tcp传输时的数据,默认为false,不压缩
transport.tcp.compress: true# 是否支持跨域,es-header插件使用
http.cors.enabled: true# *表示支持所有域名跨域访问
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Type,Content-Length#集群模式开启安全 https://www.elastic.co/guide/en/elasticsearch/reference/7.17/security-minimal-setup.html
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: certs/elastic-certificates.p12
xpack.security.transport.ssl.keystore.password: "123456"
xpack.security.transport.ssl.truststore.password: "123456"#默认为1s,指定了节点互相ping的时间间隔。
discovery.zen.fd.ping_interval: 1s#默认为30s,指定了节点发送ping信息后等待响应的时间,超过此时间则认为对方节点无响应。
discovery.zen.fd.ping_timeout: 30s#ping失败后重试次数,超过此次数则认为对方节点已停止工作。
discovery.zen.fd.ping_retries: 3
四、复制elasticsearch到其他节点
scp -r /usr/local/es/ root@99.99.10.31:/usr/local/
scp -r /usr/local/es/ root@99.99.10.32:/usr/local/sudo chown -R es:es /usr/local/es/
sudo chmod -R 755 /usr/local/es/
五、测试elasticsearch集群
# 切换到es用户
su es# 启动es
cd /usr/local/es/
./bin/elasticsearch# 查看集群信息
curl -XGET -u elastic:123456 "http://127.0.0.1:9200/_cluster/health?pretty"
{"cluster_name" : "elasticsearch","status" : "green","timed_out" : false,"number_of_nodes" : 3,"number_of_data_nodes" : 3,"active_primary_shards" : 1,"active_shards" : 2,"relocating_shards" : 0,"initializing_shards" : 0,"unassigned_shards" : 0,"delayed_unassigned_shards" : 0,"number_of_pending_tasks" : 0,"number_of_in_flight_fetch" : 0,"task_max_waiting_in_queue_millis" : 0,"active_shards_percent_as_number" : 100.0
}

这个 JSON 响应显示了 Elasticsearch 集群的健康状态及其一些关键指标。

集群基本信息

  • cluster_name: "elasticsearch"

    • 集群的名称。这是你在 elasticsearch.yml 配置文件中指定的名称。

集群健康状态

  • status: "green"

    • 集群的健康状态。可能的状态有三种:

      • green: 所有主分片和副本分片都是可用的。

      • yellow: 所有主分片都是可用的,但有一些副本分片不可用。

      • red: 有一些主分片不可用。

  • timed_out: false

    • 表示查询是否超时。false 表示查询在规定时间内完成。

节点和分片信息

  • number_of_nodes: 3

    • 集群中的节点总数。这里表示集群中有 3 个节点。

  • number_of_data_nodes: 3

    • 集群中的数据节点总数。数据节点存储数据并处理搜索请求。这里表示所有 3 个节点都是数据节点。

分片状态

  • active_primary_shards: 1

    • 当前活动的主分片数量。主分片是实际存储数据的分片。

  • active_shards: 2

    • 当前活动的总分片数量,包括主分片和副本分片。这里有 1 个主分片和 1 个副本分片。

  • relocating_shards: 0

    • 正在重新分配的分片数量。重新分配是指将分片从一个节点移动到另一个节点。

  • initializing_shards: 0

    • 正在初始化的分片数量。这些分片正在被分配和恢复。

  • unassigned_shards: 0

    • 未分配的分片数量。可能是因为没有足够的节点来分配这些分片。

  • delayed_unassigned_shards: 0

    • 延迟分配的未分配分片数量。这些分片被延迟分配,通常是因为某些节点暂时不可用。

任务和队列信息

  • number_of_pending_tasks: 0

    • 当前待处理的任务数量。任务可以是索引刷新、分片移动等。

  • number_of_in_flight_fetch: 0

    • 当前正在获取的分片数量。通常是在执行搜索请求时从不同的分片获取数据。

  • task_max_waiting_in_queue_millis: 0

    • 当前任务队列中等待时间最长的任务的等待时间(毫秒)。这里表示没有任务在队列中等待。

活动分片百分比

  • active_shards_percent_as_number: 100.0

    • 当前活动分片占所有分片的百分比。100% 表示所有分片都是活动的,没有分片是未分配的或初始化中的。

# 创建一个索引看集群中每个节点索引数据
curl -XPUT -u elastic:123456 "http://127.0.0.1:9200/test-index"curl -XGET -u elastic:123456  "http://localhost:9200/_cat/indices?pretty"
green open test-index  _hNfQpNqTZWAsPKrqa51XA 1 1 0 0   416b   208b
green open .security-7 L6YSY_F0Sl207ijttvv4CQ 1 1 7 0 51.5kb 25.7kb
六、安装kibana和es-header插件:
# 下载kibana
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.10.0-linux-x86_64.tar.gz# 解压到/usr/local/,并重命名为kibana
tar -zxvf kibana-7.10.0-linux-x86_64.tar.gz -C /usr/local/
cd /usr/local/
mv kibana-7.10.0-linux-x86_64/ kibana
# 配置kibana,并加入下面的配置
vim /usr/local/kibana/config/kibana.yml
--------------------------------------
#设置为中文
i18n.locale: "zh-CN"
#允许其它IP可以访问
server.host: "0.0.0.0"
elasticsearch.username: "kibana_system"
elasticsearch.password: "elastic123"
#es集群地址,填写真实的节点地址
elasticsearch.hosts: ["http://xxx.xx.xx.xx:9200","http://xxx.xx.xx.xx:9200","http://xxx.xx.xx.xx:9200"]
--------------------------------------
# 启动kibana
cd /usr/local/kibana/./bin/kibana

es-head安装如下面的官方文档所示:

GitHub - mobz/elasticsearch-head: A web front end for an elastic search cluster

Elasticsearch如何合理的设置分片:

一、什么是分片

在 Elasticsearch 中,索引是由一个或多个分片组成的。每个分片是一个完整的 Lucene 索引,独立存储数据并执行搜索操作。通过分片,Elasticsearch 可以将数据分布到多个节点上,从而提高系统的吞吐量和容错能力。

二、分片的类型

主分片(Primary Shard)

  • 每个索引默认包含的分片。

  • 数据首先写入主分片,然后再复制到副本分片。

  • 主分片的数量在索引创建时确定,之后不能更改。

副本分片(Replica Shard)

  • 主分片的副本,用于提高数据的高可用性和搜索性能。

  • 默认情况下,每个主分片有一份副本分片。

  • 可以动态调整副本的数量。

三、分片的工作原理

数据分布:当你向 Elasticsearch 索引文档时,Elasticsearch 会根据文档的 ID 计算一个哈希值,并根据这个哈希值决定将文档存储到哪个主分片。这种方式确保了文档在主分片间的均匀分布。

数据存储:当你向 Elasticsearch 索引文档时,Elasticsearch 会根据文档的 ID 计算一个哈希值,并根据这个哈希值决定将文档存储到哪个主分片。这种方式确保了文档在主分片间的均匀分布。

数据存储:每个分片是一个独立的 Lucene 索引,包含多个倒排索引。这些倒排索引用于高效的全文搜索。分片将文档分成多个段(segment),每个段是一个不可变的索引文件。随着文档的添加,新的段会不断创建,旧的段会被合并以优化性能和存储空间。

数据副本:副本分片存储在不同的节点上,以防止单点故障。如果一个主分片节点故障,Elasticsearch 可以将副本分片升级为主分片,并继续提供服务。副本分片不仅用于故障恢复,还可以分担搜索请求的负载,从而提高查询性能。

请求处理

  1. 写请求(Indexing Request)

    • 写请求首先发送到主分片。

    • 主分片将数据写入自身,然后将数据复制到对应的副本分片。

    • 所有分片都成功写入后,返回确认响应。

  2. 读请求(Search Request)

    • 读请求可以发送到任意一个副本分片,包括主分片。

    • 通过这种方式,读请求可以被均衡地分配到所有分片,提高查询性能。

四、分片的优点

水平扩展:通过增加分片和节点,可以轻松扩展 Elasticsearch 集群以处理更多数据和更高的查询负载。

高可用性:通过副本分片,Elasticsearch 提供了数据冗余,确保在节点故障时数据不会丢失。

高性能:分片使得搜索和索引请求可以并行处理,提高了系统的吞吐量。

五、分片如何设置
  1. 分片的官方建议:

1、分片过小会导致段过小,进而致使开销增加。您要尽量将分片的平均大小控制在至少几 GB 到几十 GB 之间。
对时序型数据用例而言,分片大小通常介于 20GB 至 40GB 之间。2、由于单个分片的开销取决于段数量和段大小,所以通过 forcemerge 操作强制将
较小的段合并为较大的段能够减少开销并改善查询性能。理想状况下,
应当在索引内再无数据写入时完成此操作。请注意:这是一个极其耗费资源的操作,
所以应该在非高峰时段进行。 3、每个节点上可以存储的分片数量与可用的堆内存大小成正比关系,但是 Elasticsearch并未
强制规定固定限值。这里有一个很好的经验法则:确保对于节点上已配置的每个 GB,将分片数量
保持在 20 以下。如果某个节点拥有 30GB 的堆内存,那其最多可有 600 个分片,但是在此限值范围内,
您设置的分片数量越少,效果就越好。一般而言,这可以帮助集群保持良好的运行状态。
(编者按:从 8.3 版开始,我们大幅减小了每个分片的堆使用量,
因此对本博文中的经验法则也进行了相应更新。请按照以下提示了解 8.3+ 版本的 
Elasticsearch。)
  1. 在网上总结的:

每个分片的数据量不超过最大JVM堆空间设置,一般不超过32G。如果一个索引大概500G,那分片大概在16个左右比较合适。单个索引分片个数一般不超过节点数的3倍,推荐是1.5 ~ 3倍之间。假如一个集群3个节点,根据索引数据量大小分片数在5-9之间比较合适。主分片、副本和节点数,分配时也可以参考以下关系:节点数<= 主分片数 * (副本数 +1 )
  1. 创建索引时指定分片数量:

PUT /my_index
{"settings": {"index": {"number_of_shards": 3,"number_of_replicas": 1}}
}

Elasticsearch常用操作命令:

# es启动:./bin/elasticsearch# 访问地址:http://localhost:9200/ 默认9200端口# Kibana 启动:./bin/Kibana# 访问地址:http://localhost:5600/ 默认5600端口
# 查看集群状态
# 检查集群运行情况: 
curl -XGET -u elastic:123456 "http://127.0.0.1:9200/_cat/health?v"# 查看集群节点列表: 
curl -XGET -u elastic:123456 "http://127.0.0.1:9200/_cat/nodes"# 查看所有索引:       
curl -XGET -u elastic:123456 "http://127.0.0.1:9200/_cat/indices?v"
# 索引操作API
# 1.查询查看分片状态-Authorization方式(postman通过账密获取token)
curl -XGET ‘http://127.0.0.1:9200/_cluster/allocation/explain?pretty’ --header ‘Authorization’: Basic ZWxhc3RpYzphcDIwcE9QUzIw’# 2.查询查看分片状态-账密方式
curl -XGET -u elastic "http://127.0.0.1:9200/_cluster/allocation/explain?pretty" -H ‘Content-Type:application/json’# 3.查询集群状态命令
curl -XGET -u elastic:123456 "http://127.0.0.1:9200/_cluster/health?pretty"# 4.查询Es全局状态
curl -XGET -u elastic:123456 "http://127.0.0.1:9200/_cluster/stats?pretty"# 5.查询集群设置
curl -XGET -u elastic:123456 "http://127.0.0.1:9200/_cluster/settings?pretty"# 6.查询集群文档总数
curl -XGET -u elastic:123456 "http://127.0.0.1:9200/_cat/count?v"# 7.查看当前集群索引分片信息
curl -XGET -u elastic:123456 "http://127.0.0.1:9200/_cat/shards?v"# 8.查看集群实例存储详细信息
curl -XGET -u elastic "http://127.0.0.1:9200/_cat/allocation?v"# 9.查看当前集群的所有实例
curl -XGET -u elastic "http://127.0.0.1:9200/_cat/nodes?v"# 10.查看当前集群等待任务
curl -XGET -u elastic "http://127.0.0.1:9200/_cat/pending_tasks?v"# 11.查看集群查询线程池任务
curl -XGET -u elastic "http://127.0.0.1:9200/_cat/thread_pool/search?v"# 12.查看集群写入线程池任务
curl -XGET -u elastic "http://127.0.0.1:9200/_cat/thread_pool/bulk?v"# 13.清理ES所有缓存
curl -XPOST "http://127.0.0.1:9200/_cache/clear"# 14.查询索引信息
curl -XGET -u : ‘https://127.0.0.1:9200/licence_info_test?pretty’# 15.关闭索引
curl -XGET -u : ‘https://127.0.0.1:9200/my_index/_close?pretty’# 16.打开索引
curl -XGET -u : ‘https://127.0.0.1:9200/my_index/_open?pretty’

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

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

相关文章

Git的稀疏检出(sparse checkout)

使用git bash 创建项目目录 mkdir projectDir 进入目录 cd projectDir 初始化空仓库 git init 关联远程地址 git remote add -f origin http://xxx.git 开启Sparse Checkout模式 git config core.sparsecheckout true 设置Check Out的文件或目录 echo "dir1/&…

Conformal low power-1.概述

概述 设计师们越来越期望更长的电池寿命和更高的性能。由于漏电流的增加&#xff0c;使用90纳米及更小工艺节点制造的设备在不使用时的功耗与使用时相同。设计师们可以针对漏电流和动态功耗进行优化&#xff0c;这可以减少能源使用并降低冷却和封装成本。额外的高级低功耗方法…

视觉语言模型:融合视觉与语言的未来

1. 概述 视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;是能够同时处理和理解视觉&#xff08;图像&#xff09;和语言&#xff08;文本&#xff09;两种模态信息的人工智能模型。这种模型结合了计算机视觉和自然语言处理的技术&#xff0c;使得它们能够在…

基于SAM的零样本相似性评价方法

文章目录 介绍方法SAM编码器相似性指标代码复现介绍 图像转换具有广泛的应用,如风格转换和模态转换,通常是生成具有高度真实和忠实的图像。这些问题仍然很困难,特别是在保存语义结构很重要的时候。传统的图像级相似性度量的用途有限,因为图像的语义是高级的,并且不受对原…

简单分享下利用python做测试的学习方向

做为一名转行过来的工程师&#xff0c;我想分享一下这些年来&#xff0c;我对于技术是怎样晋升的&#xff0c;我是在职&#xff0c;边上班边利用时间学习起来的&#xff0c;也听过很多业内人的分享&#xff08;简单可以总结以下几点&#xff0c;分享给大家碎片的式学习方式&…

ESP32网络开发:1.创建一个基于TCP网络协议的网站

一、TCP协议的介绍 TCP&#xff08;传输控制协议&#xff0c;Transmission Control Protocol&#xff09;是互联网协议套件中的一种核心协议&#xff0c;主要用于在网络中的计算机之间可靠地传输数据。TCP协议位于OSI模型&#xff08;开放系统互联模型&#xff09;的传输层&…

「7.9更新日志」JVS·智能BI、逻辑引擎(服务编排)功能更新说明

项目介绍 JVS是企业级数字化服务构建的基础脚手架&#xff0c;主要解决企业信息化项目交付难、实施效率低、开发成本高的问题&#xff0c;采用微服务配置化的方式&#xff0c;提供了 低代码数据分析物联网的核心能力产品&#xff0c;并构建了协同办公、企业常用的管理工具等&am…

java使用poi-tl模版引擎导出word之列表循环数据渲染

目录 1.模版制作2.开启spring表达式3.编写关键代码接口4. 导出结果 poi-tl模版引擎中&#xff0c;如果区块对的值是一个非空集合&#xff0c;区块中的文档元素会被迭代渲染一次或者N次&#xff0c;这取决于集合的大小&#xff0c;类似于foreach语法。 1.模版制作 在静态资源目…

MySQL 速记SQL语句(SQL语句学习)

一、DDL DDL是Data Definition Language&#xff08;数据定义语言&#xff09;的缩写&#xff0c;它是SQL语言的一部分&#xff0c;主要用于定义数据库结构。DDL语句被数据库系统用来创建、修改或删除数据库对象&#xff0c;如数据库、表、索引、视图等。 #查询所有数据库 sh…

[ACM独立出版]2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024)

[ACM独立出版]2024年虚拟现实、图像和信号处理国际学术会议&#xff08;ICVISP 2024&#xff09; 2024 International Conference on Virtual Reality, Image and Signal Processing 最新消息ICVISP 2024-已通过ACM出版申请投稿免费参会&#xff0c;口头汇报或海报展示(可获得…

品牌推广的要素有哪些?探寻最佳实践方法

作为一个手工酸奶品牌的创始人&#xff0c;目前全国复制了100多家门店。我来和大家分享下品牌推广的基本要素&#xff0c;以及最佳实践方法&#xff01; 一、品牌推广基本要素 1、目标市场分析 品牌推广的第一步就是明确目标市场。先了解目标受众的年龄、性别、消费习惯、有…

道可云元宇宙每日资讯|2024全球数字经济大会元宇宙创新发展论坛

道可云元宇宙每日简报&#xff08;2024年7月10日&#xff09;讯&#xff0c;今日元宇宙新鲜事有&#xff1a; 北京&#xff1a;支持超高清视听与元宇宙融合创新应用 7月8日&#xff0c;北京市广播电视局印发《北京市支持超高清视听产业发展项目管理办法&#xff08;2024-2026…

centos在GitHub上下载代码

1、安装git yum install -y git2、下载 git clone https://github.com/dji-sdk/Payload-SDK3、若遇到 centos 7 git clone 报错&#xff1a;fatal: unable to access解决方法&#xff1a; 3.1、 打开/etc/hosts文件&#xff1b;命令&#xff1a;sudo vim /etc/hosts 3.2、 添…

【python深度学习】通俗易懂的理解一下transformer、RNN、CNN的主要区别

在“Transformer model”诞生之前,计算机是如何进行语言翻译的。在那个时代,计算机主要使用循环神经网络(RNNs)和卷积神经网络(CNNs)这两种技术来处理语言翻译任务。 1. 通俗的解释 循环神经网络(RNNs) 想象一下你在玩耳语传话游戏,将一条消息传给旁边的人,再由他…

MFC扩展库BCGControlBar Pro v35.0 - 可视化管理主题等全新升级

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中&#xff0c;并为您节省数百个开发和调试时间。 BCGControlBar专业版 v35.0已全新发布了&#xff0c;这个版本改进类Visual Studio 2022的视觉主题、增强对多个…

ASUS NUC 14 Pro+:掌中宇宙,性能无界

在这个追求多样性的斜杠时代&#xff0c;ASUS NUC 14 Pro 顺势而生&#xff0c;将浩瀚宇宙般的强大性能浓缩于方寸之间&#xff0c;它不仅是一款设备&#xff0c;更是助您探索多重身份的斜杠伙伴&#xff01; 浑然天成&#xff0c;简约而不简单 小巧的机身、简约的线条、精致的…

【电脑应用技巧】如何寻找电脑应用的安装包华为电脑、平板和手机资源交换共享

电脑的初学者可能会直接用【百度】搜索电脑应用程序的安装包&#xff0c;但是这样找到的电脑应用程序安装包经常会被加入木马或者强制捆绑一些不需要的应用装入电脑。 今天告诉大家一个得到干净电脑应用程序安装包的方法&#xff0c;就是用【联想的应用商店】。联想电脑我是一点…

哈喽GPT-4o,程序员如何通过GPT-4o提高办公效率

目录 一、编写工作汇报Prompt&#xff1a;我是一名Java开发工程师&#xff0c;请写一份工作总结&#xff0c;工作内容是一个SpringBootVue实现的图书管理系统&#xff0c;按下面的结构来撰写&#xff1a;1. 工作背景&#xff1b;2. 工作内容&#xff1b;3. 工作建议&#xff1b…

FoundationDB-学习-01-安装部署

目录 一、介绍 二、环境信息 三、下载地址 四、安装步骤 0、创建操作系统用户 1、安装路径创建 2、移动文件 3、foundationdb.conf配置 4、fdb.cluster配置 5、修改权限 6、systemd服务配置 7、system重载配置文件 8、启动服务并开机自启 9、多节点情况 10、连接…

文献解读-多组学-第十七期|《基于多组学分析和综合模型的三阴性乳腺癌腋窝淋巴结转移预测》

关键词&#xff1a;多组学分析&#xff1b;基因测序&#xff1b;多组学模型&#xff1b; 文献简介 标题&#xff08;英文&#xff09;&#xff1a;Prediction of axillary lymph node metastasis in triple-negative breast cancer by multi-omics analysis and an integrated…