暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Apache SeaTunnel 及Web端安装常见问题及解决方法

SeaTunnel 2024-06-14
686

本文是作者在安装Apache SeaTunnel过程中,新手可能会遇到的一些棘手问题总结,希望给到大家帮助和参考!

常见错误问题

java.lang.NoClassDefFoundError:com/sun/jersey/client/impl/CopyOnWriteHashMap

主要原因是,Hadoop相关的Jar包找不到,需要将Jar包放到lib下。

atunnel-hadoop3-3.1.4-uber-2.3.3-optional.jar
到SeaTnnel的lib包下即可。

下载方法见文章后面的详细介绍


SqlServer-cdc的Jar包安全问题

使用高版本的mssql的JDBC的Jar包时,有安全检查机制,会导致进行使用SeaTunnel的sqlserver-cdc时报异常:

Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

我使用的是mssql-jdbc-11.2.3.jre8.jar
,结果一直报异常,添加了trustServerCertificate=true;encrypt=true
参数也会报错(只针对seatunnel的SqlServer-cdc场景,在jdbc场景使用此jar包正常)。

经过查看源码与issue,发现源码中是低版本mssql-jdbc-9.4.1.jre8.jar
,替换此Jar包后SqlServer-cdc
SqlServer2016
上能够实现CDC功能。

有的同学使用的是mssql-jdbc-9.2.0.jre8.jar
,也可以实现SqlServer-cdc
功能。

Jar包下载地址:https://repo1.maven.org/maven2/com/microsoft/sqlserver/mssql-jdbc/

SqlServer 2016无法开启表的CDC

安装进行开启SqlServer 2016
的CDC功能时,遇到问题是: 以开启SqlServer的库的CDC,但是在开启表的CDC时,一直无法执行成功。

可能得原因是,计算机的名称发生了变化,需要将计算机的名称还原到安装SqlServer 2016
的时候的名称。

参考材料:sql - 在表级别启用CDC时出错 - Thinbug: https://www.thinbug.com/q/23969742

mvn加速下载相关Jar包

安装SeaTunnel过程中,解压文件后官方默认提供的Connector的Jar包只有2个,要想连接MySQL、Oracle、SqlServer、Hive、Kafka、Clickhouse、Doris等时,还需下载对应的Jar包。

解决办法:

如果机器可以连接外网,可使用命令方式sh bin/install-plugin.sh
直接下载,这个命令会 自动下载文件apache-seatunnel-2.3.3/connectors/plugin-mapping.properties
中指定的所有Connector的Jar包,每个人可根据自己情况自行增减需要的connector依赖包。

加速下载Connector相关Jar包

SeaTunnel下载Connector的Jar包时,从https://repo.maven.apache.org 下载,速度及其缓慢,且公司机器不能上外网,改用自己Windows本地的mvn,从阿里云mvn源下载情况会得到大大的改善。 解决办法:

修改其安装插件相关脚本,复制bin目录下install-plugin.sh
重命名为install-plugin-mvn.sh

替换脚本中的${SEATUNNEL_HOME}/mvnw
为mvn,即可使用本地mvn,配合阿里云的mvn源,可加速下载。

然后执行install-plugin-mvn.sh
即可,我们可以看到原本2个小时没有下载完成的,改写后几分钟下载完成了。

将下载后的Jar包复制到connectors/seatunnel/
下即完成connector
的Jar包补充。

注意:在安装SeaTunnel的时候可能会出现java.lang.NoClassDefFoundError
错误,大部分时候是因为缺少Apache Hadoop的Jar包,在执行install-plugin-mvn.sh
的时候会下载一个jar包seatunnel-hadoop3-3.1.4-uber-2.3.3-optional.jar
,存放于上一级目录的lib文件夹下。

如果是在其他路径下载jar包,将下载的seatunnel-hadoop3-3.1.4-uber-2.3.3-optional.jar
放在SeaTunnel的lib文件夹下,就可以解决这个问题了。

Datasource相关Jar包

安装好seatunnel-web1.0.0
后,新建数据源时,无下拉框和数据源选项,

查找资料中官方大佬给出的解决方式如下:

[Improve] Add "download_datasource.sh" for downloading datasource. by FlechazoW · Pull Request #136 · apache/seatunnel-web · GitHub

跳转链接:https://github.com/apache/seatunnel-web/pull/136

注意,这里的解决方式需要下载最新的seatunnel-web
源代码,执行download_datasource.sh
下载数据源jar包

