下载安装Elasticsearch
下载地址:https://www.elastic.co/cn/downloads/elasticsearch
可以下载历史版本
目录结构:
如果不修改data和logs目录,更新es的版本可能会把这两个文件覆盖造成数据丢失
配置集群
下载一个然后解压缩复制两份
修改三个节点config下的elasticsearch.yml配置文件
1、node01的yml文件:
# =================es集群配置==============
#
# 配置es集群的名称,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群
cluster.name: my-application
#
# 节点名称
node.name: node-1
#
#指定该节点是否有资格被选举成为node
node.master: true
#
#指定该节点是否存储索引数据,默认为true
node.data: true
#
# 设置绑定的IP地址,还有其他节点和该节点交互的IP地址,本机ip
network.host: 127.0.0.1
#
# 指定http端口
http.port: 9200
#
# 设置节点间交互的tcp端口,默认9300
transport.tcp.port: 9300
#
# 设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
# 因为另外两台节点的端口自会设置为9301和9302,所以写入两台es的完整地址
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
#
# 初始化主节点,在启动集群时,指定一个指定node-1为主节点
cluster.initial_master_nodes: node-1
#
# 如果需要使用head,那么需要解决跨域问题,使head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"
-----------------------------------
windows搭建elasticsearch集群
https://blog.51cto.com/u_15127661/4383775
2、node02的yml文件:
# =================es集群配置==============
#
# 配置es集群的名称,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群
cluster.name: my-application
#
#
# 节点名称
node.name: node-2
#
#指定该节点是否有资格被选举成为node
node.master: true
#
#指定该节点是否存储索引数据,默认为true
node.data: true
#
# 设置绑定的IP地址,还有其他节点和该节点交互的IP地址,本机ip
network.host: 127.0.0.1
#
# 指定http端口
http.port: 9201
#
# 设置节点间交互的tcp端口,默认9300
transport.tcp.port: 9301
#
# 设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
# 因为另外两台节点的端口自会设置为9301和9302,所以写入两台es的完整地址
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
#
# 初始化主节点
cluster.initial_master_nodes: node-1
#
# 如果需要使用head,那么需要解决跨域问题,使head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"
-----------------------------------
windows搭建elasticsearch集群
https://blog.51cto.com/u_15127661/4383775
3、node03的yml文件:
# =================es集群配置==============
#
# 配置es集群的名称,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群
cluster.name: my-application
#
# 节点名称
node.name: node-3
#
#指定该节点是否有资格被选举成为node
node.master: true
#
#指定该节点是否存储索引数据,默认为true
node.data: true
#
# 设置绑定的IP地址,还有其他节点和该节点交互的IP地址,本机ip
network.host: 127.0.0.1
#
# 指定http端口
http.port: 9202
#
# 设置节点间交互的tcp端口,默认9300
transport.tcp.port: 9302
#
# 设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
# 因为另外两台节点的端口自会设置为9301和9302,所以写入两台es的完整地址
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
#
# 初始化主节点
cluster.initial_master_nodes: node-1
#
# 如果需要使用head,那么需要解决跨域问题,使head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"
-----------------------------------
windows搭建elasticsearch集群
https://blog.51cto.com/u_15127661/4383775
逐一启动每个es节点,运行每个节点下bin目录中的elasticsearch.bat文件
看到以上情况说明启动正常
Head插件安装
- 安装依赖:
(1) 下载node:
① 下载地址:https://nodejs.org/en/download/
② 检查是否安装成功:Win+R CMD输入“node -v”命令检查,如果输出了版本号,则node安装成功。
(2) 安装grunt:
① CMD中执行“npm install -g grunt-cli”命令等待安装完成
② 输入:grunt -version命令检查是否安装成功
2. 下载Head插件
(1) 下载地址:https://github.com/mobz/elasticsearch-head
(2) 下载完成后,解压,打开elasticsearch-head-master文件夹,
修改Gruntfile.js文件,添加hostname:‘*’, 如图:
(3) 输入 cd elasticsearch-head
npm install
(4) 输入 npm run start 启动服务
(5) 验证:http://localhost:9100/ 安装成功
(6) 如果无法发现ES节点,尝试在ES配置文件中设置允许跨域
http.cors.enabled: true
http.cors.allow-origin: “*”
http://localhost:9100/ 监控集群页面
(1) 健康值状态
① Green:所有Primary和Replica均为active,集群健康
② Yellow:至少一个Replica不可用,但是所有Primary均为active,数据仍然是可以保证完整性的。
③ Red:至少有一个Primary为不可用状态,数据不完整,集群不可用。
(2) 健康值检查
① _cat/health
② _cluster/health