導入環境(MacOS/Linux)
1. JDK環境をインストールする
現在、SeaTunnel は JDK8 以降の環境での実行をサポートしています。JDK環境はユーザー自身でインストールする必要があります。
2. インストールパッケージをダウンロードする
現在、SeaTunnel の最新バージョンはバージョン 2.3.1 です。ここではバージョン 2.3.1 をインストールしてデプロイします。他のバージョンをダウンロードする必要がある場合は、https://seatunnel.apache.org/download から対応するバージョンを確認できます。
mkdir ~/seatunnel
cd ~/seatunnel
wget https://dlcdn.apache.org/incubator/seatunnel/2.3.1/apache-seatunnel-incubating-2.3.1-bin.tar.gz
tar -zxvf apache-seatunnel-incubating-2.3.1-bin.tar.gz
3. 必要なプラグインを選択します
SeaTunnel のインストール パッケージには、デフォルトではデータの同期に必要なコネクタ プラグインが含まれていません。ユーザーは最初に config ディレクトリ内の plugin_config ファイルを編集する必要があります。このファイルには、ダウンロードしてインストールする必要があるコネクタ プラグインが記述されています。デフォルトでは、サポートされているすべてのコネクタ プラグインをダウンロードしてインストールします。このファイルを変更し、不要なプラグインを削除し、必要なプラグインだけを残すことができます。
cd ~/seatunnel/apache-seatunnel-incubating-2.3.1
vi config/plugin_config
次に、内容を変更します。今回は、JDBC、MySQL CDC、StarRocks、Assert、Fake、および Console の 6 つのコネクタのみが必要で、その他は削除します。最終的なファイルの内容は次のとおりです。
--connectors-v2--
connector-assert
connector-cdc-mysql
connector-jdbc
connector-starrocks
connector-fake
connector-console
--end--
4. ダウンロードとインストールのコマンドを実行します。
次に、コネクタのダウンロードとインストールのコマンドを実行します。この手順は、Maven がマシンにインストールおよびデプロイされていること、およびマシンがインターネットに接続できるかどうかに依存することに注意してください。Maven がインストールされているかどうかは、次のコマンドで確認できます。 :
mvn
以下の情報が表示された場合は、Maven 環境がインストールおよびデプロイされたことを意味します。問題が発生してエラーが報告された場合は、次のデプロイに進む前に、Maven をインストールおよびデプロイするか、問題を修正してください。
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /Users/gaojun/app/apache-maven-3.6.3
Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.16", arch: "x86_64", family: "mac"
コマンドを実行して、コネクタ プラグインをダウンロードしてインストールします。
cd ~/seatunnel/apache-seatunnel-incubating-2.3.1
sh bin/install-plugin.sh
コマンドの実行が完了するまで待つと、コネクタ プラグインがダウンロードされ、インストールされます。インストールが完了すると、~/seatunnel/apache-seatunnel-incubation-2.3.1/connectors/seatunnel/ ディレクトリにコネクタ プラグインがすでにインストールされていることがわかります。
5. 単一ノード SeaTunnel Zeta ノードを開始します
cd ~/seatunnel/apache-seatunnel-incubating-2.3.1
nohup sh bin/seatunnel-cluster.sh 2>&1 &
jps コマンドを使用して、プロセスが開始されているかどうかを確認できます。プロセス名は SeaTunnelServer です。
jps
6. 組み込みのオフライン バッチ同期デモ タスクを実行します。
config ディレクトリには、それに付属するオフライン バッチ同期タスク用の構成ファイル v2.batch.config.template があります。このファイルはジョブを定義し、FakeSource と呼ばれるソース コネクタを使用してデータを生成し、そのデータをコンソールに送信します。 Sink 、Console Sink の役割は、受信したデータをコンソールに出力することです。
したがって、このジョブを実行すると、コンソールにデータが印刷されることがわかります。合計 32 行のデータが印刷され、各データには 2 つのフィールド (名前、年齢) があります。v2.batch.config.template ファイルの内容は次のとおりです。
env {
# You can set SeaTunnel environment configuration here
execution.parallelism = 2
job.mode = "BATCH"
checkpoint.interval = 10000
#execution.checkpoint.interval = 10000
#execution.checkpoint.data-uri = "hdfs://localhost:9000/checkpoint"
}
source {
# This is a example source plugin **only for test and demonstrate the feature source plugin**
FakeSource {
parallelism = 2
result_table_name = "fake"
row.num = 16
schema = {
fields {
name = "string"
age = "int"
}
}
}
# If you would like to get more information about how to configure Seatunnel and see full list of source plugins,
# please go to https://seatunnel.apache.org/docs/category/source-v2
}
sink {
Console {
}
# If you would like to get more information about how to configure Seatunnel and see full list of sink plugins,
# please go to https://seatunnel.apache.org/docs/category/sink-v2
}
デモ ジョブを実行します。
cd ~/seatunnel/apache-seatunnel-incubating-2.3.1
sh bin/seatunnel.sh --config config/v2.batch.config.template
ジョブの実行後、次の監視情報を確認できます。
7. 組み込みのリアルタイム同期デモ ジョブを実行します。
config ディレクトリには、リアルタイム同期タスクが組み込まれた構成ファイル v2.streaming.conf.template があります。このファイルはジョブを定義し、FakeSource と呼ばれるソース コネクタを使用してデータを生成し、そのデータをコンソール シンク: コンソール シンクの役割は、受信したデータをコンソールに出力することです。
したがって、このジョブを実行すると、データがコンソールに表示されることがわかります。これはリアルタイム ジョブであるため、ジョブは自動的に停止しません。v2.streaming.conf.template ファイルの内容は次のとおりです。以下に続きます:
env {
# You can set flink configuration here
execution.parallelism = 2
job.mode = "STREAMING"
checkpoint.interval = 2000
#execution.checkpoint.interval = 10000
#execution.checkpoint.data-uri = "hdfs://localhost:9000/checkpoint"
}
source {
# This is a example source plugin **only for test and demonstrate the feature source plugin**
FakeSource {
parallelism = 2
result_table_name = "fake"
row.num = 16
schema = {
fields {
name = "string"
age = "int"
}
}
}
# If you would like to get more information about how to configure Seatunnel and see full list of source plugins,
# please go to https://seatunnel.apache.org/docs/category/source-v2
}
sink {
Console {
}
# If you would like to get more information about how to configure Seatunnel and see full list of sink plugins,
# please go to https://seatunnel.apache.org/docs/category/sink-v2
}
デモ ジョブを実行します。
cd ~/seatunnel/apache-seatunnel-incubating-2.3.1
sh bin/seatunnel.sh --config config/v2.streaming.conf.template
ジョブが約 1 分間実行されると、次の監視情報が表示されるはずです。
ジョブが正常に実行されていることを示します。Ctrl+C を押してジョブを終了し、実行中のジョブを停止します。
これまでのところ、SeaTunnel Zeta は展開され、検証されています。
この記事は Beluga オープンソース テクノロジーによってサポートされています。