seatunnel及web安装常见问题与解决方法

seatunnel及web的正常安装流程见

Seatunnel及web搭建流程-CSDN博客

一步一步按照以上博客流程进行安装,正常情况下能顺利跑通seatunnel及web的demo。

此博客为安装过程中遇到的一些棘手问题总结。

常见错误问题

正常安装后,都会遇到报错,下面是总结的一些常见的异常问题

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

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

将seatunnel-hadoop3-3.1.4-uber-2.3.3-optional.jar放到seatunnel的lib包下即可。下载方法见文章后面的详细介绍。

2.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功能。

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

jar包下载地址Central Repository: com/microsoft/sqlserver/mssql-jdbc

3.SqlServer 2016无法开启表的cdc

安装流程CDC 任务数据源权限配置 - SqlServer 权限配置 - 《EasyData用户手册》进行开启SqlServer 2016的cdc功能时,遇到问题是:可以开启SqlServer的库的cdc,但是在开启表的cdc时,一直无法执行成功,一个可能得原因是,计算机的名称发生了变化,需要将计算机的名称还原到安装SqlServer 2016的时候的名称。

sql - 在表级别启用CDC时出错 - Thinbug

mvn加速下载seatunnel相关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时,使用mvnw来下载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

注意,这里的解决方式需要下载最新的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下再试试。

相关问题

1.配置阿里云mvn源加速

 如何配置的阿里云mvn源

Maven如何配置阿里镜像及安装全步骤_maven配置阿里云镜像-CSDN博客

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

因为所有linux机器不能外网,先在windows下执行shell脚本,下载jar包,然后复制到相关机器即可。如何在windows下执行shell命令,可参考下面的文章。

Windows中运行Linux命令的6种方法icon-default.png?t=N7T8https://www.eet-china.com/mp/a228539.html

  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 21
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值