您的位置:首页 > 其它

Elasticsearch技术解析与实战(一)基础概念及环境搭建

2017-09-08 19:31 453 查看

基础概念

Elasticsearch是一个近实时的系统,从你写入数据到数据可以被检索到,一般会有1秒钟的延时。Elasticsearch是基于Lucene的,Lucene的读写是两个分开的句柄,往写句柄写入的数据刷新之后,读句柄重新打开,这才能读到新写入的数据。

名词解释:

node

节点(node)是你运行的Elasticsearch实例

Cluster

一组具有相同cluster.name的节点集合

Shard

一个分片(shard)就是一个Lucene Index,是一个最小级别的“工作单元(worker unit)”,它只是保存索引中所有数据的一小片.我们的文档存储和被索引在分片中

主切片的数量只能在创建索引时定义且不能修改.相同的分片不会放在同一个节点上

分片算法:shard = hash(routing) % number_of_primary_shards

Replica:

Replica也是Shard,与shard不同的是,replica只会参与读操作,同时也能提高集群的可用性。

对于Replica来说,它的主要作用就是提高集群错误恢复的能力,所以replica的数目与shard的数目以及node的数目相关,

与shard不同的是,replica的数目可以在集群建立之后变更,切代价较小,所以相比shard的数目而言,没有那么重要。

分片和副本的数量可以在创建index的时候指定,index创建之后,只能修改副本数量,不能修改分片。

Index

索引,Index相当于关系型数据库的DataBase。

Type

类型,这是索引下的逻辑划分,一般把有共性的文档放到一个类型里面,相当于关系型数据库的Table。

Document

文档,Json结构,这点跟MongoDB差不多。

健康状态:

green:每个索引的primary shard和replica shard都是active状态的

yellow:每个索引的primary shard都是active状态的,但是部分replica shard不是active状态,处于不可用的状态

red:不是所有索引的primary shard都是active状态的,部分索引有数据丢失了





环境搭建

es:http://localhost:9200/?pretty

kibana:http://localhost:5601

elasticsearch外网IP无法访问

elasticsearch.yml增加:network.host: 0.0.0.0

重启问题解决

kibana外网IP无法访问

kibana.yml增加:server.host: "0.0.0.0"

重启问题解决
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: