2020-08-24

一、索引、别名、分片、副本之间的关系?文字或者图示

1、索引 & 别名 & 分片 & 副本 & 图解 & 增删索引操作

index: 索引是个虚拟空间,类型数据库中的table
       一个索引由至少1个分片组成,
       一个索引可以由主分片与副本分片组成
aliases:
       索引别名就是在索引上的又一层映射
       可以指向一个或者多个索引
         1) 在正在运行的集群上的一个索引和另一个索引之间透明切换
         2)对多个索引进行分组组个
    (如:last_three_months索引别名:是过去3个月索引logstash_201903, logstash_201904, logstash_201905的组合)
         
shard: 单台机器无法存储大量数据,es可以将一个索引中的数据切分为多
       个shard,有了shard就可以横向扩展,存储更多数据,让搜索和分析等操作
       分布到多台服务器上去执行,提示吞吐量和性能。每个shard都是一个lucene index
       
replica: 任何一个服务器随时可能故障或宕机,此时shard可能就会丢失,因此可以为
         每个shard创建多个replica副本。replica可以在shard故障时提供备用服务,保证数据
         不丢失,多个replica还可以提升搜索操作的吞吐量和性能。
# 分片数量
索引分片数量不超过节点数量
1个索引40个分片等同于40个1分片索引

# 副本数量
索引副本数量少于节点数量
副本数量可多可少

# 分片容量
分片数据容量上限不超过50GB,建议20GB-40GB

# 数据条数
单分片不超过2的32次方-1(21亿条)

image.png

2、增删索引别名

查询现有所有索引以及别名
GET /_aliases

删除与增加别名
POST / _aliases 
{
    "actions": [{
            "remove": {
                "index": "my_index_v1",
                "alias": "my_index"
            }
        },
        {
            "add": {
                "index": "my_index_v2",
                "alias": "my_index"
            }
        }    
    ]
}
# 聚合多索引别名查询 (只能查询 不能修改)
POST /_aliases
{
  "actions": [
    {
      "add": {
        "index": "my_index_1",
        "alias": "my_index_alias"
      }
    },
    {
      "add": {
        "index": "my_index_2",
        "alias": "my_index_alias"
      }
    }
  ]
}

GET /my_index_alias/_search
{
}

二、在已有的集群上创建索引,要求4个分片+3个副本+绑定别名

1)首先需要集群增加到四个节点,因为分片数不能超过节点数
2)遇到小问题 索引名字不能用大写字母,但是别名可以用大写字母
3) 集群copy问题: 如直接copy原有集群节点 ,需要删除data目录数据,有节点数据影响,以及清除log无用日志 否则会启动失败

PUT /test_static_shardandreplica
{
  "settings":{
    "number_of_shards":4,
    "number_of_replicas":5,
    "refresh_interval": "1s"
  },
  "aliases": {
    "test_SAndR": {}
  }
}

image.png

三、创建一个对象型数据模型文档

酒店基础数据

POST /test_hotelinfo/_doc/hotelId200014
{
  "hotelName":"上海吴中路酒店",
  "code":2,
  "type":"hotel",
  "locaotin":{
    "lat": 121.54545,
    "lon": 31.5454
  },
  "isDelete": 0,
  "cityInfo":{
    "cityName":"上海",
    "cityCode":"310000"
  }
}

image.png

收起↑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值