搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(九) elasticsearch简介及集群介绍
来源:互联网 发布:yaml python 编辑:程序博客网 时间:2024/05/16 17:48
只要
在前面做了几个demo之后,我们现在才来介绍一下elasticsearch,以及elasticsearch集群。然后下一节我们就开始部署elasticsearch集群。
1、elasticsearch介绍
简单的说,elasticsearch就是一个分布式数据库和搜索引擎。
百度百科的解释
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的。我们希望搜索解决方案要运行速度快,我们希望能有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP来索引数据,我们希望我们的搜索服务器始终可用,我们希望能够从一台开始并扩展到数百台,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。因此我们利用Elasticsearch来解决所有这些问题以及可能出现的更多其它问题。
2、elasticsearch集群
elasticsearch用于构建高可用和可扩展的系统,Elasticsearch天生是分布式的:它知道如何管理节点来提供高扩展和高可用。这意味着你的程序不需要关心这些。
集群和节点
节点(node)是你运行的Elasticsearch实例。一个集群(cluster)是一组具有相同cluster.name的节点集合,他们协同工作,共享数据并提供故障转移和扩展功能,当有新的节点加入或者删除节点,集群就会感知到并平衡数据。集群中一个节点会被选举为主节点(master),它用来管理集群中的一些变更,例如新建或删除索引、增加或移除节点等;当然一个节点也可以组成一个集群。
节点通信
我们能够与集群中的任何节点通信,包括主节点。任何一个节点互相知道文档存在于哪个节点上,它们可以转发请求到我们需要数据所在的节点上。我们通信的节点负责收集各节点返回的数据,最后一起返回给客户端。这一切都由Elasticsearch透明的管理。
节点分类
默认情况下,elasticsearch集群中每个节点都有成为主节点的资格,也都存储数据,还可以提供查询服务。这些功能是由两个属性控制的。
node.master和node.data,默认情况下这两个属性的值都是true。下面详细介绍一下这两个属性的含义以及不同组合可以达到的效果。
node.master:这个属性表示节点是否具有成为主节点的资格
注意:此属性的值为true,代表这个节点是不是具有主节点选举资格。
真正的主节点,是由多个具有主节点资格的节点进行选举产生的。node.data:这个属性表示节点是否存储数据。
这两个属性可以有四种组合:
node.master: true
node.data: true
这种组合表示这个节点即有成为主节点的资格,又存储数据,这个时候如果某个节点被选举成为了真正的主节点,同时还要存储数据,这样对于这个节点的压力就比较大了。elasticsearch默认每个节点都是这样的配置,在测试环境下这样做没问题。实际工作中建议不要这样设置。node.master: false
node.data: true
这种组合表示这个节点没有成为主节点的资格,也就不参与选举,只会存储数据。这个节点我们称为data(数据)节点。在集群中需要单独设置几个这样的节点负责存储数据。后期提供存储和查询服务。node.master: true
node.data: false
这种组合表示这个节点不会存储数据,有成为主节点的资格,可以参与选举,有可能成为真正的主节点。这个节点我们称为master节点node.master: false
node.data: false
这种组合表示这个节点即不会成为主节点,也不会存储数据,这个节点的意义是作为一个client(客户端)节点,主要是针对海量请求的时候可以进行负载均衡。
总结如下:
- master节点:普通服务器即可(CPU 内存 消耗一般)
- data节点:主要消耗磁盘,内存
- client节点:普通服务器即可
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(九) elasticsearch简介及集群介绍
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(二) Logstash简介及常见配置语法
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(十) elasticsearch集群部署
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(十二) kibana 界面使用简介
- Ubuntu 14.04搭建ELK日志分析系统(Elasticsearch+Logstash+Kibana)
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(十四) logstash grok 正则解析日志
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(六) ElasticSearch demo演示
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(七) elasticsearch.yml配置文件详细说明
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(八) elasticsearch配置外网访问及常见错误处理
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(十三) kibana 界面查询语法
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(一) Logstash demo演示
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(三) logstash input output 配置
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(四) logstash codec和filter 配置
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(五) 通过redis扩展logstash
- ELK(ElasticSearch, Logstash, Kibana)搭建日志分析平台-Elasticsearch篇
- ELK(ElasticSearch, Logstash, Kibana)搭建日志分析平台-Kibana篇
- ELK(ElasticSearch, Logstash, Kibana)搭建日志分析平台-Logstash篇
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(十一) kinaba demo
- 【安全牛学习笔记】弱点扫描
- Android坑档案:你的Bitmap究竟占多大内存?
- Windows 的 HOST 文件地址
- ajax的基础概念与运用
- Modbus C++ 实例
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(九) elasticsearch简介及集群介绍
- C 函数
- JAVASE2
- java8_03_stream_use
- POJ 1753
- bootstrap 基础(二)
- mvc简单化认知
- Xray材质
- 在.net framework 2.0 环境下开发 .net framework 3.5 的程序