先确保有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示例