SeaTunnel-web in K8S

下载,官网下载有问题,上dlcdn.apache.org下载
https://dlcdn.apache.org/seatunnel/seatunnel-web/1.0.0/apache-seatunnel-web-1.0.0-bin.tar.gz

apache-seatunnel-2.3.3中执行bin/install-plugin.sh下载connectors

下载web的源码

https://github.com/apache/seatunnel-web.git

seatunnel-server/seatunnel-app/src/main/bin/download_datasource.sh

将download_datasource.sh复制到/root/seatunnel/apache-seatunnel-web-1.0.0-bin/bin目录
sh download_datasource.sh 下载 datasource

vim conf/application.yml修改端口号和数据源信息

根据script目录下的数据表初始化脚本,把数据库建好 seatunnel_server_mysql.sql

将apache-seatunnel-2.3.4/conf目录下的hazelcast-client.yamlplugin-mapping.properties复制过来

hazelcast-client.yaml中的信息连接到之前部署好的SeaTunnel集群

参考:SeaTunnel 2.3.4 Cluster in K8S-CSDN博客

logback-spring.xml文件中的日志级别如果需要可改成debug方便调试


准备创建镜像文件

apache-seatunnel-2.3.3(重命名为:seatunnel-zeta)和apache-seatunnel-web-1.0.0-bin(重命名为:seatunnel,web依赖zeta连接集群)都放在一个容器中。

在镜像中配置相关的环境变量

SEATUNNEL_HOME=/opt/seatunnel-zeta
SEATUNNEL_WEB_HOME=/opt/seatunnel
ST_WEB_BASEDIR_PATH=/opt/seatunnel/ui


将connectors和plugins目录复制到web下,打包后拷贝到镜像中,然后镜像中编写的启动脚本会把该目录移动到seatunnel-zeta目录下,不然在web界面选择不了数据源,connectors又依赖plugins  
 cp -r /root/seatunnel/apache-seatunnel-2.3.3/connectors   /root/seatunnel/apache-seatunnel-web-1.0.0-bin/
 cp -r /root/seatunnel/apache-seatunnel-2.3.3/plugins   /root/seatunnel/apache-seatunnel-web-1.0.0-bin/

创建启动脚本 web自带的是后台启动,所以需要自己写个脚本在容器中前台运行
vi apache-seatunnel-web-1.0.0-bin/start.sh

一定要在bin目录下执行启动后的脚本  sh bin/seatunnel-backend-daemon.sh start ,不然找不到首页  jetty err_empty_response 404

参考:CentOs7.x安装部署SeaTunnelWeb遇到的坑_seatunnel unable to connect to any cluster-CSDN博客

#!/bin/bashcp /opt/seatunnel-zeta/lib/* /opt/seatunnel/libs/cp /opt/seatunnel/libs/datasource*.jar /opt/seatunnel-zeta/lib/
mv -r /opt/seatunnel/connectors /opt/seatunnel-zeta/cd /opt/seatunnel/
# 一定要在这个目录执行,不然找不到首页  jetty err_empty_response 404
# https://blog.csdn.net/qq_34905631/article/details/135074860
sh bin/seatunnel-backend-daemon.sh starttail -f /opt/seatunnel/logs/seatunnel-web.log

创建dockerfile

FROM flink:1.18
ENV SEATUNNEL_VERSION="2.3.3"
ENV SEATUNNEL_WEB_VERSION="1.0.0"
COPY ./apache-seatunnel-web-${SEATUNNEL_WEB_VERSION}-bin.tar /opt/apache-seatunnel-web-${SEATUNNEL_WEB_VERSION}-bin.tar
WORKDIR /opt
RUN tar -xvf apache-seatunnel-web-${SEATUNNEL_WEB_VERSION}-bin.tar
RUN mv apache-seatunnel-web-${SEATUNNEL_WEB_VERSION}-bin seatunnel
RUN rm -f /opt/apache-seatunnel-web-${SEATUNNEL_WEB_VERSION}-bin.tar
WORKDIR /opt/seatunnelCOPY /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-zeta
RUN rm -f /opt/apache-seatunnel-${SEATUNNEL_VERSION}-bin.tar.gzRUN export SEATUNNEL_HOME=/opt/seatunnel-zeta
RUN export SEATUNNEL_WEB_HOME=/opt/seatunnel
RUN export ST_WEB_BASEDIR_PATH=/opt/seatunnel/ui
RUN export PATH=$PATH:$SEATUNNEL_HOME/bin:$SEATUNNEL_WEB_HOME/bin:$ST_WEB_BASEDIR_PATH/binENTRYPOINT ["sh", "/opt/seatunnel/start.sh"]


 tar -cvf apache-seatunnel-web-1.0.0-bin.tar apache-seatunnel-web-1.0.0-bin
 docker build -t yourharbor/yourlib/seatunnel-web:1.0.0 -f dockerfile-seatunnel-web-1.0.0-bin .
 docker push  yourharbor/yourlib/seatunnel-web:1.0.0


