数据源管理 | 搜索引擎框架,ElasticSearch集群模式
本文源码: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集群模式相关推荐
- Hadoop框架:集群模式下分布式环境搭建
本文源码:GitHub·点这里 || GitEE·点这里 一.基础环境配置 1.三台服务 准备三台Centos7服务,基础环境从伪分布式环境克隆过来. 133 hop01,134 hop02,136 ...
- ElasticSearch集群与分片管理
目录 1.集群的相关概念 1.1 集群 cluster 1.2 节点 node 1.3 分片和复制 shards&replicas 1.4 健康状态 1.5 存储空间 2.集群的搭建 2.1 ...
- 我的ElasticSearch集群部署总结--大数据搜索引擎你不得不知
摘要:世上有三类书籍:1.介绍知识,2.阐述理论,3.工具书:世间也存在两类知识:1.技术,2.思想.以下是我在部署ElasticSearch集群时的经验总结,它们大体属于第一类知识"tec ...
- sql server配置管理器在哪里看ip_微服务管理平台nacos虚拟ip负载均衡集群模式搭建...
一.Nacos简介 Nacos是用于微服务管理的平台,其核心功能是服务注册与发现.服务配置管理. Nacos作为服务注册发现组件,可以替换Spring Cloud应用中传统的服务注册于发现组件,如:E ...
- Elasticsearch集群的搭建与管理
主机规划: 192.168.0.1(node1) 192.168.0.2(node2) 部署node1 node1配置如下: 下载https://artifacts.elastic.co/downlo ...
- 虚拟ip mysql负载均衡_微服务管理平台nacos虚拟ip负载均衡集群模式搭建
一.Nacos简介 Nacos是用于微服务管理的平台,其核心功能是服务注册与发现.服务配置管理. Nacos作为服务注册发现组件,可以替换Spring Cloud应用中传统的服务注册于发现组件,如:E ...
- ElasticSearch集群管理
目录 1 集群介绍 2 ES集群相关概念 3 集群搭建 4 kibina管理集群 5 JavaAPI 访问集群 6 分片配置 7 路由原理 8 脑裂 1 集群介绍 集群和分布式: 集群:多个人做一 ...
- ElasticSearch 集群管理
ElasticSearch 集群管理 集群介绍 集群:多个人做一样的事 分布式:多个人做不一样的事 为什么要集群,原来的项目都是单体架构,一旦机器挂了,那就不能进行工作了.若是我们用了三台机器,都存储 ...
- Elasticsearch集群原理、安装和基本使用
Elasticsearch(ES)是一个基于Lucene构件的开源.分布式.RESTful接口全文搜索引擎.ES还是一个分布式文档数据库,其中每个字段均是被索引的数据且可被搜索,它能够扩展至数以百计的 ...
最新文章
- 网络DevOps探索与实践
- javascript继承的实现
- 18行代码AC_Wet Shark and Bishops CodeForces - 621B(数学推导+映射)
- I00029 C语言程序-打印九九乘法表
- linux登录后自动打开终端,linux登录信息/打开终端信息
- 敏而好学,不耻下问。
- b+树时间复杂度_几分钟学会Java实现图的最小生成树:Kruskal算法
- Linux 常用快捷键大全
- Android 跟 ios 测试有什么区别
- 【剑桥英语I优加】剑桥pet证书要多久才能拿到
- 2020还是AI最火?推荐几本深度学习的书籍帮你入门!
- 统计独立访客需求mysql_网站流量分析项目day04
- 游戏后台杂谈:后台的语言、系统与构架
- Mac如何安装MySQL和Navicat
- 【Unity】Firebase-Google登录身份验证功能接入流程
- java 进阶笔记线程与并发之ForkJoinPool简析
- 外贸人如何快速熟悉行业产品?
- mysql数据库练习作业
- 如何查看mysql警告信息_查看MySQL的警告信息
- C语言中的 Sort 排序