ElasticSearch 集群搭建
一、ElasticSearch 集群
1.1 搭建集群
Elasticsearch如果做集群的话Master节点至少三台服务器或者三个Master实例加入相同集群,三个Master节点最多只能故障一台Master节点,如果故障两个Master节点,Elasticsearch将无法组成集群.会报错,Kibana也无法启动,因为Kibana无法获取集群中的节点信息。
由于,我们使用只有一台虚拟机,所以我们在虚拟机中安装三个ES实例,搭建伪集群,而ES启动比较耗内存,所以先设置虚拟机的内存3G和CPU个数4个
1.1.1 整体步骤
步骤如下:
拷贝opt目录下的elasticsearch-7.4.0安装包3个,分别命名:
elasticsearch-7.4.0-itcast1
elasticsearch-7.4.0-itcast2
elasticsearch-7.4.0-itcast3
然后修改elasticsearch.yml文件件。
然后启动启动itcast1、itcast2、itcast3三个节点。
打开浏览器输⼊:http://192.168.149.135:9200/_cat/health?v ,如果返回的node.total是3,代表集 群搭建成功
在此,需要我们特别注意的是,像本文这样单服务器多节点( 3 个节点)的情况,仅供测试使用,集群环境如下:
cluster name | node name | IP Addr | http端口 / 通信端口 |
itcast-es | itcast1 | 192.168.149.135 | 9201 / 9700 |
itcast-es | itcast2 | 192.168.149.135 | 9202 / 9800 |
itcast-es | itcast3 | 192.168.149.135 | 9203 / 9900 |
1.1.2 拷贝副本
拷贝opt目录下的elasticsearch-7.4.0安装包3个,打开虚拟机到opt目录
执行 拷贝三份
cd /opt cp -r elasticsearch-7.4.0 elasticsearch-7.4.0-itcast1 cp -r elasticsearch-7.4.0 elasticsearch-7.4.0-itcast2 cp -r elasticsearch-7.4.0 elasticsearch-7.4.0-itcast3
1.1. 3 修改elasticsearch.yml配置文件
1)、创建日志目录
cd /opt mkdir logs mkdir data # 授权给itheima用户 chown -R itheima:itheima ./logs chown -R itheima:itheima ./data chown -R itheima:itheima ./elasticsearch-7.4.0-itcast1 chown -R itheima:itheima ./elasticsearch-7.4.0-itcast2 chown -R itheima:itheima ./elasticsearch-7.4.0-itcast3
打开elasticsearch.yml配置,分别配置下面三个节点的配置文件
vim /opt/elasticsearch-7.4.0-itcast1/config/elasticsearch.yml vim /opt/elasticsearch-7.4.0-itcast2/config/elasticsearch.yml vim /opt/elasticsearch-7.4.0-itcast3/config/elasticsearch.yml
2)、下面是elasticsearch-7.4.0-itcast1配置文件
cluster.name: itcast-es node.name: itcast-1 node.master: true node.data: true node.max_local_storage_nodes: 3 network.host: 0.0.0.0 http.port: 9201 transport.tcp.port: 9700 discovery.seed_hosts: ["localhost:9700","localhost:9800","localhost:9900"] cluster.initial_master_nodes: ["itcast-1", "itcast-2","itcast-3"] path.data: /opt/data path.logs: /opt/logs#集群名称 cluster.name: itcast-es #节点名称 node.name: itcast-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: ["itcast-1", "itcast-2","itcast-3"] #数据和存储路径 path.data: /opt/data path.logs: /opt/logs
3)、下面是elasticsearch-7.4.0-itcast2配置文件
cluster.name: itcast-es node.name: itcast-2 node.master: true node.data: true node.max_local_storage_nodes: 3 network.host: 0.0.0.0 http.port: 9202 transport.tcp.port: 9800 discovery.seed_hosts: ["localhost:9700","localhost:9800","localhost:9900"] cluster.initial_master_nodes: ["itcast-1", "itcast-2","itcast-3"] path.data: /opt/data path.logs: /opt/logs #集群名称 cluster.name: itcast-es #节点名称 node.name: itcast-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: ["itcast-1", "itcast-2","itcast-3"] #数据和存储路径 path.data: /opt/data path.logs: /opt/logs
4)、下面是elasticsearch-7.4.0-itcast3 配置文件
cluster.name: itcast-es node.name: itcast-3 node.master: true node.data: true node.max_local_storage_nodes: 3 network.host: 0.0.0.0 http.port: 9203 transport.tcp.port: 9900 discovery.seed_hosts: ["localhost:9700","localhost:9800","localhost:9900"] cluster.initial_master_nodes: ["itcast-1", "itcast-2","itcast-3"] path.data: /opt/data path.logs: /opt/logs#集群名称 cluster.name: itcast-es #节点名称 node.name: itcast-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: ["itcast-1", "itcast-2","itcast-3"] #数据和存储路径 path.data: /opt/data path.logs: /opt/logs
1.1.4 执行授权
在root用户下执行 chown -R itheima:itheima /opt/elasticsearch-7.4.0-itcast1 chown -R itheima:itheima /opt/elasticsearch-7.4.0-itcast2 chown -R itheima:itheima /opt/elasticsearch-7.4.0-itcast3 如果有的日志文件授权失败,可使用(也是在root下执行) cd /opt/elasticsearch-7.4.0-itcast1/logs chown -R itheima:itheima ./* cd /opt/elasticsearch-7.4.0-itcast2/logs chown -R itheima:itheima ./* cd /opt/elasticsearch-7.4.0-itcast3/logs chown -R itheima:itheima ./*
1.1.5 启动三个节点
启动之前,设置ES的JVM占用内存参数,防止内存不足错误
vim /opt/elasticsearch-7.4.0-itcast1/bin/elasticsearch
可以发现,ES启动时加载/config/jvm.options文件
vim /opt/elasticsearch-7.4.0-itcast1/config/jvm.options
默认情况下,ES启动JVM最小内存1G,最大内存1G
-xms:最小内存 -xmx:最大内存
修改为256m
启动成功访问节点一:
可以从日志中看到:master not discovered yet。还没有发现主节点
访问集群状态信息 http://192.168.149.135:9201/_cat/health?v 不成功
启动成功访问节点二:
可以从日志中看到:master not discovered yet。还没有发现主节点master node changed.已经选举出主节点itcast-2
访问集群状态信息 http://192.168.149.135:9201/_cat/health?v 成功
健康状况结果解释: 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%
启动成功访问节点三
访问集群状态信息 http://192.168.149.135:9201/_cat/health?v 成功
可以看到节点已经变为3个,至此,ES集群已经搭建成功~
1.2 使用Kibana配置和管理集群
1.2.1 集群配置
因为之前我们在单机演示的时候也使用到了Kibana,我们先复制出来一个Kibana,然后修改它的集群配置
cd /opt/ cp -r kibana-7.4.0-linux-x86_64 kibana-7.4.0-linux-x86_64-cluster # 由于 kibana 中文件众多,此处会等待大约1分钟的时间
修改Kibana的集群配置
vim kibana-7.4.0-linux-x86_64-cluster/config/kibana.yml 加入下面的配置 elasticsearch.hosts: ["http://localhost:9201","http://localhost:9202","http://localhost:9203"]
启动Kibana
sh kibana --allow-root
1.2.2 管理集群
1、打开Kibana,点开 Stack Monitoring 集群监控
2、点击【Nodes】查看节点详细信息
在上图可以看到,第一个红框处显示【Green】,绿色,表示集群处理健康状态
第二个红框是我们集群的三个节点,注意,itcast-3旁边是星星,表示是主节点
ElasticSearch 集群搭建相关推荐
- elasticsearch集群搭建及springboot集成使用
elasticsearch集群搭建及springboot集成使用 1. ES介绍 2. 原理 2.1 核心概念 2.2 索引功能 2.3 ES特性 3. 分词器(analyzer) 4. 集群搭建 4 ...
- elasticsearch集群搭建记录
elasticsearch集群搭建记录 一.集群服务器配置信息 二.安装 JDK 三.下载 ElasticSearch 安装包和中文分词器并解压 四.创建用于存放数据与日志的目录 五.集群配置 5.1 ...
- elasticsearch 集群搭建 + kibana配置
elasticsearch 集群搭建 + kibana配置 一.elasticsearch 集群搭建 1.下载并解压elasticsearch 2.ES集群搭建 2.1 打开防火墙9200,9300端 ...
- Elasticsearch集群搭建手册及配置详情(基于elasticsearch-8.5.2版本)
Elasticsearch集群搭建手册及配置详情(基于elasticsearch-8.5.2版本) 0 安装前准备工作 0.1 安装包下载 组件 安装包 下载地址 es elasticsearch-8 ...
- (六)elasticsearch 集群 网络超时解决方案 --- Elasticsearch 集群搭建
上一篇: (五)elasticsearch 集群扩展 --- Elasticsearch 集群搭建 因为网络原因,可能会有节点被踢出集群,如果网络恢复,节点会再次加入集群,但是这中间的过程是比较耗费性 ...
- 六,搭建elasticsearch集群搭建
@Author : By Runsen @Date : 2020/6/12 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘 ...
- elasticsearch集群搭建实例
下个月又开始搞搜索了,几个月没动这块还好没有落下. 晚上在自己虚拟机上搭建了一个简易搜索集群,分享一下. 操作系统环境: Red Hat 4.8.2-16 elasticsearch : elasti ...
- mac下ElasticSearch 集群搭建,使用Kibana配置和管理集群
Elasticsearch如果做集群的话Master节点至少三台服务器或者三个Master实例加入相同集群,三个Master节点最多只能故障一台Master节点,如果故障两个Master节点,Elas ...
- Elasticsearch集群搭建、优化及实践
文章目录 一.Elasticsearch集群 1.Elasticsearch集群概念 2.Elasticsearch集群安装 3.安装Kibana 4.测试集群状态 二.Elasticsearch优化 ...
- elasticsearch集群搭建
elasticsearch ARM架构集群搭建 一.搭建环境 搭建服务器IP 环境 es版本号 路径 20.10.0.xx CentOS Linux release 7.9.2009 (AltArch ...
最新文章
- android网络质量,基于Android的移动通信网络质量信息系统的设计与开发
- dos下 和 批处理中的 for 语句的基本用法
- 如果QQ秀和拍拍(易迅)深度合作,会有哪些化学反应?
- 信息系统项目管理师:第7章:项目成本管理(1)-章节重点
- MYSQL监控-自带工具Query Profiler的使用
- 【代码】python paramiko模块代码示例:远程执行命令及上传和下载
- 【mysq】远程访问权限(允许远程连接)
- iphone自定义铃声
- (转)在Myeclipse中查看android源码就是这么easy
- Libevent源码分析-----TAILQ_QUEUE队列
- redux-thunk使用_Redux Thunk用示例解释
- 使用memcached显著提升站点性能
- ECSHOP2.7.3删除后台左侧菜单中的云服务中心
- 复合选择器-后代选择器(HTML、CSS)
- 使用IDM继续下载会话过期的文件
- C# 语言规范_版本5.0 (第15章 委托)
- mysql占用大量写i o_Mysql占用大量写I/O
- LeetCode--042--接雨水(java版)
- Linux镜像克隆网卡流量
- flex盒子弹性布局-----摘抄博客等资料