美文网首页
ElasticSearch 各模块及配置项介绍

ElasticSearch 各模块及配置项介绍

作者: lily_佳忆 | 来源:发表于2021-01-07 09:46 被阅读0次

    ES模块介绍

            ElasticSearch包含模块由集群管理Cluster分片管理Shards副本管理Replicas恢复管理Recovery数据源管理River持久化存储管理Gateway节点自动发现管理Discovery.zen交互模块Transport

    模块 说明
    Cluster                                                                     代表集群,集群中有多个节点,其中有一个为主节点,主节点是通过选举产生,主从节点是对于集群内部来说的。对集群外部来说,ES在逻辑上是个整体,与任何一个节点的通信和与整个es集群通信是等价的。
    Shards 代表索引分片,es把一个完整的索引分成多个分片,分布到不同的节点上,构成分布式搜索。分片的数量只能在索引创建前指定,并且索引创建后不能更改。
    Replicas 代表索引副本,es可以设置多个索引的副本,副本的作用一是提高系统的容错性,当个某个节点某个分片损坏或丢失时可以从副本中恢复。二是提高es的查询效率,es会自动对搜索请求进行负载均衡。
    Recovery 代表数据恢复或叫数据重新分布,es在有节点加入或退出时会根据机器的负载对索引分片进行重新分配,挂掉的节点重新启动时也会进行数据恢复。
    River 代表es的一个数据源,也是其它存储方式(如:数据库)同步数据到es的一个方法。它是以插件方式存在的一个es服务,通过读取river中的数据并把它索引到es中。
    Gateway 代表es索引的持久化存储方式,es默认是先把索引存放到内存中,当内存满了时再持久化到硬盘。当这个es集群关闭再重新启动时就会从gateway中读取索引数据。es支持多种类型的gateway,有本地文件系统(默认),分布式文件系统,Hadoop的HDFS和amazon的s3云存储服务。
    discovery.zen 代表es的自动发现节点机制,es是一个基于p2p的系统,它先通过广播寻找存在的节点,再通过多播协议来进行节点之间的通信,同时也支持点对点的交互。
    Transport 代表es内部节点或集群与客户端的交互方式,默认内部是使用tcp协议进行交互,同时它支持http协议(json格式)、thrift、servlet、memcached、zeroMQ等的传输协议(通过插件方式集成)。

    集群配置

    cluster.name确定集群名称,当elasticsearch集群在同一个网段中,elasticsearch会自动的找到具有相同cluster.name的elasticsearch服务。

    cluster.name: clustertest

    节点配置

    名称

    节点名称同理,可自动生成,也可手动配置。

    node.name: "Franz Kafka"

    主从配置

    允许一个节点是否可以成为一个master节点,es是默认集群中的第一台机器为master,如果这台机器停止就会重新选举master.

    数据节点

    node.master: true # 允许该节点存储数据(默认开启)

    node.data: true # 配置数据节点

    支持三种配置高性能集群拓扑结构的模式,如下:

    # 1. 节点从不可选举为主节点,只用来存储数据,可作为负载器 
    node.master: false 
    node.data: true 
    
    # 2. 让节点成为主节点,且不存储任何数据,并保有空闲资源,可作为协调器 
    node.master: true 
    node.data: false 
    
    # 3. 让节点既不成为主节点,又不成为数据节点,那么可将他作为搜索器,从节点中获取数据,生成搜索结果等 
    node.master: false 
    node.data: false 
    
    

    查看集群健康情况

    http://localhost:9200/_cluster/health

    http://localhost:9200/_nodes

    索引配置

    index.number_of_shards: 3 #设置索引的分片数,默认为3,创建后不可修改

    index.number_of_replicas: 2 # 设置索引的副本数,默认为2,可通过API修改

    最佳实践:如果服务器够多,可以将分片提高,尽量将数据平均分布到大集群中,增加副本数量可以有效的提高搜索性能。
    

    路径配置

    path.conf: /path/to/conf # 配置文件存储位置

    path.data: /path/to/data # 数据存储位置(单个目录设置)

    path.data: /path/to/data1,/path/to/data2 # 多个数据存储位置

    path.work: /path/to/work # 临时文件的路径

    path.logs: /path/to/logs # 日志文件的路径

    path.plugins: /path/to/plugins# 插件安装路径

    网络配置

    network.bind_host: 192.168.0.1 # 设置绑定的ip地址,可以是ipv4或ipv6的,默认为0.0.0.0

    network.publish_host: 192.168.0.1 # 设置其它节点和该节点交互的ip地址

    network.host: 192.168.0.1 #同时设置bind_host和publish_host两个参数

    transport.tcp.port: 9300 # 设置节点间交互的tcp端口,默认是9300

    transport.tcp.compress: true # 设置是否压缩tcp传输时的数据,默认为false,不压缩

    http.port: 9200# 设置对外服务的http端口,默认为9200

    http.max_content_length: 100mb # 设置请求内容的最大容量,默认100mb

    http.enabled: false# 使用http协议对外提供服务,默认为true,开启

    相关文章

      网友评论

          本文标题:ElasticSearch 各模块及配置项介绍

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