Linux部署Elasticsearch(二):启动Elasticsearch不成功的几种原因
发布日期:2025-04-10 18:07:19 浏览次数:8 分类:精选文章

本文共 1480 字,大约阅读时间需要 4 分钟。

Elasticsearch启动失败的解决方案

作为初学者,在部署Elasticsearch时可能会遇到一系列问题。本文将详细记录我的部署过程及解决问题的思路。

一、内存分配问题

启动Elasticsearch时,报错提示无法分配内存:

INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)

解决方法:

  • 减小JVM内存分配

    • 打开jvm.options文件,找到-Xms-Xmx参数,将默认值2g改为512m
    • 保存修改后重新启动Elasticsearch。
  • vim /opt/elasticsearch-5.0.0/config/jvm.options

    2. **检查硬件资源**:确保服务器内存足够支持Elasticsearch的需求。## 二、权限问题启动时报错:

    java.io.IOException: Permission denied

    ### 解决方法:1. **检查文件夹权限**:   确认`/opt/elasticsearch-5.0.0`目录的拥有者和组别是否正确。默认权限可能设置为`root:root`,但如果使用非root用户(如`elastic:elastic`),需确保权限设置正确。2. **修改文件权限**:   使用`chown`命令将文件夹权限设置为`elastic:elastic`。   ```bash   chown -R elastic:elastic elasticsearch-5.0.0
    1. 验证权限:确认修改后的权限是否正确,避免权限错误导致文件无法创建。
    2. 三、Log4j安装问题

      报错提示未安装required plugins:

      IllegalArgumentException: unknown setting [bootstrp.system_call_filter]

      解决方法:

    3. 安装Log4j:使用包管理器安装Log4j组件。

      yum install -y log4j*
    4. 检查配置文件:确认logging.config文件中没有错误配置,尤其是bootstrap.system_call_filter参数是否正确。

    5. 重启服务:修改配置后,重启Elasticsearch服务。

    6. 四、网络配置问题

      修改network.hostdiscovery.zen.ping.unicast.hosts后,启动失败。

      解决方法:

    7. 检查网络配置:确保修改后的网络配置正确无误。

    8. 查看启动日志:查找最新的启动日志,确认错误提示内容。

    9. 解决文件描述符限制:系统提示max file descriptors [65535],需修改文件描述符限制。

      echo "* soft nofile 65536" > /etc/security/limits.confecho "* hard nofile 65536" >> /etc/security/limits.conf
    10. 重启用户会话:修改后的限制需重新登录用户会话后生效。

    11. 启动服务:使用./elasticsearch重新启动服务。

    12. 五、最终验证

      启动成功后,访问http://<服务器地址>:9200/http://<服务器地址>:9200/?pretty,查看Elasticsearch是否正常运行。

      通过以上步骤,可以顺利解决Elasticsearch启动过程中遇到的内存、权限、日志和网络配置问题。

    上一篇:Linux部署Oracle
    下一篇:Linux部署Elasticsearch(一):下载和部署Elasticsearch

    发表评论

    最新留言

    很好
    [***.229.124.182]2025年05月02日 00时18分32秒

    关于作者

        喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
    -- 愿君每日到此一游!

    推荐文章