vi web.yaml

---
apiVersion: apps/v1
kind: Deployment
metadata:name: seatunnel-web-deploymentlabels:app: seatunnel-web-devnamespace: seatunnel
spec:replicas: 1selector:matchLabels:app: seatunnel-web-podtemplate:metadata:labels:app: seatunnel-web-podspec:containers:- name: seatunnel-web-serivceimage: yourharbor/yourlib/seatunnel-web:1.0.0imagePullPolicy: Alwaystolerations:- effect: NoSchedulekey: node-role.kubernetes.io/control-plane---
apiVersion: v1
kind: Service
metadata:name: seatunnel-web-svclabels:app: seatunnel-web-svcnamespace: seatunnel
spec:selector:app: seatunnel-web-podports:- name: seatunnel-web-portsprotocol: TCPport: 8801nodePort: 3xxxxtargetPort: 8801type: NodePort


部署镜像
kubectl apply -f web.yaml
错了就删除
kubectl delete -f web.yaml
查看pod
kubectl get po -n seatunnel -owide
查看svc
kubectl get svc -n seatunnel -owide
describe
kubectl describe po -n seatunnel seatunnel-web-deployment-75f465bd8b-tcvmf     
logs
kubectl logs -f -n seatunnel seatunnel-web-deployment-75f465bd8b-tcvmf      
进去容器看看
kubectl exec -it -n seatunnel seatunnel-web-deployment-75f465bd8b-tcvmf      -- /bin/bash
容器里访问一下
curl localhost:8801 

admin/admin登录,创建数据源,开始建source和sink


MySQL-CDC数据源建好了连接MySQL8.0输入连接信息时没有Driver信息,所以实现MySQL8.0 CDC会出现找不到合适的Driver的异常

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

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

相关文章

LeetCode - 和为K的子数组

LCR 010. 和为 K 的子数组 看到这道题的时候,感觉还挺简单的,找到数组中和为k的连续子数组的个数,无非就是一个区间减去另一个区间的和等于k,然后想到了用前缀和来解决这道问题。再算连续子数组出现的个数的时候,可以使…

系统学习Python——装饰器:“私有“和“公有“属性案例-[使用伪私有、破坏私有和装饰器权衡]

分类目录:《系统学习Python》总目录 使用伪私有 除了泛化,这个版本还使用了Python的_X伪私有保持不变混合功能,通过将这个类的名称自动作为其前缀,就可以把wrapped属性局部化为代理控制类的变量。这避免了上一版本与一个真实的被…

DJI RONIN 4D变0字节恢复案例

RONIN 4D这个产品听起来比较陌生,还是DJI大疆出品。没错,这是大疆进军影视级的重点明星机型。前阵子刚处理过大疆RONIN 4D的修复案例,下边这个案例是和exfat有关的老问题:文件长度变成0字节。 故障存储:希捷18T /MS Exfat文件系统。 故障现…

uniapp实现点击选项跳转到应用商店进行下载

uni-app 中如何打开外部应用,如:浏览器、淘宝、AppStore、QQ等 https://ask.dcloud.net.cn/article/35621 Android唤起应用商店并跳转到应用详情页 兼容处理多个应用商店的情况 https://juejin.cn/post/6896399353301516295 如何查看market://detail…

如何借助CRM系统获得直观的业务洞察?CRM系统图表视图解析!

Zoho CRM管理系统在优化客户体验方面持续发力,新年新UI,一波新功能正在赶来的路上。今天要介绍的新UI功能在正式推出之前,已经通过早鸟申请的方式给部分国际版用户尝过鲜了。Zoho CRM即将推出图表视图,将原始数据转换为直观的图表…

低代码开发平台-企业级可视化快速开发工具

一、你们是否也遇到了以下问题 (1)作为传统型的软件公司,你们是否也遇到以下困扰: (2)作为大型企业软件开发部,你们是否也遇到以下困扰: 二、低代码平台介绍 MSPF快速开发平台是一…

​如何使用 ArcGIS Pro 分析爆炸波及建筑

