ElasticSearch5.3安装head插件及连接ElasticSearch

1. 安装插件head

# 去github上下载head
git clone git://github.com/mobz/elasticsearch-head.git
# 由于head基于nodejs所以安装它
yum -y install nodejs npm
npm install grunt-cli
npm install grunt
# 修改配置文件
cd elasticsearch-head
vim _site/app.js
# 修改 『http://localhost:9200』字段到本机ES端口与IP

2. 启动head

cd elasticsearch-head
npm install
npm run start

3. 如果出现head主控页面可以显示,但是显示连接失败,则按照如下办法解决

vim $ES_HOME$/config/elasticsearch.yml
# 增加如下字段
http.cors.enabled: true
http.cors.allow-origin: "*"

4. 之后重启ES和head,即可正常访问。

5.CORES是什么?

    wiki上的解释是 Cross-origin resource sharing (CORS) is a mechanism that allows restricted resources ,即跨域访问。

    这个字段默认为false,在Elasticsearch安装集群之外的一台机上用Sense、Head等监控插件访问Elasticsearch是不允许的。这个字段最早可以追溯到1.4.x版本,而非5.x特有。

体这个http.cors.x字段还有哪些用途和用法,见下表:
http.cors.enabled 是否支持跨域,默认为false
http.cors.allow-origin 当设置允许跨域,默认为*,表示支持所有域名,如果我们只是允许某些网站能访问,那么可以使用正则表达式。比如只允许本地地址。 /https?://localhost(:[0-9]+)?/
http.cors.max-age 浏览器发送一个“预检”OPTIONS请求,以确定CORS设置。最大年龄定义多久的结果应该缓存。默认为1728000(20天)
http.cors.allow-methods 允许跨域的请求方式,默认OPTIONS,HEAD,GET,POST,PUT,DELETE
http.cors.allow-headers 跨域允许设置的头信息,默认为X-Requested-With,Content-Type,Content-Length
http.cors.allow-credentials 是否返回设置的跨域Access-Control-Allow-Credentials头,如果设置为true,那么会返回给客户端。
 
 

参考文章:

http://www.cnblogs.com/zklidd/p/6433123.html?utm_source=itdadao&utm_medium=referral

http://www.bysocket.com/?p=1744

如有不对,还请大神指教。

原文地址:https://www.cnblogs.com/zhzhang/p/7390351.html