elasticSearch集群 springboot集成es 完全解析

这篇具有很好参考价值的文章主要介绍了elasticSearch集群 springboot集成es 完全解析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

es集群搭建

#编写compose.yml配置文件
#每个节点都创建一个elasticsearch.yml文件
用到的命令:
systemctl start docker
docker-compose up

compose.yml

es和kibana版本必须一样

  • environment:配置容器内的环境变量
  • networks:创建一个名为elastic的局域网,让各节点以及kibana,es-head相互联系
version: '3'
services: 
   es01: 
      image: elasticsearch:7.6.2
      environment: 
        - "ES_JAVA_OPTS=-Xms512m -Xmx512m"

      ports:
      - 9201:9201

      volumes: 
        - ./9201/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
        - ./9201/data:/usr/share/elasticsearch/data
        - ./9201/plugins:/usr/share/elasticsearch/plugins
      networks:
        - elastic

   es02: 
      image: elasticsearch:7.6.2
      environment: 
        - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      ports:
      - 9202:9202


      volumes: 
        - ./9202/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
        - ./9202/data:/usr/share/elasticsearch/data
        - ./9202/plugins:/usr/share/elasticsearch/plugins
      networks:
        - elastic

   es03: 
      image: elasticsearch:7.6.2
      environment: 
        - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      ports:
      - 9203:9203


      volumes: 
        - ./9203/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
        - ./9203/data:/usr/share/elasticsearch/data
        - ./9203/plugins:/usr/share/elasticsearch/plugins
      networks:
        - elastic
   kibana:
      image: kibana:7.6.2
      ports:
        - 5601:5601
      depends_on:
        - es01
        - es02
        - es03
      volumes:
        - ./kibana.yml:/usr/share/kibana/config/kibana.yml
   elasticsearch-head:
      image: wallbase/elasticsearch-head:6-alpine
      environment:
        TZ: 'Asia/Shanghai'
      ports:
        - '9100:9100'
      networks:
        - elastic


networks:
  elastic:
    driver: bridge     
         


elasticsearch.yml

  • network.host: 0.0.0.0:意为监听一切地址,可有效避免发生fail to bind的报错
  • http.port: 各节点的端口号,不能相同
  • transport.tcp.port:节点间交互的端口,必须要配置,且必须相同,否则无法形成多节点集群

node.name: es01
cluster.name: es-cluster


network.host: 0.0.0.0
http.port: 9201
transport.tcp.port: 9310

discovery.seed_hosts: ["es01", "es02", "es03"] 
cluster.initial_master_nodes: ["es01","es02","es03"]
node.master: true
node.data: true
http.cors.enabled: true
network.tcp.keep_alive: true
network.tcp.no_delay: true
transport.tcp.compress: true


http.cors.allow-origin: "*"

http.max_content_length: 200mb

gateway.recover_after_nodes: 2
cluster.routing.allocation.cluster_concurrent_rebalance: 16
cluster.routing.allocation.node_concurrent_recoveries: 16
cluster.routing.allocation.node_initial_primaries_recoveries: 16


  • 采用vmware安装centos7来模拟服务器

  • 采用NAT模式

  • centos7虚拟机配置静态IP
    用到的命令:

  • cd /etc/sysconfig/network-scripts/

  • vi ifcfg-ens33 #未必是ens33,这和你的DEVICE名称相同,以实际为准

  • 配好后,记得systemctl restart network.service重启一下网络服务

虚拟机配置静态ip:
elasticSearch集群 springboot集成es 完全解析,elasticsearch,spring boot,服务器,搜索引擎,数据库

  • 必须要添加IPADDR,GATEWAY,DNS1三个配置,否则,虚拟机将无法访问网络
  • GATAWAY和DNS1保持一致,与vmware的NAT网络设置的值相同
  • IPADDR前三位和GATAWAY一样,最后一位随意
  • 具体值在此处查看
    elasticSearch集群 springboot集成es 完全解析,elasticsearch,spring boot,服务器,搜索引擎,数据库
    elasticSearch集群 springboot集成es 完全解析,elasticsearch,spring boot,服务器,搜索引擎,数据库
    elasticSearch集群 springboot集成es 完全解析,elasticsearch,spring boot,服务器,搜索引擎,数据库

必须将IP设置为静态IP,否则将无法用浏览器访问!

springboot集成es

#引入依赖
#创建application.yml配置文件
#创建实体类,顺便通过注解创建Index索引
#创建esUtil工具类
#创建启动类和控制类

引入依赖

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>

application.yml:

server:
  port: xxxx
spring:
  elasticsearch:
    uris:
      - http://192.168.xxx.xxx:9201
      - http://192.168.xxx.xxx:9202
      - http://192.168.xxx.xxx:9203

使用注解创建索引(和MyBatis类似)

elasticSearch集群 springboot集成es 完全解析,elasticsearch,spring boot,服务器,搜索引擎,数据库
elasticSearch集群 springboot集成es 完全解析,elasticsearch,spring boot,服务器,搜索引擎,数据库

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

