windows下Elasticsearch-head插件的安装

windows下Elasticsearch-head插件的安装

      在学习Elasticsearch的过程中,必不可少需要通过一些工具查看es的运行状态以及数据。如果都是通过rest请求,未免太过麻烦,而且也不够人性化。此时,head可以完美的帮助我们快速学习Elasticsearch。

      es5以上版本安装head需要安装node和grunt(之前的直接用plugin命令即可安装),我这里安装的es6.0.0。

     一、安装

      1、安装Node.js

      Node.js下载地址:https://nodejs.org/en/download/,下载相应系统的msi,双击安装。我这里是安装在D: odejs下的

 

      安装完成后用cmd进入安装目录,执行 node -v可查看版本号

      2、安装grunt

     进入nodejs目录下,执行命令:npm install -g grunt-cli,将grunt安装为全局命令

     安装完成后执行grunt -version查看是否安装成功,会显示安装的版本号

     3、安装head

     1)在https://github.com/mobz/elasticsearch-head中下载head插件,选择下载zip,解压到指定文件夹

 

     2)进入该文件夹,修改Gruntfile.js 在对应的位置加上hostname:'*'

 

      4、执行npm install

      在D:elasticsearch-6.0.0elasticsearch-head-master下执行npm install

      注意:

      1)国外镜像会很慢,可用 get命令查看registry,原版结果为:http://registry.npmjs.org

           npm config get registry

      2)用set命令换成阿里的镜像就可以了 npm config set registry https://registry.npm.taobao.org

      3)再执行命令 npm install

           或者直接执行npm install --registry=https://registry.npm.taobao.org

      安装完成后执行grunt server 或者npm run start 运行head插件,如果不成功重新安装grunt

      二、权限设定

      如果想查询集群健康信息,那么需要在elasticsearch配置文件中授权

 

编辑elasticsearch.yml

http.cors.enabled: true       # elasticsearch中启用CORS

http.cors.allow-origin: "*"     # 允许访问的IP地址段,*为所有IP都可以访问

5、启动服务

如下图

 

 6、可能出现的问题

如果出现以下问题:

>> Local Npm module "grunt-contrib-clean" not found. Is it installed?

>> Local Npm module "grunt-contrib-concat" not found. Is it installed?

>> Local Npm module "grunt-contrib-watch" not found. Is it installed?

>> Local Npm module "grunt-contrib-connect" not found. Is it installed?

>> Local Npm module "grunt-contrib-copy" not found. Is it installed?

>> Local Npm module "grunt-contrib-jasmine" not found. Is it installed?

Warning: Task "connect:server" not found. Use --force to continue.

对应安装以下包:

npm install grunt-contrib-clean --registry=https://registry.npm.taobao.org

npm install grunt-contrib-concat --registry=https://registry.npm.taobao.org

npm install grunt-contrib-watch --registry=https://registry.npm.taobao.org

npm install grunt-contrib-connect --registry=https://registry.npm.taobao.org

npm install grunt-contrib-copy --registry=https://registry.npm.taobao.org

npm install grunt-contrib-jasmine --registry=https://registry.npm.taobao.org

三、测试

浏览器下访问:http://localhost:9100

 

1)可以看到上图中的集群健康值:yellow

通过查询资料,我们了解到head插件会以不同的颜色显示。 

1)绿色——最健康的状态,代表所有的主分片和副本分片都可用;
2)黄色——所有的主分片可用,但是部分副本分片不可用;
3)红色——部分主分片不可用。(此时执行查询部分数据仍然可以查到,遇到这种情况,还是赶快解决比较好)

说明:实际上,单节点无论有多少个副本分片(number_of_replicas 的设置)都是 unassigned —— 它们都没有被分配到任何节点。

在同一个节点上既保存原始数据又保存副本是没有意义的,因为一旦失去了那个节点,我们也将丢失该节点上的所有副本数据。
Elasticsearch采用默认配置(5分片,1副本),但实际只部署了单节点集群。由于只有一个节点,因此群集无法放置副本,因此处于黄色状态。

2)查找问题原因

GET _cluster/health?pretty   #查看集群状态的各个指标 重点关注unsigned_shards这个指标

GET _cat/indices?v               #查看ES中的所有索引 ?v的意思就是给显示结果顶部带上标题

3) 解决方法:

# 重新设置索引分片信息

PUT /索引名/_settings
{
"number_of_replicas": 0
}

此时,再重新访问localhost:9100

参考链接:https://www.cnblogs.com/yszr/p/10278059.html

原文地址:https://www.cnblogs.com/hld123/p/13219657.html