ElasticSearch5.4集群搭建
来源:互联网 发布:spring源码深度分析 编辑:程序博客网 时间:2024/05/21 21:01
一、集群角色
多机集群中的节点可以分为master nodes和data nodes,在配置文件中使用Zen发现(Zen discovery)机制来管理不同节点。Zen发现是ES自带的默认发现机制,使用多播发现其它节点。只要启动一个新的ES节点并设置和集群相同的名称这个节点就会被加入到集群中。
Elasticsearch集群中有的节点一般有三种角色:master node、data node和client node。
- master node:master几点主要用于元数据(metadata)的处理,比如索引的新增、删除、分片分配等。
- data node:data 节点上保存了数据分片。它负责数据相关操作,比如分片的 CRUD,以及搜索和整合操作。这些操作都比较消耗 CPU、内存和 I/O 资源;
- client node:client 节点起到路由请求的作用,实际上可以看做负载均衡器。( 对于没有很多请求的业务,client node可以不加,master和data足矣)
二、基于2.X的集群配置
选取10.90.4.9这台机器做为client node,elasticsearch.yml中的配置如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
注意端口不是9200,而是9300。也可以不写端口。
启动10.90.4.9上的es服务器,现在只是一个单机集群。
在10.90.4.8这台机器上配置好同样的ES作为master node,elasticsearch.yml中的配置如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
10.90.4.7作为data node,配置如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
访问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节点,配置如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
Ubuntu机器的ip位192.168.1.102,配置如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
先启动mac上的master,再启动Ubuntu上的slave节点,观察输出,会有一个node-102探测到master节点的提示:
- 1
访问head,一个master一个slave组成集群,界面如下:
四、基于5.4的单机多节点集群配置
如果想要在一台机器上启动多个节点,步骤如下:
- 复制一份ELasticsearch的安装包
- 修改端口,比如一个是9200,一个是9205
- 删除data目录下的数据(如果是新解压的安装包就不必了)
建议或者问题欢迎留言。
- ElasticSearch5.4集群搭建
- Elasticsearch5.2.2集群搭建
- elasticsearch5.2局域网集群搭建
- elasticsearch5.4.1 linux 搭建集群
- elasticsearch5.4集群超时
- ElasticSearch5.4搭建
- elasticsearch5.5+head+kibana 集群搭建
- ElasticSearch5.4.3 环境搭建 2017 (2-集群搭建)
- Elasticsearch5.4集群(一)安装部署
- Elasticsearch5.4集群(一)安装部署
- CentOS上安装ElasticSearch5.4集群
- elasticsearch5.x集群搭建,ik分词器,head插件
- ElasticSearch5.1.1集群部署
- elasticsearch5.3linux集群
- elasticsearch5.2 集群
- elasticsearch5.2集群部署
- elasticsearch5.5.2 配置 集群
- Elasticsearch5.4集群(二)java API升级
- 为什么要使用href="javascript:void(0);"
- 短视频 SDK 架构设计实践
- 取余与取模的区别,以及在C++(C#)中的使用
- CSS 的 类class选择器 的正确写法
- 项目反思--学校大学生活动中心预约系统--[JS封装Ajax请求(不同数据格式的请求头设置)]
- ElasticSearch5.4集群搭建
- MYSQL自动备份策略的方案
- kafka知识点整理总结
- STM32 GPIOx通用输入输出I/O端口的BSRR寄存器与BRR功能简述
- javaScript & jquery完美判断图片是否加载完毕
- ANDROID 设置edittext最大可输入字符数
- Git远程(Git四)
- dataTable参考文档(中文版)
- HBase根据Rowkey批量查询数据JAVA API(一次查多条,返回多个记录)