Elasticsearch内存溢出

那个 (Nà ge)

我正在使用Kibana时发现Elasticsearch没有运行,检查后发现出现了OutOfMemoryError。

内存溢出

“哎呀,我本来是在装有更多内存的服务器上运行的呢”,我在闹着玩而已,实际上官方文件上是写明了的。

简而言之,该意思似乎是在启动时确保正确分配堆大小并进行交换。顺便说一下,默认大小是1g。

所以通过在ES_HEAP_SIZE中指定较高的值并重新启动来恢复正常。

文件描述符

几小时后,我安心之后,现在又因为”打开的文件过多”而崩溃了。这也在之前的正式文档中有提到。

所以,我们首先执行以下调查任务。

curl localhost:9200/_nodes/process?pretty

看了一下回应,max_file_descriptors=1024。官方推荐的是32k或64k,所以这个数目有点少。

ulimit -n

唉,首先要将上限设置为1024。然后执行以下操作,然后重新启动Elasticsearch。

ulimit -n 65535

目前已得到稳定(虽然使用ulimit会在服务器重新启动后恢复原样,但这是另外处理的事情)。

顺便说一句

通过调研发现,这两个东西似乎是Elasticsearch的基本操作,使我再次认识到自己的学习不足。由于Elasticsearch不仅仅可以在Kibana中使用,还可以在其他服务中使用,因此我希望在学习运维技巧的同时,通过实际操作来积累经验。

广告
将在 10 秒后关闭
bannerAds