Elasticsearch(3台master和3台data)配置文件详解

Elasticsearch(3台master和3台data)配置文件详解,第1张

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系统命令)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12292758.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存