当前位置:硬件测评 > elasticsearch安装和本地测试

elasticsearch安装和本地测试

  • 发布:2023-10-07 11:50

-->

elasticsearch安装和本地测试

elasticsearch是一个全文搜索引擎

教程:

综合:http://www.sychzs.cn/blog/2017/08/elasticsearch.html 强烈推荐

centos7上的安装配置:https://www.sychzs.cn/centos-7-install-elasticsearch.html 不完整

正确安装步骤:

以 root 身份登录服务器

安装java8并配置环境变量

执行修改内核参数的命令,让java可以锁定内存:https://www.sychzs.cn/rabbitpei/p/6738671.html

创建普通用户es

以es身份再次登录服务器

修改~/.bashrc文件,添加以下两行:

source ~/.bashrc 使配置生效

下载elasticsearch,解压,进入文件夹,执行./bin/elasticsearch。如果看到下面的内容,就说明已经开始了。你可以在本机上测试一下:

我的安装过程(使用putty远程登录控制服务器):

以 root 身份登录服务器

安装java8并配置环境变量

下载elasticsearch,解压后进入文件夹。

执行./bin/elasticsearch,报错。检查后发现java无法锁定内存:https://www.sychzs.cn/rabbitpei/p/6738671.html

解决办法:执行命令让java可以锁定内存。

执行./bin/elasticsearch,报错。经过检查,我发现了一个奇怪的错误。看完教程发现新版本的elasticsearch不支持root启动。

解决方案:创建普通用户es

su es,输入密码继续./bin/elasticsearch,却发现因为此时在/root文件夹下,没有权限,所以提示sudo不在sudoers中:https://精研.baidu. com/article/2a1383284bb3e8074a134f2d.html

解决方案:加入sudoers

继续sudo执行./bin/elasticsearch,出现奇怪的错误。

解决办法:所以,以es身份再次登录服务器,进入es用户的文件夹。现在已经不存在权限问题了。

下载elasticsearch,解压后进入文件夹。

执行./bin/elasticsearch,报错。这次错误很短,就被杀掉了。经过检查发现,由于我的服务器只有1G内存,而我没有设置elasticsearch使用的内存大小,所以elasticsearch使用默认值1G。因此,启动elasticsearch时,elasticsearch进程会尝试向操作系统申请1G的内存空间。这直接导致内存不足,触发Linux的OOM杀手。然后 OOM 杀手会杀死新启动的弹性搜索。

关于elasticsearch内存应用和OOM杀手:

什么是 oom Killer:https://www.sychzs.cn/2013/10/how-to-configure-the-linux-oom-killer/

如何防止elasticsearch被oomkiller杀死:https://www.sychzs.cn/questions/25355726/prevent-elasticsearch-from-being-killed-by-oom-killer(注意ES_HEAP_SIZE的写法,在elasticsearch5.0中已经被ES_JAVA_OPTS取代了!)

给elasticsearch分配更多的内存是不是更好?不! :https://www.sychzs.cn/t/411036+++https://www.sychzs.cn/jiu0821/p/5650027.html (注意ES_HEAP_SIZE的写法已经在elasticsearch 5.0中被替换了通过 ES_JAVA_OPTS!)

解决方案:在环境变量/启动命令/elasticsearch配置文件中设置elasticsearch占用的内存大小:修改~/.bashrc文件,添加以下两行:

第一行是JAVA_HOME环境变量,必须配置。

第二行是elasticsearch要申请的内存空间。 200m表示申请200MB的空间。如果想设置大一点,比如4G,那就写:export ES_JAVA_OPTS='-Xms4g -Xmx4g'。请注意,不接受小数。比如这样写:export ES_JAVA_OPTS='-Xms0.5g -Xmx0.5g'是错误的(不应该写成0.5g而应该写成512m)。

修改~/.bashrc后,保存退出,source ~/.bashrc使其生效。

回到elasticsearch解压出来的文件夹,执行./bin/elasticsearch

终于成功启动了

undefined

相关文章