【零】据说ES的分布式功能做的非常强~直接贴官方翻译
Elasticsearch致力于隐藏分布式系统的复杂性。以下这些操作都是在底层自动完成的:
- 将你的文档分区到不同的容器或者分片(shards)中,它们可以存在于一个或多个节点中。
- 将分片均匀的分配到各个节点,对索引和搜索做负载均衡。
- 冗余每一个分片,防止硬件故障造成的数据丢失。
- 将集群中任意一个节点上的请求路由到相应数据所在的节点。
- 无论是增加节点,还是移除节点,分片都可以做到无缝的扩展和迁移。
【一】基本概念
- 集群(cluster)里面有多个节点(node),节点里面有多个分片(Sharding);
- 一个节点是一个ES运行实例,ES节点创建的时候确定本节点中含有的分片个数
-
索引(index) —— 一个用来指向n个分片(shards)的“逻辑命名空间(logical namespace)
- 创建索引的时候会指定需要几个主分片、要几份复制分片,默认是5+1
- 存 储:集 群 => 节点=> 分片
- 数 据:索 引=> 类型=> 文档=> 字段
- 数据库:数据库 => 表=> 行数据=> 列数据
- 分片 = 主分片+复制分片,二者不再同一个节点上
【二】搭建集群环境
查看集群状态
curl -XGET http://ip:9200/_cluster/health?pretty { "cluster_name" : "my-es-cluster", "status" : "green", "timed_out" : false, "number_of_nodes" : 1,#总节点数 "number_of_data_nodes" : 1,#总数据节点数 "active_primary_shards" : 0,#集群内所有索引的主分片总数 "active_shards" : 0,#集群内所有索引的分片总数 "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 }
集群状态有三种颜色取值:green(所有主要分片和复制分片都可用)、yellow(所有主要分片可用,但不是所有复制分片都可用)、 red(不是主要的所有分区都能用)
配置一个集群
1、修改elasticsearch配置文件
sudo vim elasticsearch/config/elasticsearch.yml
2、修改指定项
#集群名字一样 cluster.name: my-es-cluster #节点名字不一样 node.name: node-2 #节点ip,根据自己的机器来 network.host: 10.xx.xx.xxx #节点对外端口,不同的节点不一样,注意范围9200~9300 http.port: 9202 #默认寻找集群节点 discovery.zen.ping.unicast.hosts: ["10.xx.xx.xxx:9300"]
3、启动&检查
./elasticsearch_1/bin/elasticsearch & ./elasticsearch_2/bin/elasticsearch & ./elasticsearch_3/bin/elasticsearch &
PUT /blogs { "settings" : { "number_of_shards" : 3,#本索引需要3个主分片 "number_of_replicas" : 1#每个主分片需要1个复制分片 } }
集群配置文件详解
http://www.cnblogs.com/hdflzh/p/4103226.html
http://www.cnblogs.com/yjf512/p/4865930.html
【三】集群管理
1、集群原始正常状态
2、集群丢失节点
3、集群自我修复
4、集群的增加节点也是同样的道理咯
相关推荐
ElasticSearch安装与基本使用
相关推荐
ElasticSearch集群配置文件 其他节点只需要修改以下内容: 1. node.name: es-node1 --节点名称不能一样 2. http.port: 8081 --节点端口 3. transport.port: 8090 --节点间通信端口 4. discovery.seed_hosts: --集群...
springboot 2.0.2集成elasticsearch5.5.1,并使用集群模式,亲测可用!!!
本文详细介绍了如何在新主机上进行 Elasticsearch 集群的搭建,包括配置文件的迁移与调整、集群构建与测试、解决索引断裂问题等关键步骤。通过本文的操作指南,可以快速完成 Elasticsearch 集群的部署,并解决常见的...
Elasticsearch集群安装配置 Elasticsearch 是一个基于 Apache Lucene 的搜索和数据分析引擎,支持实时搜索、数据分析和报表生成等功能。为了实现高可用性和高性能,Elasticsearch 集群安装配置是非常重要的。本文将...
- **cluster.name**:确保配置的集群名称与ElasticSearch集群配置一致。 - **node.name**:自定义节点名称,确保不同节点之间名称唯一。 - **index.number_of_replicas**:根据实际部署节点数量调整副本数。 - **...
### Elasticsearch 数据库集群配置详解 #### 一、概述 Elasticsearch 是一款基于 Lucene 的分布式搜索和分析引擎,适用于全文检索、结构化检索以及数据分析等场景。由于其高性能、可扩展性和易于集成的特点,...
CentOS7 下搭建多节点 Elasticsearch 集群 ...CentOS7 下搭建多节点 Elasticsearch 集群需要考虑到集群架构、安装和配置、配置文件、插件、Filebeat 和 Logstash、多节点的优势和部署、监控等多个方面。
在本篇中,我们将深入探讨如何进行 Elasticsearch(简称 ES)集群的安装。 首先,了解集群的概念至关重要。在 Elasticsearch 中,集群是一组节点(运行 Elasticsearch 的服务器),它们共同存储数据并处理搜索和...
在IT行业中,SpringMVC和Elasticsearch是两...最后,记得在实际部署时,根据你的Elasticsearch集群配置调整`ElasticsearchConfig`中的连接参数。如果需要处理大量数据,还要考虑分页、索引优化、性能调优等方面的问题。
根据研究和咨询公司大佬 本人搭建的生产环境运行的es集群配置文件,版本6.5.4,操作系统是CentOS7.6 3台es做成的集群,亲测可用。 只需要更改集群名称和每台节点的名称即可使用。
下面我们就来深入探讨如何搭建一个基于Elasticsearch的集群环境,并实现一些高级功能,比如head插件的安装与使用,以及ES用户认证的创建。 首先,为了安装Elasticsearch,需要准备以下软件环境: - Java环境:...
该安装包实现利用给定参数安装单机版或者集群版es数据库,指定参数后安装过程全自动,自动修改系统内核,配置jdk,自动识别并配置内存,自动根据节点数配置集群脑溢节点配置数。涉及到以下操作 1、自动检测配置java...
集群配置主要包括以下几个步骤: 1. 安装Elasticsearch:下载对应版本的软件包,解压并配置环境变量。 2. 修改配置文件:`elasticsearch.yml`,设置节点名称、网络监听地址、集群名称、节点角色等。 3. 启动服务:...
开箱即用,简单粗暴...我们本机启动两个es实例,也就是两个node节点,默认集群名称是elasticsearch,所以他会自动将这两个node凑成一个集群,我们什么都不用配置,它自动发现。shard负载均衡假设我们有1个index,
在浏览器中输入`http://localhost:9100/`,你应该能看到Elasticsearch-Head的界面,如果你的Elasticsearch集群配置正确,它将自动连接到你的集群。 **二、Elasticsearch-Head的功能** 1. **集群概览** 显示集群...
我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的。我们希望搜索解决方案要运行速度快,我们希望能...因此我们利用Elasticsearch来解决所有这些问题及可能出现的更多其它问题。