Apache SeaTunnel k8s 集群模式 Zeta 引擎部署指南

news2024/11/19 3:15:40

file

SeaTunnel提供了一种运行Zeta引擎(cluster-mode)的方法,可以让Kubernetes在本地运行Zeta引擎,实现更高效的应用程序部署和管理。在本文中,我们将探索SeaTunnel k8s运行zeta引擎(cluster-mode模式)的更多信息,了解如何更好地利用Zeta引擎的优势。

  1. 将SeaTunnel上传至服务器上。我之前已经解压并执行过install-plugin.sh,这里为了方便,我直接用的执行过install-plugin.sh脚本之后的seatunnel做演示。

执行过install-plugin后的lib目录包含如下:

file

tar -zxvf apache-seatunnel-2.3.3-bin.tar.gz
sh apache-seatunnel-2.3.3/bin/install-plugin.sh
tar -czvf  apache-seatunnel-2.3.3-bin.tar.gz  apache-seatunnel-2.3.3
  1. 构建seatunnel镜像。在安装seatunnel的同级文件夹下创建Dockerfile。配置如下,可自行选择版本:
    FROM openjdk:8
    ENV SEATUNNEL_HOME="/opt/seatunnel"
    ENV SEATUNNEL_VERSION="2.3.3"
    COPY /apache-seatunnel-${SEATUNNEL_VERSION}-bin.tar.gz /opt/apache-seatunnel-${SEATUNNEL_VERSION}-bin.tar.gz
    WORKDIR /opt
    RUN tar -xzvf apache-seatunnel-${SEATUNNEL_VERSION}-bin.tar.gz
    RUN mv apache-seatunnel-${SEATUNNEL_VERSION} seatunnel
    RUN rm -f /opt/apache-seatunnel-${SEATUNNEL_VERSION}-bin.tar.gz
    WORKDIR /opt/seatunnel

执行命令

docker build -t seatunnel:2.3.3 -f Dockerfile.
  1. 查看镜像
docker images

如下所示镜像

file

  1. 将镜像load进k8s,这里用的minikube做演示

    minikube image load seatunnel:2.3.3

    上述可参考:手把手教你掌握SeaTunnel k8s运行Zeta引擎本地模式的技巧

  2. 创建configmap如下

    kubectl create configmap hazelcast-client  --from-file= config/hazelcast-client.yaml
    kubectl create configmap hazelcast  --from-file=config/hazelcast.yaml
    kubectl create configmap seatunnelmap  --from-file=config/seatunnel.yaml
  3. 使用Reloader实现更新configmap后自动重启pod

wget https://raw.githubusercontent.com/stakater/Reloader/master/deployments/kubernetes/reloader.yaml

kubectl apply -f reloader.yaml

file

  1. 创建seatunnel-cluster.yml如下
apiVersion: v1
kind: Service
metadata:
  name: seatunnel
spec:
  selector:
    app: seatunnel
  ports:
  - port: 5801
    name: seatunnel
  clusterIP: None
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: seatunnel
  annotations:
    configmap.reloader.stakater.com/reload: "hazelcast,hazelcast-client,seatunnelmap"
spec:
  serviceName: "seatunnel"
  replicas: 3
  selector:
    matchLabels:
      app: seatunnel
  template:
    metadata:
      labels:
        app: seatunnel
    spec:
      containers:
        - name: seatunnel
          image: seatunnel:2.3.3
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 5801
              name: client
          command: ["/bin/sh","-c","/opt/seatunnel/bin/seatunnel-cluster.sh -DJvmOption=-Xms2G -Xmx2G"]
          resources:
            limits:
              cpu: "1"
              memory: 4G
            requests:
              cpu: "1"
              memory: 2G
          volumeMounts:
            - mountPath: "/opt/seatunnel/config/hazelcast.yaml"
              name: hazelcast
              subPath: hazelcast.yaml
            - mountPath: "/opt/seatunnel/config/hazelcast-client.yaml"
              name: hazelcast-client
              subPath: hazelcast-client.yaml
            - mountPath: "/opt/seatunnel/config/seatunnel.yaml"
              name: seatunnelmap
              subPath: seatunnel.yaml
      volumes:
        - name: hazelcast
          configMap:
            name: hazelcast
        - name: hazelcast-client
          configMap:
            name: hazelcast-client
        - name: seatunnelmap
          configMap:
            name: seatunnelmap
  1. 执行
 kubectl apply -f seatunnel-cluster.yml

file

file

  1. 修改configmap中的配置
