Elasticsearch笔记四之配置参数与核心概念
在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笔记四之配置参数与核心概念的更多相关文章
- Jmeter学习笔记(四)配置元件之计数器
在接口测试中,有时候需要重复跑一个接口,里面的某个参数的值不能每次都一样,这个时候我们可以使用计数器来实现,名称+计数器. 1.线程组->添加->配置元件->计数器 2.添加效果如下 ...
- CLR via C#深解笔记四 - 方法、参数、属性
实例构造器和类(引用类型) 构造器(constructor)是允许将类型的实例初始化为良好状态的一种特殊方法.构造器方法在“方法定义元数据表”中始终叫.ctor. 创建一个引用类型的实例时: #1, ...
- nodejs学习笔记<四>处理请求参数
在web开发中处理请求参数是个非常常见的工作:nodejs提供了了querystring用来处理请求参数. querystring常用方法有:parse,stringify. (1)parse: 解析 ...
- Elasticsearch之重要核心概念(cluster(集群)、shards(分配)、replicas(索引副本)、recovery(据恢复或叫数据重新分布)、gateway(es索引的持久化存储方式)、discovery.zen(es的自动发现节点机制机制)、Transport(内部节点或集群与客户端的交互方式)、settings(修改索引库默认配置)和mappings)
Elasticsearch之重要核心概念如下: 1.cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的.es的一个概念就是 ...
- ElasticSearch学习笔记-01 简介、安装、配置与核心概念
一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...
- windows线程池四种情形(win核心读书笔记)
windows线程池四种情形(win核心读书笔记) Mircosoft从Windows2000引入线程池API,并在Vista后对线程池重新构架,引入新的线程池API.以下所有线程池函数均适用于Vis ...
- 痞子衡嵌入式:超级下载算法(RT-UFL)开发笔记(4) - 轮询Flash配置参数
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是超级下载算法开发笔记(4)之轮询Flash配置参数. 文接上篇 <超级下载算法(RT-UFL)开发笔记(3) - 统一FlexSP ...
- Elasticsearch学习笔记(六)核心概念和分片shard机制
一.核心概念 1.近实时(Near Realtime NRT) (1)从写入数据到数据可以被搜索到有一个小延迟(大概1秒): (2)基于es执行搜索和分析可以达到秒级 2.集群(Cluster) 一个 ...
- kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置
KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...
随机推荐
- javascript语言扩展:可迭代对象(1)
在ECMAScript中我们知道可以通过for in语句进行对象属性的遍历,当然这些属性不包括继承而来的属性: var ary = [1,2,3,"aa",4]; for(i in ...
- rails应用ajax之二:使用rails自身支持
考虑另一种情况: 1. 页面上半部分显示当前的所有用户,页面下半部分是输入新用户的界面: 2. 每当输入新用户时,页面上半部分会动态更新新加用户的内容: 我们还是用ajax实现,不过这次用rails内 ...
- Cookie、sessionStorage、localStorage的区别
共同点:都是保存在浏览器端,且同源的.区别:cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递.而sessionStorage和localStora ...
- SPRING事务的属性有哪些?其中,事务隔离级别有哪几种?什么情况需要使用这几种事务隔离级别?
Spring 声明式事务,propagation属性列表 PROPAGATION_REQUIRED:支持当前事务,如果当前没有事务,就新建一个事务.这是最常见的选择. PROPAGATION_SU ...
- 通向从容之道——Getting things done读书笔记
一.主要的两个目的: 1. 抓住所有一切需要处理的事情: 2. 训练自己在接受一切"输入信息"的前期作出决定. 二.目前的问题: ...
- 关于mysql保存数据的时候报问题分析 普通的字符串或者表情都是占位3个字节,所以utf8足够用了,但是移动端的表情符号占位是4个字节,普通的utf8就不够用了,为了应对无线互联网的机遇和挑战、避免 emoji 表情符号带来的问题、涉及无线相关的 MySQL 数据库建议都提前采用 utstring value:'\xF0\x9F\x98\x82\xF0\x9F...' for ...
问题分析 普通的字符串或者表情都是占位3个字节,所以utf8足够用了,但是移动端的表情符号占位是4个字节,普通的utf8就不够用了,为了应对无线互联网的机遇和挑战.避免 emoji 表情符号带来的问题 ...
- C语言编对双精度数保留一位小数
/*第一题*/ #include<stdio.h> //输入1.2345 输出1.2000 //输入1.2547 输出1.3000 main(){ ; printf("请输入:\ ...
- Hbase出现ERROR: Can't get master address from ZooKeeper; znode data == null解决办法
问题描述如下: hbase(main)::> list TABLE ERROR: Can't get master address from ZooKeeper; znode data == n ...
- 拾人牙慧篇之———QQ微信的第三方登录实现
一.写在前面 关于qq微信登录的原理之流我就不一一赘述了,对应的官网都有,在这里主要是展示我是怎么实现出来的,看了好几个博客,有的是直接复制官网的,有的不知道为什么实现不了.我只能保证我的这个是我实现 ...
- python笔记:#003#PyCharm 的初始设置
PyCharm 的初始设置(知道) 目标 恢复 PyCharm 的初始设置 第一次启动 PyCharm 新建一个 Python 项目 设置 PyCharm 的字体显示 PyCharm 的升级以及其他 ...