Elasticsearch Head插件实践
简介
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github也都采用它做的搜索。
更多Elasticsearch的相关知识,请阅读官网《Elasticsearch: 权威指南》。

下面我们重点讲Head插件。
Elasticsearch head是一个用浏览器跟ES集群交互的插件,可以查看集群状态、集群的doc内容、执行搜索和普通的Rest请求等。GitHub地址。
1. ES 5.0+ 版本Head插件安装
ES 5.X 和之前的版本不太一样,elasticsearch-head 做为一个单独的服务,所以就没有了 plugin install,网上大部分文章也都是使用的plugin install安装方式。
1.1 安装NodeJS
使用yum安装
[root@node1 ~]# yum install -y nodejs
或者自己下载tar文件解压
wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.5.0-linux-x64.tar.gz
tar -zxvf node-v4.5.0-linux-x64.tar.gz
配置下环境变量,编辑/etc/profile添加
export NODE_HOME=/usr/local/node-v4.5.0-linux-x64
export PATH=$PATH:$NODE_HOME/bin/
export NODE_PATH=$NODE_HOME/lib/node_modules
执行 source /etc/profile
1.2 安装npm
[root@node1 ~]# npm install -g cnpm --registry=https://registry.npm.taobao.org
1.3 安装grunt
[root@node1 ~]# npm install -g grunt
[root@node1 ~]# npm install -g grunt-cli --registry=https://registry.npm.taobao.org --no-proxy
最后确认检查:
[es@node1 ~]$ node -v
v6.12.0
[es@node1 ~]$ npm -v
3.10.10
[es@node1 ~]$ grunt -version
grunt-cli v1.2.0
1.4 下载head插件源码
可以下载zip包或者使用git,这里使用git方式
[es@node1 ~]$ git clone git@github.com:mobz/elasticsearch-head.git
1.5 安装Head插件
[es@node1 ~]$ npm install
- 此处可能会报错,
npm install Err,PhantomJS not found on PATH",可尝试使用taobao镜像安装
[es@node1 elasticsearch-head-master]$ npm install -g cnpm --registry=https://registry.npm.taobao.org
2. 配置
2.1 停止ES
如果ElasticSearch已经启动,需要先停止
[es@node1 ~]$ jps
3261 Elasticsearch
3375 Jps
[es@node1 ~]$ kill 3261
2.2 配置 ElasticSearch,使得HTTP对外提供服务
[es@node1 elasticsearch-6.1.1]$ vi config/elasticsearch.yml
添加如下内容:
# 增加新的参数,这样head插件可以访问es。设置参数的时候:
http.cors.enabled: true
http.cors.allow-origin: "*"
注意:后面要有空格
2.3 修改Head plugin 配置文件
[es@node1 elasticsearch-head-master]$ vi Gruntfile.js
找到connect:server,添加hostname一项,如下
connect: {
server: {
options: {
hostname: ':*.*.*.*:',
port: 9100,
base: '.',
keepalive: true
}
}
}
3. 启动
3.1 确认es已经启动
[es@node1 elasticsearch-6.1.1]$ bin/elasticsearch -d
[es@node1 elasticsearch-6.1.1]$ jps
3451 Jps
3436 Elasticsearch
3.2 启动head
(1) 使用grunt启动
[es@node1 elasticsearch-head-master]$ grunt server
# 需要在head的目录下运行
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://:*.*.*.*:9100
(2) 使用npm启动
[es@node1 elasticsearch-head-master]$ npm run start
> elasticsearch-head@0.0.0 start /home/es/elasticsearch-head-master
> grunt server
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://:*.*.*.*:9100
4. 访问
访问地址 http://:*.*.*.*:9100/

显示集群未连接,修改地址为刚刚配置的地址:...:9200

以上内容中
*.*.*.*均为自己的ip地址
5. 安全问题(严重)
因为该插件可以对数据进行,增删改查。故生产环境尽量不要使用,如果要使用,最少要限制IP地址。尽量不要使用。
6. 小结
本文主要介绍了ElasticSearch Head的安装和配置,过程中主要遇到几个坑:
(1)PhantomJS not found on PATH 错误
拉下来head插件的源码进行npm install时会报错

