elasticsearch 集群的安装部署

一 介绍

elasticsearch 是居于lucene的搜素引擎,可以横向集群扩展以及分片,开发者无需关注如何实现了索引的备份,集群同步,分片等,我们很容易通过简单的配置就可以启动elasticsearch集群,通过提供的基于rest的api实现数据存储以及索引。主要是搭建ELK分布式日志搜集平台以elasticsearch作为日志的存储来研究elasticsearch。

二 参考

http://learnes.net/getting_started/installing_es.html   ----》提供了elasticsearch 详细的安装,调用以及集群搭建,集群,分布式的设计思想。

https://www.elastic.co/  -----官网地址

https://github.com/elastic/elasticsearch  ---github代码托管地址

三 集群部署

主要通过统一集群名,和通过修改广播地址来实现各个node的自动发现建立集群。

vim ./config/elasticsearch.yml

elasticsearch 集群的安装部署

上面的配置文件我们很容易看懂如何修改实现自己想要的配置,这里只要通过修改cluster.name: 指定相同名字。node.name 是节点名字 不一样来区分。

启动

./bin/elasticsearch

六 效果

elasticsearch 集群的安装部署

七 总结

总的来说elasticsearch集群的部署还是很简单的,以上使用elasticsearch-2.4.0-2 通过elasticsearch-head 插件来安装提供基于web ui 可以直观看到集群信息以及索引分片信息以及查询等方便使用。

elasticsearch-head 安装: http://blog.csdn.net/jiuqiyuliang/article/details/51240800

分布式特性:

Elasticsearch 的分布式部分很简单。你甚至不需要关于分布式系统的任何内容,比如分片、集群、发现等成堆的分布式概念。你可能在你的笔记本中运行着刚才的教程,如果你想在一个拥有100个节点的集群中运行教程,你会发现操作是完全一样的。

Elasticsearch 很努力地在避免复杂的分布式系统,很多操作都是自动完成的:

  • 可以将你的文档分区到不同容器或者 分片 中,这些文档可能被存在一个节点或者多个节点。
  • 跨节点平衡集群中节点间的索引与搜索负载。
  • 自动复制你的数据以提供冗余副本,防止硬件错误导致数据丢失。
  • 自动在节点之间路由,以帮助你找到你想要的数据。
  • 无缝扩展或者恢复你的集群。

故障恢复:

被杀掉的节点是主节点。而为了集群的正常工作必须需要一个主节点,所以首先进行的进程就是从各节点中选择了一个新的主节点:Node 2

主分片 1 和 2 在我们杀掉 Node 1 后就丢失了,我们的索引在丢失主节点的时候是不能正常工作的。如果我们在这个时候检查集群健康状态,将会显示 red:存在不可用的主节点!

幸运的是,丢失的两个主分片的完整拷贝在存在于其他的节点上,所以新的主节点所完成的第一件事情就是将这些在 Node 2 和 Node 3 上的从分片提升为主分片,然后集群的健康状态就变回至 yellow。这个提升的进程是瞬间完成了,就好像按了一下开关。

那么为什么集群健康状态依然是是 yellow 而不是 green 呢?是因为现在我们有3个主分片,但是我们之前设定了1个主分片有2个从分片,但是现在却只有1份从分片,所以状态无法变为 green,不过我们可以不用太担心这里:当我们再次杀掉 Node 2 的时候,我们的程序依旧可以在没有丢失任何数据的情况下运行,因为 Node 3 中依旧拥有每个分片的备份。

以上摘自: http://learnes.net/distributed_cluster/coping_with_failure.html

上一篇:入门系列之在Ubuntu上安装Drone持续集成环境


下一篇:memcached 下载安装