简介

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插件实践的更多相关文章

  1. 【Elasticsearch全文搜索引擎实战】之集群搭建及配置

    文中Elasticsearch版本为6.0.1 1. 环境配置 把环境配置放在第一节来讲,是因为很多人按官网的Getting Started安装运行会有各种错误.其实都是因为一些配置不正确引起的. 首 ...

  2. 【Elasticsearch全文搜索引擎实战】之Kibana搭建

    1. Kibana介绍 Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索.查看交互存储在Elasticsearch索引中的数据.使用Kibana,可以通过各种图表进行高 ...

  3. Elasticsearch全文搜索引擎-PHP使用教程。

    1.声明依赖关系:         比方说,你的项目中需要一个php版的elasticsearch框架.为了将它添加到你的项目中(下载),你所需要做的就是创建一个 composer.json 文件,其 ...

  4. ElasticSearch全文搜索引擎

    一.ElasticSearch简介 1.1 什么是ElasticSearch ElasticSearch简称ES,其中Elastic      从名字里我们可以知道,ES的特点就在于灵活的搜索,其实E ...

  5. net core 3.1使用ElasticSearch 全文搜索引擎

    ElasticSearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene 基础之上. Lucene 可以说是当下最先进.高性能.全功能的搜索引擎库,无论是开源还是私有. ...

  6. ElasticSearch全文搜索引擎(A)

    文章:[Elasticsearch] 全文搜索 (一) - 基础概念和match查询 全文检索,是从最初的字符串匹配和简单的布尔逻辑检索技术,演进到能对超大文本.语音.图像.活动影像等非结构化数据进行 ...

  7. 全文搜索引擎Elasticsearch入门实践

    全文搜索引擎Elasticsearch入门实践 感谢阮一峰的网络日志全文搜索引擎 Elasticsearch 入门教程 安装 首先需要依赖Java环境.Elasticsearch官网https://w ...

  8. 全文搜索引擎 Elasticsearch 入门:集群搭建

    本文主要介绍什么是 ElasticSearch 以及为什么需要它,如何在本机安装部署 ElasticSearch 实例,同时会演示安装 ElasticSearch 插件,以及如何在本地部署多实例集群, ...

  9. Elasticsearch Head插件实践

    简介 Elasticsearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Ap ...

随机推荐

  1. [网络流]Farm Tour(费用流

    Farm Tour 题目描述 When FJ's friends visit him on the farm, he likes to show them around. His farm compr ...

  2. Debian 使用 Samba 服务为 Windows 客户端和 Linux 客户端提供文件服务

    1 目标 1.1 主机采用 Debian,为 Windows 和 Liunx 客户端提供文件存取服务 1.2 Windows 采用 GB2312 编码,Linux 采用 UTF-8 编码,要求中文不出 ...

  3. laravel config 配置无效

    修改了配置文件config  发现逻辑代码中并无生效. 猜测缓存,所以执行下: php artisan config:cache 缓存文件默认会存在bootstrap/cache 中,并不在stora ...

  4. python入门之两种方法修改文件内容

    1.占硬盘修改 import os file_name="兼职.txt" new_file_name="%s.new".% file_name old_str= ...

  5. thinkphp 5.1 同时选中多个文件上传

    <form id="ajaxform" enctype="multipart/form-data" class="form"> ...

  6. HDMI SCDC处理过程

    SCDC       State and Control Data Channel 接收端如果有SCDC,应该在E-EDID中包含一个有效的HF-VSDB,并且把SCDC_Present位设置为1.在 ...

  7. springBoot基础

    开始之前最基础的东东here 官网:http://projects.spring.io/spring-boot/ 基础快速构建:http://start.spring.io/ 松哥的博客:http:/ ...

  8. Reading | 《Linux就该这么学》

    目录 一.前言 1.Linux概念 2.RPM(红帽软件包管理器) 3.Yum软件仓库 二.常用Linux命令 1.Shell 2.命令基本格式和man命令 3.常用系统工作命令 echo命令 dat ...

  9. 第四周Access的总结

    一.问;这节课你学到了什么知识? 答:这周我们学习了新的课程:表的建立和管理.这是Access最重要的一部份,需要我们认认真真学习!            字段是表最重要的信息,而数据类型是字段或表中 ...

  10. hdu 4022 Bombing

    Bombing Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Others)Total Sub ...