日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時間:2025/3/16 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据源管理 | 搜索引擎框架,ElasticSearch集群模式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文源碼:GitHub·點這里 || GitEE·點這里

一、集群環(huán)境搭建

1、環(huán)境概覽

ES版本6.3.2,集群名稱esmaster,虛擬機centos7。

服務群角色劃分說明
en-mastermaster主節(jié)點:esnode1
en-node01slave從節(jié)點:esnode2
en-node02slave從節(jié)點:esnode3

ElasticSearch基礎功能和用法:

  • MySQL數(shù)據(jù)全量和增量方式向ES搜索引擎同步
  • Linux系統(tǒng)Centos7環(huán)境搭建ElasticSearch中間件
  • SpringBoot2整合ElasticSearch搜索引擎框架

在真正海量數(shù)據(jù)的業(yè)務場景中,ElasticSearch搜索引擎都是需要集群化管理的,實時搜素幾十億的數(shù)據(jù)十分常見。

2、集群配置

配置文件

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

主節(jié)點配置

# 集群主節(jié)點配置 cluster.name: esmaster node.master: true# 節(jié)點名稱 node.name: esnode1# 開發(fā)訪問 network.host: 0.0.0.0

從節(jié)點配置

注意這里兩個從節(jié)點配置,node.name分別配置為esnode2和esnode3即可。

# 集群名稱 cluster.name: esmaster# 節(jié)點名稱 node.name: esnode2# 開發(fā)訪問 network.host: 0.0.0.0# 主節(jié)點IP discovery.zen.ping.unicast.hosts: ["192.168.72.133"]

內(nèi)存權限

vim /etc/sysctl.conf# 添加內(nèi)容 vm.max_map_count=262144# 執(zhí)行 sysctl -p

3、集群啟動

添加esroot用戶,并授權。

/opt/elasticsearch-6.3.2/bin/elasticsearch

單服務查看

ps -aux |grep elasticsearch

集群狀態(tài)查看

http://localhost:9200/_cluster/health?pretty{"cluster_name" : "esmaster", # 集群名稱"status" : "green", # 綠:健康,黃:亞健康,紅:病態(tài)"timed_out" : false, # 是否超時"number_of_nodes" : 3, # 節(jié)點個數(shù) }

二、集群模式測試

1、環(huán)境配置

dev環(huán)境

配置單個節(jié)點,選擇任意單節(jié)點,進行數(shù)據(jù)寫入測試。

spring:data:elasticsearch:# 集群名稱cluster-name: esmaster# 單節(jié)點# cluster-nodes: en-master:9300# cluster-nodes: en-node01:9300cluster-nodes: en-node02:9300

test環(huán)境

鏈接集群環(huán)境,進行數(shù)據(jù)讀取測試。

spring:data:elasticsearch:# 集群名稱cluster-name: esmaster# 集群節(jié)點cluster-nodes: en-master:9300,en-node01:9300,en-node02:9300

當然所有的操作都可以基于單節(jié)點或者集群環(huán)境測試。

2、實例對象

基于注解管理數(shù)據(jù)對象實例。

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、操作案例

提供一個數(shù)據(jù)查詢操作和數(shù)據(jù)寫入操作。

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、數(shù)據(jù)列表

在discover面板中可以查看列表數(shù)據(jù),也可以繼續(xù)搜索。

列表查詢

列表搜索

2、開發(fā)工具

在dev_tools面板中可以執(zhí)行ElasticSearch相關命令。

查看集群健康狀態(tài)

GET /_cat/health?v

查詢?nèi)繑?shù)據(jù)

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

四、源代碼地址

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

推薦閱讀:數(shù)據(jù)源管理系列

序號標題
01數(shù)據(jù)源管理:主從庫動態(tài)路由,AOP模式讀寫分離
02數(shù)據(jù)源管理:基于JDBC模式,適配和管理動態(tài)數(shù)據(jù)源
03數(shù)據(jù)源管理:動態(tài)權限校驗,表結構和數(shù)據(jù)遷移流程
04數(shù)據(jù)源管理:關系型分庫分表,列式庫分布式計算
05數(shù)據(jù)源管理:PostGreSQL環(huán)境整合,JSON類型應用
06數(shù)據(jù)源管理:基于DataX組件,同步數(shù)據(jù)和源碼分析
07數(shù)據(jù)源管理:OLAP查詢引擎,ClickHouse集群化管理
08數(shù)據(jù)源管理:Kafka集群環(huán)境搭建,消息存儲機制詳解

總結

以上是生活随笔為你收集整理的数据源管理 | 搜索引擎框架,ElasticSearch集群模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。