关闭

搭建Elasticsearch 5.4分布式集群

标签: elasticsearch集群多机集群cluster
31482人阅读 评论(10) 收藏 举报
分类:

一、集群角色

多机集群中的节点可以分为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 资源;
  3. client node:client 节点起到路由请求的作用,实际上可以看做负载均衡器。( 对于没有很多请求的业务,client node可以不加,master和data足矣)

二、基于2.X的集群配置

选取10.90.4.9这台机器做为client node,elasticsearch.yml中的配置如下:

cluster.name: ucas
node.name: node-09
node.master: true
node.data: false
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["10.90.4.9"]
discovery.zen.ping.multicast.enabled: true

注意端口不是9200,而是9300。也可以不写端口。
启动10.90.4.9上的es服务器,现在只是一个单机集群。

在10.90.4.8这台机器上配置好同样的ES作为master node,elasticsearch.yml中的配置如下:

cluster.name: ucas
node.name:  node-08
node.master: true
node.data: true
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["10.90.4.9"]
discovery.zen.ping.multicast.enabled: true

10.90.4.7作为data node,配置如下:

cluster.name: ucas
node.name: node-07
node.master: false
node.data: true
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["10.90.4.9"]
discovery.zen.ping.multicast.enabled: true

访问http://10.90.4.9:9200/_plugin/head/

这里写图片描述

如图,node-09为client节点,不存储数据。

三、基于5.4的多机集群配置

ELasticsearch 5.4要求JDK版本最低为1.8,由于服务器上的JDK版本为1.7并且Java环境变量写在/etc/profile里面,改JDK会影响其他程序,这次基于5.4在我的mac和另外一台Ubuntu 做测试。

mac上的本机ip为192.168.1.111,设为master节点,配置如下:


cluster.name: my-application
node.name: node-111

network.host: 192.168.1.111
http.port: 9200

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

node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["192.168.1.111"]

Ubuntu机器的ip位192.168.1.102,配置如下:


cluster.name: my-application
node.name: node-102

network.host: 192.168.1.102
http.port: 9200

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

node.master: false
node.data: true
discovery.zen.ping.unicast.hosts: ["192.168.1.111"]

先启动mac上的master,再启动Ubuntu上的slave节点,观察输出,会有一个node-102探测到master节点的提示:

2017-06-07T11:33:39,369][INFO ][o.e.c.s.ClusterService   ] [node-102] detected_master {node-111}{3dQd1RRVTMiKdTckM68nPQ}{H6Zu7PAQRWewUBcllsQWTQ}{192.168.1.111}{192.168.1.111:9300}, added {{node-111}{3dQd1RRVTMiKdTckM68nPQ}{H6Zu7PAQRWewUBcllsQWTQ}{192.168.1.111}{192.168.1.111:9300},}, reason: zen-disco-receive(from master [master {node-111}{3dQd1RRVTMiKdTckM68nPQ}{H6Zu7PAQRWewUBcllsQWTQ}{192.168.1.111}{192.168.1.111:9300} committed version [8]])'

这里写图片描述

访问head,一个master一个slave组成集群,界面如下:

这里写图片描述

四、基于5.4的单机多节点集群配置

如果想要在一台机器上启动多个节点,步骤如下:

  1. 复制一份ELasticsearch的安装包
  2. 修改端口,比如一个是9200,一个是9205
  3. 删除data目录下的数据(如果是新解压的安装包就不必了)

建议或者问题欢迎留言。

6
1
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

谈一谈Elasticsearch的集群部署

Elasticsearch是一个分布式的搜索引擎和数据分析引擎。本文重点谈一谈Elasticsearch的集群节点相关问题,搞清楚这些是进行Elasticsearch集群部署和拓扑结构设计的前提。
  • zwgdft
  • zwgdft
  • 2017-01-18 14:42
  • 3904

ElasticSearch教程(三)————ElasticSearch集群搭建

这篇博文我们亲自搭建一个简单的ElasticSearch集群。配置ElasticSearch集群异常的简单,简单到甚至只需要修改两个地方:保证集群名一致和保证集群的中节点端口不重复。
  • jiuqiyuliang
  • jiuqiyuliang
  • 2016-04-29 15:38
  • 29965

Elasticsearch集群部署详解

1、题记之前应用都是Elasticsearch单节点,随着业务的拓展、数据量的增多,部署分布式Elasticsearch刻不容缓。本文以Elaticsearch2.3.4版本为基础,讲解Elastic...
  • wojiushiwo987
  • wojiushiwo987
  • 2017-06-03 10:55
  • 3964

elasticsearch分布式优化配置总结

  • 2016-12-23 15:53
  • 10KB
  • 下载

Elasticsearch5.1集群+kibana部署

第1章 Elasticsearch简介 Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负...
  • qq_21835703
  • qq_21835703
  • 2017-03-26 01:27
  • 2186

elasticsearch之es分布式集群初探

原文地址:http://www.cnblogs.com/huangfox/p/3543351.html es有很多特性,分布式、副本集、负载均衡、容灾等。 我们先搭建一个很简单的分布式集群(伪...
  • u013063153
  • u013063153
  • 2016-10-13 14:47
  • 2340

分布式搜索引擎Elasticsearch安装配置

本文主要介绍了elasticsearch,还介绍了elasticsearch的安装配置,包括插件的安装使用。对于新入门的同学应该很有帮助,对于已经熟悉的同学也不失为一篇安装教程,尤其是插件安装。
  • SincereXing
  • SincereXing
  • 2015-04-01 21:00
  • 718

elasticsearch集群的部署

elasticsearch集群的部署 1.部署4个节点的elasticsearch 10.41.2.84     es2 10.41.2.85     es3 10.41.2.86     e...
  • dingzfang
  • dingzfang
  • 2015-01-16 14:04
  • 5941

ElasticSearch 分布式安装及调优

三台ubuntuServer 的 ip: 192.168.0.4,192.168.0.5,192.168.0.6从官网下载elasticsearch 版本2.2.1解压到/opt/目录下sudo...
  • u012348345
  • u012348345
  • 2016-04-09 09:36
  • 2080

linux下elasticsearch 安装、配置及示例

简介 开始学es,我习惯边学边记,总结出现的问题和解决方法。本文是在两台linux虚拟机下,安装了三个节点。本次搭建es同时实践了两种模式——单机模式和分布式模式。条件允许的话,可以在多台机器上配置...
  • sinat_28224453
  • sinat_28224453
  • 2016-04-12 17:19
  • 50712
    《从Lucene到Elasticsearch:全文检索实战》
    Lucene、ES、ELK开发交流群:370734940
    Lucene、ES、ELK开发交流
    个人资料
    • 访问:874913次
    • 积分:8871
    • 等级:
    • 排名:第2493名
    • 原创:206篇
    • 转载:2篇
    • 译文:6篇
    • 评论:463条
    StackOverFlow
    http://stackoverflow.com/users/6526424
    统计
    博客专栏
    文章分类
    最新评论