【ElasticSearch】Linux下的ElasticSearch单机版安装和配置

526 阅读3分钟

1. 下载

2. 安装

  1. 在Linux中创建一个新的用户用于ES的安装与运行(以下以用户名"es"为例子)
useradd es -s /bin/bash

ES不能在root下运行,必须创建新的用户来运行ES

  1. 如果安装包下载或上传是以root进行的,需要修改该安装包的所属用户和用户组
chown -R es:es elasticsearch-7.10.2-linux-x86_64.tar.gz
  1. 创建日志、数据存储目录
mkdir -p /data/logs/es
mkdir -p /data/es/{data,work,plugins,scripts}
  1. 解压安装包
tar -zxvf elasticsearch-7.10.2-linux-x86_64.tar.gz

3. 配置

  1. 修改配置
vi {ES解压的目录}/conf/elasticsearch.yml

# 配置节点名称
node.name: node-1

# 修改数据存放的目录
path.data: /data/es/data
# 修改日志存放的目录
path.logs: /data/logs/es

# 设置允许访问ES的IP,配置成0.0.0.0表示允许所有来源
network.host: 0.0.0.0

# 节点配置,如果是单机版,只需要配置当前服务器IP即可
discovery.seed_hosts: ["**.**.**.**"]

# 配置初始的主节点
cluster.initial_master_nodes: ["node-1"]

# 允许跨域的配置,如果需要使用浏览器客户端链接,则需要进行配置
http.cors.enabled: true
http.cors.allow-origin: "*"
  1. 修改系统相关的配置

    • 修改每个进程最大同时打开的文件数量和最大线程数量,修改后重新登录即可生效
        vi /etc/security/limits.conf
        
        # 在配置文件最后添加以下配置修改最大值,保存并重新登录
        *               soft    nofile            65536
        *               hard    nofile            65536
        *               soft    nproc            4096
        *               hard    nproc            4096
       
       # 检查每个进程最大同时打开的文件数量是否修改成功
       ulimit -Hn
       ulimit -Sn
       
       # 检查最大线程数量是否修改成功
       ulimit -Hu
       ulimit -Su
    
    • 调整最大虚拟内存为262144
        vi /etc/sysctl.conf
        
        # 在配置文件最后添加以下配置修改最大值,保存并退出
        vm.max_map_count=262144
        
        # 生效配置
        sysctl -p
    

4. 启动并验证

  1. 启动ES
# 通过参数-d以守护进程进行启动
./{ES解压的目录}/bin/elasticsearch -d
  1. 检验启动是否正常
{
  "name" : "es01",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "_na_",
  "version" : {
    "number" : "7.10.2",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "747e1cc71def077253878a59143c1f785afa92b9",
    "build_date" : "2021-01-13T00:42:12.435326Z",
    "build_snapshot" : false,
    "lucene_version" : "8.7.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

5. Docker上安装单机版ES

  • 具体安装和配置步骤可参考官网指南,以下命令可以简单地创建一个单机版的ES
# 拉取ES镜像
docker pull elasticsearch:7.12.0

# 创建ES容器
docker run -di --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.12.0

# 进入容器中进行额外配置,ES安装在容器的/usr/share/elasticsearch目录
docker exec -it es /bin/bash

注意:ElasticSearch由于属于IO敏感型应用(类似于数据库),所以并不建议安装在Docker上作为生产使用