盒子
盒子
文章目录
  1. 硬件
  2. 软件

Elasticsearch生产环境部署_软硬件

本文主要考虑ES集群搭建时机器的硬件配置和软件选择,读了些老外的文章,分享下

硬件

内存 ,ES很多操作非常耗内存,推荐的最佳内存配置是64GB,32GB、16GB也是可以接受的,低于8GB可能就不太够用了,也不要大于64GB,会引起其他的内存问题。内存消耗高主要是查询需要内存,然后索引数据存储到硬盘也非常的耗内存

CPU,可选用2-8核不等的CPU,在CPU多核与CPU主频之间,尽量选择多核的CPU。这样可以使得集群更加适应并发。

硬盘 非常重要,很多系统瓶颈都在硬盘的读写速率上。建议采用SSD固态硬盘,当使用SSD时,linux系统要配置正确的I/O调度策略,命令echo noop > /sys/block/sda/queue/scheduler。如果是一般的磁盘,尽量整速度快点的把,服务器raid建议做成raid0,因为ES已经有有主从分片的机制了。

网络 网速块集群间数据交互就快咯,建议上千兆或者万兆的。我就整了一个千兆网线然后接在千兆交换机上,当然机器也是千兆网口。
最后,建议不要使用什么大型机来代替集群的方案,但是可以使用类似像亚马逊EC2那种虚拟云主机,搞一堆云主机建集群也是可取的,这个我没玩过,看别人这么说的,不知道真实效率,这方面不是很懂。

软件

这里说的软件主要是jvm,ES依赖jvm,选择的原则是最好选用最新的jvm,然后openjdk也是可行的。
这个问题又想起了心酸往事,当时搭建集群的时候,买了一批机器,然后机器中有一条内存条存在质量问题,普通的使用发现不了问题,完全正常,可是就是我大量索引数据到ES的时候就会出现jvm的报错,内存溢出之类的错误,以及伴随这个错误的一系列错误,当时拿着错误信息google各种姿势搜索,完全找不到解决方法。我当时就觉得是jvm的问题,然后各种版本安装,恨不得把所有版本安装一遍。这个问题折腾了我差不多一个多月,终于有一天,这个机器不堪凌辱,挂掉了,才发现是内存坏的。。。说多了都是泪。。。