Elasticsearch5 install head plugin detail

来源:互联网 发布:java定时器配置 编辑:程序博客网 时间:2024/06/13 17:12

引言:elasticsearch-head是一个用于管理Elasticsearch的web前端插件。该插件在es5之前用命令/bin/plugin install mobz/elasticsearch-head 但在es5中可以以独立服务的形式进行安装使用。本文将介绍如何操作。


Step1, 安装nodejs和npm
 
1
yum -y install nodejs npm

Step2, 下载源码并安装
1
2
3
git clone https://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head/
npm install

此处有坑:

注:如果出现下面问题: 
npm WARN elasticsearch-head@0.0.0 license should be a valid SPDX license expression 
原因:spdx license,开源软件或者其他合作类软件的一个使用声明,查看官网https://spdx.org/licenses/,“License Text”里的内容 
解决问题:打开elasticsearch-head目录下的package.json文件,找到license位置,修改为上面这个网站上存在Identifier 
Apache内容修改为Apache-2.0

Step3,es配置修改&elasticsearch-head插件源码修改

① 修改elasticsearch.yml,增加跨域的配置(需要重启es才能生效)
1
2
http.cors.enabled: true
http.cors.allow-origin: "*"
 
② 编辑head/Gruntfile.js,修改服务器监听地址,增加hostname属性,将其值设置为*。
以下两种配置都是OK的
# Type1
1
2
3
4
5
6
7
8
9
10
connect: {
        hostname'*',
        server: {
                options: {
                        port: 9100,
                        base: '.',
                        keepalive: true
                }
        }
}

  

# Type 2
1
2
3
4
5
6
7
8
9
10
connect: {
        server: {
                options: {
                        hostname'*',
                        port: 9100,
                        base: '.',
                        keepalive: true
                }
        }
}

   

③ 编辑head/_site/app.js,修改head连接es的地址,将localhost修改为es的IP地址

# 原配置
1
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";
# 将localhost修改为ES的IP地址
1
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://YOUR-ES-IP:9200";

 

Step4,启动elasticsearch-head
1
cd elasticsearch-head/ && ./node_modules/grunt/bin/grunt server
注意:
① 此时elasticsearch-head为前台启动,如果终端退出,那么elasticsearch-head服务也会随之关闭。
② 在非elasticsearch-head目录中启动server会失败!因为grunt需要读取目录下的Gruntfile.js。
 
So,你需要将之放到后台进行运行,nohup,&,screen等各种方法请各位随意选择~
ps:我会用screen来做类似的操作~




原创粉丝点击