关于elastic search5.4.3安装过程中遇到的那些坑

  最近项目用到了es,于是需要装一下,首先在windows上装了一下,很简单,这里就不说了,之后在Linux上装,没想到遇到一堆坑,这里总结一下暂时遇到的问题以及解决办法,方便再次装如果遇到问题就可以直接拿过来用了。

  1.下载相应的压缩包后解压,在bin目录启动elastic search,如果是在root用户下,会报下面这个错,意思就是说,在elastic search5.x版本中为了考虑安全,是不能在root用户下启动,在es的2.x版本貌似是可以的,那么解决办法就很简单,创建一个普通用户,在普通用户下启动即可,具体命令见下依次执行即可,第一行是创建一个es用户组,第二行是创建一个用户es,为它指定用户组为es,其中第一个参数代表组名,第二个参数代表用户名,之后切换到这个用户es即可
  

groupadd es;
useradd -g es es;

   这里写图片描述

  2.此时切换到es下再次执行elastic search,又会报下面这个错,这是因为这个文件的所属权并没有属于es,那么执行下面这个命令,将文件的权限更改为es用户组下的es用户即可
  这里写图片描述
  

这里写图片描述

  3.解决掉上面这个问题,再次执行,发现又出现了新的错误,具体见下图,这个图是说明分配内存不足,那么就改配置文件,修改下默认分配内存大小即可
  这里写图片描述

  进入解压缩目录的config下面修改jvm.options文件,添加下面两行保存即可解决该问题,当然还有一种解决办法,由于是在虚拟机上安装的,你可以分配给虚拟机足够大的内存,但是这样会影响本地的性能,所以不推荐
  

-Xms512m
-Xmx512m

  4.解决完这个问题后你是不是以为就结束了,too young too simple to native 啊骚年,再次执行你会发现出现下面这个错误 ,一个4096,一个65530既然人家都说了too low了,那么就咱就给他调high就行了
  这里写图片描述

  关于4096这个错误,进入root用户,之后修改下面这个文件,添加以下内容,之后保存退出

vi /etc/security/limits.conf 

这里写图片描述

  关于65530这个错误,切换到root用户修改下面这个文件添加内容见下图,之后保存退出,执行sysctl -p加载系统配置参数。最后切换到之前创建的es用户,再次执行,问题解决
  

vi /etc/sysctl.conf 

这里写图片描述

  5.好吧,经历了上面这一系列问题后再次执行es,出现下面这个表示成功,之后在本地访问一下虚拟机的9200端口看一下是否能显示,如果能显示下面这个内容表明启动成功
  这里写图片描述

  这里写图片描述  

  6.对了再补充一下,在本地访问虚拟机的这个9200端口要修改elasticsearch.yml文件,指定相应的虚拟机ip地址即可,ok,这篇到此结束。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章