当前位置: 首页 > news >正文

mac下ElasticSearch 集群搭建,使用Kibana配置和管理集群

Elasticsearch如果做集群的话Master节点至少三台服务器或者三个Master实例加入相同集群,三个Master节点最多只能故障一台Master节点,如果故障两个Master节点,Elasticsearch将无法组成集群.会报错,Kibana也无法启动,因为Kibana无法获取集群中的节点信息。

现在在mac下安装三个ES实例,搭建伪集群。
 

一、安装流程

1.去官网下载合适的安装包,我是M1芯片的mac,下载的elasticsearch-7.17.0-darwin-aarch64版本,解压elasticsearch-7.17.0安装包3个,分别命名:

elasticsearch-7.17.0-cluster1

elasticsearch-7.17.0-cluster2

elasticsearch-7.17.0-cluster3

2.然后修改elasticsearch.yml文件。

3.然后启动启动cluster1、cluster2、cluster3三个节点。

打开浏览器输⼊:http://localhost:9201/_cat/health?v ,如果返回的node.total是3,代表集 群搭建成功

在此,需要我们特别注意的是,像本文这样单服务器多节点( 3 个节点)的情况,仅供测试使用,集群环境如下:

cluster namenode nameIP Addrhttp端口 / 通信端口
cluster-escluster-1localhost9201 / 9700
cluster-escluster-2localhost9202 / 9800
cluster-escluster-3localhost9203 / 9900

二、安装步骤

1.下载解压后拷贝3个份。

elasticsearch-7.17.0-cluster1

elasticsearch-7.17.0-cluster2

elasticsearch-7.17.0-cluster3

 2.新建logs,datas文件

3.修改每个节点下的elasticsearch.yml配置文件

vim /elasticsearch-7.17.0-cluster1/config/elasticsearch.yml 
vim /elasticsearch-7.17.0-cluster2/config/elasticsearch.yml 
vim /elasticsearch-7.17.0-cluster3/config/elasticsearch.yml 

3.1 下面是elasticsearch-7.17.0-cluster1配置文件

#集群名称
cluster.name: cluster-es
#节点名称
node.name: cluster-1 
#是不是有资格主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3 
#ip地址
network.host: 0.0.0.0
#端口
http.port: 9201
#内部节点之间沟通端口
transport.tcp.port: 9700
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["localhost:9700","localhost:9800","localhost:9900"]
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["cluster-1", "cluster-2","cluster-3"] 
#数据和存储路径
path.data: /改成你的路径/elasticsearch-7.17.0-cluster1/datas
path.logs: /改成你的路径/elasticsearch-7.17.0-cluster1/logs

 3.2 下面是elasticsearch-7.17.0-cluster2配置文件

#集群名称
cluster.name: cluster-es
#节点名称
node.name: cluster-2 
#是不是有资格主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3 
#ip地址
network.host: 0.0.0.0
#端口
http.port: 9202
#内部节点之间沟通端口
transport.tcp.port: 9800
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["localhost:9700","localhost:9800","localhost:9900"]
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["cluster-1", "cluster-2","cluster-3"] 
#数据和存储路径
path.data: /改成你的路径/elasticsearch-7.17.0-cluster2/datas
path.logs: /改成你的路径/elasticsearch-7.17.0-cluster2/logs

 3.1 下面是elasticsearch-7.17.0-cluster3配置文件

#集群名称
cluster.name: cluster-es
#节点名称
node.name: cluster-3 
#是不是有资格主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3 
#ip地址
network.host: 0.0.0.0
#端口
http.port: 9203
#内部节点之间沟通端口
transport.tcp.port: 9900
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["localhost:9700","localhost:9800","localhost:9900"]
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["cluster-1", "cluster-2","cluster-3"] 
#数据和存储路径
path.data: /改成你的路径/elasticsearch-7.17.0-cluster3/datas
path.logs: /改成你的路径/elasticsearch-7.17.0-cluster3/logs

4.设置ES的JVM占用内存参数,防止内存不足错误

vim elasticsearch-7.17.0-cluster1/config/jvm.options
vim elasticsearch-7.17.0-cluster2/config/jvm.options
vim elasticsearch-7.17.0-cluster3/config/jvm.options

默认情况下,ES启动JVM最小内存1G,最大内存1G

-xms:最小内存
-xmx:最大内存

修改为256m

-Xms256m
-Xmx256m

5.启动并查看节点

5.1三个节点下分别启动

./bin/elasticsearch

5.2查看节点是否启动成功

