elasticsearch相关配置
来源:互联网 发布:java中printf格式化输 编辑:程序博客网 时间:2024/06/06 10:00
1.虚拟内存
在linux系统上,elasticsearch默认使用hybrid mmapfs / niofs来存储索引文件,因此操作系统主要会通过mmap来限制存储的空间,因此如果存储空间满了,那么会抛出异常,我们可以使用如下命令来更改设置
sysctl -w vm.max_map_count=
262144
当然我们还可以修改/etc/sysctl.conf配置文件修改上述参数
注意在linux下我们一般会设置swap,但是设置swap会对elasticsearch的node性能产生影响,因此建议把swap关闭.
第二种方案也可以设置sysctl.conf中vm.swappiness需要设置为1
第三种方案可以在elasticsearch.yml配置文件修改bootstrap.mlockall:true
设置完之后,我们可以使用如下命令,查看bootstrap.mlockall是否生效
curl http:
//localhost:9200/_nodes/process?pretty
2.配置elasticsearch
2.1在elasticsearch.yml中我们可以设置
path:
logs:/var/logs/elasticsearch
data:/var/data/elasticsearch
plugins:/var/data/plugins
conf:/etc/conf
因此我们可以看出我们将日志输出到/var/logs/elasticsearch,将索引数据保存在/var/data/elasticsearch目录下,插件加载的位置设置为/var/data/plugins,配置文件放置位置设置为/etc/conf。
当然我们还能直接path.logs:/var/logs/elasticsearch这样配置
2.2配置集群名称,节点名称
cluster:
name:mycluster
node:
name:mynode
上述设置了集群名称为mycluster,当前elasticsearch的节点名称为mynode
2.3设置索引存储方式
index:
store:
type:memory
在这里我们设置ile索引的存储方式是内存,其实这样设置在yml文件中不是一个很好的配置,因为配置后,会对之后我们创建的所有索引都会以memory来存储,因此最好的设置是使用http接口对指定的数据库进行配置
比如:
$ curl -XPUT http:
//localhost:9200/kimchy/ -d \
'
index :
store:
type: memory
'
也就是对数据库kimchy设置存储方式为memory。
3.配置http接口的数据操作。
3.1一般我们会通过http接口api形式对索引数据进行crud操作,这个时候我们要配置elasticsearch.yml中的http模块。
http.enabled:
true
其他相关配置参数
4.设置索引缓冲区
elasticsearch在处理索引的时候会存在一个索引缓冲buffer,我们可以为其设置需要分配的缓冲buffer内存大小,索这是一个全局设置。
indices.memory.index_buffer_size接受任何百分比或字节大小值。其默认值为10%,这意味着分配给一个节点的总存储器的10%将被用作索引的缓冲区大小。如果百分比被使用时,也能够设定min_index_buffer_size和max_index_buffer_sizemin_index_buffer_size(默认为48MB)max_index_buffer_size(默认为无界)。
indices.memory.index_buffer_size
允许设置为每分片分配给它自己的索引缓冲存储器中的下限。它默认为4MB。
indices.ttl.interval允许设置多久过期的文件会被自动删除。默认值是60s。
indices.ttl.bulk_size设置批量处理的命令大小。默认值是10000。
5.设置管理recovery的策略:
indices.recovery.concurrent_streams默认是3indices.recovery.file_chunk_size默认512kbindices.recovery.translog_ops默认1000indices.recovery.translog_size默认trueindices.recovery.compress默认512kbindices.recovery.max_bytes_per_sec默认20mbindices.recovery.max_size_per_sec0.90.1去掉,用indices.recovery.max_bytes_per_sec代替6.设置对存储进行限流:
indices.store.throttle.type可以是merge (默认), not或者allindices.store.throttle.max_bytes_per_sec默认20mb7.network设置
一个节点的多个模块都用到了网络基本配置,例如transport模块和HTTP模块。 节点级别的网络配置可以用来设置所有基于网络的模块的通用配置(除了被每个模块明确覆盖的那些配置项)。
network.bind_host用来设置绑定的ip地址, 默认绑定anyLocalAddress (0.0.0.0或者::0)。
network.publish_host配置其他节点和本节点通信的地址。 这个当然不能是anyLocalAddress, 默认是第一个非回环地址或者本机地址。
network.host设置是一个简化设置, 它自动设置network.bind_host和network.publish_host为同一个值。
两个设置都可以配置为主机ip地址或者主机名, 还可以设置为下表中列出来的值。
local
本机ip地址
_non_loopback_
第一个非loopback地址
_non_loopback:ipv4_
第一个非loopback的ipv4地址
_non_loopback:ipv6_
第一个非loopback的ipv6地址
[networkInterface]
指定网卡的IP地址. 例如 en0
[networkInterface]:ipv4
指定网卡的IPv4地址. 例如 en0:ipv4
[networkInterface]:ipv6
指定网卡的IPv6地址. 例如 en0:ipv6
_non_loopback:ipv6_
第一个非loopback的ipv6地址
8.cloud-aws
如果安装了cloud-aws
插件, 下表列出来值也是有效的设置:
9.tcp设置
任何使用TCP的组件 (比如HTTP, Transport和Memcached)共享下面的设置:
network.tcp.no_delay启用或禁用tcp no delay。 默认是true.network.tcp.keep_alive启用或禁用tcp keep alive。 默认不设置network.tcp.reuse_address地址是否应该被重用,在非windows的机器上默认是truenetwork.tcp.send_buffer_sizetcp发送缓冲区的大小。 默认不设置network.tcp.receive_buffer_sizetcp接收缓冲区的大小。 默认不设置- elasticsearch相关配置
- elasticsearch相关重要配置说明
- Elasticsearch配置
- Elasticsearch配置
- elasticsearch配置
- elasticsearch配置
- elasticsearch配置
- ElasticSearch配置
- elasticsearch配置
- ElasticSearch配置
- elasticsearch配置
- Elasticsearch相关图分享
- elasticsearch 相关知识
- ElasticSearch 相关问题汇总
- elasticsearch相关说明
- elasticsearch相关命令笔记
- ElasticSearch 索引相关操作
- 了解elasticsearch 相关JVM
- 【黑马程序员】网络编程——Java复习笔记
- linux 常用命令
- Makefile下 $(wildcard $^),$^,$@,$?,$<,$(@D),$(@F)
- 10007---Java中从控制台输入数据的几种常用方法
- POJ2407 欧拉函数
- elasticsearch相关配置
- C语言中static关键字的神奇之处
- SurfaceView的了解
- Java实现URI参数签名算法,确保应用与REST服务器之间的安全通信,防止Secret Key盗用、数据篡改等恶意攻击行为
- BestCoder Round #63 (div.1) A.sequence2
- 重新滚回来了
- 工作第二日
- 怎样通过MSG_WAITALL设置阻塞时间
- Android基础 获取屏幕的宽与高