Elasticsearch配置文件详解
· elasticsearch
一、基本配置
elasticsearch的config文件夹里面有两个配置文 件:elasticsearch.yml和logging.yml,第一个是es的基本配置文件,第二个是日志配置文件,es也是使用log4j来记录日志的,所以logging.yml里的设置按普通log4j配置文件来设置就行了。下面主要讲解下elasticsearch.yml这个文件中可配置的东西。
二、高级配置(线程池) 一个Elasticsearch节点会有多个线程池,但重要的是下面四个:
索引(index):主要是索引数据和删除数据 *** 作(默认是cached类型)
搜索(search):主要是获取,统计和搜索 *** 作(卖者默认是cached类型)
批量 *** 作(bulk):主要是对索引的批量 *** 作(默认是cached类型)
更新(refresh):主要是更新 *** 作(默认是cached类型) 可以通过给设置一个参数来改变线程池的类型(type),例如,把索引的线程池改成blocking类型:
min: 1
size: 30
wait_time: 30s
下面是三种可以设置的线程池的类型:
cache
cache线程池是一个无限大小的线程池,如果有很多请求的话都会创建很多线程,下面是个例子:
threadpool:
index:
type: cached
fixed
fixed线程池保持固定个数带配塌的线程来处理请求队列。
size参数设置线程的个数,默认设置是cpu核心数的5倍
queue_size可以控制待处理请求队列的大小。默认是设置为-1,意味着无限制。当一个请求到来但队列满了的时候,reject_policy参数可以控制它的行为。默认是abort,会使那个请求失败。设置成caller会使该请求在io线程中执行。
threadpool:
index:
type: fixed
size: 30
queue: 1000
reject_policy: caller
blocking
blocking线程池允许设置一个最小值蠢圆(min,默认为1)和线程池大小(size,默认为cpu核心数的5倍)。它也有一个等待队列,队列的大小(queue_size )默认是1000,当这队列满了的时候。它会根据定好的等待时间(wait_time,默认是60秒)来调用io线程,如果超时没有执行就会报错。
threadpool:
index:
type: blocking
min: 1
size: 30
wait_time: 30s
笔者在实际工作中,由于程序启动时即产生大量请求,导致队列大小溢出的情况,从而查询请求报错,可以在以下2个解决方法权衡处理:
1、增加队列长度,但随之带来的是CPU消耗高。
2、优化程序,适当控制程序的并发请求量。
三、 *** 作系统配置
1、文件句柄限制:ES在索引过程中,尤其是有很多分片和副本时,会创建若干文件。因此 *** 作系统对打开文件数量的限制不能少于32000。对于linux服务器,通过可以在/etc/security/limits.conf中进行修改,并且可以用ulimit命令来查看当前值。
2、节点内存配置:ES每个节点默认的2014M内存空间可能是不够的。如果日志文件中有out of memory error错误,则应将环境变量ES_HEAP_SIZE设为大于1024的值。注意该值应超过总可用物理内存的50%,剩余内存可用作磁盘高速缓存,可大大提高搜索性能。
ES初学中,欢迎一起学习交流!
参考:
https://blog.csdn.net/lu_wei_wei/article/details/51263153
https://blog.csdn.net/u013673976/article/details/73650889
https://blog.csdn.net/shudaqi2010/article/details/71711610
https://nickcanzoneri.com/elasticsearch-settings/
今天尝试如缺配置Redis Sentinel 来监悄中控Redis服务器,中间由于某些设想我突然想到渣运辩如果两个Redis实例互相slaveof会怎样。以下是我的试验: 两个Redis实例,redis1配置作为master,redis2配置作为slave:slaveof redis1。 启动redis1、redis2。参考方法如下:
1、for查山磨询:
for tar in *.tar.gzdo tar xvf $tardone
2、列出文件列表,然后xargs 逐一解压:
ls *.tar.gz | xargs -n1 tar xzvf
扩展资料:
tar命令参数:
-A或--catenate 新增文件到已存在的备份文件。
-b<区块数目>或--blocking-factor=<区块数目>设置每笔记录的区块数目,每个区块大小为12Bytes。
-B或--read-full-records 读取数据逗郑斗时重设区块大小。
-C<目的目丛源录>或--directory=<目的目录>切换到指定的目录。
-d或--diff或--compare 对比备份文件内和文件系统上的文件的差异。
参考资料来源: Tar (Linux系统命令)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)