1. 借鉴
极客时间 阮一鸣老师的Elasticsearch核心技术与实战
Elasticsearch基础知识——集群、节点、索引、分片
2. 开始
2.1 集群
- 不同的集群通过不同的名字来区分,默认名字是“elasticsearch”
- 通过配置文件修改或者在命令行指定 -E cluster.name=elasticsearch1
2.2 节点
- 一个节点是一个elasticsearch的实例
- 每个节点都有名字,通过配置文件或者命令行指定-E node.name=node1
- 每个节点在启动之后,都会分配一个UID,保存在data目录中
2.2.1 节点类型
序号 | 节点类型 | 配置 | 默认值 | 特性 |
---|---|---|---|---|
1 | master eligible node | node.master=true | true | 1.可以参加master选举 2.可修改集群的状态 3. 可修改所有的索引和相关的mapping和setting信息 4.可以修改分片的路由信息 |
2 | data node | node.data=true | true | 保存数据 |
3 | ingest node | node.ingest=true | true | 用来在真正对文档进行索引之前做预处理 |
4 | coordinating node | node.master=false node.data=false node.ingest=false | 每个节点默认都是coordinating节点 | 负责接收client请求,将请求分发到合适的节点,最终将结果汇总到一起 |
5 | tribe node | no | 连接到不同的es集群,并且支持将这些集群当成一个单独的集群处理 |
在生产环境中,应该设置单一的角色的节点
2.3 分片&副本
- 主分片(将数据分布部到集群内的所有节点上)
- 一个分片是一个运行的Lucene实例
- 主分片在搜索创建时指定,不允许修改
- 副本分片(主分片的拷贝)
- 分片数可以动态调整
- 增加副本数,可增加服务的可用性和数据的安全性
网友评论