elasticsearch学习总结——配置篇
2014-06-26 17:11
260 查看
环境变量
最重要的参数是 -Xmx 来控制进程的最大内存 和 -Xms 控制最小内存。一般来说,分配的内存越大越好。ES_HEAP_SIZE用来设置堆内存的大小,通常设置最小值为256m,最大值为1gb。
通常推荐将内存最小值和最大值设置为相同值,并将mlockall置为true。
系统配置
文件描述符
通常建议将进程的最大打开文件数设置为32k或者64k。将-Des.max-open-files置为true,将会在进程启动时输出能够打开的最大文件数;或者,通过命令检索max_file_descriptors :curl localhost:9200/_nodes/process?pretty。内存设置
可以使用参数mlockall来锁定进程地址空间,以防止内存交换。所以,需要将bootstrap.mlockall置为true,并推荐将内存分配的最大值和最小值设为相同值(仅在Unix/Linux操作系统上才有效)。为了检测其是否有效,可以将common.jna记录到DEBUG级别。此外,可以通过设置ulimit -l unlimited 来解决“Unknown mlockall error 0"问题。注意:如果没有足够的内存分配给机器,可能会导致JVM和shell 会话退出。
elasticsearch设置
elasticsearch的配置文件通常放在ES_HOME/config文件夹下,该文件夹下,有两个文件:elasticsearch.yml用来配置模块信息,而logging.yml用来配置日志信息。配置文件的内部书写格式是YAML。
通常需要修改的参数如下:
路径
path:logs: /var/log/elasticsearch
data: /var/data/elasticsearch
集群名(用于自动发现和探测)
cluster:name: <NAME OF YOUR CLUSTER>
节点名
node:name: <NAME OF YOUR NODE>
配置文件格式
配置文件的书写格式可以使用JSON或者其他格式。此外,使用es.default. 也可以设置默认值,如果该参数没有在配置文件中定义,就使用该默认值。${...}用来使用环境变量。也可以通过外部命令来设置配置文件,例如 elasticsearch -f -Des.config=/path/to/config/file
索引设置
在集群中创建索引能够提供自己的设置。例如,如下命令创建了一个基于内存存储而不是默认的基于文件系统的存储。curl -XPUT http://localhost:9200/kimchy -d \
'
index :
store :
type : memory
'
索引的设置能够进行灵活的设置。这就意味着,在具体的每个节点上创建的索引,都将会默认使用上述配置,即将索引存储在内存中,除非该索引明确的设置了该项。换句话说,任何索引级配置都将覆盖节点级配置。
日志
elasticsearch使用log4j来进行内部的日志抽象。它试图利用YAML来进行配置以便简化log4j的配置,相应的配置文件是config/logging.yml。相关文章推荐
- elasticsearch学习总结(一) 配置安装过程
- Linux配置汇总上(北大青鸟Linux课程学习总结)
- iBatis2学习笔记:SqlMap的配置总结(18条)
- Log4net的配置学习与总结
- MyBatis学习总结一 —— MyBatis的使用步骤及配置
- 工作流Activiti的学习总结(四)Spring和Activiti的整合配置讲解
- 学习ejb并配置一个简单的helloEjb是遇到问题后总结的经验。
- WCF 学习总结2 -- 配置WCF
- 【转】TQ2440的学习——TFT LCD控制显示总结(硬件概念、初始化相关配置)
- Ant学习总结之一:安装和配置
- Hive学习总结报告之一:配置及基本原理
- jsf学习总结(web.xml,content.xml,faces-config.xml等相关配置)
- NHibernate学习总结:(一)NHibernate的使用和配置
- NHibernate学习总结:(一)NHibernate的使用和配置
- spring事务配置的学习总结
- aps.net2.0配置学习笔记总结1
- VMWare下进行Embedded Linux配置流程——个人学习总结!
- wss4j+xfire+spring 学习总结三(密钥生成和配置)
- 黑马程序员_学习笔记8用类加载器的方式管理资源和配置文件及类加载器的总结
- 黑马程序员-----学习日记<1>------环境配置总结