Elasticsearch重要配置
虽然Elasticsearch需要很少的配置,但是有一些设置需要手动配置,并且必须在进入生产之前进行配置。
path.dataandpath.logscluster.namenode.namebootstrap.memory_locknetwork.hostdiscovery.zen.ping.unicast.hostsdiscovery.zen.minimum_master_nodes
path.data and path.logs
如果您正在使用.zip或.tar.gz文件归档,data和logs 目录在 $ES_HOME 下。如果这些重要文件夹保留在默认位置,则Elasticsearch升级到新版本时,很有可能被删除。
在生产中使用,肯定要更改数据和日志文件夹的位置:
path:
logs: /var/log/elasticsearch
data: /var/data/elasticsearch
RPM和Debian的安装包已经使用了自定义的data和logs路径。
path.data 选项可以同时指定多个路径,所有的路径都会被用来存储数据(但所有属于同一个分片的文件,都会全部保存到同一个数据路径)
path:
data:
- /mnt/elasticsearch_1
- /mnt/elasticsearch_2
- /mnt/elasticsearch_3
cluster.name
某个节点只有和集群下的其他节点共享它的 cluster.name 才能加入一个集群。默认是elasticsearch,但是应该修改为更恰当的,用于描述集群目的的名称。
cluster.name: logging-prod
一定要确保不要在不同的环境中使用相同的集群名称。否则,节点可能会加入错误的集群中。
cluster.name
默认情况下,Elasticsearch 将使用随机生成的uuid的前7个字符作为节点id,请注意,节点ID是持久化的,并且在节点重新启动时不会更改,因此默认节点名称也不会更改。
推荐为节点配置更有意义的名称。
node.name: prod-data-
也可以使用服务器的 HOSTNAME 作为节点的名称。
node.name: ${HOSTNAME}
bootstrap.memory_lock
由于当jvm开始swapping时es的效率会降低,所以要保证它不swap,这对节点健康极其重要。实现这一目标的一种方法是将 bootstrap.memory_lock 设置为true。
要使此设置有效,首先需要配置其他系统设置。有关如何正确设置内存锁定的更多详细信息,请参阅启用bootstrap.memory_lock。
network.host
默认情况下,Elasticsearch 仅仅绑定回环地址,比如127.0.0.1 和[::1] 。这足以在服务器上运行单个开发节点。
事实上,一台机器上可以启动多个节点。这可对于测试Elasticsearch集群的能力很有用,但不推荐用于生产。
为了与其他服务器上的节点进行通信并形成集群,你的节点将需要绑定到非环回地址。虽然这里有很多网络相关的配置,但通常只需要配置一下 network.host
network.host: 192.168.1.10
network.host 设置一些特殊值也是可以的,比如 _local_, _site_, _global_ ,ip4,ip6。更多详情请参考 “Special values for network.host”.
一旦自定义设置了 network.host ,Elasticsearch 会假定你正在从开发模式转移到生产模式,并将许多系统启动检查从警告升级到异常。有关详细信息,请参阅“Development mode vs production mode”。
discovery.zen.ping.unicast.hosts
开箱即用,没有任何网络配置情况下,Elasticsearch将绑定到可用的回环地址,并会扫描端口9300至9305以尝试连接到同一服务器上运行的其他节点。这提供了一个自动集群体验,而无需执行任何配置。
如果想和其他服务器的节点形成一个集群,你必须提供集群中其它节点的列表。可以通过以下方式指定:
discovery.zen.ping.unicast.hosts:
- 192.168.1.10:
- 192.168.1.11
- seeds.mydomain.com
如果没有指定端口,将默认为 transport.profiles.default.port 并回退 transport.tcp.port 。
如果输入的是主机名,被解析成多个地址,将会尝试连接所有地址。
discovery.zen.minimum_master_nodes
为了防止数据丢失, discovery.zen.minimum_master_nodes 配置至关重要, 以便每个候选主节点知道为了形成集群而必须可见的最少数量的候选主节点。
没有这种设置,遇到网络故障的群集有可能将群集分成两个独立的群集(脑裂), 这将导致数据丢失。更详细的解释在“Avoiding split brain with minimum_master_nodes ” 中提供。
为了避免脑裂,候选主节点的数量应该设置为:
(master_eligible_nodes / ) +
换句话说,如果现在有3个节点,最小候选主节点数应该是(3/2)+1=2:
discovery.zen.minimum_master_nodes:
参考文档
https://github.com/13428282016/elasticsearch-CN/wiki/es-setup--elasticsearch
Elasticsearch重要配置的更多相关文章
- elasticsearch 基本配置
基本配置elasticsearch的config文件夹里面有两个配置文件:elasticsearch.yml .logging.yml.jvm.options 第一个是es的基本配置文件,第二个是日志 ...
- 【ElasticSearch】:elasticsearch.yml配置
ElasticSearch5的elasticsearch.yml配置 注意 elasticsearch.yml中的配置,冒号和后面配置值之间有空格 cluster.name: my-applicati ...
- Elasticsearch 基础理论 & 配置调优
一.简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为 ...
- ElasticSearch 安装配置
1. Elasticsearch5.5.2安装 1.1.Elasticsearch安装步骤 #安装之前需安装java 环境,并配置JAVA_HOME环境变量 #直接下载Elasticsearch- ...
- Elasticsearch 安装配置 外网访问 及 后台启动
本文转自http://www.jianshu.com/p/658961f707d8 作者:咪博士 感谢咪博士分享 Elasticsearch的安装总体来说还是相当简单的,当然中间也会有些小坑.不过大家 ...
- ELK 学习笔记之 elasticsearch elasticsearch.yml配置概述
elasticsearch.yml配置概述: 设置集群名字 cluster.name 定义节点名称 node.name 节点作为master,但是不负责存储数据,只是协调. node.master: ...
- Elasticsearch 内存配置应用案例
Elasticsearch 内存配置 有三个可选项: 你主要做全文检索吗?考虑给 Elasticsearch 4 - 32 GB 的内存, 让 Lucene 通过操作系统文件缓存来利用余下的内存.那些 ...
- 【ElasticSearch】给ElasticSearch数据库配置慢查询日志
给ElasticSearch引擎配置慢查询日志,可以实时监控搜索过慢的日志.虽然ElasticSearch以快速搜索而出名,但随着数据量的进一步增大或是服务器的一些性能问题,会有可能出现慢查询的情况. ...
- Elasticsearch的配置学习笔记
文/朱季谦 Elasticsearch是一个基于Lucene的搜索服务器.它提供一个分布式多用户能力的全文搜索引擎,基于RESTful web接口,Elasticsearch是用Java语言开发的. ...
- ElasticSearch已经配置好ik分词和mmseg分词(转)
ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进行数据索引 ...
随机推荐
- 【渗透测试】PHPCMS9.6.0 任意文件上传漏洞+修复方案
这个漏洞是某司的一位前辈发出来的,这里只是复现一下而已. 原文地址:https://www.t00ls.net/thread-39226-1-1.html 首先我们本地搭建一个phpcms9.6.0的 ...
- 通过bootloader向内核传输启动参数
作者:Younger Liu,本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可. Linux提供了一种通过bootloader向其传输启动参数的功能,内核开发者 ...
- 界面底部Tab实现
现在基本上大部分的手机APP都要实现底部Tab,底部实现Tab的实现方式有很多种,那么有没有好的实现方式呢? 今天我将使用一个开源插件来实现底部Tab 参考自zhangli_的博客:http://bl ...
- 安装Vmware 以及 Vmware 中安装Ubuntu 以及其中问题?
在vmware中安装ubuntu 过程中 安装窗口太小,无法继续下一步? 按住alt键,用鼠标拖动linux的安装窗体,向上移动就能看到下面的确定按钮. 如何安装Vmware-tools? 1.VM菜 ...
- 在 ubuntu 下优雅的使用 Sublime Text 3 写 Python
此文章非技术文,就是一些对于 Sublime 俺之前经常用的 方法(快捷键 )和 工具 有一些工具俺也用过,但是效果不太好,可以说跟shi 一样,可能每个人的用处不一样,咱就不提了,免得招 来口舌之争 ...
- easyui datebox定位到某一个日期, easyui datebox直接定位到具体的日期, easyui datebox MoveTo方法使用
easyui datebox定位到某一个日期, easyui datebox直接定位到具体的日期, easyui datebox MoveTo方法使用 >>>>>> ...
- Echarts环形进度使用 【1 简单的使用示例】
使用中说明几点属性: hoverAnimation:false,//此处查了好久属性//控制鼠标放置在环上时候的交互//这里一个简单的示例使用Echarts 环形图使用方式//常用于统计完成进度等等 ...
- [笔记]A*寻路算法初探
写在开始之前 最近突然对各路游戏的寻路算法很感兴趣,于是去学习了下游戏里的AI们是如何寻路的.网上相关内容很多,但同时有些说法也不一,制作自己的A* 算法时也有因不同的说法而困惑.整理多方资料并自己实 ...
- JAVA中事物以及连接池
一.事物 什么是事物? 事务,一般是指要做的或所做的事情.在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元.这些单元要么全都成功,要么全都不成功. 做一件事情,这个一件事情中有多个 ...
- mac下使用命令行打包出现bash gradle command not found的解决方案
命令行打包的时候出现 bash gradle command not found这个问题,主要是因为gradle环境丢失.需要重新配置gradle的环境变量. 1. gradle路径的查找 然后gra ...