• CentOS7 安装Elasticsearch7.16.3


    1、下载安装包

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.3-linux-x86_64.tar.gz
    
    
    

    官网: https://www.elastic.co

    下载页面: https://www.elastic.co/cn/downloads/elasticsearch

    注意事项:Elasticsearch7 开始推荐Java最低版本Java11

    2、安装

    # 解压安装包
    tar -zxvf elasticsearch-7.16.3-linux-x86_64.tar.gz
    # 创建目录文件夹
    mkdir /usr/local/elasticsearch
    # 将解压出来的es安装包文件夹放到 上面创建的目录下面去
    mv ~/elasticsearch-7.16.3 /usr/local/elasticsearch
    

    3、添加用户(ES 不能使用root用户启动)

    # 新增 elastic 分组
    groupadd elastic
    # 新增 elastic用户并加入到 elastic 分组
    useradd -g elastic elastic
    # 设置elastic用户权限
    chown -R elastic:elastic /usr/local/elasticsearch/elasticsearch-7.16.13/
    # 查看文件夹里面拥有者和拥有组
    pwd && ll
    

    image-20220216143927892

    4、启动与停止

    # 切换到elastic 用户
    su elastic
    
    # 进入到 elasticsearch 的bin目录下面去
    cd /usr/local/elasticsearch/elasticsearch-7.16.3/bin
    # 启动
    sh elasticsearch
    

    5、报错与解决

    image-20220216144248361

    上述错误是因为, ES 在 7.x以后 Java的最低版本要求是Java11了。我们可以切换到内置版本的JDK。 所以通过修改ES内置的配置文件就可以解决这个问题了。

    # 编辑bin下面的elasticsearch文件
    vim /usr/local/elasticsearch/elasticsearch-7.16.3/bin/elasticsearch-env
    

    定位到下图所示的位置

    image-20220216153403337

    大致的意思是

    • 先去找内置的 ES_JAVA_HOME 环境变量,如果有则使用 ES_JAVA_HOME的环境变量所对应的JAVA。

    • 如果没有ES_JAVA_HOME 环境变量, 则查看JAVA_HOME 环境变量。(此时就会出现Java8 不能使用的问题(JAVA_HOME 指向的是Java8版本))

      # 报错
      Future versions of Elasticsearch will require Java 11; your Java version from [/usr/local/jdk1.8.0_271/jre] does not meet this requirement.Consider switching to a distribution of Elasticsearch with a bundled JDK. If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set.
      

    解决方法:

    • 在 /etc/profile 文件里面添加 ES_JAVA_HOME环境变量
    # 从 elastic 用户 切换到 root用户,使用exit命令退出
    exit
    # 编辑 /etc/profile
    vim /etc/profile
    
    # 在文件末尾添加如下信息
    # es java home setting
    export ES_JAVA_HOME=/usr/local/elasticsearch/elasticsearch-7.16.3/jdk
    # 保存
    # :wq!  保存
    
    # 配置生效
    source /etc/profile
    

    image-20220216154219897

    重新启动

    su elastic
    cd /usr/local/elasticsearch/elasticsearch-7.16.3/bin
    ./elasticsearch
    
    

    注意此时还会没有报错信息的情况下被killed,这是因为内存不够导致的

    image-20220216154451847

    解决方法: 修改jvm.options

    #  进入到文件夹
    cd /usr/local/elasticsearch/elasticsearch-7.16.3/config
    # 编辑文件
    vim jvm.options
    ################################
    # 添加如下配置信息(这里根据你实际可用内存是多少决定JVM内存,我这里1.0G可用,所以我使用的512M)
    #添加两行已配置你的jvm内存大小,此处建议为服务器内存的一半,但不要超过32G
    -Xmx512m
    -Xms512m
    #################################
    

    image-20220216154809909

    再次执行启动命令

    su elastic #  如果当前是 root用户则执行切换用户,如果不是则不用执行
    # 进入文件夹
    cd /usr/local/elasticsearch/elasticsearch-7.16.3/bin
    # 启动es
    ./elasticsearch
    

    image-20220216154852530

    看到这里es就启动成功了。

    6、测试

    curl localhost:9200 
    
    {
      "name" : "VM-16-15-centos",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "7gv_6ON9ThetiehwzOSLMg",
      "version" : {
        "number" : "7.16.3",
        "build_flavor" : "default",
        "build_type" : "tar",
        "build_hash" : "4e6e4eab2297e949ec994e688dad46290d018022",
        "build_date" : "2022-01-06T23:43:02.825887787Z",
        "build_snapshot" : false,
        "lucene_version" : "8.10.1",
        "minimum_wire_compatibility_version" : "6.8.0",
        "minimum_index_compatibility_version" : "6.0.0-beta1"
      },
      "tagline" : "You Know, for Search"
    }
    

    image-20220216155123838

    至此es可以正常启动,

    7、后台启动

    但是还有一个问题,我们希望后台启动,以及开机自启动,如何操作呢?

    # 关闭上面启动的es
    # 查看es的PID
    lsof -i:9200 
    # kill 掉 es
    kill -9 13854
    

    image-20220216155426404

    # 切换到 elastic 用户 重启es,
    su elastic #  如果当前是 root用户则执行切换用户,如果不是则不用执行
    # 进入文件夹
    cd /usr/local/elasticsearch/elasticsearch-7.16.3/bin
    # 启动es  -d 是后台启动
    ./elasticsearch -d
    
  • 相关阅读:
    套接字I/O模型-WSAAsyncSelect
    套接字I/O模型-完成端口IOCP
    套接字I/O模型-WSAEventSelect(转载)
    Win7+VS2010环境下CEGUI 0.8.4编译过程详解
    数组去重统计排序
    计算当前月有几天
    前端开发仓库
    Jquery中bind(), live(), on(), delegate()四种注册事件的优缺点,建议使用on()
    图表那些事
    图标字体,矢量图标
  • 原文地址:https://www.cnblogs.com/qianzhengkai/p/15901090.html
Copyright © 2020-2023  润新知