zoukankan      html  css  js  c++  java
  • 解决elasticsearch7.3版本安装过程中遇到的包括内存不够、线程不够等问题

    之前有写一篇elasticsearch7.3版本的安装步骤,但是实际在部署过程中没有那么简单,总会有各种奇奇怪怪的问题。

    所以把主要的一些问题总结出来,以便以后升级的时候,不再重复踩坑。

    问题:内存不够

    我在我工作电脑上安装的时候,没遇到这个问题,因为我工作电脑的内存是24G,比较充足。

    但是当我在开发服务器上部署的时候,就因为这个坑,吭哧吭哧的琢磨了一天。

    elasticsearch的默认配置内存需要1g,但是往往我们的一些开发服务器因为有很多应用同时在跑,往往只有不到1个g的可用内存。而加内存短时间又不现实。我们也只是想验证下elasticsearch的功能,所以测试时内存可以调小。

    网上搜了一番,好多答案是修改安装目录下bin目录下elasticsearch中的xms

    然而我修改了,降到了我可用内存的数值。然后启动,依然报内存不够。

    我接着找答案,后来发现是要改config目录下的jvm.options文件,将这里面的-Xms180m  -Xmx180m这两个改到你服务器可用的内存的数值。我测试了在linux上,最低要180m才能跑起来,因为之前我设置了120m的内存可以启动elasticsearch,但是后面我要用logstash同步数据到elasticsearch中,会因为分配的堆栈内存不够,导致同步不进去。所以我调高了,然后几次测算和实验后,180m的内存可以实现启动和同步数据。当然这个我我们开发测试时候用小内存实验的。线上生产环境部署的时候,还是应该分配多点内存,毕竟elasticsearch是内存大户。elasticsearch在搜索的时候,会将一些索引缓存到内存中,所以如果服务器内存多的话,尽可能多分配点内存,可以提高检索速度。

    不能以root账户启动

    这个看似比较好解决,elasticsearch出于安全考虑,已经不让用root账户启动了,所以我们在操作的时候,单独创建个用户就可以了。

    但是,创建完用户后,切到这个用户上启动elasticsearch时,又有新的问题了。

    主要是一些用户的线程数不够。

    修改linux线程数,vim打开 /etc/security/limits.d/90-nproc.conf

    修改后用户需要重新登录下才生效。

  • 相关阅读:
    阻止默认时间
    键盘事件
    提示框跟随鼠标移动
    世纪经典案例之万年历
    事件冒泡
    事件对象
    java 面向对象(三十八):反射(二) Class类的理解与获取Class的实例
    java 面向对象(三十九):反射(三)了解ClassLoader
    java 面向对象(四十一):反射(五)反射应用二:获取运行时类的完整结构
    java 面向对象(四十):反射(四)反射应用一:创建运行时类的对象
  • 原文地址:https://www.cnblogs.com/it100fen/p/13026919.html
Copyright © 2011-2022 走看看