您的位置:首页 > 其它

elasticsearch 集群的安装部署

2016-11-09 17:28 477 查看
一 介绍

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



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

启动

./bin/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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: