es集群数据库~原理细节

时间:2023-02-11 17:24:14

ES原理
一 基本定义
  index(索引)
  相当于mysql中的数据库
  type(类型)
  相当于mysql中的一张表
  document(文档)
  相当于mysql中的一行(一条记录)
  field(域)
  相当于mysql中的一列(一个字段)
  分片
  将一份数据划分为多小份的能力,允许水平分割和扩展容量。多个分片可以响应请求,提高性能和吞吐量。
  副本
  复制数据,一个节点出问题时,其余节点可以顶上。
二 url请求构造
  /_search
 在所有的索引中搜索所有的类型
 /gb/_search 
 在 gb 索引中搜索所有的类型
 /gb,us/_search
 在 gb 和 us 索引中搜索所有的文档
 /g*,u*/_search
 在任何以 g 或者 u 开头的索引中搜索所有的类型
 /gb/user/_search
 在 gb 索引中搜索 user 类型
 /gb,us/user,tweet/_search
 在 gb 和 us 索引中搜索 user 和 tweet 类型
 /_all/user,tweet/_search
在所有的索引中搜索 user 和 tweet 类型
三 通过web界面插入数据
 构造put函数即可
 name put
 {
 "settings": {
 "index": {
 "number_of_shards": 5, //分片个数
 "number_of_replicas": 1 //分片的副本,1代表每个节点存一份副本
 }
 }
 }
通过这个我们可以发现,插入ES中数据需要指定分库个数和分片的副本集

四 健康检测
 1 es-cluster 右端 是健康检测 绿色为健康 黄色为故障 红色为不可用
 2 容忍节点故障为 2XN+1 N为故障节点 三个节点可以容忍1个节点故障