一、ES集群管理

ES是如何解决高并发

ES是一个分布式全文检索框架,隐藏了复杂的处理机制,核心内容 分片机制、集群发现、分片负载均衡请求路由。

二、ES基本概念名词

Cluster

代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看es集群,在逻辑上是个整体,你与任何一个节点的通信和与整个es集群通信是等价的。

Shards

代表索引分片,es可以把一个完整的索引分成多个分片,这样的好处是可以把一个大的索引拆分成多个,分布到不同的节点上。构成分布式搜索。分片的数量只能在索引创建前指定,并且索引创建后不能更改。(会根据取模算法进行存放分片,所以不能更改)

replicas

代表索引副本,es可以设置多个索引的副本,副本的作用一是提高系统的容错性,当某个节点某个分片损坏或丢失时可以从副本中恢复。二是提高es的查询效率,es会自动对搜索请求进行负载均衡。

Recovery

代表数据恢复或叫数据重新分布,es在有节点加入或退出时会根据机器的负载对索引分片进行重新分配,挂掉的节点重新启动时也会进行数据恢复。

三、ES集群核心原理分析:

数据存储。
1、每个索引会被分成多个分片shards进行存储,默认创建索引是分配5个分片进行存储。
每个分片都会分布式部署在多个不同的节点上进行部署,该分片成为primary shards。
注意:索引的主分片primary shards定义好后,后面不能做修改。

documnet routing(数据路由)
当客户端发起创建document的时候,es需要确定这个document放在该index哪个shard上。这个过程就是数据路由。
路由算法:shard = hash(routing) % number_of_primary_shards
如果number_of_primary_shards在查询的时候取余发生的变化,无法获取到该数据

2、为了实现高可用数据的高可用,主分片可以有对应的备分片replics shards,replic shards分片承载了负责容错、以及请求的负载均衡。
注意: 每一个主分片为了实现高可用,都会有自己对应的备分片,主分片对应的备分片不能存放同一台服务器上。,主分片primary shards可以和其他replics shards存放在同一个node节点上。

四、环境搭建

1、首先准备三台虚拟机:

192.168.112.138
192.168.112.139
192.168.112.140

2、在机器上安装Elasticsearch环境
可以参考之前的博客:Linux环境下Elasticsearch6.4.3安装

3、三台服务器配置如下:
cd /usr/local/elasticsearch-6.4.3/config
vi elasticsearch.yml

cluster.name: myes  ###保证三台服务器节点集群名称相同
node.name: node-1 #### 每个节点名称不一样 其他两台为node-1 ,node-2
network.host: 192.168.112.138 #### 实际服务器ip地址
discovery.zen.ping.unicast.hosts: ["192.168.112.138", "192.168.112.139","192.168.112.140"]##多个服务集群ip
discovery.zen.minimum_master_nodes: 1


另外两台需要修改node.name和network.host

192.168.112.139:

node.name: node-2
network.host: 192.168.112.139

192.168.112.140:

node.name: node-3
network.host: 192.168.112.140

由于之前启动过es,需要删除每台机器上面的data文件夹下的节点信息,不然数据不会同步

关闭防火墙:systemctl stop firewalld.service

使用普通用户启动es即可。

五、查看集群信息

浏览器访问:http://192.168.112.138:9200/_cat/nodes?pretty

显示结果如下:

可以看到138后面是*号,代表138为主节点,另外两台是从节点。
当主节点挂掉后,会从两台从节点中选取一个当主节点
把138停掉,然后访问:http://192.168.112.139:9200/_cat/nodes?pretty

