elasticsearch 分布式集群搭建

elasticsearch环境搭建及单节点搭建可参考我的上一篇:http://www.cnblogs.com/xuwenjin/p/8745624.html

本文以Elaticsearch 6.2.2 版本为基础,讲解Elasticsearch三个节点的分布式部署、核心配置的含义以及分布式部署遇到的坑

楼主是在一台机器上配置的,所有下面的network.host全部配置同一IP

1、配置节点

1.1配置主节点:

#集群名称
cluster.name: xwj

#节点名称
node.name: master

#是否参与master选举
node.master: true 

#绑定的ip
network.host: 127.0.0.1

#默认端口
http.port: 9200

#解决跨域-这样head插件就可以访问
http.cors.enabled: true
http.cors.allow-origin: "*" 

1.2 将elasticsearch的压缩包解压两次,分别解压到两个文件夹中。然后分别修改配置文件

随从节点slave1的配置:

#集群名称
cluster.name: xwj

#节点名称
node.name: slave1

#绑定的ip
network.host: 127.0.0.1

#默认端口已使用,这里用新的端口
http.port: 9201

#发现主节点(通过主节点的ip)
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]

随从节点slave2跟节点slave1配置很像,就端口号和节点名称不一样。如下图:

#集群名称
cluster.name: xwj

#节点名称
node.name: slave2

#绑定的ip
network.host: 127.0.0.1

#默认端口已使用,这里用新的端口
http.port: 9202

#发现主节点(通过主节点的ip)
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]

2、启动服务

2.1 启动主节点,会发现节点名称为master为主节点

2.2 分别启动slave1和slave2

在slave启动的过程中,通过上面打印信息,可以看到slave1发现了主节点master及另一个随从节点slave2(先启动)。此时主节点也会发现另两个节点加入进来

2.3 部署成功示例:

五角星的为主节点,圆点的为随从节点。

默认5个分片,一个备份(粗线框框为分片,细线的为备份分片)。可以看到,三个节点平均分配所有分片及备份

3、部署节点原理

多机集群中的节点可以分为master nodes和data nodes,在配置文件中使用Zen发现(Zen discovery)机制来管理不同节点。Zen发现是ES自带的默认发现机制,使用

多播发现其它节点。只要启动一个新的ES节点并设置和集群相同的名称这个节点就会被加入到集群中。(所以,同集群的集群名称一致,才能便于自动发现)

Elasticsearch集群中有的节点一般有三种角色:master node、data node和client node。

1)master node——master节点点主要用于元数据(metadata)的处理,比如索引的新增、删除、分片分配等。

2)data node——data 节点上保存了数据分片。它负责数据相关操作,比如分片的 CRUD,以及搜索和整合操作。这些操作都比较消耗 CPU、内存和 I/O 资源;

2)client node——client 节点起到路由请求的作用,实际上可以看做负载均衡器。

4、其它参数含义


#分片数和副本数index.number_of_shards: 5
index.number_of_replicas: 1

#master选举最少的节点数,这个一定要设置为N/2+1,其中N是:具有master资格的节点的数量,而不是整个集群节点个数discovery.zen.mininum_master_nodes: 2

#discovery ping的超时时间,拥塞网络,网络状态不佳的情况下设置高一点
discovery.zen.ping.timeout: 3s

#关闭自动发现节点
discovery.zen.ping.multicast.enabled: false

#定义发现的节点
discovery.zen.ping.unicast.hosts: ["192.168.1.1:9201", "192.168.1.1:9202"]

注意:分布式系统整个集群节点个数N要为奇数个!!

5、踩过的坑:

1、增加节点时,直接将启动成功的elasticsearch文件夹拷贝,然后修改配置文件。这样在启动的时候,会报已有一个相同节点id却不同实例,导致无法进入到集

   群中

原因:成功启动后,会在data文件目录下,生成该节点的信息

  正确做法:解压elasticsearch的压缩包,然后再改配置文件。或者复制后,删除data文件目录下的数据

原文地址:https://www.cnblogs.com/xuwenjin/p/9018006.html

时间: 2024-07-30 21:04:37

elasticsearch 分布式集群搭建的相关文章

ELK介绍及搭建 Elasticsearch 分布式集群

笔记内容:ELK介绍及搭建 Elasticsearch 分布式集群笔记日期:2018-03-02 27.1 ELK介绍 27.2 ELK安装准备工作 27.3 安装es 27.4 配置es 27.5 curl查看es集群情况 ELK介绍 需求背景: 业务发展越来越庞大,服务器越来越多 各种访问日志.应用日志.错误日志量越来越多,导致运维人员无法很好的去管理日志 开发人员排查问题,需要到服务器上查日志,不方便 运营人员需要一些数据,需要我们运维到服务器上分析日志 为什么要用到ELK: 一般我们需要

