• Elasticsearch7.7的安装与启动


    es7.7需要的jdk最低版本是11,如果机器上默认环境1.7/1.8是无法之间启动的;不过es7.7已经内置了jdk11,所以不用另行下载。

    一、下载与安装

    1.下载es7.7https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-linux-x86_64.tar.gz

    2.解压

    tar -zxvf?elasticsearch-7.7.0-linux-x86_64.tar.gz
    
    • 1

    二、新建es用户及授权

    在启动elasticsearch之前,ES在启动的时候是不允许使用root账户的,所以我们要新建一个用户es。

    useradd es
    
    • 1

    然后把elasticsearch-7.7.0这个目录和目录下所有的文件的拥有者都改成es:

    chown es:es -R elasticsearch-7.7.0
    
    • 1

    三、启动测试

    es启动不能用root用户。所以要切换到es用户:

    su es
    
    • 1

    cd名利到/es所在的目录,

    cd /es/es7.7
    
    • 1

    我们启动一下,看看能不能启动成功。

    ./bin/elasticsearch
    
    • 1

    可以启动成功。但是我们通过浏览器访问这个ip的9200端口时,是不成功的。我们需要对elasticsearch进行配置,才可以在别的机器上访问成功。

    修改配置前需要先杀掉 elasticsearch服务。用以下命令查找进程号

    ps -ef | grep elasticsearch?
    
    • 1

    然后kill -9 进程号

    四、修改配置、正式启动

    es的所有配置文件都在${ES_HOME}/config这个目录下。

    配置文件1:elasticsearch.yml文件,配置一下这里边的这几个参数

    # ---------------------------------- Cluster ------
    cluster.name: cluster-es77
    # ------------------------------------ Node ------------------------------------
    node.name: node-es77
    # ---------------------------------- Network -----------------------------------
    network.host: 0.0.0.0
    
    //这里修改端口是因为有其他es,默认不需要更改
    http.port: 9207
    transport.tcp.port: 9307
    
    //es7.7需要修改的配置,发现那些节点,至少要一个
    cluster.initial_master_nodes: ["node-es77"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    配置文件2:jvm.options文件,后面添加这两句。配置下分配给他的内存,这里根据自己情况分配,这里只是测试分配的较低。

    -Xms1g
    -Xmx2g
    
    • 1
    • 2

    然后启动es(-d参数意思是后台启动,否则关闭命令行窗口后es进程也关闭了)

    ./bin/elasticsearch -d
    
    • 1

    验证Elasticsearch是否运行,方法有几种(假如你的是9200默认端口没有改):

    方法一:看进程:ps -ef | grep elastic

    方法二:命令行程序curl访问端口 curlhttp://localhost:9200

    方法三:看看9200端口是否使用 ss -tanl

    方法四:用浏览器访问 http://******:9200/

    五、es部署问题解决

    问题1:Elasticsearch requires at least Java 11 but your Java version from XXXX does not meet this requirement”

    这个是ES7运行时,而本地JDK为JDK8版本,虽然ES7内置JDK11,但是似乎没有使用,原因呢?

    Elasticsearch该版本内置了JDK,而内置的JDK是当前推荐的JDK版本。当然如果你本地配置了JAVA_HOME那么ES就是优先使用配置的JDK启动ES

    解决方法:系统默认设置的java_home版本较低。可以使用Elasticsearch 7.7内置的jdk。

    在es的bin/elasticsearch文件打开,最前面添加这几句

    #配置自己的jdk11
    export JAVA_HOME=/es/elasticsearch-7.7.0/jdk
    export PATH=$JAVA_HOME/bin:$PATH
    
    
    #添加jdk判断
    if [ -x "$JAVA_HOME/bin" ]; then
            JAVA="/es/elasticsearch-7.7.0/jdk/bin/java"
    else
            JAVA=`which java`
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    问题2:could not find java in JAVA_HOME

    如如果使用内置jdk提示找不到java,而你确定jdk就是在这个文件夹里。则可能没给es用户附加es安装文件夹权限

    chown es:es -R elasticsearch-7.7.0
    
    • 1

    问题3:ERROR: [1] bootstrap checks failed

    [1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

    解决方法1:7以前的版本先按照这里看看https://www.cnblogs.com/weibanggang/p/11591815.html

    解决方法2:如果是7之后的版本,如果还不能解决,请打开elasticsearch.yml

    取消注释保留一个节点。这里的node-1是上面一个默认的记得打开就可以了

    cluster.initial_master_nodes: ["node-es77"]
    
    • 1
  • 相关阅读:
    根据模板和git commit自动生成日·周·月·季报
    STM32F1与STM32CubeIDE综合实例-MPU6050数据3D可视化(基于Python)
    LAMP部署
    从技术创新到应用实践,百度智能云发起大模型平台应用开发挑战赛!
    变更审核时我们审什么
    RISC-V Reader 笔记(七)RV64,特权架构,未来可选扩展
    JAVA毕业设计html5健身房信息管理系统计算机源码+lw文档+系统+调试部署+数据库
    高级程序员项目经理写好代码必备的三条基本素质;以及代码的现象和本质问题解读;
    IT外包服务业各领域的未来前景和趋势
    为什么在变频器场合需要安科瑞的电力有源滤波器?
  • 原文地址:https://blog.csdn.net/m0_67391518/article/details/126360410