前言
前篇刚写完Docker安装单节点ES后,本打算写个Docker安装集群ES,后来看到自己多年前写的Linux版,考虑或许有的童鞋需要,就贴出来了,仅供参考哈,毕竟多年前的,此次没有实践,但当年可是一步一步安装部署好了的!
安装环境
- CentOs 6
- ElasticSearch 7.8.0
安装步骤
-
获取ElasticSearch安装包
# 以7.8.0为基准 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-linux-x86_64.tar.gz
-
解压Elasticsearch安装包
# 解压 [root@genterator opt]# tar -zxf elasticsearch-7.8.0-linux-x86_64.tar.gz
-
Elasticsearch目录结构
bin :脚本文件,包括 ES 启动 & 安装插件等等
config : elasticsearch.yml(ES 配置文件)、jvm.options(JVM 配置文件)、日志配置文件等等
JDK : 内置的 JDK,JAVA_VERSION=“12.0.1”
lib : 类库
logs : 日志文件
modules : ES 所有模块,包括 X-pack 等
plugins : ES 已经安装的插件。默认没有插件
data : ES 启动的时候,会有该目录,用来存储文档数据。该目录可以设置 -
修改配置文件
# ======================== Elasticsearch Configuration ========================= # ---------------------------------- Cluster ----------------------------------- #集群名称 cluster.name: es_cluster # ------------------------------------ Node ------------------------------------ #节点名称 node.name: es_01 # ----------------------------------- Paths ------------------------------------ #保存数据位置 path.data: /opt/elasticsearch-7.8.0/data #保存日志位置 path.logs: /opt/elasticsearch-7.8.0/logs # ---------------------------------- Network ----------------------------------- #允许的ip地址 network.host: 0.0.0.0 #开放端口 http.port: 8888
-
创建用户并授权
Elasticsearch不能使用root直接启动,需创建其他用户执行es可执行文件进行启动#创建用户组、用户 [root@genterator ~]# groupadd elastic [root@genterator ~]# useradd -g elastic -m elastic #授权ElasticSearch文件权限 [root@genterator opt]# chown -R elastic:elastic elasticsearch-7.8.0
-
执行启动命令
[root@genterator opt]# cd elasticsearch-7.8.0 [root@genterator elasticsearch-7.8.0]# su elastic [elastic@genterator elasticsearch-7.8.0]$ ./bin/elasticsearch #ElasticSearch7.8需要jdk11支持,最低支持jdk1.8 future versions of Elasticsearch will require Java 11; your Java version from [/opt/jdk/jre] does not meet this requirement ………… ERROR: [2] bootstrap checks failed [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] [2]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured ERROR: Elasticsearch did not exit normally - check the logs at /opt/elasticsearch-7.8.0/logs/es_cluster.log …………
执行启动命令后,后台报错:
- elasticsearch用户拥有的内存权限太小,至少需要262144;
- 最少配置其一:[discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes]
处理:
-
[root@genterator elasticsearch-7.8.0]# sysctl -w vm.max_map_count=262144 vm.max_map_count = 262144
-
# elasticsearch.yml文件添加: cluster.initial_master_nodes: ["es_01"] #这里的es_01为node-name配置的值
-
再次启动执行命令
[elastic@genterator elasticsearch-7.8.0]$ ./bin/elasticsearch ………… [2020-07-28T12:36:54,970][INFO ][o.e.n.Node ] [es_01] started [2020-07-28T12:36:55,662][INFO ][o.e.l.LicenseService ] [es_01] license [0cfca67e-56af-42d9-bfac-f9ff5f5e6b55] mode [basic] - valid [2020-07-28T12:36:55,676][INFO ][o.e.x.s.s.SecurityStatusChangeListener] [es_01] Active license is now [BASIC]; Security is disabled [2020-07-28T12:36:55,693][INFO ][o.e.g.GatewayService ] [es_01] recovered [0] indices into cluster_state
成功启动如图:
附上启动、停止命令:
启动:#ES 启动 (非 root 账户) [elastic@genterator elasticsearch-7.8.0]$ ./bin/elasticsearch
停止:
# 查看es进程 [elastic@genterator elasticsearch-7.8.0]$ jps 21683 Jps 21621 Elasticsearch #直接杀后台 [elastic@genterator elasticsearch-7.8.0]$ kill -9 21621
声明:
- 此部署方式为两年前(今2023),硬件环境为Centos6,ES为7.8版
- 仅供参考,此次仅为复制当年所记录的,未经验证