基于Hadoop的数据分析综合管理平台之Hadoop、HBase完全分布式集群搭建

能够将热爱的技术应用于实际生活生产中,是做技术人员向往和乐之不疲的事. 现将前期手里面的一个项目做一个大致的总结,与大家一起分享.交流.进步.项目现在正在线上运行,项目名--基于Hadoop的数据分析综合管理平台. 项目流程整体比较清晰,爬取数据(txt文本)-->数据清洗-->文本模型训练-->文本分类-->热点话题发现-->报表"实时"展示,使用到的技术也是当今互联网公司常用的技术:Hadoop.Mahout.HBase.Spring Data Had

分布式实时日志系统(四) 环境搭建之centos 6.4下hbase 1.0.1 分布式集群搭建

一.hbase简介 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java.它是Apache软件基金会的Hadoop项目的一部分,运行于HDFS文件系统之上,为 Hadoop 提供类似于BigTable 规模的服务.因此,它可以容错地存储海量稀疏的数据.HBase在列上实现了BigTable论文提到的压缩算法.内存操作和布隆过滤器.HBase的表能够作为MapReduce任务的输入和输出,可以通过Java API来存取数据,也可以

Storm分布式集群搭建

Storm分布式集群搭建 1.解压Storm压缩文件 [[email protected] software]# tar -zxf apache-storm-0.10.0.tar.gz -C /opt/modules [[email protected] software]# cd /opt/modules [[email protected] modules]# mv apache-storm-0.10.0 storm-0.10.0 2.配置Storm的配置文件 部署依赖环境 Java 6+

kafka系列二:多节点分布式集群搭建

上一篇分享了单节点伪分布式集群搭建方法,本篇来分享一下多节点分布式集群搭建方法.多节点分布式集群结构如下图所示: 为了方便查阅,本篇将和上一篇一样从零开始一步一步进行集群搭建. 一.安装Jdk 具体安装步骤可参考 linux安装jdk. 二.安装与配置zookeeper 下载地址:https://www-us.apache.org/dist/zookeeper/stable/ 下载二进制压缩包 zookeeper-3.4.14.tar.gz,然后上传到linux服务器指定目录下,本次上传目录为 

Hadoop 分布式集群搭建 & 配置

一. 安装Java Java下载 官网下载合适的jdk,本人使用的是jdk-7u79-linux-x64.tar.gz,接下来就以该版本的jdk为例,进行Java环境变量配置 创建Java目录 在/usr/local目录下创建java目录,用于存放解压的jdk cd /usr/local mkdir java 解压jdk 进入java目录 cd java tar zxvf jdk-7u79-linux-x64.tar.gz 配置环境变量 编辑profile文件 cd /etc vim profi

Hadoop伪分布式集群搭建总结

Hadoop伪分布式集群搭建总结 一.所需软件VMware15!CentOS6.5JDK1.8Hadoop2.7.3二.安装注意:对文件进行编辑:输入a,表示对该文件进行编辑,最后保存该文件,操作为:点击键盘上的Esc按钮,然后输入英文的:字符,再输入wq,点击回车,完成文件的保存.1.关闭防火墙和禁用SELINUX(1).永久关闭防火墙,重启Linux系统(2) .禁用SELINUX:修改文件参数 重启Linux使其生效(3).检查防火墙是否运行,显示下图即为关闭2.配置hostname与IP

Hadoop全分布式集群搭建(详细)

一.准备物理集群.1.物理集群搭建方式.采用搭建3台虚拟机的方式来部署3个节点的物理集群.2.虚拟机准备.准备一个已近建好的虚拟机进行克隆.(建议为没进行过任何操作的)在要选择克隆的虚拟机上右击鼠标,管理,克隆.在弹出对话框中进行以下操作.(1).下一步.(2).选择虚拟机中的当前状态,下一步. (3).选择创建完整克隆,下一步.(4).输入虚拟机名称,下一步.(5).克隆完成.(6).按照上述步骤再创建一个虚拟机名称为slave02的.3.虚拟机网络配置.由于slave01和slave02虚拟

MinIO 分布式集群搭建

MinIO 分布式集群搭建 分布式 Minio 可以让你将多块硬盘(甚至在不同的机器上)组成一个对象存储服务.由于硬盘分布在不同的节点上,分布式 Minio 避免了单点故障. Minio 分布式模式可以搭建一个高可用的对象存储服务,你可以使用这些存储设备,而不用考虑其真实物理位置. (1)数据保护 分布式 Minio 采用纠删码(erasure code)来防范多个节点宕机和位衰减(bit rot). 分布式 Minio 至少需要 4 个节点,使用分布式 Minio 就自动引入了纠删码功能. 纠