摘自:http://unasm.com/2016/11/644/ 在通过 /_cluster/state 命令查看es 状态的时候,发现es 处于一个yellow的状态, 这个很奇怪,按照官方的解释,就是所有主分片都是处于可用状态,但是有复制分片不可用.为什么有复制分片不可用呢? 通过/_cat/shards 查看,发现有从分配处于一个未分配的状态,该命令该出的数据奇怪的地方是,我的集群明明有三台机器,但是shareds里面只给出了两台. data 2 r STARTED 449516 1.6g…
原文链接: https://www.jianshu.com/p/297e13045605 集群(cluster): 由一个或多个节点组成, 并通过集群名称与其他集群进行区分 节点(node): 单个 ElasticSearch 实例. 通常一个节点运行在一个隔离的容器或虚拟机中 索引(index): 在 ES 中, 索引是一组文档的集合 分片(shard): 因为 ES 是个分布式的搜索引擎, 所以索引通常都会分解成不同部分, 而这些分布在不同节点的数据就是分片. ES自动管理和组织分片, 并在…
本文讲述,如何理解Elasticsearch的分片.副本和路由策略. 1.预备知识 1)分片(shard) Elasticsearch集群允许系统存储的数据量超过单机容量,实现这一目标引入分片策略shard.在一个索引index中,数据(document)被分片处理(sharding)到多个分片上.Elasticsearch屏蔽了管理分片的复杂性,使得多个分片呈现出一个大索引的样子. 2)副本(replica) 为了提升访问压力过大是单机无法处理所有请求的问题,Elasticsearch集群引入…
elasticsearch用于构建高可用和可扩展的系统.扩展的方式可以是购买更好的服务器(纵向扩展)或者购买更多的服务器(横向扩展),Elasticsearch能从更强大的硬件中获得更好的性能,但是纵向扩展也有一定的局限性.真正的扩展应该是横向的,它通过增加节点来传播负载和增加可靠性.对于大多数数据库而言,横向扩展意味着你的程序将做非常大的改动来利用这些新添加的设备.对比来说,Elasticsearch天生是分布式的:它知道如何管理节点来提供高扩展和高可用.这意味着你的程序不需要关心这些.对于大…
摘自:https://www.easyice.cn/archives/231 elasticsearch indices.recovery 流程分析与速度优化 目录 [隐藏] 主分片恢复流程 副本分片恢复流程 recovery 慢的原因分析 synced flush 机制 副分片如何做到和主分片一致的 提升 recovery 速度的建议 使用 _forcemerge 集群 FullRestart 的建议操作过程 一些用于查看 recovery 状态的命令 问题 参考: 基于版本:5.5.3 re…
Elasticsearch核心技术(2)--- 基本概念 这篇博客讲到基本概念包括: Index.Type.Document.集群,节点,分片及副本,倒排索引. 一.Index.Type.Document 1.Index index:索引是文档(Document)的容器,是一类文档的集合. 索引这个词在 ElasticSearch 会有三种意思: 1).索引(名词) 类比传统的关系型数据库领域来说,索引相当于SQL中的一个数据库(Database).索引由其名称(必须为全小写字符)进行标识. 2…
部署说明 硬件 服务器两台: 机器A:64G内存 机器B:32G内存 分片 共12个节点 2个查询节点,10个存储节点 8个主分片 1个复制分片(每个分片都有一个副本分布在不同的节点上面) 每台机器都挂了6个机械盘每个盘都是不同的分区. 部署环境用Docker weave 来做 elasticsearch cluster 可以参考我的另外一篇博文: http://blog.csdn.net/mrsunnycream/article/details/50921012 就这样环境默默的部署着,一切都…
ES集群中索引可能由多个分片构成,并且每个分片可以拥有多个副本.通过将一个单独的索引分为多个分片,我们可以处理不能在一个单一的服务器上面运行的大型索引,简单的说就是索引的大小过大,导致效率问题.不能运行的原因可能是内存也可能是存储.由于每个分片可以有多个副本,通过将副本分配到多个服务器,可以提高查询的负载能力.     为了进行分片和副本的操作,ES需要确定将这些分片和副本放到集群节点的哪个位置,就是需要确定把每个分片和副本分配到哪台服务器/节点上. 一.显式控制分配 生产情景: 比如生产环境有…
mongodb部署--主备.副本及数据分片 主备复制 副本集 数据分片 主备复制 主备复制是最基本的一种多点部署方案,在读写分离.热备份.数据恢复等方面具有重要作用. 在真实的生产环境,主备库肯定需要部署在不同的服务器中,但鉴于学习测试,这里以一台机器的不同端口进行模拟. 准备工作: 安装Mongodb的二进制程序安装步骤 假设已经安装在/usr/local/mongodb/目录 为主库及备库创建数据目录: 主库目录:/var/mongodb_master/data/ /var/mongodb_…
我们默认是开启了自动分配的,但仍然会因为服务器软硬件的原因导致分配分配失败,从而出现UNASSIGNED的分片,如果存在该状态的主分片则会导致集群为Red状态.此时我们可以通过reroute API进行手动再次分配分片. 在Sense中的命令如下: POST /_cluster/reroute { "commands": [ { "allocate" : { "index" : $index, "shard" : $shard…