查看源代码,也是使用mvnw的方式下载,windows上进行修改

download\_datasource.sh
复制到 D:\\jar\\seatunnel\\script
后改名为download\_datasource-mvn.sh
,替换"$SEATUNNEL\_WEB\_HOME"/mvnw
为本地环境变量中配置好的mvn即可。

执行sh download_datasource-mvn.sh
命令就会将Jar包下载到相应为文件夹中

下载完成后,将相应的Jar包放置到apache-seatunnel-web
的libs下,重启之后,显示正常。

注意事项

1.元数据和数据源的jar包还需要要复制到后端lib文件夹/opt/seatunnel/backend/apache-seatunnel-2.3.3/lib

否则在配置好web任务时,后台根本不执行!!!

2.有的同学各种准备工作都做好了,还是不显示数据源,这个时候把后端的connectors
plugins
相关jar包放到web下的lib下再试试。

相关问题

配置阿里云mvn源加速

如何配置的阿里云mvn源:https://blog.csdn.net/zhang19903848257/article/details/107923791

如何在windows环境下执行shell命令

因为所有linux机器不能外网,先在windows下执行shell脚本,下载jar包,然后复制到相关机器即可。

如何在windows下执行shell命令,可参考下面的文章。

Windows中运行Linux命令的6种方法:https://www.eet-china.com/mp/a228539.html

感谢大家的浏览,希望对接大家有所帮助!

以上内容来源于:https://blog.csdn.net/u013995172/article/details/134385183

活动推荐

 



日期与时间:2024年6月13日,星期日,19:00 - 21:00

地点SeaTunnel 视频号

会议主题Apache SeaTunnel Meetup


 


同步Demo

 MySQL→Doris
MySQLCDC

新手入门

 SeaTunnel 让数据集成变得 So easy!  3 分钟入门指南
从 0 到 1 快速入门 Apache SeaTunnel 
初探 Apache SeaTunnel / 深入理解 Apache SeaTunnel

 MySQL 同步到 Hive / 从MySQL同步到StarRocks
通过 SeaTunnel 将数据写入 OSS-HDFS 
MySQL 到 Elasticsearch 实时同步解决方案

启动 SeaTunnel / 3 分钟部署 SeaTunnel Zeta 
 部署 Apache SeaTunnel 分布式集群
Apache SeaTunnel Web部署指南
基于Apache SeaTunnel构建CDC数据同步管道
【用户投稿】Apache SeaTunnel 2.3.3+Web 1.0.0版本安装部署
【安装部署】Apache SeaTunnel 和 Web快速安装详解
【保姆级教程】使用SeaTunnel同步Kafka的数据到ClickHouse

最佳实践

 OPPO 清风 天翼云 马蜂窝
孩子王 哔哩哔哩 唯品会
众安保险 兆原数通

测试报告


 性能测试报告:SeaTunnel 批量同步数据比 GLUE 快 420%!
最新性能对比报告:SeaTunnel 是 Airbyte 30 倍!
比DataX快20%!SeaTunnel同步计算引擎性能测试全新发布
SeaTunnel 与 DataX 、Sqoop、Flume、Flink CDC 对比


Apache SeaTunnel





Apache SeaTunnel 是一个分布式、高性能、易扩展、用于海量数据(离线&实时)同步和转化的数据集成平台


仓库地址: 
https://github.com/apache/seatunnel

网址:
https://seatunnel.apache.org/

Apache SeaTunnel 下载地址:
https://seatunnel.apache.org/download
 
衷心欢迎更多人加入!

我们相信,在「Community Over Code」(社区大于代码)、「Open and Cooperation」(开放协作)、「Meritocracy」(精英管理)、以及「多样性与共识决策」等 The Apache Way 的指引下,我们将迎来更加多元化和包容的社区生态,共建开源精神带来的技术进步!

我们诚邀各位有志于让本土开源立足全球的伙伴加入 SeaTunnel 贡献者大家庭,一起共建开源!

提交问题和建议:
https://github.com/apache/seatunnel/issues

贡献代码:
https://github.com/apache/seatunnel/pulls

订阅社区开发邮件列表 : 
dev-subscribe@seatunnel.apache.org

开发邮件列表:
dev@seatunnel.apache.org

加入 Slack:
https://join.slack.com/t/apacheseatunnel/shared_invite/zt-1kcxzyrxz-lKcF3BAyzHEmpcc4OSaCjQ

关注 Twitter: 
https://twitter.com/ASFSeaTunnel


文章转载自SeaTunnel,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论