有两种方法,都是修改es的配置文件(%ES_HOME%/config/elasticsearch.yml):
方法一、设置cluster.routing.allocation.same_shard.host: true。
这个设置是告诉es,将同一shard的primary shard和replica shard分步在不同的主机上(官方文档说按照不同的IP或主机名称来判断是否是同一主机)。这个值,ES默认是false。注意:如果是已经在生产环境使用的ES(每个机器的节点大于1个时),修改完配置重启节点时,可能会导致最后一个节点没有数据(因为最后一个节点在重启的时候,其他节点已经将他这个节点上的数据分配到同一机器上的另外一个节点)。
方法二、设置rack_id
设置如下:
node.rack_id: rack_1 cluster.routing.allocation.awareness.attributes: rack_id |
Rack原义是货架,在这里是指机柜。这个rack_id其实可以自己定义, 上面配置的第二行就是如何定义这个名称。这样定义后,分片会被尽量的分片在不同的rack_id上面。如果rack_1和rack_2在不同的机器上,则就能实现将shard分布在不同的机器上的效果。定义这个名称后,如何查看索引是否分布在不同的机器上(第一个命令只记录了node_name,需要用第二个命令查询对应是那台机器):
curl -XGET 'http://127.0.0.1:9250/index_name/_status?pretty=true' curl -XGET 'http://127.0.0.1:9250/_cluster/nodes?pretty=true' |
参考资料:
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-cluster.html
对这类话题感兴趣?欢迎发送邮件至donlianli@126.com
请支持原创:
相关推荐
8. **集群扩展**:Elasticsearch支持多节点集群,只需在其他机器上重复上述步骤,并在配置文件中指定相同的集群名称,节点就能自动加入集群。 9. **监控和管理**:Kibana是一款强大的数据可视化工具,常与Elastic...
这个"elasticsearch-7.4.0-win64.rar"压缩包包含了Elasticsearch 7.4.0版本的Windows 64位安装文件,适合在Windows操作系统上部署和运行。 1. **Elasticsearch核心概念**: - **节点(Node)**:Elasticsearch中的...
而分片是索引的物理分割,每个分片可以分布在不同的节点上,便于数据的水平扩展。 11. **Elastic Stack**:Elasticsearch通常与Kibana、Logstash和Beats一起使用,形成所谓的“Elastic Stack”或“ELK Stack”。...
- **分布式架构**:Elasticsearch 可以在多台机器上运行,通过分片和复制机制实现数据的分布存储和故障恢复,提供高可用性。 - **RESTful API**:Elasticsearch 使用 JSON 格式的 HTTP 接口,符合 RESTful 风格,...
在Windows平台上,Elasticsearch提供了方便的安装包,便于在Windows操作系统上搭建和管理搜索和数据分析环境。此压缩包“elasticsearch-8.6.1-windows-x86_64.zip”是专为64位Windows系统设计的最新版本8.6.1。 **...
1. 分布式:Elasticsearch设计为分布式的,可以在多台机器上运行并自动处理数据的复制和故障恢复,提供高可用性和容错性。 2. 实时:索引的数据几乎立即可用于搜索,适合需要快速响应的应用场景。 3. RESTful API:...
- Elasticsearch基于Apache Lucene构建,采用分片和副本的概念,使得数据可以在多台机器上分布,提供高可用性和容错性。 - 分片允许数据横向扩展,每个分片可以独立地作为一个完整的搜索引擎工作,数据可以通过...
复制分片则用于备份和提高查询速度,通常位于不同机器上,确保数据的安全性和可用性。 Elasticsearch与传统数据库(如MySQL)存在显著差异。首先,它们的结构名称不同,ES采用的是分布式搜索,而传统数据库则是遍历...
9. **集群搭建**:要创建多节点集群,只需在不同机器上重复以上步骤,并在`elasticsearch.yml`中设置相同的集群名称和节点间通信端口。 10. **监控与维护**:定期检查节点健康状态、索引分片分布、CPU和内存使用...
1. 分布式存储:Elasticsearch设计为分布式系统,可以自动在多台机器上进行数据分片和复制,确保高可用性和容错性。每个节点都是平等的,可以处理索引、搜索和数据管理任务。 2. RESTful API:Elasticsearch通过...
- 若要搭建多节点集群,只需在其他机器上重复安装过程,并在每个节点的配置文件中指定相同的`cluster.name`。 - 使用`discovery.seed_hosts`和`cluster.initial_master_nodes`参数来设置发现和主节点选举。 监控和...
每个索引可以被进一步划分为多个分片(shard),这样可以在多台机器上分布存储和处理数据,以提高性能和可扩展性。每个分片有两种类型:主分片(primary shard)和副本分片(replica shard)。 主分片是数据的原始...
- **分片(Shard)**:每个索引都可以被分成多个分片,便于在多台机器上分布存储,提高性能。 - **副本(Replica)**:每个分片可以有若干副本,提高数据冗余和恢复速度。 4. **查询与分析** - **查询API**:...
每个文档会被分配到多个分片上,这些分片可以分布在不同的节点上,当某个节点故障时,副本分片可以接管,确保服务不间断。 搜索功能是 Elasticsearch 的主要应用场景。它提供了全文检索、短语查询、模糊查询、布尔...
为了更好地使用Elasticsearch,你需要了解它的基本概念,如索引、类型、文档、分片和副本等。此外,了解Kibana作为数据可视化工具,以及Logstash用于日志收集和预处理,Beats家族(如Filebeat、Metricbeat等)用于...
1. **分布式架构**:Elasticsearch基于分布式架构,能够将大型数据集分布在多台机器上,实现数据的横向扩展。每个节点都是平等的,可以处理查询、索引、搜索等任务,通过复制和分片机制保证数据的容错和高可用性。 ...
分片可以在集群内的不同节点上分布,使得大型数据集可以分散在多个机器上处理。 8. **副本(Replica)**:每个分片都可以有零个或多个副本,用于提高可用性和容错性。当主分片发生故障时,副本可以晋升为主分片,确保...
**Elasticsearch 7.x 单机多...通过以上步骤,你可以在单台机器上部署多个Elasticsearch节点,实现资源利用最大化,并利用X-Pack增强安全性。记住,调整配置时需根据实际需求和硬件资源进行,确保系统稳定高效运行。
- 使用Kibana进行可视化管理和监控,Kibana也需要下载并配置在同一台机器上或单独服务器上。 7. **集群扩展** - 添加更多节点到集群,只需在其他服务器上重复上述安装和配置过程,并在`elasticsearch.yml`中设置...
- 分片机制让Elasticsearch能处理大量数据,每个索引可以被分成多个分片,分布在不同节点上。副本分片则提高了数据可用性和容错性。 8. **监控与日志**: - `Monitoring`可以通过猫插件(_cat APIs)查看集群状态...