• Linux 安装 ElasticSearch


    注意事项:

    • 内存不能太小,否则会启动失败
    • JDK版本需要对应,es7 需要 Java 11
    • 不能以 root 用户启动
    • 平台确认
      大家可以自行安装虚拟机部署,有条件可以在服务器操作。
      在这里插入图片描述
    • 安装Java
      安装 Elasticsearch 之前,你需要先安装一个较新的版本的 Java。安装以后,确认是否安装成功:(需要注意的是,我们安装的es7,Java版本要求最低为11)
    [root@CENTOS3 es7]# java -version
    java version "11"
    
    • 1
    • 2
    • 下载 Elasticsearch
    curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-linux-x86_64.tar.gz
    
    • 1
    • 解压
    tar zxvf /opt/elasticsearch-7.12.0-linux-x86_64.tar.gz
    
    • 1
    • 增加elasticSearch用户
      必须创建一个非root用户来运行ElasticSearch(ElasticSearch5及以上版本,基于安全考虑,强制规定不能以root身份运行。)如果你使用root用户来启动ElasticSearch,则会有如下错误信息:
      在这里插入图片描述
      所以我们增加一个独立的elasticsearch用户来运行:(密码八位数不能过于简单)
    useradd elasticsearch
    passwd elasticsearch
    
    • 1
    • 2

    给新用户赋予权限以及创建相关文件夹

    # 修改目录权限至新增的elasticsearch用户
    chown -R elasticsearch /opt/es7/elasticsearch-7.12.0
    # 增加data和log存放区,并赋予elasticsearch用户权限
    mkdir -p /data/es
    chown -R elasticsearch /data/es
    mkdir -p /var/log/es
    chown -R elasticsearch /var/log/es
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    然后修改上述的data和log路径,需要在ES中进行相关配置:

    vim /opt/es7/elasticsearch-7.12.0/config/elasticsearch.yml 
    # Path to directory where to store the data (separate multiple locations by comma):
    path.data: /data/es
    #
    # Path to log files:
    path.logs: /var/log/es
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 修改Linux系统配置
      1. 修改系统中允许应用最多创建多少文件等的限制权限。Linux默认来说,一般限制应用最多创建的文件是65535个。但是ES至少需要65536的文件创建权限。
      2. 修改系统中允许用户启动的进程开启多少个线程。默认的Linux限制root用户开启的进程可以开启任意数量的线程,其他用户开启的进程可以开启1024个线程。必须修改限制数为4096+。因为ES至少需要4096的线程池预备。ES在5.x版本之后,强制要求在linux中不能使用root用户启动ES进程。所以必须使用其他用户启动ES进程才可以。
      3. Linux低版本内核为线程分配的内存是128K。4.x版本的内核分配的内存更大。如果虚拟机的内存是1G,最多只能开启3000+个线程数。至少为虚拟机分配1.5G以上的内存。
    [root@CENTOS3 elasticsearch-7.12.0]# vim /etc/security/limits.conf
    
    # 追加到末尾即可
    elasticsearch soft nofile 65536
    elasticsearch hard nofile 65536
    elasticsearch soft nproc 4096
    elasticsearch hard nproc 4096
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 启动
      首先切换用户
    su elasticsearch
    
    • 1

    启动

    ./bin/elasticsearch
    
    • 1
    • 查看是否启动成功
    [elasticsearch@CENTOS3 elasticsearch-7.12.0]$ netstat -ntlp | grep 9200
    (Not all processes could be identified, non-owned process info
     will not be shown, you would have to be root to see it all.)
    tcp        0      0 127.0.0.1:9200          0.0.0.0:*               LISTEN      20322/java          
    [elasticsearch@CENTOS3 elasticsearch-7.12.0]$ curl 127.0.0.1:9200
    {
      "name" : "CENTOS3",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "DVVCrv41SlyQo1RJlWpKEg",
      "version" : {
        "number" : "7.12.0",
        "build_flavor" : "default",
        "build_type" : "tar",
        "build_hash" : "78722783c38caa25a70982b5b042074cde5d3b3a",
        "build_date" : "2021-03-18T06:17:15.410153305Z",
        "build_snapshot" : false,
        "lucene_version" : "8.8.0",
        "minimum_wire_compatibility_version" : "6.8.0",
        "minimum_index_compatibility_version" : "6.0.0-beta1"
      },
      "tagline" : "You Know, for Search"
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
  • 相关阅读:
    唯品会电商api接口
    数组去重复(偶然遇到这个问题,以此记录)
    为什么建议主键整型自增?
    vue3状态管理工具pinia的插件书写,pinia全局错误处理插件安排
    AntV可视化图表G2-柱状图
    Linux下编译Boost错误-找到一个或多个PCH文件,但它们是无效的
    第一个微信小程序的诞生
    手撕Vuex-实现mutations方法
    使用 K 均值聚类进行颜色分割
    文件分割与合并
  • 原文地址:https://blog.csdn.net/qq_41432730/article/details/128097346