kubectl edit cm hazelcast
修改集群地址 
这里采用的是headless service访问模式
一般pod之间访问其格式为 <pod-name>.<service-name>.<namespace>.svc.cluster.local

如下示例

  • seatunnel-0.seatunnel.default.svc.cluster.local
  • seatunnel-1.seatunnel.default.svc.cluster.local
  • seatunnel-2.seatunnel.default.svc.cluster.local

友情提示:不要用tab,用空格 。不然会报错

file

kubectl edit cm hazelcast-client

file

kubectl edit cm seatunnelmap

file

此处改为自己的hdfs地址。

  1. 可以看到如下

file

  1. 待所有节点都更新完毕处于running状态后 可进入容器内查看路径是否已修改
kubectl exec -it seatunnel-0 /bin/bash
cat config/hazelcast.yaml

file

  1. 在容器内查看日志
tail -200f logs/seatunnel-engine-server.log

file

我们发现集群已经正常运行.

  1. 运行任务

我们可以再新打开一个连接,登录另一个pod节点执行任务来测试集群:

kubectl exec -it seatunnel-1 /bin/bash
bin/seatunnel.sh --config config/v2.streaming.conf.template

我们发现其他pod内也已经开始运行任务

file

原文链接:https://blog.csdn.net/weixin_41854429/article/details/132836402

本文由 白鲸开源科技 提供发布支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1637019.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大数据技术就业和发展前景怎么样

大数据技术的就业和发展前景极为乐观&#xff0c;具有行业需求旺盛、就业多样性、可持续发展潜力等特点&#xff0c; 上大学网 &#xff08;www.sdaxue.com&#xff09;整理出了大数据技术的就业和发展前景以下几个关键趋势&#xff0c;供大家参考&#xff01; 行业需求旺盛&…

[华为OD] C卷 5G网络 现需要在某城市进行5G网络建设,已经选取N个地点设置5G基站 200

题目 现需要在某城市进行5G网络建设&#xff0c;已经选取N个地点设置5G基站&#xff0c;编号固定为1到N,接 下来需要各个基站之间使用光纤进行连接以确保基站能互联互通&#xff0c;不同基站之间架设光纤的成 本各不相同&#xff0c;且有些节点之间已经存在光纤相连&#…

数据仓库Data Warehouse

数据仓库Data Warehouse 数仓是一种思想,数仓是一种规范,数仓是一种解决方案 1. 数据处理方式 数据处理大致可以分成两大类: 联机事务处理OLTP(on-line transaction processing)联机分析处理OLAP(On-Line Analytical Processing)1.1. OLTP OLTP的全称是On-line Transa…

Unity添加证件

目录 1.问题描述&#xff1a;2.解决方法&#xff1a;小结&#xff1a; 1.问题描述&#xff1a; 2.解决方法&#xff1a; 登录后跳转打开 添加证件 选择个人证件 小结&#xff1a; 关注我给大家分享更多有趣的知识&#xff0c;以下是个人公众号&#xff0c;提供 ||代码兼职||…

基于 React 的图形验证码插件

react-captcha-code NPM 地址 &#xff1a; react-captcha-code - npm npm install react-captcha-code --save 如下我自己的封装&#xff1a; import Captcha from "react-captcha-code";type CaptchaType {captchaChange: (captchaInfo: string) > void;code…

利用大型语言模型提升数字产品创新:提示,微调,检索增强生成和代理的应用

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

【漏洞复现】科达 MTS转码服务器 任意文件读取漏洞

0x01 产品简介 科达 MTS转码服务器是一款专业的视频转码设备&#xff0c;采用了高性能的硬件配置和先进的转码技术&#xff0c;能够实现高效、高质量的视频转码。 0x02 漏洞概述 科达 MTS转码服务器存在任意文件读取漏洞&#xff0c;攻击可以通过该漏洞读取服务器任意敏感信…

ChatGPT向付费用户推“记忆”功能,可记住用户喜好 | 最新快讯

4月30日消息&#xff0c;人工智能巨头OpenAI宣布&#xff0c;其开发的聊天机器人ChatGPT将在除欧洲和韩国以外的市场全面上线“记忆”功能。这使得聊天机器人能够“记住”ChatGPT Plus付费订阅用户的详细信息&#xff0c;从而提供更个性化的服务。 OpenAI早在今年2月就已经宣布…

java同步大量数据到本地数据库方法总结

最近在做一个需求&#xff0c;就是我需要对三方接口调用的数据存放到本地的数据库里的数据表里面。那么一开始我就是直接一条一条save&#xff0c;结果发现耗时非常严重&#xff0c;后面我就进行了改进。就是分批次去同步或者分批次去异步。 现在我直接贴出我写的代码&#xf…

