带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(8)

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 带你读《Elastic Stack 实战手册》之15:——3.4.1.8. ECK 安装(8)

《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.1.Elastic Stack 安装部署——3.4.1.8. ECK 安装(7) https://developer.aliyun.com/article/1231274


部署 Hot-Warm 架构 Elasticsearch 集群 和 Cerebro

 

定义一个 Elasticsearch 类型的资源文件部署一个冷热分离的 Elasticsearch 集群:

 

l 3 个 Master 节点,不存储数据,负责集群元数据的管理,集群范围的操作(创建或删除索引,跟踪集群节点,分片分配等等)。Master 节点因为没有读写数据的压力,因此选择最便宜的高效云盘。

l 3 个 Hot 节点,新的数据都会首先写入 Hot 节点,承受较大的读写压力,选择使用读写性能最好的 ESSD 硬盘。

l 3 个 Warm 节点,选择读写性能稍差的 SSD 硬盘。

l 3 个 Cold 节点,选择最便宜的高效云盘。


apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
  name: hot-warm-elasticsearch
spec:
  #禁用 https
  http:
    tls:
      selfSignedCertificate:
        disabled: true
  version: 7.14.0
  nodeSets:
  #master 节点
  - name: master
    count: 3
    config:
      node.roles: ["master"]
    podTemplate:
      spec:
        containers:
        - name: elasticsearch
          resources:
            #限制资源使用
            limits:
              memory: 1Gi
              cpu: 1
    volumeClaimTemplates:
    - metadata:
        name: elasticsearch-data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 20Gi
        storageClassName: alicloud-disk-efficiency #挂载高效云盘
  # hot 节点
  - name: hot
    count: 3
    config:
      node.attr.data: hot #节点属性
      node.roles: ["data","ingest"]
podTemplate:
      spec:
        containers:
        - name: elasticsearch
          resources:
            limits:
              memory: 2Gi
              cpu: 2
    volumeClaimTemplates:
    - metadata:
        name: elasticsearch-data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 20Gi
        storageClassName: alicloud-disk-essd #挂载 ESSD
  # warm 节点
  - name: warm
    count: 3
    config:
      node.attr.data: warm #节点属性
      node.roles: ["data","ingest"]
    podTemplate:
      spec:
        containers:
        - name: elasticsearch
          resources:
            limits:
              memory: 2Gi
              cpu: 1
    volumeClaimTemplates:
- metadata:
        name: elasticsearch-data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 60Gi
        storageClassName: alicloud-disk-ssd  #挂载 SSD
  # cold 节点
  - name: cold
    count: 3
    config:
      node.attr.data: cold #节点属性
      node.roles: ["data","ingest"]
    podTemplate:
      spec:
        containers:
        - name: elasticsearch
          resources:
            limits:
              memory: 2Gi
              cpu: 1
    volumeClaimTemplates:
    - metadata:
        name: elasticsearch-data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 100Gi
        storageClassName: alicloud-disk-efficiency  #挂载高效云盘

为了方便我们观察索引在节点上的迁移情况,这里额外安装了 Cerebro,在 Cerebro 上可以很直观地看到索引在每个节点的分布情况。由于通过 ECK 安装的 Elasticsearch 默认都使用了自签名证书来进行 HTTPS 加密,而 Cerebro 默认只能连接受信任的 HTTPS 或者 HTTP 站点,因此我们在定义 Elasticsearch 资源文件时选择禁用 HTTPS,让 Cerebro 通过 HTTP 访问 Elasticsearch 集群。


apiVersion: apps/v1
kind: Deployment
metadata:
  name: cerebro
  labels:
    app: cerebro
spec:
  replicas: 1
  selector:
    matchLabels:
      app: cerebro
  template:
    metadata:
      labels:
        app: cerebro
    spec:
      containers:
      - name: cerebro
        image: lmenezes/cerebro:0.9.4
        ports:
        - containerPort: 9000

使用以下命令应用本实验的资源文件:

 

kubectl apply -f hot-warm/

查看创建的相关 Pod:


