在es根目录下有一个config目录,在此目录下有两个文件分别是elasticsearch.yml和logging.yml。

logging.yml是日志文件,es也是使用log4j来记录日志的,我在此文件中配置日志级别。

elasticsearch.yml是es的基本配置文件es的参数都在这个文件中,我们这里结合此文件来介绍es的核心概念和参数。

1:集群

node.master: true表示此节点有资格竞争成为主节点。

cluster.name: elasticsearch表示es集群的名称可以自行更改

discovery.zen.ping.multicast.enabled: false 集群的自动发现机制,false不启动

discovery.zen.ping.unicast.hosts: ["host1","host2:port"] 告诉从节点主节点的位置,默认是9300端口。

Es集群由多个节点组成,其中一个为主节点其他为从节点。从节点通过竞争来确定哪个是主节点,一般在集群中第一个启动的符合条件的就是主节点。主节点负责管理集群状态包括管理分片和副本的状态以及节点的增加和删除。

Es集群具有去中心化的概念,我们可以访问集群中的任何一个节点来操作整个集群,不管它是主节点还是从节点只要安装了相关插件就行。

同一个网段内的es节点会自动互相感知自动组成集群。

自动发现机制

Es是基于P2P的系统,当集群启动后会先通过广播寻找存在的节点,再通过多播协议进行节点间的通信进而自动组建es集群,同时也支持节点之间的通信。

同一网段内节点组建集群,首先启动自动发现机制另外节点的集群名称要一致

discovery.zen.ping.multicast.enabled: true

cluster.name: elasticsearch

如果不同网段的节点要组建集群首先各个节点禁用自动发现机制然后给从节点指定主节点的位置,默认是9300端口。

discovery.zen.ping.multicast.enabled: false

discovery.zen.ping.unicast.hosts: ["host1","host2:port"]

查看集群状态

浏览器:http://192.168.79.131:9200/_cluster/health?pretty

{

"cluster_name" :"shb01",

"status" :"green",

"timed_out" :false,

"number_of_nodes": 1,

"number_of_data_nodes" : 1,

"active_primary_shards" : 0,

"active_shards" :0,

"relocating_shards" : 0,

"initializing_shards" : 0,

"unassigned_shards" : 0

}

2:shards分片

index.number_of_shards: 5 分片数

Es中索引库会被拆分成多个分片,各个分片会存储在不同的节点上以提高集群的存储能力从而构成分布式的存储和分布式的查询。

通过index.number_of_shards参数指定分片数默认是5,分片数一旦指定集群启动后不能动态的修改。

3:replicas副本

index.number_of_replicas:1副本数,默认为1

当某个节点宕机或被删除后可以通过副本进行恢复,另外也可以提高查询效率分流查询实现负载均衡。分片和其副本不会被存储与同一个节点上,如果只有一个节点则没有副本。

4:持久化方式

gateway.type:local

索引的持久化方式默认是local本地方式,也可以存放在hdfs中。

/usr/local/elasticsearch-1.4.4/data/elasticsearch/nodes/0/indices/shb01/0

第一个0表示集群中的节点编号,最后一个0表示分片。我的节点上一共有0到4,共5个分片。

5:transport

交互方式,es集群与客户端使用tcp协议交互同时也支持http协议

transport.tcp.port: 9300   节点之间通信使用此端口

http.port: 9200    http请求使用9200端口

我们在启动es时可以看到es在监控这两个节点

6:recovery

数据恢复与重新分布,当有节点加入或退出时es会根据机器的负载对索引分片进行重新分配,挂了的节点在重启后也会进行恢复。

7:其他参数

node.data: true 为true表示此节点可以用来存储数据。默认true

http.enabled: false 默认不禁用http访问

http.max_content_length: 100mb 限制_bulk批处理的最大数据量。

bootstrap.mlockall: true  禁用内存交互