假设在某栋建筑内发生了爆炸,需要根据爆炸的范围分析出来波及的建筑,对于这一需求,我们可以通过ArcGIS Pro来实现,这里为大家介绍一下分析的方法,希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载…

C语言数据类型范围概述

int范围: -2147483648~2147483647 (-2^31~2^31-1) unsigned int范围: 0~4294967295 (0~2^32-1) long 范围:-2147483648~2147483647 (-2^31~2^31-1) long long 范围: -9223372036854775808~ 9223372036854775808(-2^63~2^63-1)

30个Linux性能问题诊断思路

文章目录 在Linux系统性能问题诊断过程中,有许多关键的检查点和技术可以用来识别潜在的问题源头。以下是30个Linux性能问题诊断思路的概览,包括但不限于: 系统负载监控: 使用uptime查看当前系统运行时间、在线用户数以及1/5/15分钟…

系列学习前端之第 5 章:学习 ES6 ~ ES11

1、什么是 ECMAScript ECMAScript 是由 Ecma 国际通过 ECMA-262 标准化的脚本程序设计语言。 从第 6 版开始,发生了里程碑的改动,并保持着每年迭代一个版本的习惯。 ES62015年,ES72016年,ES82017年,ES92018年&#…

数据库板块

数据库软件: 关系型数据库: Mysql Oracle SqlServer Sqlite 非关系型数据库: Redis NoSQL 1.数组、链表、文件、数据库 数组、链表: 内存存放数据的方式(代码运行结束、关机数据丢失) 文件、数据…

MathType2024官方原版补丁包下载

MathType 7是一款功能强大的数学公式编辑器,广泛应用于各种文档和演示中,用于创建和编辑复杂的数学公式。下面我将详细介绍MathType 7的主要功能和使用方法,以及一些使用技巧。 一、主要功能 公式编辑:MathType 7提供了一个直观…

VS 调试Hololens 2工程报错 有未经处理的异常: Microsoft C++ 异常:

原因是unity 少安装了XR工具包 安装完后重新用unity打包,然后vs打开打包出来的工程,电脑和眼镜用usb连接,直接运行调试就可以了

养鸭场的污水怎么处理

养鸭场的污水怎么处理 养鸭场废水处理是现代农业管理中至关重要的环节之一。随着养殖业规模的扩大和环保要求的提高,有效处理养鸭废水已成为一个迫切的挑战。本文将介绍养鸭场废水的特点及处理方法,并重点讨论各种先进的废水处理设备,包括生物…

word中图片位置问题(后续遇到问题再更新)

问题1:图片插入后显示不全 具体表现为:复制黏贴、或者插入图片后,出现插入的图片显示不全,或者不显示。 例如: 这是因为:图片被设定了固定行距 解决方案:ctrl1 效果: 问题2&am…

Elasticsearch进阶篇(一):Elasticsearch写入原理深入详解

Elasticsearch写入原理深入详解 1. ES相关问题 引用官方文档地址:分片内部原理 | Elasticsearch: 权威指南 | Elastic 为什么Elasticsarch是近实时,而不是准实时? 为什么文档的CRUD (创建-读取-更新-删除) 操作是实时的? Elast…

FineReport报表如何在单元格中显示本地图片(图片地址已存储到MySQL数据库中)

帆软帮助文档对应查看链接:https://help.fanruan.com/finereport/doc-view-854.html?source4#需求:在设计FineReport报表时,想在单元格中显示图书信息对应的图片,图片路径已存储到MySQL数据库中 一、查询数据库 查询MySQL中图书…

为什么defineProps宏函数不需要从vue中import导入?

前言 我们每天写vue代码时都在用defineProps,但是你有没有思考过下面这些问题。为什么defineProps不需要import导入?为什么不能在非setup顶层使用defineProps?defineProps是如何将声明的 props 自动暴露给模板? 举几个例子 我们…

【算法面试题】-06

智能成绩表 题目描述 小明来到学校当老师&#xff0c;需要将学生按考试总分或单科分数进行排名&#xff0c;你能帮帮他吗&#xff1f; 输入描述 第 1 行输入两个整数&#xff0c;学生人数 n 和科目数量 m。 0 < n < 100 0 < m < 10 第 2 行输入 m 个科目名称&…

Singularity(三)| 将docker转化为singularity容器

Singularity&#xff08;三&#xff09;| 将docker转化为singularity容器 Singularity 容器格式 Singularity 容器存在两种不同的格式&#xff08;或者称为状态&#xff09;&#xff1a; 适用于生产的压缩的 只读 singularity 镜像文件&#xff08;Singularity Image File&…