Window下ES集群的搭建+es-head插件的配置

1.安装包的准备

JDK准备:
由于ElasticSearch 5.x 往后依赖于JDK 1.8的,所以现在我们下载JDK 1.8或者更高版本。
下载JDK1.8,下载完成后安装。
ES安装包+es-head+node.js:
链接:百度云直达
提取码:1fiz
在这里插入图片描述

2.安装包解压

2.1 JDK环境检验: java -version
确保JDK为1.8+
JDK版本
2.2 es安装包解压备用:
es 包解压后,复制三份:
在这里插入图片描述
es-head解压备用: 直接解压zip包就行
node安装备用: 这个需要安装,自定义选择自己规划好的目录,我这边相关ES的都放在了一块,在安装的时候注意添加环境变量
在这里插入图片描述

3.环境配置

3.1 node环境配置

3.1.1 dos窗口查看是否安装成功,使用命令:node -v,出现如下截图,则说明安装成功:
在这里插入图片描述
3.1.2 安装grunt
在node安装路径下,使用命令安装:npm install -g grunt-cli
安装结束后,使用命令grunt -version查看是否安装成功,出现如下截图,说明安装成功。
在这里插入图片描述
选中目录,敲CMD进入dos窗口,并执行安装语句
在这里插入图片描述

3.2 安装pathomjs

在dos窗口进入到head路径下,执行:npm install
在这里插入图片描述
使用命令npm start启用服务,出现如下截图,则说明服务启动成功
在这里插入图片描述
退出:Ctrl + C

3.3 ES集群配置:

修改每个节点中config下的elasticsearch.yml配置文件
node-1:

# 配置es集群的名称:三个节点必须一样
cluster.name: my-application
# 节点名称:三个节点不相同:node-1 node-2 node-3
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插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"

node-2:

cluster.name: my-application
node.name: node-2
node.master: true
node.data: true
network.host: 127.0.0.1
http.port: 9201
transport.tcp.port: 9301
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
http.cors.enabled: true
http.cors.allow-origin: "*"

node-3:

cluster.name: my-application
node.name: node-3
node.master: true
node.data: true
network.host: 127.0.0.1
http.port: 9202
transport.tcp.port: 9302
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
http.cors.enabled: true
http.cors.allow-origin: "*"

node-1节点中:http.port: 9200和transport.tcp.port: 9300切记使用默认,不然到最后会出现es-head挂载不上node-2,node-3节点,只显示master节点,解决办法:

  • 进到节点2、3的/elasticsearch-7.6.1/data/目录下删除nodes文件,之后重启节点2、3的es进程即可

4 集群启动

4.1 启动ES集群

逐一启动每个es节点,运行每个节点下bin目录中的elasticsearch.bat文件
node-1:
在这里插入图片描述
node-2:
在这里插入图片描述
node-3:
在这里插入图片描述
在启动的过程中,若出现闪退的情况;更改JVM的配置:config\jvm.options,默认1g,改小即可
在这里插入图片描述
若想看报错日志的情况,此时可以通过cmd命令框执行bat启动文件,就可以看到报错信息了,然后进行对应的修改即可。
在这里插入图片描述
在这里插入图片描述

4.1 启动es-head插件

在这里插入图片描述
在这里插入图片描述
集群验证
在这里插入图片描述
登录es-head
在这里插入图片描述

5 问题总结:

5.1 grunt不是内部或外部命令

使用命令npm start启用服务时,报grunt不是内部或外部命令,如下所示:
在这里插入图片描述
解决办法:
将node安装路径,加到环境变量path路径下,重启dos窗口即可。

5.2 head服务启用失败

使用npm start命令启用服务,报错如下:
在这里插入图片描述
解决办法:
在es路径下执行命令 npm install,因为没有安装pathomjs,所以导致报错

5.3 提示未连接

head服务启用成功,通过localhost:9100访问,提示集群健康值:未连接
在这里插入图片描述
解决办法:

需要在elasticsearch.yml文件中增加以下配置:

http.cors.enabled: true
http.cors.allow-origin: "*"

说明:
http.cors.enabled:true 如果启用了 HTTP 端口,那么此属性会指定是否允许跨源 REST 请求。
http.cors.allowed.origin:“*” 如果 http.cors.enabled 的值为 true,那么该属性会指定允许 REST 请求来自何处。
重启服务,再次访问,则恢复正常
在这里插入图片描述


鲜衣怒马少年时,不负韶华行且知


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值