• 进入到上传的文件夹
  • 解压到安装目录下
tar -zxvf elasticsearch-7.8.1.tar.gz -C /home/es/
#改名
mv elasticsearch-7.8.1 elasticsearch

配置文件 【每台服务器都要配置】

config/elasticsearch.yml

参考配置及个配置的含义

#加入以下配置
#集群名字
cluster.name: elasticsearch
#集群中当前的节点
node.name: node-1
#数据目录,配置到指定的分区挂载目录
path.data: /home/es/data1,home/es/data2
#日志目录
path.logs: /home/es/logs1
#当前主机的ip地址及ES服务端口【具体的服务器修改IP】
network.host: 192.168.88.111
#WebUI 默认9200
http.port: 7920

#是不是有资格主节点
node.master: true
node.data: true

# head 插件需要这打开这两个配置
	#*表示支持所有域名
http.cors.allow-origin: "*"
  #是否支持跨域
http.cors.enabled: true
http.max_content_length: 200mb

#linux安装es的一个bug解决的配置
bootstrap.system_call_filter: false
bootstrap.memory_lock: false

#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["node-1"]

#es7.x 之后新增的配置,节点发现 【Linux为机器IP地址,根据自己的服务器修改】
discovery.seed_hosts: ["linux1:9300","linux2:9300","linux3:9300"]
gateway.recover_after_nodes: 2
network.tcp.keep_alive: true
network.tcp.no_delay: true
transport.tcp.compress: true

#集群内同时启动的数据任务个数,默认是 2 个
cluster.routing.allocation.cluster_concurrent_rebalance: 16
#添加或删除节点及负载均衡时并发恢复的线程个数,默认 4 个
cluster.routing.allocation.node_concurrent_recoveries: 16
#初始化数据恢复时,并发恢复线程的个数,默认 4 个
cluster.routing.allocation.node_initial_primaries_recoveries: 16

config/jvm.options

#建议配置当前系统内存的一半 我自己内存很少 自己根据机器内存调整,不要超过32G

-Xms2g
-Xmx2g
#-Xms128m
#-Xmx128m

启动es

注:Elasticsearch 要使用es用户启动,不能使用root用户启动

#前台启动
./bin/elasticsearch
#后台启动
./bin/elasticsearch -d

测试集群

Ip:7920/_cat/nodes

实际服务器配置

注:我这里将登录认证也写到实例中了,开始部署可以先不配置登录认证,将Elasticsearch部署完成后,最后来配置认证,在后面我也写了登录认证部署文档

第一台

cluster.name: my-application
##节点名称
node.name: node-1
##数据目录,配置到指定的分区挂载目录
path.data: /home/es/a/data1,/home/es/a/data2
##日志目录
path.logs: /home/es/a/logs1
##当前主机的ip地址及ES服务端口【具体的服务器修改IP】
network.host: 0.0.0.0
##WebUI 默认9200
http.port: 7920
##内部节点之间的沟通端口
transport.tcp.port: 9300
#
##是不是有资格主节点
node.master: true
node.data: true
##最大集群节点数
node.max_local_storage_nodes: 3
#
##es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务之后可被选为主节点
discovery.seed_hosts: ["192.168.88.110:9300", "192.168.88.111:9300", "192.168.88.112:9300"]
##es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["192.168.88.110", "192.168.88.111", "192.168.88.112"]
#
##linux安装es的一个bug解决的配置
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
##*表示支持所有域名
http.cors.allow-origin: "*"
##是否支持跨域
http.cors.enabled: true

#登录认证
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate # 证书认证级别
xpack.security.transport.ssl.keystore.path: /home/es/elasticsearch/config/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /home/es/elasticsearch/config/elastic-certificates.p12

第二台

#集群名称,三台集群,要配置相同的集群名称
cluster.name: my-application
###节点名称
node.name: node-2
###数据目录,配置到指定的分区挂载目录
path.data: /home/es/a/data1,/home/es/a/data2
###日志目录
path.logs: /home/es/a/logs1
###当前主机的ip地址及ES服务端口【具体的服务器修改IP】
network.host: 0.0.0.0
###WebUI 默认9200
http.port: 7920
###内部节点之间的沟通端口
transport.tcp.port: 9300
##
###是不是有资格主节点
node.master: true
node.data: true
###最大集群节点数
node.max_local_storage_nodes: 3
##
###es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务之后可被选为主节点
discovery.seed_hosts: ["192.168.88.110:9300", "192.168.88.111:9300", "192.168.88.112:9300"]
###es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["192.168.88.110", "192.168.88.111", "192.168.88.112"]
##
###linux安装es的一个bug解决的配置
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
###*表示支持所有域名
http.cors.allow-origin: "*"
###是否支持跨域
http.cors.enabled: true

xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate # 证书认证级别
xpack.security.transport.ssl.keystore.path: /home/es/elasticsearch/config/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /home/es/elasticsearch/elastic-certificates.p12

第三台

#集群名称,三台集群,要配置相同的集群名称
cluster.name: my-application
###节点名称
node.name: node-3
###数据目录,配置到指定的分区挂载目录
path.data: /home/es/a/data1,/home/es/a/data2
###日志目录
path.logs: /home/es/a/logs1
###当前主机的ip地址及ES服务端口【具体的服务器修改IP】
network.host: 0.0.0.0
###WebUI 默认9200
http.port: 7920
###内部节点之间的沟通端口
transport.tcp.port: 9300
##
###是不是有资格主节点
node.master: true
node.data: true
###最大集群节点数
#node.max_local_storage_nodes: 3
##
###es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务之后可被选为主节点
discovery.seed_hosts: ["192.168.88.110:9300", "192.168.88.111:9300", "192.168.88.112:9300"]
###es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["192.168.88.110", "192.168.88.111", "192.168.88.112"]
##
###linux安装es的一个bug解决的配置
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
###*表示支持所有域名
http.cors.allow-origin: "*"
###是否支持跨域
http.cors.enabled: true

xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate # 证书认证级别
xpack.security.transport.ssl.keystore.path: /home/es/elasticsearch/config/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /home/es/elasticsearch/elastic-certificates.p12