❯ kubectl get pod
NAME                                  READY   STATUS    RESTARTS   AGE
cerebro-99484576f-pwx85               1/1     Running   0          6h19m
hot-warm-elasticsearch-es-cold-0      1/1     Running   0          113s
hot-warm-elasticsearch-es-cold-1      1/1     Running   0          112s
hot-warm-elasticsearch-es-cold-2      1/1     Running   0          112s
hot-warm-elasticsearch-es-hot-0       1/1     Running   0          113s
hot-warm-elasticsearch-es-hot-1       1/1     Running   0          113s
hot-warm-elasticsearch-es-hot-2       1/1     Running   0          113s
hot-warm-elasticsearch-es-master-0    1/1     Running   0          113s
hot-warm-elasticsearch-es-master-1    1/1     Running   0          113s
hot-warm-elasticsearch-es-master-2    1/1     Running   0          113s
hot-warm-elasticsearch-es-warm-0      1/1     Running   0          113s
hot-warm-elasticsearch-es-warm-1      1/1     Running   0          113s
hot-warm-elasticsearch-es-warm-2      1/1     Running   0          113s
hot-warm-kibana-kb-7d5747887d-n8dzd   1/1     Running   0          82s

开启端口转发,将 Kibana 和 Cerebro 的服务转发到本地,方便我们访问。

 

kubectl port-forward pod/cerebro-99484576f-pwx85 9000
kubectl port-forward service/hot-warm-kibana-kb-http 5601

获取 elastic 用户密码:


PASSWORD=$(kubectl get secret hot-warm-elasticsearch-es-elastic-user \
-o go-template='{{.data.elastic | base64decode}}')
echo $PASSWORD
#elastic 用户密码
js373o37ZKu3DKDo69co97Ds

《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.1.Elastic Stack 安装部署——3.4.1.8. ECK 安装(9) https://developer.aliyun.com/article/1231272

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
消息中间件 数据采集 JSON
iLogtail社区版使用入门 - iLogtail日志处理实战
本文将会详细介绍使用iLogtail社区版进行日志采集时,对于常见日志格式的处理实战。为了便于调测,以下样例默认将采集到的日志,经过处理后,输出到标准输出,开发者可以根据实际需求进行适当的调整。
3556 0
|
9月前
|
人工智能 NoSQL Redis
Collaborative Gym:斯坦福人机协作框架开源!异步交互+三方感知,让你的AI学会主动补位
介绍Collaborative Gym,一个专注于人机协作的框架,支持异步交互和多种任务环境。
307 14
Collaborative Gym:斯坦福人机协作框架开源!异步交互+三方感知,让你的AI学会主动补位
|
数据采集 数据可视化 JavaScript
如何接入神策平台
如何接入神策平台
|
SQL 关系型数据库 HIVE
hadoop伪分布式安装部署HIVE
应用场景 当我们按照hadoop伪分布式集群搭建博客搭建了hadoop以后,发现这是一个空的hadoop,只有YARN,MapReduce,HDFS,而这些实际上我们一般不会直接使用,而是需要另外部署Hadoop的其他组件,来辅助使用。
1951 0
|
API 网络架构 C++
Bito - 超越Copilot的一款神级插件
Bito - 超越Copilot的一款神级插件
309 0
|
Ubuntu Linux
百度搜索:蓝易云【Ubuntu、CentOS修改时区、设置24小时时间格式教程。】
时区和时间格式是操作系统中的两个重要设置,本文将介绍如何在Ubuntu和CentOS操作系统中修改时区和设置24小时时间格式。
1081 0
|
存储 容灾 Linux
UOS统一操作系统,让我们拥抱中文操作系统,打造属于自己的私人企业级网盘
UOS统一操作系统,让我们拥抱中文操作系统,打造属于自己的私人企业级网盘
833 0
UOS统一操作系统,让我们拥抱中文操作系统,打造属于自己的私人企业级网盘
|
机器学习/深度学习 并行计算 搜索推荐
推荐系统总结(交替最小二乘法、LightFM、神经网络矩阵分解和神经协同过滤)
在社交媒体网络上,有大量的半结构化数据。该任务的数据集是从在线照片共享社交媒体网络 Flickr 收集的。Flickr 允许用户分享照片并相互交流(朋友)。目标是向访问此社交媒体平台的大量数据的每个用户推荐对象(图片)列表。训练数据集包含一组用于构建推荐系统的用户和项目(照片)之间的交互,包含评分基本事实的验证数据用于决定最终模型。除测试数据外,其余数据集不用于分析。
815 0
|
前端开发 JavaScript
css内凹圆角
border-radius 属性是一个简写属性,用于设置四个 border-*-radius 属性。4个角(顺时针方向,左上,右上,右下,左下),每个角都有两个半径,水平半径和垂直半径,
626 0
css内凹圆角
|
存储 JSON 前端开发
【Spring MVC学习笔记 五】SpringMVC框架整合Jackson工具
【Spring MVC学习笔记 五】SpringMVC框架整合Jackson工具
816 0

热门文章

最新文章