• Centos7环境安装Elasticsearch7.16.2


    Centos安装ES7是非常麻烦的,B站上大多也都是在Windows环境安装ES,踩了不少坑,所以整理了一篇安装教程。

    准备:

    首先官网下载ESDownload Elasticsearch | Elastic

    下载ES7.16.2 Linux版本,非常简单,这里不过多解释。

    下载完之后解压。

    开始:

    首先ES的启动需要普通用户,不能是root用户,我们先创建用户

    adduser elasticsearch
    
    • 1

    adduser [elasticsearch{这个是用户名,也就是登录的用户名}]

    为用户名创建密码

    passwd elasticsearch
    
    • 1

    密码 推荐和用户名一样,这样好记,注意如果密码和用户名一样 Centos会提示,让你重新输入,这时候不要管它,重复输入两遍就好了。

    创建好用户之后在开个ssh,然后用elasticsearch登录。

    第二个注意的点是,用root用户给elasticsearch这个目录777权限,不然也会出问题。

    最后一个要注意的点,ES7版本需要JDK11,这个版本对应的文档我就不放了,ES7自带了JDK11,如果你的服务器装的是JDK1.8并且设置了JAVA_HOME环境变量这时候如果启动是不能启动的。

    我们需要更改,bin/elasticsearch,可以用vi编辑,在文件头加上这些,注意jdk路径要换成你的

    #配置为elasticsearch自带jdk
    export ES_JAVA_HOME=/usr/local/software/elastic/elasticsearch-7.16.2/jdk
    export PATH=$ES_JAVA_HOME/bin:$PATH
    
    #添加jdk判断
    if [ -x "$ES_JAVA_HOME/bin/java" ]; then
            JAVA="/usr/local/software/elastic/elasticsearch-7.16.2/jdk/bin/java"
    else
            JAVA=`which java`
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    修改sysctl.conf

    不配的话启动报错max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

    # 进入sysctl.conf
    sudo vim /etc/sysctl.conf
    # 在文件尾加这句话
    vm.max_map_count=262144
    
    • 1
    • 2
    • 3
    • 4

    到bin目录启动elasticsearch,这时候,在本机访问9200应该是能访问到的。

    补充:

    如果想所有IP均可访问到ES,那么还需要以下配置,

    修改config/elasticsearch.yml

    添加下面这些

    network.host: 0.0.0.0
    node.name: node-1
    cluster.initial_master_nodes: ["node-1"]
    http.port: 9200
    
    • 1
    • 2
    • 3
    • 4

    启动ES,如果报错:

    ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
    bootstrap check failure [1] of [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

    主要是文件权限与内存大小问题:

    elasticsearch用户拥有的可创建文件描述的权限太低,至少需要65536,

    处理办法: #切换到root用户修改

    vim /etc/security/limits.conf # 在最后面追加下面内容

    elasticsearch hard nofile 65536
    elasticsearch soft nofile 65536 ? ? ? ? ? ? ?#elasticsearch ?是用户
    
    • 1
    • 2

    然后执行

    sysctl -p
    
    • 1

    再次启动ES,如果还报这个错,有可能是最后一步刷新没成功,这时候可以退出elasticsearch用户,再次登录,然后启动ES,这时候基本就没问题了。

    访问IP+9200

  • 相关阅读:
    pandas数据的异常值判断、可视化以及异常值的处理
    java的io流详解
    maven
    SAP UI5 本地开发时 ui5.yaml 文件对构建 Release 版本应用目录的影响分析试读版
    解决Permission is not allowed后基于Ubuntu23.04安装配置docker与docker-compose
    Vue3 ~
    【Java 基础篇】Java线程同步:Lock接口详解
    浏览器中的302你真的知道吗
    ABAQUS 求解应力强度因子
    Spring Data MongoDB SpEL表达式注入漏洞(CVE-2022-22980)分析与利用
  • 原文地址:https://blog.csdn.net/m0_61083409/article/details/126326817