深圳网站建设就q479185700顶上,展示型网站建设公司,网站地图怎么添加,中国建设银行网站的社保板块在哪里单机 集群 单台 Elasticsearch 服务器提供服务#xff0c;往往都有最大的负载能力#xff0c;超过这个阈值#xff0c;服务器 性能就会大大降低甚至不可用#xff0c;所以生产环境中#xff0c;一般都是运行在指定服务器集群中 配置服务器集群时#xff0c;集… 单机 集群 单台 Elasticsearch 服务器提供服务往往都有最大的负载能力超过这个阈值服务器 性能就会大大降低甚至不可用所以生产环境中一般都是运行在指定服务器集群中 配置服务器集群时集群中节点数量没有限制大于等于 2 个节点就可以看做是集群了。一 般出于高性能及高可用方面来考虑集群中节点数量都是 3 个以上。 集群 Cluster 一个集群就是由一个或多个服务器节点组织在一起共同持有整个的数据并一起提供 索引和搜索功能。一个 Elasticsearch 集群有一个唯一的名字标识这个名字默认就 是 ”elasticsearch” 。这个名字是重要的因为一个节点只能通过指定某个集群的名字来加入 这个集群。 节点 Node 集群中包含很多服务器一个节点就是其中的一个服务器。作为集群的一部分它存储 数据参与集群的索引和搜索功能。 一个节点可以通过配置集群名称的方式来加入一个指定的集群。默认情况下每个节点 都会被安排加入到一个叫做 “elasticsearch” 的集群中这意味着如果你在你的网络中启动了 若干个节点并假定它们能够相互发现彼此它们将会自动地形成并加入到一个叫做 “elasticsearch” 的集群中。 核心概念 索引 Index 一个索引就是一个拥有几分相似特征的文档的集合。在一个集群中可以定义任意多的索引。 能搜索的数据必须索引这样的好处是可以提高查询速度比如新华字典前面的目录 就是索引的意思目录可以提高查询速度。 Elasticsearch 索引的精髓一切设计都是为了提高搜索的性能。 类型 Type 7.x 默认不再支持自定义索引类型默认类型为_doc 文档 Document 一个文档是一个可被索引的基础信息单元也就是一条数据 在一个 index/type 里面你可以存储任意多的文档。 字段 Field 相当于是数据表的字段对文档数据根据不同属性进行的分类标识。 映射 Mapping mapping 是处理数据的方式和规则方面做一些限制如某个字段的数据类型、默认值、 分析器、是否被索引等等。这些都是映射里面可以设置的其它就是处理 ES 里面数据的一 些使用规则设置也叫做映射按着最优规则处理数据对性能提高很大因此才需要建立映射 并且需要思考如何建立映射才能对性能更好。 分片 Shards 一个索引可以存储超出单个节点硬件限制的大量数据。比如一个具有 10 亿文档数据 的索引占据 1TB 的磁盘空间而任一节点都可能没有这样大的磁盘空间。或者单个节点处 理搜索请求响应太慢。为了解决这个问题 Elasticsearch 提供了将索引划分成多份的能力 每一份就称之为分片。当你创建一个索引的时候你可以指定你想要的分片的数量。每个分 片本身也是一个功能完善并且独立的 “ 索引 ” 这个 “ 索引 ” 可以被放置到集群中的任何节点 上 分片很重要主要有两方面的原因 1 允许你水平分割 / 扩展你的内容容量。 2 允许你在分片之上进行分布式的、并行的操作进而提高性能 / 吞吐量。 被混淆的概念是一个 Lucene 索引 我们在 Elasticsearch 称作 分片 。 一个 Elasticsearch 索引 是分片的集合。 当 Elasticsearch 在索引中搜索的时候 他发送查询 到每一个属于索引的分片 (Lucene 索引 ) 然后合并每个分片的结果到一个全局的结果集。 副本 Replicas 在一个网络 / 云的环境里失败随时都可能发生在某个分片 / 节点不知怎么的就处于 离线状态或者由于任何原因消失了这种情况下有一个故障转移机制是非常有用并且是 强烈推荐的。为此目的 Elasticsearch 允许你创建分片的一份或多份拷贝这些拷贝叫做复 制分片 ( 副本 ) 。 复制分片之所以重要有两个主要原因 在分片/节点失败的情况下提供了高可用性。因为这个原因注意到复制分片从不与 原 / 主要 original/primary 分片置于同一节点上是非常重要的。 扩展你的搜索量 / 吞吐量因为搜索可以在所有的副本上并行运行。 总之每个索引可以被分成多个分片。一个索引也可以被复制 0 次意思是没有复制 或多次。一旦复制了每个索引就有了主分片作为复制源的原来的分片和复制分片主 分片的拷贝之别。分片和复制的数量可以在索引创建的时候指定。在索引创建之后你可 以在任何时候动态地改变复制的数量但是你事后不能改变分片的数量。默认情况下 Elasticsearch 中的每个索引被分片 1 个主分片和 1 个复制这意味着如果你的集群中至少 有两个节点你的索引将会有 1 个主分片和另外 1 个复制分片 1 个完全拷贝这样的话 每个索引总共就有 2 个分片我们需要根据索引需要确定分片个数。 分配 Allocation 将分片分配给某个节点的过程包括分配主分片或者副本。如果是副本还包含从主分 片复制数据的过程。这个过程是由 master 节点完成的。 系统架构 一个运行中的 Elasticsearch 实例称为一个节点而集群是由一个或者多个拥有相同cluster.name 配置的节点组成 它们共同承担数据和负载的压力。当有节点加入集群中或者 从集群中移除节点时集群将会重新平均分布所有的数据。 当一个节点被选举成为主节点时 它将负责管理集群范围内的所有变更例如增加、 删除索引或者增加、删除节点等。 而主节点并不需要涉及到文档级别的变更和搜索等操 作所以当集群只拥有一个主节点的情况下即使流量的增加它也不会成为瓶颈。 任何节 点都可以成为主节点。我们的示例集群就只有一个节点所以它同时也成为了主节点。 作为用户我们可以将请求发送到集群中的任何节点 包括主节点。 每个节点都知道任意文档所处的位置并且能够将我们的请求直接转发到存储我们所需文档的节点。 无论我们将请求发送到哪个节点它都能负责从各个包含我们所需文档的节点收集回数据并将最终结果返回給客户端。 Elasticsearch 对这一切的管理都是透明的。 一个运行中的 Elasticsearch 实例称为一个节点而集群是由一个或者多个拥有相同 cluster.name 配置的节点组成 它们共同承担数据和负载的压力。当有节点加入集群中或者 从集群中移除节点时集群将会重新平均分布所有的数据。 作为用户我们可以将请求发送到集群中的任何节点 包括主节点。 每个节点都知道 任意文档所处的位置并且能够将我们的请求直接转发到存储我们所需文档的节点。 无论 我们将请求发送到哪个节点它都能负责从各个包含我们所需文档的节点收集回数据并将 最终结果返回給客户端。 Elasticsearch 对这一切的管理都是透明的。 分布式集群 1)单节点集群