PG后台进程个人解读和与oracle 的比较

1.background writer &#xff08;后台写进程&#xff09; 与OracleDBWR进程工作原理类似&#xff0c;都是负责把缓冲区里面的脏块写到数据文件中&#xff0c;写的目的有两个&#xff1a; 1.为了保存数据。 2.为了释放内存空间。 触发background writer 写的条件&#xff1a…

Virtualbox--下载指定版本

一、前言 下载Virtualbox7.0.10&#xff0c;可参考《Virtualbox–下载指定版本》 Virtualbox7.0.10具体安装步骤&#xff0c;可参考《Virtualbox7.0.10的安装步骤》 Virtualbox7.0.10创建虚拟机&#xff0c;可参考《Virtualbox7.0.10–创建虚拟机》 Virtualbox7.0.10安装Ubuntu…

GPT3 终极指南(二)

原文&#xff1a;zh.annas-archive.org/md5/6de8906c86a2711a5a84c839bec7e073 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第五章&#xff1a;GPT-3 作为企业创新的下一步 当一个新的创新或技术转变发生时&#xff0c;大公司通常是最后一个采纳的。它们的等级结构…

Linux 文件管理命令Lawk wc comm join fmt

文章目录 2.Linux 文件管理命令2.44 awk&#xff1a;模式匹配语言1&#xff0e;变量2&#xff0e;运算符3&#xff0e;awk 的正则4&#xff0e;字符串函数5&#xff0e;数学函数案例练习 2.45 wc&#xff1a;输出文件中的行数、单词数、字节数案例练习2.46 comm&#xff1a;比较…

Qwen-Audio:推动通用音频理解的统一大规模音频-语言模型(开源)

随着人工智能技术的不断进步&#xff0c;音频语言模型&#xff08;Audio-Language Models&#xff09;在人机交互领域变得越来越重要。然而&#xff0c;由于缺乏能够处理多样化音频类型和任务的预训练模型&#xff0c;该领域的进展受到了限制。为了克服这一挑战&#xff0c;研究…

Spring Data Redis简单使用

Spring Data Redis是一个用于简化应用程序与Redis交互的开发框架。它提供了简单的配置和方便的操作API&#xff0c;使得与Redis的集成变得更加容易。下面是一个快速入门使用Spring Data Redis的步骤&#xff1a; 步骤 1&#xff1a;添加依赖 在您的项目中添加Spring Data Redi…

掌握未来:打造高效、可靠系统的终极指南—RESTful API 设计详解

RESTful API 是一种软件架构风格和开发规范&#xff0c;它基于 Representational State Transfer&#xff08;REST&#xff09;原则。RESTful API 使用 HTTP 协议的标准方法&#xff0c;如 GET、POST、PUT、DELETE 等&#xff0c;来进行资源的创建、读取、更新和删除操作。这种…

四川易点慧电子商务抖音小店:创新引领,开启电商新篇章

随着互联网的快速发展&#xff0c;电子商务行业日新月异&#xff0c;抖音小店作为新兴的电商模式&#xff0c;正逐渐崭露头角。四川易点慧电子商务有限公司紧跟时代步伐&#xff0c;以创新思维引领抖音小店发展&#xff0c;成为了行业的佼佼者。 易点慧电子商务位于风景秀丽的四…

FFmpeg开发笔记(二十三)使用OBS Studio开启RTMP直播推流

OBS是一个开源的直播录制软件&#xff0c;英文全称叫做Open Broadcaster Software&#xff0c;广泛用于视频录制、实时直播等领域。OBS不但开源&#xff0c;而且跨平台&#xff0c;兼容Windows、Mac OS、Linux等操作系统。 OBS的官网是https://obsproject.com/&#xff0c;录制…

如何安全可控的进行跨区域数据交换,提高数据价值?

跨区域数据交换指的是在不同地理位置或不同网络环境下的数据传输和共享。随着数字化转型的加速&#xff0c;企业及组织越来越依赖于数据的流动来优化业务流程、增强决策制定和推动创新。然而&#xff0c;跨区域数据交换也带来了一系列的挑战和风险&#xff0c;主要包括&#xf…

DFT(三)Yield

DFT&#xff08;三&#xff09;Yield 在集成电路&#xff08;IC&#xff09;设计和制造领域&#xff0c;特别是在数字全流程&#xff08;Digital Full Flow&#xff0c;简称DFT&#xff09;中&#xff0c;“Yield”&#xff08;产量&#xff09;是一个衡量从设计到最终产品过程…