美文网首页
ElasticSearch5.x Head插件安装

ElasticSearch5.x Head插件安装

作者: 威武不能屈 | 来源:发表于2018-09-04 18:22 被阅读14次

    在5.0版本中不支持直接安装head插件,需要启动一个服务。

    由于head插件本质上还是一个nodejs的工程,因此需要安装node,使用npm来安装依赖的包。(npm可以理解为maven)

    1.安装node.js

    官网:https://nodejs.org/en/download/
    安装完成之后校验

    node –v
    npm –v
    
    图1

    2.下载head插件

    git clone https://github.com/mobz/elasticsearch-head.git
    

    3.安装grunt

    cd elasticsearch-head
    npm install -g grunt --registry=https://registry.npm.taobao.org
    

    4.安装Head插件

    npm install
    

    5.修改配置

    修改elasticsearch-head下Gruntfile.js文件,默认监听在127.0.0.1下9200端口:新增hostname

    connect: {
            server: {
                options: {
                    hostname: '0.0.0.0',
                    port: 9100,
                    base: '.',
                    keepalive: true
                }
            }
        }
    

    6.修改Elasticsearch配置

    修改elasticsearch.yml文件加入以下内容:

    # 是否支持跨域
    http.cors.enabled: true
    
    # *表示支持所有域名
    http.cors.allow-origin: "*"
    

    7.启动服务

    在head/目录下,运行启动命令grunt server

    8.访问

    浏览器访问:localhost:9100


    图2

    附:

    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,那么会返回给客户端

    相关文章

      网友评论

          本文标题:ElasticSearch5.x Head插件安装

          本文链接:https://www.haomeiwen.com/subject/tlknwftx.html