Elasticsearch-head 插件安装

Elasticsearch-head有两种运行方式

1 作为ElasticSearch插件运行

执行命令

$ elasticsearch/bin/plugin install mobz/elasticsearch-head  

然后浏览器访问http://localhost:9200/进行查看

2 作为独立的webapp运行(推荐)

2.1 安装node.js

两种方式安装

  1. 先安装,nvm,即是Node Version Manager(Node版本管理器)
$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash  

#激活nvm
$ source ~/.nvm/nvm.sh  

激活完成后,安装node

$ nvm install node  
$ nvm use node  
  1. Node官网下载安装
    http://nodejs.cn/download/

2.2 安装grunt

grunt是基于Node.js的项目构建工具,可以进行打包压缩、测试、执行等等的工作,head插件就是通过grunt启动

$ cd ./elasticsearch/elasticsearch-head  
$ npm install -g grunt-cli  

执行后会生成node_modules文件夹,grunt -version检查是否安装成功。

2.3 安装Head插件

$ git clone git://github.com/mobz/elasticsearch-head.git  
$ cd elasticsearch-head/  
$ npm install  

修改服务器监听地址
elasticsearch-head/Gruntfile.js增加hostname属性,设置为*

connect: {  
    server: {  
        options: {  
            port: 9100,  
            hostname: '*',      # 增加属性
            base: '.',  
            keepalive: true  
        }  
    }  
}  

修改连接地址
elasticsearch-head/_site/app.js,把localhost修改成你es的服务器地址

this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";  

启动Head插件

$ grunt server 
#或 
$ npm run start 

访问 http://localhost:9100/,出现画面启动成功

3 异常情况

  1. 连接集群,发现无论如何点击都没有反应,还需要在es上进行以下设置,开启跨域访问支持
    ./elasticsearch/config/elasticsearch.yml 在最后添加以下三条属性:
http.cors.enabled: true  
http.cors.allow-origin: "*"  
http.cors.allow-credentials: true  

重启Elasticsearch服务

  1. elasticsearch安装x-pack插件之后,head插件就无法使用了,因为x-pack中加入了安全模块(security机制),这个时候需要在elasticseach.yml中再增加下面一行配置即可解决。
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type  

在每次使用head插件的时候,按照如下的格式输入,其中auth_user是es的用户名,auth_password是es的密码:
http://172.20.1.187:9100/?auth_user=elastic&auth_password=123456


你可能感兴趣的:(Elasticsearch-head 插件安装)