Elasticsearch笔记四之配置参数与核心概念的更多相关文章

  1. Jmeter学习笔记(四)配置元件之计数器

    在接口测试中,有时候需要重复跑一个接口,里面的某个参数的值不能每次都一样,这个时候我们可以使用计数器来实现,名称+计数器. 1.线程组->添加->配置元件->计数器 2.添加效果如下 ...

  2. CLR via C#深解笔记四 - 方法、参数、属性

    实例构造器和类(引用类型) 构造器(constructor)是允许将类型的实例初始化为良好状态的一种特殊方法.构造器方法在“方法定义元数据表”中始终叫.ctor. 创建一个引用类型的实例时: #1, ...

  3. nodejs学习笔记<四>处理请求参数

    在web开发中处理请求参数是个非常常见的工作:nodejs提供了了querystring用来处理请求参数. querystring常用方法有:parse,stringify. (1)parse: 解析 ...

  4. Elasticsearch之重要核心概念(cluster(集群)、shards(分配)、replicas(索引副本)、recovery(据恢复或叫数据重新分布)、gateway(es索引的持久化存储方式)、discovery.zen(es的自动发现节点机制机制)、Transport(内部节点或集群与客户端的交互方式)、settings(修改索引库默认配置)和mappings)

    Elasticsearch之重要核心概念如下: 1.cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的.es的一个概念就是 ...

  5. ElasticSearch学习笔记-01 简介、安装、配置与核心概念

    一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...

  6. windows线程池四种情形(win核心读书笔记)

    windows线程池四种情形(win核心读书笔记) Mircosoft从Windows2000引入线程池API,并在Vista后对线程池重新构架,引入新的线程池API.以下所有线程池函数均适用于Vis ...

  7. 痞子衡嵌入式:超级下载算法(RT-UFL)开发笔记(4) - 轮询Flash配置参数

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是超级下载算法开发笔记(4)之轮询Flash配置参数. 文接上篇 <超级下载算法(RT-UFL)开发笔记(3) - 统一FlexSP ...

  8. Elasticsearch学习笔记(六)核心概念和分片shard机制

    一.核心概念 1.近实时(Near Realtime NRT) (1)从写入数据到数据可以被搜索到有一个小延迟(大概1秒): (2)基于es执行搜索和分析可以达到秒级 2.集群(Cluster) 一个 ...

  9. kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置

    KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...

随机推荐

  1. Android开发学习总结(二)——使用Android Studio搭建Android集成开发环境

    有很长一段时间没有更新博客了,最近实在是太忙了,没有时间去总结,现在终于可以有时间去总结一些Android上面的东西了,很久以前写过这篇关于使用Android Studio搭建Android集成开发环 ...

  2. phantomjs 爬去动态页面

    最近有一个小需求,需要根据用户输入的某宝的店铺 url,检查地址是否存在,并抓取店铺名称.某宝店铺 url 的 title 通常是 xx-xx-xx 的形式,中间的 xx 就是对应的店铺名称. 这个需 ...

  3. <mate name="viewport">移动端设置详解

    <meta name="viewport" content="width=device-width,height=device-height,initial-sca ...

  4. java——抽象

    抽象类:特点:1,方法只有声明,没有实现时,该方法就是抽象方法,需要被abstract关键字修饰.抽象方法必须定义在抽象类中,该类也必须被abstract修饰2,抽象类不可以被实例化.为什么?因为调用 ...

  5. python3学习笔记3---引用http://python3-cookbook.readthedocs.io/zh_CN/latest/

    2018-03-01数据结构和算法(3) 1.11 命名切片 假定你有一段代码要从一个记录字符串中几个固定位置提取出特定的数据字段(比如文件或类似格式): ###### 012345678901234 ...

  6. SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)

    SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)-DML 1.SQL INSERT INTO 语句(在表中插入) INSERT INTO 语句用于向表中插入新记录. SQL I ...

  7. css中的行高line-height

    “行高”顾名思意指一行文字的高度.具体来说是指两行文字间基线之间的距离.基线实在英文字母中用到的一个概念,我们刚学英语的时使用的那个英语本子每行有四条线,其中底部第二条线就是基线,是a,c,z,x等字 ...

  8. Cocos2d-x 实战

    跨平台商业项目实战:攻城大作战游戏创意触发点:做什么样的游戏?分析当前主流的游戏:经典游戏(俄罗斯方块).大众化的游戏(卡牌游戏.休闲游戏).重口味游戏. 游戏创意:生活当中 游戏开发流程:1.策划方 ...

  9. Myeclipse+selenium2.0+Junit+TestNg环境搭建

    这周末把自动化的环境搭好了,在网上也百度了很多,现在分享下,希望大家少走一点歪路. 需要用到的安装包都在这个里面,自取: 链接:https://pan.baidu.com/s/10ohf757ztgN ...

  10. vue项目中解决type=”file“ change事件只执行一次的问题

    问题描述 在最近的项目开发中遇到了这样的一个问题,当我上传了一个文件时,我将获取到的文件名清空后,却无法再次上传相同的文件 <template> <div class="h ...