zoukankan      html  css  js  c++  java
  • ElasticSearch安装

      第一次在博客园写东西,原来都是写在本地...

      最近公司用到ES, 自己就去学了ES相关的知识,不得不说IT真实一门活到老学到老的职业,在看ES的时候就可以发散出一大推的知识点,这次主要记录下elk的搭建,好了废话不多说,直接进正文

    官网:https://www.elastic.co/cn/downloads/

    demo:https://gitlab.tuhu.cn/xuwenxiang/my-es-client

    项目结构

    解压之后可以看到下面这些文件夹

      • bin,存放启动ES等命令脚本
      • config,存放ES的配置文件,ES启动时会读取其中的内容
      • elasticsearch.yml,ES的集群信息、对外端口、内存锁定、数据目录、跨域访问等属性的配置
      • jvm.options,ES使用Java写的,此文件用于设置JVM相关参数,如最大堆、最小堆log4j2.properties,ES使用log4j作为其日志框架
      • data,数据存放目录(索引数据)
      • lib,ES依赖的库
      • logs,日志存放目录
      • modules,ES的各功能模块
      • plugins,ES的可扩展插件存放目录,如可以将ik中文分词插件放入此目录,ES启动时会自动加载

    属性配置

    cluster.name: xuecheng #集群名称,默认为elasticsearch
    node.name: xc_node_1 #节点名称,一个ES实例就是一个节点(通常一台机器上只部署一个ES实例)
    network.host: 0.0.0.0 #IP绑定,0.0.0.0表示所有IP都可访问到此ES实例
    http.port: 9200 #通过此端口以RESTful的形式访问ES
    transport.tcp.port: 9300 #ES集群通信使用的端口
    node.master: true #此节点是否能够作为主节点
    node.data: true #此节点是否存放数据
    discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300", "0.0.0.0:9301"] #集群其他节点的通信端口,ES启动时会发现这些节点
    discovery.zen.minimum_master_nodes: 1 #主节点数量的最少值,此值的计算公式为(master_eligible_nodes/2)+1,即可作为主节点的节点数/2+1
    node.ingest: true #此节点是否作为协调节点,当索引库具有多个分片并且各分片位于不同节点上时,如果收到查询请求的节点发现要查询的数据在另一个节点的分片上,那么作为协调节点的该节点将会转发此请求并最终响应结果数据
    bootstrap.memory_lock: false #是否锁住ES占用的内存,此项涉及到OS的swap概念,当ES空闲时操作系统可能会把ES占用的内存数据暂时保存到磁盘上,当ES活动起来时再调入内存,如果要求ES时刻保持迅速响应状态则可设置为true,那么ES的运行内存永远不会被交换到磁盘以避免交换过程带来的延时
    node.max_local_storage_nodes: 2 #本机上的最大存储节点数,多个ES实例可以共享一个数据目录,这一特性有利于我们在开发环境的一台机器上测试集群机制,但在生产环境下建议设置为1,并且官方也建议一台集群仅部署一个ES实例

    path.data: D:softwareeselasticsearch-6.2.1data #ES的数据目录
    path.logs: D:softwareeselasticsearch-6.2.1logs #ES的日志目录

    http.cors.enabled: true #是否允许跨域访问,后面通过一个可视化ES管理插件时需要通过js跨域访问此ES
    http.cors.allow-origin: /.*/ #设置所有域均可跨域访问此ES
    • 特别注意最后两个属性,ElasticSearch5之后出于安全性的加强默认不允许跨域,所以本地测试的时候会出现跨域的问题,需要加上着两个属性

    elasticsearch-head可视化插件

    git clone git://github.com/mobz/elasticsearch-head.git
    cd elasticsearch-head
    npm install
    npm run start

    这里注意一个问题,上述es的属性配置中要加上允许跨域

  • 相关阅读:
    HDU 5334 Virtual Participation(2015多校第四场)
    HDU 1754 I Hate It(线段树+单点更新)
    HDU 5308 I Wanna Become A 24-Point Master(2015多校第二场)
    linux下socket调试
    linux驱动之hello_world源码与编译
    那些年优秀的HTML5活动页面
    近期Responsive web design项目经验分享-高分辨率图片处理篇
    近期Responsive web design项目经验分享
    var foo= {} ;foo.method() 和 单例模式有什么区别
    Web程序设计
  • 原文地址:https://www.cnblogs.com/xwx20160804/p/11714534.html
Copyright © 2011-2022 走看看