Elasticsearch集群环境搭建相关推荐

  1. Elasticsearch集群:搭建集群环境

    Elasticsearch集群:搭建集群环境 1. 创建相应目录 在/root/es-cluster目录下创建以下目录 mkdir -p es01/data mkdir -p es01/logsmkd ...

  2. 2W 字详解 Redis 6.0 集群环境搭建实践

    原文链接:https://www.cnblogs.com/hueyxu/p/13884800.html 本文是Redis集群学习的实践总结(基于Redis 6.0+),详细介绍逐步搭建Redis集群环 ...

  3. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(九)安装kafka_2.11-1.1.0

    如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...

  4. hadoop集群环境搭建准备工作

    一定要注意hadoop和linux系统的位数一定要相同,就是说如果hadoop是32位的,linux系统也一定要安装32位的. 准备工作: 1 首先在VMware中建立6台虚拟机(配置默认即可).这是 ...

  5. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十一)NIFI1.7.1安装

    一.nifi基本配置 1. 修改各节点主机名,修改/etc/hosts文件内容. 192.168.0.120master192.168.0.121slave1192.168.0.122 slave2 ...

  6. 『高级篇』docker之DockerSwarm的集群环境搭建(28)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『高级篇』docker之DockerSwarm的集群环境搭建(28) 上次了解了docker Swarm,这次一起动手操作,搭 ...

  7. Ubuntu下基于 Cilium CNI 的 Kubernetus集群环境搭建

    Ubuntu下基于 Cilium CNI 的 Kubernetus集群环境搭建 1. 前言 2. 安装三个Ubuntu 2.1 三个机器都关闭防火墙 2.2 三个机器都关闭swap 2.3 三个机器都 ...

  8. Hadoop 2.x 完全分布式HA集群环境搭建

    Hadoop 2.x 完全分布式HA集群环境搭建 目录 Hadoop 2.0 环境搭建 前提:环境准备 第一步:修改hadoop-env.sh配置文件,配置好JAVA_HOME环境变量 第二步:修改h ...

  9. 学习笔记之-Kubernetes(K8S)介绍,集群环境搭建,Pod详解,Pod控制器详解,Service详解,数据存储,安全认证,DashBoard

    笔记来源于观看黑马程序员Kubernetes(K8S)教程 第一章 kubernetes介绍 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署 ...

最新文章

  1. python爬虫教程视频-13天搞定Python分布爬虫
  2. leetcode算法题--打印从1到最大的n位数
  3. 美好生活从java开始
  4. Spring的bean管理注解和配置文件混合使用
  5. java 从键盘中读取字符流 自定义异常
  6. [Redis] redis-cli 命令总结
  7. pyqt怎么button怎么链接_微信视频号怎么添加链接?添加微信公众号链接教程
  8. webgl存本地文件_Unity发布WebGL后加载本地文件
  9. 服务器装win7找不到硬盘驱动,电脑找不到硬盘驱动器,教你win7电脑找不到硬盘驱动器的解决方法...
  10. u盘文件或目录损坏且无法读取
  11. failed to obtain in-memory shard lock
  12. Java烤地瓜简单小案例
  13. 基于React和fabricjs开发的在线名片、海报设计器,大前端项目在线图片编辑器源码分享
  14. zigbee无线传感网实训---linux命令的简单了解(one day)
  15. Wrapper中ge,gt,lt,le的含义
  16. 电脑装服务器硬件,服务器硬件系统的维护拆装篇 -电脑资料
  17. rust提示游戏安全违规_RUST 游戏启动不了 每次都是 Rust Launcher Error: Loading Error - Start Service failed (1450)...
  18. 梁漱溟:做学问的八个境界
  19. 美团2021-10-4最优二叉树Ⅱ
  20. JetBrains .idea project directory (详细利用教程)

热门文章

  1. 打通版微社区(4):微信第三方服务部署——JSP的IIS部署
  2. linux内 “杀不死”的httpd服务
  3. 亚马逊spi-api对接实战
  4. 某店铺收银系统开发总结
  5. 基于MATLAB与Python的DBSCAN算法代码
  6. html怎么增加浏览量,小红书怎么增加浏览量
  7. 两台服务器虚拟成一个ip,两台相同服务器ip怎么配置
  8. 又一神器开源!无需服务器支持!打通手机,浏览器的Web LLM!
  9. Web渗透测试知识星球情况介绍
  10. 专访| 达摩院视觉黑科技创造者华先胜