1. 下载
2. 安装
- 在Linux中创建一个新的用户用于ES的安装与运行(以下以用户名"es"为例子)
useradd es -s /bin/bash
ES不能在root下运行,必须创建新的用户来运行ES
- 如果安装包下载或上传是以root进行的,需要修改该安装包的所属用户和用户组
chown -R es:es elasticsearch-7.10.2-linux-x86_64.tar.gz
- 创建日志、数据存储目录
mkdir -p /data/logs/es
mkdir -p /data/es/{data,work,plugins,scripts}
- 解压安装包
tar -zxvf elasticsearch-7.10.2-linux-x86_64.tar.gz
3. 配置
- 修改配置
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: "*"
-
修改系统相关的配置
- 修改每个进程最大同时打开的文件数量和最大线程数量,修改后重新登录即可生效
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. 启动并验证
- 启动ES
# 通过参数-d以守护进程进行启动
./{ES解压的目录}/bin/elasticsearch -d
- 检验启动是否正常
{
"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上作为生产使用