本文源码:GitHub·点这里 || GitEE·点这里

一、集群环境搭建

1、环境概览

ES版本6.3.2,集群名称esmaster,虚拟机centos7。

服务群 角色划分 说明
en-master master 主节点:esnode1
en-node01 slave 从节点:esnode2
en-node02 slave 从节点:esnode3

ElasticSearch基础功能和用法:

  • MySQL数据全量和增量方式向ES搜索引擎同步
  • Linux系统Centos7环境搭建ElasticSearch中间件
  • SpringBoot2整合ElasticSearch搜索引擎框架

在真正海量数据的业务场景中,ElasticSearch搜索引擎都是需要集群化管理的,实时搜素几十亿的数据十分常见。

2、集群配置

配置文件

vim /opt/elasticsearch-6.3.2/config/elasticsearch.yml

主节点配置

# 集群主节点配置
cluster.name: esmaster
node.master: true# 节点名称
node.name: esnode1# 开发访问
network.host: 0.0.0.0

从节点配置

注意这里两个从节点配置,node.name分别配置为esnode2和esnode3即可。

# 集群名称
cluster.name: esmaster# 节点名称
node.name: esnode2# 开发访问
network.host: 0.0.0.0# 主节点IP
discovery.zen.ping.unicast.hosts: ["192.168.72.133"]

内存权限

vim /etc/sysctl.conf# 添加内容
vm.max_map_count=262144# 执行
sysctl -p

3、集群启动

添加esroot用户,并授权。

/opt/elasticsearch-6.3.2/bin/elasticsearch

单服务查看

ps -aux |grep elasticsearch

集群状态查看

http://localhost:9200/_cluster/health?pretty{"cluster_name" : "esmaster",  # 集群名称"status" : "green",   # 绿:健康,黄:亚健康,红:病态"timed_out" : false,  # 是否超时"number_of_nodes" : 3, # 节点个数
}

二、集群模式测试

1、环境配置

dev环境

配置单个节点,选择任意单节点,进行数据写入测试。

spring:data:elasticsearch:# 集群名称cluster-name: esmaster# 单节点# cluster-nodes: en-master:9300# cluster-nodes: en-node01:9300cluster-nodes: en-node02:9300

test环境

链接集群环境,进行数据读取测试。

spring:data:elasticsearch:# 集群名称cluster-name: esmaster# 集群节点cluster-nodes: en-master:9300,en-node01:9300,en-node02:9300

当然所有的操作都可以基于单节点或者集群环境测试。

2、实例对象

基于注解管理数据对象实例。

import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;@Document(indexName = "usersearchindex",type = "usersearch")
public class UserSearch {//Id注解Elasticsearch里相应于该列就是主键,查询时可以使用主键查询@Idprivate Long id;private String userId;private String userName;private String sex;
}

3、操作案例

提供一个数据查询操作和数据写入操作。

import com.esearch.cluster.entity.UserSearch;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;@Service
public class UserSearchServiceImpl implements UserSearchService {@Resourceprivate UserSearchRepository userSearchRepository ;@Overridepublic String esInsert(Integer num) {for (int i = 0 ; i < num ; i++){UserSearch userSearch = new UserSearch() ;userSearch.setId(System.currentTimeMillis());userSearch.setUserId("Name"+i);userSearch.setUserName("ZSan"+i);userSearch.setSex("Male"+i);userSearchRepository.save(userSearch) ;}return "success" ;}@Overridepublic Iterable<UserSearch> esFindAll (){return userSearchRepository.findAll() ;}}

三、集群控制台

这里是基于Kibana组件做的集群控制台。

1、数据列表

在discover面板中可以查看列表数据,也可以继续搜索。

列表查询

列表搜索

2、开发工具

在dev_tools面板中可以执行ElasticSearch相关命令。

查看集群健康状态

GET /_cat/health?v

查询全部数据

GET _search
{"query": {"match_all": {}}
}

四、源代码地址

GitHub·地址
https://github.com/cicadasmile/data-manage-parent
GitEE·地址
https://gitee.com/cicadasmile/data-manage-parent

推荐阅读:数据源管理系列

序号 标题
01 数据源管理:主从库动态路由,AOP模式读写分离
02 数据源管理:基于JDBC模式,适配和管理动态数据源
03 数据源管理:动态权限校验,表结构和数据迁移流程
04 数据源管理:关系型分库分表,列式库分布式计算
05 数据源管理:PostGreSQL环境整合,JSON类型应用
06 数据源管理:基于DataX组件,同步数据和源码分析
07 数据源管理:OLAP查询引擎,ClickHouse集群化管理
08 数据源管理:Kafka集群环境搭建,消息存储机制详解

