Seatunnel部署及一些出错

Posted underworld33

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Seatunnel部署及一些出错相关的知识,希望对你有一定的参考价值。

先确保有Java,确保版本大于1.8.0

1.设置JAVA_HOME

2.下载Seatunnel,在指定文件夹路径下输入以下代码

export version="2.3.0"
wget "https://archive.apache.org/dist/incubator/seatunnel/$version/apache-seatunnel-incubating-$version-bin.tar.gz"
tar -xzvf "apache-seatunnel-incubating-$version-bin.tar.gz"

3.解压压缩包

tar -zxvf 压缩包名称

4.设置所需要的连接器都有哪些

打开路径  /seatunnel/apache-seatunnel-incubating-2.3.0/config

找到文件 plugin_config,打开编辑,如下

--seatunnel-connectors--
connector-fake
connector-console
--end--

中间内容看所需要的情况去增加

你可以在这找到所有受支持的相应的config配置名称

$SEATUNNEL_HOME/connectors/plugins-mapping.properties

5.配置完后安装连接器插件

sh bin/install_plugin.sh 2.3.0

外网下载,可能很慢

以上全部完成即部署成功

---------------------------------------------------------------------------------------------------------------------------------

下面开始测试能否调通

3种方法,1.本地直接测试;2.fling测试;3.spark测试

1.1.本地直接测试

找到  config/seatunnel.streaming.conf.template 文件,修改内容为以下

env 
  execution.parallelism = 1
  job.mode = "BATCH"


source 
    FakeSource 
      result_table_name = "fake"
      row.num = 16
      schema = 
        fields 
          name = "string"
          age = "int"
        
      
    


transform 



sink 
  Console 

仅是测试内容,详细配置参考

Intro to config file | Apache SeaTunnelhttps://seatunnel.apache.org/docs/2.3.0/concept/config

1.2.运行海底隧道

在根目录下输入下方代码 

./bin/seatunnel.sh --config ./config/seatunnel.streaming.conf.template -e local

ps1.报错说Hazelcast instance is not active!(hazelcast实例未激活!)

这个不清楚怎么解决的,但是重新安装了一次配置文件的时候,错误消失,又可以重新运行了。可能是第一次配置文件安装出了错误

2.flink测试

2.1.部署flink(flink要求>1.12.0 且 <1.14.x)本次所使用的版本是1.12.2

下载flink,下方链接

Apache Flink: Downloadshttps://flink.apache.org/downloads.html或者百度网盘下载这次测试的压缩包

链接:https://pan.baidu.com/s/13f3epBuYyon8gRGbGMRY-w 
提取码:hdsd

下载完后解压(我的路径是 /usr/local/flink)

tar -zxvf flink-1.12.2-bin-scala_2.12.tgz

配置FLINK_HOME

export FLINK_HOME=/usr/local/flink/flink-1.12.2
export PATH=$PATH:$FLINK_HOME/bin

 测试flink是否可用

# 启动Flink
./bin/start-cluster.sh

#这个时候可以打开地址去查看网页,默认端口8081

#测试是否可以调通
./bin/flink run ./examples/streaming/TopSpeedWindowing.jar

#关闭Flink
./bin/stop-cluster.sh

 2.打开 Seatnnul 找到  config/seatunnel.streaming.conf.template 文件,修改内容为以下

env 
  execution.parallelism = 1
  job.mode = "BATCH"


source 
    FakeSource 
      result_table_name = "fake"
      row.num = 16
      schema = 
        fields 
          name = "string"
          age = "int"
        
      
    


transform 



sink 
  Console 

仅是测试配置

2.2.运行海底隧道

./bin/start-seatunnel-flink-connector-v2.sh --config ./config/seatunnel.streaming.conf.template

ps1.报错说主方法错误,Flink作业失败。

这个我先下载的Spark,所以Spark的端口是8081,后下载的Flink端口被占用了,我就修改了Flink的端口,但不知道是端口设置错了或者其他原因,导致Flink没法运行作业

解决的办法是,把Spark的服务停止了,Flink的端口改回8081,成功运行

ps2.以上仅是测试 ,seatunnel.streaming.conf.template文件是seatunnel自带的测试用的配置文件,如果我们自己写的话,需要自己创建 .config 文件,启动命令也是改为

./bin/start-seatunnel-flink-connector-v2.sh --config ./config/创建的.config文件

以上是关于Seatunnel部署及一些出错的主要内容,如果未能解决你的问题,请参考以下文章

从ETL走向EtLT架构,下一代数据集成平台Apache SeaTunnel核心设计思路解析

Seatunnel实战:hive_to_starrocks

Seatunnel学习记录

基于Seatunnel连通Hive数仓和ClickHouse的实战

随想之六-持续部署

教你如何成为开源项目SeaTunnel的贡献者