Elasticsearch-head有两种运行方式
1 作为ElasticSearch插件运行
执行命令
$ elasticsearch/bin/plugin install mobz/elasticsearch-head
然后浏览器访问http://localhost:9200/进行查看
2 作为独立的webapp运行(推荐)
2.1 安装node.js
两种方式安装
- 先安装,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
- 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 异常情况
- 连接集群,发现无论如何点击都没有反应,还需要在es上进行以下设置,开启跨域访问支持
./elasticsearch/config/elasticsearch.yml
在最后添加以下三条属性:
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-credentials: true
重启Elasticsearch服务
- 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