• ElasticSearch安装详细教程以及相关踩坑


    本教程使用Linux系统安装

    创建elasticsearch目录

    cd /usr/local/
    
    mkdir tool
    
    cd tool
    
    mkdir elasticsearch
    
    cd elasticsearch
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    下载Elasticsearch

    在刚刚创建好的文件夹内下载Elasticsearch(以下简称es)

    curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.2-linux-x86_64.tar.gz
    
    • 1

    解压es包

    tar -xvf elasticsearch-7.16.2-linux-x86_64.tar.gz
    
    • 1

    进入es/bin包

    cd elasticsearch-7.16.2/bin
    
    • 1

    启动es

    ./elasticsearch
    
    • 1

    如果需要后台启动的话,在启动命令后加&,如下所示:

    ./elasticsearch &
    
    • 1

    关于一些踩过的坑

    1. es比较吃内存,所以建议使用8g及以上的机器运行es,如果内存小了可能导致跑步起来。
    2. es不能使用root用户直接启动,需要参考“问题二”使用新用户启动es。
    3. es使用ip访问需要修改配置文件,建议直接使用工具将配置文件下载到本地,修改后进行替换;注意不能出现多余的空格以及符号。

    如果es是单独使用一台机器进行部署的话,则需要能够支持使用ip+端口的方式进行访问,在配置过程中可能会出现以下问题。

    解决问题

    问题一:内存不足

    直接启动,遇到如图问题,如下:

    这个问题是由于内存分配不够造成的,修改适合本机的内存,修改文件config/jvm.options

    vi ../config/jvm.options

    修改如下位置

    由于我的服务器内存较小,修改为512m,具体可以根据情况修改,如下:

    修改后在次启动:

    ./elasticsearch

    问题二:用户权限错误

    出现如下错误:

    org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

    如图

    这个问题很明显,不允许使用root用户启动,那么我们新建一个es用户,并赋予权限:

    添加es用户

    useradd es

    添加es用户密码

    passwd es

    将文件夹elasticsearch-5.4.2赋予es权限

    chown -R es:es /usr/local/tool/elasticsearch/elasticsearch-5.4.2

    切换为es用户

    su es

    再次启动es

    ./elasticsearch

    这次启动成功了,我们在使用一个新的标签窗口登录root用户,输入命令验证一下:

    curl -X GET http://localhost:9200

    如图所示,可以成功访问

    问题三:公网ip无法访问

    在浏览器访问http://118.24.242.170:9200/拒绝访问(118.24.242.170为服务器ip),首先检查端口是否开放,服务器安全组是否添加9200端口

    使用root用户,打开elasticsearch.yml文件,如下:

    vi /usr/local/tool/elasticsearch/elasticsearch-5.4.2/config/elasticsearch.yml

    文件内增加如下代码

    network.host: 0.0.0.0

    使用es用户启动,发现又出现了错误如下,得到错误信息如图

    使用root用户打开如下文件:

    vim /etc/sysctl.conf

    添加如下配置:

    vm.max_map_count = 655360

    使配置生效

    /sbin/sysctl -p

    再次执行./elasticsearch

    问题四:重新启动报错

    如果操作了问题3的后重新启动时,出现了这个问题:

    需要将配置文件中的配置放开注释

    问题五:无java环境

    如果服务器没有安装JDK环境的话,会提示如下内容

    此时,需要安装JDK,输入命令安装jdk1.8版本:yum install java-1.8.0-openjdk-devel.x86_64

    执行完成后,输入 java -version,出现如下信息即可

    最后使用es用户启动Elasticsearch,这次可以成功启动了,如果需要后台启动的话,在启动命令后加&,如下所示:

    ./elasticsearch &

    安装过程中如遇到其他问题,欢迎补充!

    综合整理自:Linux安装Elasticsearch - 简书

  • 相关阅读:
    测开岗学习资料
    linux关于cmake,makefile和gdb的使用
    005 数据结构
    Hyperbolic geometry
    嵌入式Linux 开发经验:内核驱动静态编译与模块编译
    java毕业设计校园快递代领系统mybatis+源码+调试部署+系统+数据库+lw
    javascript中数组和对象的解构
    OPNsense IPsec配置
    Text ‘10/03/2023 14:25:49‘ could not be parsed at index 0
    中创算力九月员工生日会 | 愿尔祯祥,岁岁如常
  • 原文地址:https://blog.csdn.net/asdfadafd/article/details/126361760