数据源管理 | 搜索引擎框架,ElasticSearch集群模式相关推荐

  1. Hadoop框架:集群模式下分布式环境搭建

    本文源码:GitHub·点这里 || GitEE·点这里 一.基础环境配置 1.三台服务 准备三台Centos7服务,基础环境从伪分布式环境克隆过来. 133 hop01,134 hop02,136 ...

  2. ElasticSearch集群与分片管理

    目录 1.集群的相关概念 1.1 集群 cluster 1.2 节点 node 1.3 分片和复制 shards&replicas 1.4 健康状态 1.5 存储空间 2.集群的搭建 2.1 ...

  3. 我的ElasticSearch集群部署总结--大数据搜索引擎你不得不知

    摘要:世上有三类书籍:1.介绍知识,2.阐述理论,3.工具书:世间也存在两类知识:1.技术,2.思想.以下是我在部署ElasticSearch集群时的经验总结,它们大体属于第一类知识"tec ...

  4. sql server配置管理器在哪里看ip_微服务管理平台nacos虚拟ip负载均衡集群模式搭建...

    一.Nacos简介 Nacos是用于微服务管理的平台,其核心功能是服务注册与发现.服务配置管理. Nacos作为服务注册发现组件,可以替换Spring Cloud应用中传统的服务注册于发现组件,如:E ...

  5. Elasticsearch集群的搭建与管理

    主机规划: 192.168.0.1(node1) 192.168.0.2(node2) 部署node1 node1配置如下: 下载https://artifacts.elastic.co/downlo ...

  6. 虚拟ip mysql负载均衡_微服务管理平台nacos虚拟ip负载均衡集群模式搭建

    一.Nacos简介 Nacos是用于微服务管理的平台,其核心功能是服务注册与发现.服务配置管理. Nacos作为服务注册发现组件,可以替换Spring Cloud应用中传统的服务注册于发现组件,如:E ...

  7. ElasticSearch集群管理

    目录 1 集群介绍 2 ES集群相关概念 3 集群搭建 4 kibina管理集群 5 JavaAPI 访问集群 6 分片配置 7 路由原理 8 脑裂 1 集群介绍 集群和分布式: ​ 集群:多个人做一 ...

  8. ElasticSearch 集群管理

    ElasticSearch 集群管理 集群介绍 集群:多个人做一样的事 分布式:多个人做不一样的事 为什么要集群,原来的项目都是单体架构,一旦机器挂了,那就不能进行工作了.若是我们用了三台机器,都存储 ...

  9. Elasticsearch集群原理、安装和基本使用

    Elasticsearch(ES)是一个基于Lucene构件的开源.分布式.RESTful接口全文搜索引擎.ES还是一个分布式文档数据库,其中每个字段均是被索引的数据且可被搜索,它能够扩展至数以百计的 ...

最新文章

  1. 网络DevOps探索与实践
  2. javascript继承的实现
  3. 18行代码AC_Wet Shark and Bishops CodeForces - 621B(数学推导+映射)
  4. I00029 C语言程序-打印九九乘法表
  5. linux登录后自动打开终端,linux登录信息/打开终端信息
  6. 敏而好学,不耻下问。
  7. b+树时间复杂度_几分钟学会Java实现图的最小生成树:Kruskal算法
  8. Linux 常用快捷键大全
  9. Android 跟 ios 测试有什么区别
  10. 【剑桥英语I优加】剑桥pet证书要多久才能拿到
  11. 2020还是AI最火?推荐几本深度学习的书籍帮你入门!
  12. 统计独立访客需求mysql_网站流量分析项目day04
  13. 游戏后台杂谈:后台的语言、系统与构架
  14. Mac如何安装MySQL和Navicat
  15. 【Unity】Firebase-Google登录身份验证功能接入流程
  16. java 进阶笔记线程与并发之ForkJoinPool简析
  17. 外贸人如何快速熟悉行业产品?
  18. mysql数据库练习作业
  19. 如何查看mysql警告信息_查看MySQL的警告信息
  20. C语言中的 Sort 排序

热门文章

  1. 测试学开发——第一课:java学习路程
  2. android outofmemory 原理及解决方案
  3. hydra安装及使用
  4. 矩阵的运算及其运算规则
  5. Valgrind概述
  6. C++11 并发指南三(Lock 详解)
  7. 5404. 用栈操作构建数组
  8. Sysmon勘验、分析现场(主机监控)
  9. cannot import name UnrewindableBodyError
  10. ag-grid 表格中添加图片