新安装的ES,在新创建索引时,发现出现 Unassigned 问题,如下:
在这里插入图片描述
查询其原因,发现是es默认分片的副本数 number_of_replicas 为1,因为在本地搭建的是实验环境,只存在一个es节点,所以多复制的副本会变成 Unassigned 状态,因此我们可以手动将出现该问题的索引副本数设置为0,命令如下:

curl -XPUT 'http://localhost:9200/startest/_settings' -H 'Content-Type: application/json' -d ' 
{
    "index" : {
        "number_of_replicas" : 0
    }
} 't

执行完成后,刷新页面:
在这里插入图片描述
可以看到已恢复正常。
但是还存在一个问题,下次创建新的索引时仍然会出现该问题,而每次手动设置太过麻烦,因此我们需要直接修改模板:

curl -XPUT 'localhost:9200/_template/logstash_template' -H 'Content-Type: application/json' -d ' 
{ 
  "template" : "*",  //这里是索引名称的匹配,我想匹配所有的索引,所以设为*,大家可以根据自己的需要来设置
  "settings" : {"number_of_replicas" : 0 }
} '

设置完成后,新创建索引也不会出现 Unassigned 异常了

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