http://localhost:9201/_cat/health?v
http://localhost:9202/_cat/health?v
http://localhost:9203/_cat/health?v

green状态显示成功

健康状况结果解释:cluster 集群名称
status 集群状态 green代表健康;yellow代表分配了所有主分片,但至少缺少一个副本,此时集群数据仍旧完整;red 代表部分主分片不可用,可能已经丢失数据。
node.total代表在线的节点总数量
node.data代表在线的数据节点的数量
shards 存活的分片数量
pri 存活的主分片数量 正常情况下 shards的数量是pri的两倍。
relo迁移中的分片数量,正常情况为 0
init 初始化中的分片数量 正常情况为 0
unassign未分配的分片 正常情况为 0
pending_tasks准备中的任务,任务指迁移分片等 正常情况为 0
max_task_wait_time任务最长等待时间
active_shards_percent正常分片百分比 正常情况为 100%

三、使用Kibana配置和管理集群

1.集群配置

官网下载对应的Kibana版本kibana-7.17.0-darwin-aarch64,解压后修改配置文件

vim  kibana-7.17.0-cluster/config/kibana.yml

加入下面配置

elasticsearch.hosts: ["http://localhost:9201","http://localhost:9202","http://localhost:9203"]

启动Kibana

sh ./bin/kibana

2.集群管理

打开http://localhost:5601/,点开 Stack Monitoring 集群监控

 显示Green,三个节点运行正常。

3.遇到问题 

Kibana的Stack Monitoring显示节点offline

 1.配置kibana.yml

首先要参考的是官网给出的详细配置说明https://www.elastic.co/guide/en/kibana/current/monitoring-data.html,官网中的这两个地方我都进行补充了。大家可以根据自己的需求看下有没有什么遗漏的配置

vim kibana-7.17.0-cluster/config/kibana.yml
monitoring.ui.elasticsearch.hosts: ["http://localhost:9201","http://localhost:9202","http://localhost:9203"]
monitoring.ui.enabled: true

2.配置3个节点的elasticsearch.yml

vim elasticsearch-7.17.0-cluster1/config/elasticsearch.yml
vim elasticsearch-7.17.0-cluster2/config/elasticsearch.yml
vim elasticsearch-7.17.0-cluster3/config/elasticsearch.yml

加上

xpack.monitoring.collection.enabled: true

3.最后重新各节点和kibana,显示正常了。主节点旁边带有星星。

http://www.lryc.cn/news/18214.html

相关文章:

  • 【软件测试】自动化测试的追求,水土不服?看看资深测试咋说的......
  • Mac mini 外接移动硬盘无法显示,磁盘工具装载报错显示 com apple diskmanagement disenter
  • 【图像处理OpenCV(C++版)】——4.6 限制对比度的自适应直方图均衡化
  • 设计模式--工厂模式
  • 算法笔记(十三)—— 树形DP及Morris遍历
  • 【Classical Network】EfficientNetV2
  • 索引类型FULLTEXT、NORMAL、SPATIAL、UNIQUE的区别
  • 稳定、可控、高可用:运维最应该加持哪些技术 buff?
  • 动态网站开发讲课笔记02:Java Web概述
  • 如何保护 IP 地址的隐私问题
  • 高并发系统设计之限流
  • ZCMU--5286: Rose的字符串(C语言)
  • MAC下搭建hadoop
  • Python如何实现自动登录和下单的脚本,请看selenium的表演
  • 华为OD机试真题Python实现【关联子串】真题+解题思路+代码(20222023)
  • Flutter+【三棵树】
  • 若依系统【SpringBoot】如何集成qq邮件发送【超详细,建议收藏】
  • kettle使用--1.mysql多表关联导入mongoDB
  • 2023年CDGA考试-第10章-参考数据和主数据(含答案)
  • 2023年,什么行业更有发展前景?
  • 致盛咨询携手亚马逊云科技进一步开拓中国市场
  • ts之 命名空间 namespace、三斜线指令、声明文件(declare 声明ts的变量函数第三方模块等 )
  • Day898.Join语句执行流程 -MySQL实战
  • ChatGPT商业前景如何?人工智能未来会如何发展?
  • 代码随想录第十六天(347、194、195、94)
  • < elementUI组件样式及功能补全: 实现点击steps组件跳转对应步骤 >
  • 【学习笔记】互联网金融:芝麻信用分的建模过程
  • Linux C/C++或者嵌入式开发到底有没有35岁危机?
  • 国内领先的十大API接口排行
  • 【Linux】Kickstart 配置U盘自动化安装Linux系统