错误日志往上看会看到类似日志:
PhantomJS not found on PATH
Download already available at /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
Verified checksum of previously downloaded file
Extracting tar contents (via spawned process)
实际是PhantomJS未安装成功引起,使用cnpm通过淘宝镜像安装成功。
(2)配置文件格式
Gruntfile.js和elasticsearch.yml配置文件注意格式,格式错误也会导致错误。Gruntfile.js注意,,elasticsearch.yml注意空格。
Elasticsearch Head插件实践的更多相关文章
- ElasticSearch head 插件安装
head 客户端可以很方便在上面创建索引,类型,文档,还有查询,使用它管理elasticsearch 提高效率. 在安装head 客户端之前必须安装node.js 环境,因为它是用node.js 编写 ...
- Elasticsearch.安装插件(head)
Elasticsearch.安装插件(head) 环境: Linux 7.x jdk1.8 目录结构(跟目录多了两个文件) /resources ### 存放软件源 /u01/ ...
- 监控Elasticsearch的插件【check_es_system】
监控Elasticsearch的插件推荐 强大的shell脚本 #!/bin/bash ####################################################### ...
- Elasticsearch之插件扩展
Elasticsearch之插件介绍及安装 Elasticsearch之head插件安装之后的浏览详解 Elasticsearch之kopf插件安装之后的浏览详解 Elasticsearch-2.4. ...
- ELK 学习笔记之 elasticsearch head插件安装
elasticsearch head插件安装: 准备工作: 安装nodejs和npm https://nodejs.org/en/download/ node-v6.11.2-linux-x64.ta ...
- Elasticsearch入门教程(一):Elasticsearch及插件安装
原文:Elasticsearch入门教程(一):Elasticsearch及插件安装 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...
- chrome浏览器中安装以及使用Elasticsearch head 插件
一.安装Elasticsearch head 插件 下载安装包:https://github.com/liufengji/es-head/commit/121cdcb6d1b18656461e4889 ...
- 【Elasticsearch全文搜索引擎实战】之Head插件实践
简介 Elasticsearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Ap ...
- 同步mysql数据到ElasticSearch的最佳实践
Elasticsearch是一个实时的分布式搜索和分析引擎.它可以帮助你用前所未有的速度去处理大规模数据.ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全 ...
随机推荐
- Cocos游戏引擎,让小保安成就大梦想
秦丕胜是大连的一位保安.与非常多自学成才的人一样,2010年,在考上日照职业技术学院一年后便退了学. 因为没有高学历.加上喜欢自由,他来到了大连成为了一名保安.从高中開始,秦丕胜就酷爱代码,他曾自豪地 ...
- 有关怎样入门ACM
想给大家看看 所以就弄了原创了,造成作者困扰请联系在下. 来源: 吴垠的日志 一些题外话 首先就是我为什么要写这么一篇日志.原因非常easy,就是由于前几天有个想起步做ACM人非常诚恳的问我该怎样 ...
- Express4.x API (一):application (译)
Express4.x API 译文 系列文章 Express4.x API (一):application (译) -- 完成 Express4.x API (二):request (译) -- 完成 ...
- 腾讯云开放云压测“黑科技“,产品上线从此不再“压力山大"
商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. 能否解决"高并发"问题一直是检验一个产品后台是否稳定,架构是否合理,性能是否强大的核心标准.对于产品而言,多高的并发 ...
- Solr4.10与tomcat整合并安装中文分词器
1.solr Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器.Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展,并对索引. ...
- python filter map reduce
filter(function, iterable): Construct a list from those elements of iterable for which function retu ...
- python decorator 进阶
上一篇文章开始的时候提到 “一般来说,装饰器是一个函数,接受一个函数(或者类)作为参数,返回值也是也是一个函数(或者参数)” 有一般情况,就有特殊情况.第一种特殊情况:装饰器可能也是一个类:第二种特殊 ...
- Python的下划线_
1.单下划线(_) 通常情况下,单下划线(_)会在以下3种场景中使用: 1.1 在解释器中: 在这种情况下,"_"代表交互式解释器会话中上一条执行的语句的结果.这种用法首先被标准C ...
- OC金额转大写
-(NSString *)digitUppercaseWithMoney:(NSString *)money { NSMutableString *moneyStr=[[NSMutableString ...
- 【java】HashMap、Map、Set、HashMap.put()、HashMap.keySet()、HashMap.entrySet()、Map.Entry内部类
package com.tn.hashMap; public class Student { private String id; private String name; public Studen ...