暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Elasticsearch 安装手册

老柴杂货铺 2025-04-06
3

Elasticsearch 是一个基于 Apache Lucene 构建的分布式搜索和分析引擎、可扩展的数据存储以及向量数据库。它针对生产规模的工作负载的速度和相关性进行了优化。使用 Elasticsearch 可以近乎实时地搜索、索引、存储和分析各种形状和大小的数据。

一、环境准备

操作系统支持

支持 Linux、macOS、Windows 系统。

生产环境建议使用 Linux 服务器,避免 Windows 环境。

Java 环境

Elasticsearch 7.x 及以上版本需 Java 11+;部分版本自带捆绑 JDK(如 7.10.1 自带 JDK 12)。

若需自定义 JDK,设置 ES_JAVA_HOME 环境变量指向 JDK 安装路径。

二、安装步骤

Linux/macOS

下载并解压

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.1-linux-x86_64.tar.gz
    tar -zxvf elasticsearch-7.10.1-linux-x86_64.tar.gz -C /usr/local/
    复制

    配置系统参数

    修改 /etc/sysctl.conf:

      vm.max_map_count = 262144
      复制

      修改 /etc/security/limits.conf:

        * soft nofile 65536
        * hard nofile 65536
        * soft memlock unlimited
        * hard memlock unlimited
        复制

        效配置:sysctl -p

        修改 Elasticsearch 配置

        Elasticsearch 有三个配置文件

        elasticsearch.yml 用于配置 Elasticsearch

        jvm.options 用于配置 Elasticsearch JVM 设置

        log4j2.properties 用于配置 Elasticsearch 日志记录

        这些文件位于 config 目录中,其默认位置取决于安装是来自归档分发(tar.gz 或 zip)还是软件包分发(Debian 或 RPM 包)。

        编辑 config/elasticsearch.yml:

          cluster.name: my-es-cluster
          node.name: node-1
          network.host: 0.0.0.0
          http.port: 9200
          discovery.seed_hosts: ["localhost"]
          cluster.initial_master_nodes: ["node-1"]
          http.cors.enabled: true       # 允许跨域(用于可视化插件)
          http.cors.allow-origin: "*"   # 跨域白名单
          复制
          调整 JVM 内存(config/jvm.options):
            -Xms1g
            -Xmx1g
            复制
            创建专用用户并启动
              useradd esuser
              chown -R esuser:esuser /usr/local/elasticsearch-7.10.1
              su esuser
              cd bin && ./elasticsearch -d   # 后台启动
              复制

              首次启动 Elasticsearch 时,默认情况下会启用并配置安全功能。会自动执行以下安全配置

              1.启用身份验证和授权,并为 elastic 内置超级用户生成密码。

              2.为传输和 HTTP 层生成 TLS 的证书和密钥,并使用这些密钥和证书启用和配置 TLS。

              3.为 Kibana 生成注册令牌,有效期为 30 分钟。

              elastic 用户的密码和 Kibana 的注册令牌将输出到您的终端。

              建议将 elastic 密码作为 shell 中的环境变量存储。如:

                export ELASTIC_PASSWORD="your_password"
                复制

                三、验证安装

                访问 http://localhost:9200,返回如下 JSON 表示成功:

                  {
                    "name": "node-1",
                    "cluster_name": "my-es-cluster",
                    "version": "7.10.1",
                    "tagline": "You Know, for Search"
                  }
                  复制

                  四、常见问题解决

                  权限不足

                  错误:can not run elasticsearch as root 解决方案:创建非 root 用户并授权。

                  内存不足

                  错误:OpenJDK 64-Bit Server VM warning: heap size 修改 jvm.options 调整 -Xms 和 -Xmx 值(建议不超过物理内存 50%)。

                  跨域访问失败

                  确保 elasticsearch.yml 中已配置 http.cors 相关参数。

                  分片分配错误

                  集群模式下需检查节点通信和 discovery.seed_hosts 配置。

                  五、可选组件安装

                  Kibana(可视化工具):https://www.elastic.co/cn/downloads/past-releases#kibana

                  Elasticsearch-head(管理插件):https://github.com/mobz/elasticsearch-head

                  文章转载自老柴杂货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                  评论