@Data
@Document(indexName = "user",createIndex = true)
public class EsEntity {
    @Id
    @Field(type = FieldType.Auto)
    private Long id;
    @Field(type = FieldType.Text)
    private String userName;
}
  • @Document():给index命名,将实体类映射到数据库,类似于@TableName
  • @Id:将一个字段标记为主键
  • @Field:配置一个字段的基本属性,用analyzer属性指定自定义分词器

查询es数据库:

elasticSearch集群 springboot集成es 完全解析,elasticsearch,spring boot,服务器,搜索引擎,数据库
使用ElasticsearchRestTemplate对象的方法即可文章来源地址https://www.toymoban.com/news/detail-777216.html

到了这里,关于elasticSearch集群 springboot集成es 完全解析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 五-1、elasticsearch集群搭建(ES集群搭建)

    es下载地址 这里我下载的是 集群搭建方法 上传方式有两种 第一种:使用xftp上传 直接拖动过去就可以了。 第二种:使用lrzsz 先安装 切换到要上传的位置 输入命令 选择你要上传的文件 等待上传完成即可 ①解压到指定目录下 ②修改/config下的elasticsearch.yml 加入如下配置 原来

    2023年04月22日
    浏览(53)
  • 初识Elasticsearch——GO集成ES

    Elasticsearch是一个分布式文档存储。Elasticsearch存储的是序列化为JSON文档的复杂数据结构,而不是以行列数据的形式存储的信息。当集群中有多个Elasticsearch节点时,存储的文档分布在整个集群中,可以立即从任何节点访问。 当存储文档时,它几乎是实时的——在1秒内就可以被

    2024年02月03日
    浏览(41)
  • 【ES专题】ElasticSearch集群架构剖析

    个人感觉集群架构其实都有点大同小异,看了这么多集群架构之后,感觉无非要考虑的地方就几点: 使用何种通信协议去同步数据,互相通信 采用何种策略同步数据(异步还是同步) 如何保证一致性,保证到什么程度(【最终一致性】 or【实时一致性 / 强一致性】) 使用何

    2024年02月04日
    浏览(59)
  • Elasticsearch 系列(六)- ES数据同步和ES集群

    本章将和大家分享ES的数据同步方案和ES集群相关知识。废话不多说,下面我们直接进入主题。 1、数据同步问题 Elasticsearch中的酒店数据来自于mysql数据库,因此mysql数据发生改变时,Elasticsearch也必须跟着改变,这个就是Elasticsearch与mysql之间的数据同步。 在微服务中,负责酒

    2024年04月28日
    浏览(83)
  • ElasticSearch---查询es集群状态、分片、索引

    查看es集群状态: 如果?后面加上pretty,能让返回的json格式化。 加上?v的返回结果,如下: 解释如下: 查看es分片信息: 查看es分片信息,模糊匹配,比如匹配test: 返回信息如下: 解析如下: 查看状态为unassigned的es分片信息: 查看es索引 查看es所有索引: indices表示索引,是

    2024年02月02日
    浏览(41)
  • 【ElasticSearch】ES集群搭建、监控、故障转移

    单机的ES做数据存储与搜索,必然面临两个问题: 海量数据存储问题 单点故障问题 因此,考虑使用ES集群: 海量数据存储问题:将索引库从逻辑上拆分为N个分片(shard),存储到多个节点。如此,ES的存储能力就是所有节点存储能力的总和 单点故障问题:将分片数据 在不同

    2024年02月16日
    浏览(62)
  • ES(ElasticSearch)快速入门和集群搭建

    ​ ES作为一个索引及搜索服务,对外提供丰富的REST接口,快速入门部分的实例使用kibana来测试,目的是对ES的使用方法及流程有个初步的认识。 创建index 索引库。包含若干相似结构的 Document 数据,相当于数据库的database。 语法: PUT /index_name 如: number_of_shards - 表示一个索引

    2024年02月07日
    浏览(52)
  • elasticsearch——ES集群分片不平衡处理

    在使用云上的一个ES集群的时候,发现搜索性能很差,查看分片情况,发现ES有12个节点,索引创建了10个分片,1个副本,最后20个分片全在其中3个节点上,分布不均衡,实际只消耗了3个节点的资源,所以性能很差,再次创建新的索引,发现仍然是这种情况,最后通过下面的命

    2024年02月13日
    浏览(39)
  • es Elasticsearch 六 java api spirngboot 集成es

    目录 Java restApi Springboot 集成es 新增-同步 新增-异步 增删改查流程 _bulk 批量操作 新增-同步 新增-异步 增删改查流程 创建请求、2.执行、3.查看返回结果     _bulk 批量操作 ok 持续更新

    2024年02月10日
    浏览(56)
  • 【elasticsearch】修改es集群的索引副本数量

    最近海外es集群进行调整,从3节点变成了单节点。所以需要将集群模式改为单点模式,并需要将es 集群的全部索引副本个数改为0,不然会有很多未分配的分片,导致集群状态为 yellow 。 1. 先将现有的index的副本数量为0个 此步骤是为了解决现有的索引副本数。 2. 创建模板匹配

    2024年02月11日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包