Elasticsearch7.6.2通过k8s搭建集群,设置中文分词器以及数据备份

一:环境介绍

本人相关环境如下:

  • spring-boot版本2.3.7.RELEASE
  • spring-boot-starter-data-elasticsearch版本2.3.7.RELEASE
  • Elasticsearch 7.6.2
  • elasticsearch-analysis-ik-7.6.2 中文分词器
  • harbor k8s镜像管理中心
  • ceph 共享存储

下图为各软件间的版本对应关系,一定要按照对应关系使用,否则无法成功或出现各种错误。
推荐spring-boot-starter-data-elasticsearch,可以映射索引实体,并有内置方法,方便快速应用。
版本关系见:https://docs.spring.io/spring-data/elasticsearch/docs/4.0.2.RELEASE/reference/html/#preface.versionsspringboot 、spring-data-elasticsearch、elasticserach的版本对应关系

二:准备工作

  1. 准备一套k8s集群
  2. 准备一套文件服务器如ceph、nfs、nas等
    本文使用ceph做了一个共享存储,用于节点数据映射到宿主机中,用于数据恢复或迁移等工作
  3. 准备Elasticsearch 7.6.2的docker镜像包
  4. es-plugins-fs.yaml 插件目录映射yaml,es.yaml主文件
    因为插件plugins多个node可以共享一个,所以单独做一个plugins的映射。每个node的data数据不一样,所以在es.yaml单独设置了每个node的映射。

es-plugins-fs.yaml插件挂载目录如下:
需要针对自己环境进行修改

apiVersion: v1
kind: PersistentVolume
metadata:
  name: es-plugins-fs-pv
  labels:
    app: es-plugins-fs
spec:
  capacity:
    storage: 50Gi
  accessModes:
    - ReadWriteMany
  # nfs或其他的自行替换
  cephfs:
    monitors:
      - 100.20.30.111:6789
    path: /es/es-data/plugins
    user: cephfs
    secretRef:
      name: ceph-secret-admin
  persistentVolumeReclaimPolicy: Retain
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: es-plugins-claim
  namespace: tax
spec:
  accessModes:
    - ReadWriteMany
  volumeMode: Filesystem
  resources:
    requests:
      storage: 50Gi
  selector:
    matchLabels:
      app: es-plugins-fs


es.yaml主文件如下:
需要针对自己环境进行修改

apiVersion: v1
kind: Service
metadata:
  name: es-headless-service
  labels:
    app: elasticsearch
  namespace: #自己服务的空间名
spec:
  type: NodePort
  ports:
  - port: 9200
    name: api-port
    targetPort: 9200
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值