Seatunnel的部署和使用
Seatunnel是一個非常易用、高性能、支持實時流式和離線批處理的海量數(shù)據(jù)集成平臺。接下來我給大家講講如何使用和部署seatunnel。
1.下載seatunnel
wget https://archive.apache.org/dist/incubator/seatunnel/2.3.1/apache-seatunnel-incubating-2.3.1-bin.tar.gz
2.配置seatunnel插件
在原有的plugin_config中存在著很多插件,但下載速度很慢,所以這邊建議挑選自己需要的插件下載
vim config/plugin_config
--connectors-v2--?
connector-assert?
connector-cdc-mysql?
connector-jdbc?
connector-fake?
connector-console?
--end--
3.安裝seatunnel插件
sh bin/install-plugin.sh
4.編寫json文件
根據(jù)自己的需要編寫,下面有兩個例子,分別是mysql to mysql離線批處理,和mysql實時流模式的模版。
4.1mysql to mysql離線批處理
env {
job.mode="STREAMING"
job.name="SeaTunnel_Job"
checkpoint.interval=10000
}
source {
Jdbc {
? ? url="jdbc:mysql://127.0.0.1:3306/wtinfo"
driver = "com.mysql.cj.jdbc.Driver"
connection_check_timeout_sec = 100
user = "root"
password = "12345"
query = "select * from s1"
partition_num = 10
}
}
sink {
Jdbc {
primary_keys = ["id"]
? ? password="12345"
? ? driver="com.mysql.cj.jdbc.Driver"
? ? user=root
query = "insert into s1 values(?,?,?,?,?,?)"
? ? url="jdbc:mysql://127.0.0.1:3306/wtinfo_test?enabledTLSProtocols=TLSv1.2&rewriteBatchedStatements=true"
}
}
4.2mysql to mysql 流模式
env {
job.mode="STREAMING"
job.name="SeaTunnel_Job"
checkpoint.interval=10000
}
source {
MySQL-CDC {
? ? base-url="jdbc:mysql://127.0.0.1:3306/wtinfo"
username= "root"
password = "12345"
table-names = ["wtinfo.test"]
server-id = 1
}
}
sink {
Jdbc {
primary_keys = ["name"]
? ? password="12345"
? ? driver="com.mysql.cj.jdbc.Driver"
? ? user=root
query = "insert into test values(?,?)"
? ? url="jdbc:mysql://127.0.0.1:3306/wtinfo_test?enabledTLSProtocols=TLSv1.2&rewriteBatchedStatements=true"
}
}
5.執(zhí)行seatunnel任務
bin/seatunnel.sh --config job/test.config.CDC -e local
運行seatunnel,--config后為配置的json文件
其他的插件不在這里一一展示,大家可以根據(jù)需要官網(wǎng)信息配置json。
官網(wǎng):https://seatunnel.apache.org/