This is an automated email from the ASF dual-hosted git repository.
aloyszhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong-website.git
The following commit(s) were added to refs/heads/master by this push:
new 8d250a60538 [INLONG-1085][Doc] Add documents for Airflow offline
scheduler (#1089)
8d250a60538 is described below
commit 8d250a60538bc7f4f15737921b4f7e1d2aaba22e
Author: Zkplo <[email protected]>
AuthorDate: Thu Dec 5 15:12:34 2024 +0800
[INLONG-1085][Doc] Add documents for Airflow offline scheduler (#1089)
---
.../airflow_pulsar_mysql_example.md | 125 ++++++++++++++++++++
.../airflow/airflow_DAG_task_result.png | Bin 0 -> 49342 bytes
.../airflow/airflow_create_cluster_labels.png | Bin 0 -> 67056 bytes
.../airflow/airflow_create_data_flow_group.png | Bin 0 -> 39469 bytes
.../airflow/airflow_create_data_target.png | Bin 0 -> 74200 bytes
.../airflow/airflow_create_pulsar_cluster.png | Bin 0 -> 104084 bytes
.../airflow_create_synchronization_task.png | Bin 0 -> 58901 bytes
.../airflow/airflow_create_synchronize_task.png | Bin 0 -> 66051 bytes
.../airflow/airflow_create_task_DAG.png | Bin 0 -> 30607 bytes
.../airflow/airflow_create_task_DAG_result.png | Bin 0 -> 56436 bytes
.../airflow/airflow_data_stream_group.png | Bin 0 -> 38215 bytes
.../img/pulsar_mysql/airflow/airflow_get_DAGs.jpg | Bin 0 -> 19793 bytes
.../pulsar_mysql/airflow/airflow_original_DAG.png | Bin 0 -> 45802 bytes
.../airflow/airflow_synchronization_result.png | Bin 0 -> 71655 bytes
.../airflow_pulsar_mysql_example.md | 130 +++++++++++++++++++++
.../offline_data_sync/dolphinscheduler_example.md | 0
.../airflow/airflow_DAG_task_result.png | Bin 0 -> 49342 bytes
.../airflow/airflow_create_cluster_labels.png | Bin 0 -> 80114 bytes
.../airflow/airflow_create_data_flow_group.png | Bin 0 -> 39469 bytes
.../airflow/airflow_create_data_target.png | Bin 0 -> 75244 bytes
.../airflow/airflow_create_pulsar_cluster.png | Bin 0 -> 108551 bytes
.../airflow/airflow_create_synchronize_task.png | Bin 0 -> 66051 bytes
.../airflow/airflow_create_task_DAG.png | Bin 0 -> 30607 bytes
.../airflow/airflow_create_task_DAG_result.png | Bin 0 -> 56436 bytes
.../airflow/airflow_create_ynchronization_task.png | Bin 0 -> 66051 bytes
.../airflow/airflow_data_stream_group.png | Bin 0 -> 39469 bytes
.../img/pulsar_mysql/airflow/airflow_get_DAGs.jpg | Bin 0 -> 19793 bytes
.../pulsar_mysql/airflow/airflow_original_DAG.png | Bin 0 -> 45802 bytes
.../airflow/airflow_synchronization_result.png | Bin 0 -> 71655 bytes
.../dolphinscheduler/ds_process_instance.png | Bin
.../dolphinscheduler/ds_process_success.png | Bin
.../dolphinscheduler/ds_schedule_process.png | Bin
.../dolphinscheduler/ds_schedule_success.png | Bin
.../pulsar_mysql/dolphinscheduler/ds_security.png | Bin
.../pulsar_mysql/dolphinscheduler/ds_task_conf.png | Bin
.../dolphinscheduler/ds_token_copy.png | Bin
.../dolphinscheduler/ds_token_generate.png | Bin
.../dolphinscheduler/ds_token_manager.png | Bin
.../dolphinscheduler/inlong_manager_conf.png | Bin
.../pulsar_mysql/dolphinscheduler/mysql_result.png | Bin
.../img/pulsar_mysql/{ => quartz}/approve.png | Bin
.../img/pulsar_mysql/{ => quartz}/cluster_tag.png | Bin
.../{ => quartz}/create_offline_group.png | Bin
.../pulsar_mysql/{ => quartz}/cron_schedule.png | Bin
.../pulsar_mysql/{ => quartz}/flink_batch_job.png | Bin
.../img/pulsar_mysql/{ => quartz}/group.png | Bin
.../img/pulsar_mysql/{ => quartz}/mysql_sink.png | Bin
.../pulsar_mysql/{ => quartz}/normal_schedule.png | Bin
.../img/pulsar_mysql/{ => quartz}/pulsar.png | Bin
.../pulsar_mysql/quartz/schedule_engine_type.png | Bin
.../img/pulsar_mysql/{ => quartz}/sink.png | Bin
.../img/pulsar_mysql/{ => quartz}/sink_field.png | Bin
.../img/pulsar_mysql/{ => quartz}/source.png | Bin
.../img/pulsar_mysql/{ => quartz}/source_field.png | Bin
.../offline_data_sync/pulsar_mysql_example.md | 125 --------------------
.../offline_data_sync/quartz_example.md | 0
.../img/pulsar_mysql/{quartz => }/approve.png | Bin
.../img/pulsar_mysql/{quartz => }/cluster_tag.png | Bin
.../{quartz => }/create_offline_group.png | Bin
.../pulsar_mysql/{quartz => }/cron_schedule.png | Bin
.../pulsar_mysql/{quartz => }/flink_batch_job.png | Bin
.../img/pulsar_mysql/{quartz => }/group.png | Bin
.../img/pulsar_mysql/{quartz => }/mysql_sink.png | Bin
.../pulsar_mysql/{quartz => }/normal_schedule.png | Bin
.../img/pulsar_mysql/{quartz => }/pulsar.png | Bin
.../{quartz => }/schedule_engine_type.png | Bin
.../img/pulsar_mysql/{quartz => }/sink.png | Bin
.../img/pulsar_mysql/{quartz => }/sink_field.png | Bin
.../img/pulsar_mysql/{quartz => }/source.png | Bin
.../img/pulsar_mysql/{quartz => }/source_field.png | Bin
.../offline_data_sync/quartz_example.md | 30 ++---
.../img/pulsar_mysql/schedule_engine_type.png | Bin 0 -> 39098 bytes
.../{pulsar_mysql_example.md => quartz_example.md} | 18 ++-
73 files changed, 283 insertions(+), 145 deletions(-)
diff --git a/docs/quick_start/offline_data_sync/airflow_pulsar_mysql_example.md
b/docs/quick_start/offline_data_sync/airflow_pulsar_mysql_example.md
new file mode 100644
index 00000000000..27142ca8587
--- /dev/null
+++ b/docs/quick_start/offline_data_sync/airflow_pulsar_mysql_example.md
@@ -0,0 +1,125 @@
+---
+title: Example of Airflow Offline Synchronization
+sidebar_position: 3
+---
+In the following content, a complete example will be used to introduce how to
create Airflow scheduling tasks using Apache InLong and complete offline data
synchronization from Pulsar to MySQL.
+
+## Deployment
+### Install InLong
+
+Before we begin, we need to install InLong. Here we provide two ways:
+- [Docker Deployment](deployment/docker.md) (Recommended)
+- [Bare Metal Deployment](deployment/bare_metal.md)
+
+### Add Connectors
+
+Download the [connectors](https://inlong.apache.org/downloads/) corresponding
to Flink version, and after decompression, place
`sort-connector-jdbc-[version]-SNAPSHOT.jar` in `/inlong-sort/connectors/`
directory.
+> Currently, Apache InLong's offline data synchronization capability only
supports Flink-1.18, so please download the 1.18 version of connectors.
+
+## Create Clusters And Data Target
+
+### Create Cluster Label
+
+
+### Register Pulsar Cluster
+
+
+
+### Create Data Target
+
+
+
+Execute the following SQL statement:
+
+```mysql
+CREATE TABLE sink_table (
+ id INT AUTO_INCREMENT PRIMARY KEY,
+ name VARCHAR(255) NOT NULL,
+ create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
+);
+```
+
+## Airflow Initialization
+
+### Get Initial DAG
+
+They can be obtained from [Inlong](https://github.com/apache/inlong).
+
+
+
+> Airflow does not provide an API for DAG creation, so two original DAGs are
required. `dag_creator` is used to create offline tasks, and `dag_cleaner` is
used to clean up offline tasks regularly.
+
+### Create Initial DAG
+
+Place the DAG file in the Airflow default DAG directory and wait for a while.
The Airflow scheduler will scan the directory and load the DAG:
+
+
+### Airflow REST API
+
+By default, Airflow will reject all REST API requests. Please refer to the
[Airflow official
documentation](https://airflow.apache.org/docs/apache-airflow-providers-fab/stable/auth-manager/api-authentication.html)
for configuration.
+
+### Inlong Manager Configuration
+
+Modify the configuration file according to the configuration file requirements
and restart Inlong Manager.
+```properties
+# Inlong Manager URL accessible by the scheduler
+schedule.engine.inlong.manager.url=http://inlongManagerIp:inlongManagerPort
+# Management URL for Airflow
+schedule.engine.airflow.baseUrl=http://airflowIP:airflowPort
+# Username and password for Airflow REST API authentication
+schedule.engine.airflow.username=airflow
+schedule.engine.airflow.password=airflow
+# Connection used to save Inlong Manager authentication information
+schedule.engine.airflow.connection.id=inlong_connection
+# The ids of the two original DAGs
+schedule.engine.airflow.cleaner.id=dag_cleaner
+schedule.engine.airflow.creator.id=dag_creator
+```
+
+## Offline Synchronization Task Creation
+### Create Synchronization Task
+
+
+### Create Data Stream Group
+
+
+Please refer to the following steps: [Use Quartz built-in scheduling
engine](./quartz_example.md)
+### Create Airflow Offline Task
+
+After approval and configuration, Inlong Manager will trigger `dag_creator`
through the Airflow API to create the offline task DAG:
+
+
+
+
+
+> Offline task DAG may not be scheduled immediately, because Airflow will scan
DAG files regularly and add them to the schedule, so it may take some time.
+
+The offline task execution results are as follows:
+
+
+
+> Airflow will periodically call the interface provided by Inlong Manager to
submit Flink tasks according to the configuration in the `Create Data Stream
Group` section. This is why the authentication information of Inlong Manager
needs to be saved in the `Inlong Manager Configuration` section.
+
+## Test Data
+### Send Data
+
+The example of using Pulsar SDK to write production data to a Pulsar topic is
as follows:
+```java
+// Create pulsar client and producer
+PulsarClient pulsarClient =
PulsarClient.builder().serviceUrl("pulsar://localhost:6650").build();
+Producer<byte[]> producer =
pulsarClient.newProducer().topic("public/default/test").create();
+
+// Send a message
+for (int i = 0; i < 10000; i++) {
+ // The field separator is |
+ String msgStr = i + "|msg-" + i;
+ MessageId msgId = producer.send(msgStr.getBytes(StandardCharsets.UTF_8));
+ System.out.println("Send msg : " + msgStr + " with msgId: " + msgId);
+}
+```
+
+### Data Verification
+
+Then enter Mysql and check the database table data. You can see that the data
has been synchronized to MySQL.
+
+
diff --git
a/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_DAG_task_result.png
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_DAG_task_result.png
new file mode 100644
index 00000000000..c834eb1db86
Binary files /dev/null and
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_DAG_task_result.png
differ
diff --git
a/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_cluster_labels.png
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_cluster_labels.png
new file mode 100644
index 00000000000..07732855c52
Binary files /dev/null and
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_cluster_labels.png
differ
diff --git
a/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_data_flow_group.png
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_data_flow_group.png
new file mode 100644
index 00000000000..1e6f8ffcc22
Binary files /dev/null and
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_data_flow_group.png
differ
diff --git
a/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_data_target.png
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_data_target.png
new file mode 100644
index 00000000000..d0b5b0a4f10
Binary files /dev/null and
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_data_target.png
differ
diff --git
a/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_pulsar_cluster.png
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_pulsar_cluster.png
new file mode 100644
index 00000000000..16e9af7cfa7
Binary files /dev/null and
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_pulsar_cluster.png
differ
diff --git
a/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_synchronization_task.png
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_synchronization_task.png
new file mode 100644
index 00000000000..9efa01864bb
Binary files /dev/null and
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_synchronization_task.png
differ
diff --git
a/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_synchronize_task.png
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_synchronize_task.png
new file mode 100644
index 00000000000..85391a9f02f
Binary files /dev/null and
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_synchronize_task.png
differ
diff --git
a/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_task_DAG.png
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_task_DAG.png
new file mode 100644
index 00000000000..b768c505202
Binary files /dev/null and
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_task_DAG.png
differ
diff --git
a/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_task_DAG_result.png
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_task_DAG_result.png
new file mode 100644
index 00000000000..974ee55ac85
Binary files /dev/null and
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_task_DAG_result.png
differ
diff --git
a/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_data_stream_group.png
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_data_stream_group.png
new file mode 100644
index 00000000000..1c45653ab92
Binary files /dev/null and
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_data_stream_group.png
differ
diff --git
a/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_get_DAGs.jpg
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_get_DAGs.jpg
new file mode 100644
index 00000000000..8ebe8d80902
Binary files /dev/null and
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_get_DAGs.jpg
differ
diff --git
a/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_original_DAG.png
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_original_DAG.png
new file mode 100644
index 00000000000..9533a71579a
Binary files /dev/null and
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_original_DAG.png
differ
diff --git
a/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_synchronization_result.png
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_synchronization_result.png
new file mode 100644
index 00000000000..4107f0166f4
Binary files /dev/null and
b/docs/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_synchronization_result.png
differ
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/airflow_pulsar_mysql_example.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/airflow_pulsar_mysql_example.md
new file mode 100644
index 00000000000..27c0f34904d
--- /dev/null
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/airflow_pulsar_mysql_example.md
@@ -0,0 +1,130 @@
+---
+title: Airflow 离线同步示例
+sidebar_position: 3
+---
+在下面的内容中,将通过一个完整的示例介绍如何使用 Apache InLong 创建 Airflow 调度任务,并完成 Pulsar -> MySQL
的离线数据同步。
+
+## 环境部署
+### 安装 InLong
+
+在开始之前,我们需要安装 InLong 的全部组件,这里提供两种方式:
+- [Docker 部署](deployment/docker.md)(推荐)
+- [Bare Metal 部署](deployment/bare_metal.md)
+
+### 添加 Connectors
+
+下载与 Flink 版本对应的 [connectors](https://inlong.apache.org/zh-CN/downloads) ,解压后将
`sort-connector-jdbc-[version]-SNAPSHOT.jar` 放在 `/inlong-sort/connectors/` 目录下。
+> 当前 Apache InLong 的离线数据同步能力只支持 Flink-1.18 版本,所以请下载 1.18 版本的 connectors。
+
+## 创建集群和数据目标
+
+### 创建集群标签
+
+
+### 注册 Pulsar 集群
+
+
+
+### 创建数据目标
+
+
+
+执行如下 Sql 语句:
+
+```mysql
+CREATE TABLE sink_table (
+ id INT AUTO_INCREMENT PRIMARY KEY,
+ name VARCHAR(255) NOT NULL,
+ create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
+);
+```
+
+## Airflow 初始化
+
+### 获取初始 DAG
+
+`dag_creator` 和 `dag_cleaner` 可以在 [Inlong](https://github.com/apache/inlong)
获取。
+
+
+
+> Airflow 没有提供 DAG 创建的提供 API ,因此需要两个原始 DAG。`dag_creator`
用于创建离线任务,`dag_cleaner` 用于定时去清理离线任务。
+
+### 创建初始 DAG
+
+首先将 DAG 文件放到 Airflow 默认的 DAG 目录下面,等待一段时间,Airflow 调度器会去扫描该目录,并加载 DAG :
+
+
+
+### Airflow REST API
+
+默认情况下,Airflow 会拒绝所有 REST API 请求。请参考 [Airflow
官方文档](https://airflow.apache.org/docs/apache-airflow-providers-fab/stable/auth-manager/api-authentication.html)
进行配置。
+
+### Inlong Manager 配置
+
+根据配置文件要求,对配置文件进行修改,并重启 Inlong Manager 。
+
+```properties
+# Airflow 能够访问到的 Inlong Manager 的 url
+schedule.engine.inlong.manager.url=http://inlongManagerIp:inlongManagerPort
+# Airflow 管理页面的 URL
+schedule.engine.airflow.baseUrl=http://airflowIP:airflowPort
+# 用于 Airflow 的 REST API 认证的用户名和密码
+schedule.engine.airflow.username=airflow
+schedule.engine.airflow.password=airflow
+# 用来保存 Inlong Manager 认证信息的 Connection
+schedule.engine.airflow.connection.id=inlong_connection
+# 两个原始 DAG 的 id
+schedule.engine.airflow.cleaner.id=dag_cleaner
+schedule.engine.airflow.creator.id=dag_creator
+```
+
+## 离线同步任务创建
+
+### 创建同步任务
+
+
+
+### 创建数据流组
+
+
+后续步骤请参照: [使用内置的 Quartz 调度引擎](./quartz_example.md)
+
+### 创建 Airflow 离线任务
+
+审批并配置成功后,Inlong Manager 会去通过 Airflow API 触发 `dag_creator` 去创建离线任务 DAG :
+
+
+
+
+
+>离线任务 DAG 可能不会立即进行调度,因为 Airflow 会定期去扫描 DAG 文件,再将其加入调度中,所以可能需要等待一段时间。
+
+离线任务执行结果如下:
+
+
+
+> Airflow 会根据`创建数据流组`小节中的配置,定期去调用 Inlong Manager 所提供的接口进行 Flink 任务的提交,这里也是为什么在
`Inlong Manager 配置` 小节中需要保存 Inlong Manager 的认证信息。
+
+## 测试数据
+### 发送数据
+
+通过 Pulsar SDK 生产数据写入的 Pulsar topic 中,示例如下:
+```java
+// 创建 pulsar client 和 producer
+PulsarClient pulsarClient =
PulsarClient.builder().serviceUrl("pulsar://localhost:6650").build();
+Producer<byte[]> producer =
pulsarClient.newProducer().topic("public/default/test").create();
+
+// 发送消息
+for (int i = 0; i < 10000; i++) {
+ // 字段分隔符为 |
+ String msgStr = i + "|msg-" + i;
+ MessageId msgId = producer.send(msgStr.getBytes(StandardCharsets.UTF_8));
+ System.out.println("Send msg : " + msgStr + " with msgId: " + msgId);
+}
+```
+
+### 数据验证
+
+然后进入 Mysql,查看库表数据,可以看到数据已经同步到 MySQL 中。
+
+
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/dolphinscheduler_example.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/dolphinscheduler_example.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/dolphinscheduler_example.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/dolphinscheduler_example.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_DAG_task_result.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_DAG_task_result.png
new file mode 100644
index 00000000000..c834eb1db86
Binary files /dev/null and
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_DAG_task_result.png
differ
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_cluster_labels.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_cluster_labels.png
new file mode 100644
index 00000000000..c4828baba10
Binary files /dev/null and
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_cluster_labels.png
differ
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_data_flow_group.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_data_flow_group.png
new file mode 100644
index 00000000000..1e6f8ffcc22
Binary files /dev/null and
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_data_flow_group.png
differ
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_data_target.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_data_target.png
new file mode 100644
index 00000000000..006363498e6
Binary files /dev/null and
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_data_target.png
differ
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_pulsar_cluster.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_pulsar_cluster.png
new file mode 100644
index 00000000000..e128ae40866
Binary files /dev/null and
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_pulsar_cluster.png
differ
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_synchronize_task.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_synchronize_task.png
new file mode 100644
index 00000000000..85391a9f02f
Binary files /dev/null and
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_synchronize_task.png
differ
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_task_DAG.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_task_DAG.png
new file mode 100644
index 00000000000..b768c505202
Binary files /dev/null and
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_task_DAG.png
differ
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_task_DAG_result.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_task_DAG_result.png
new file mode 100644
index 00000000000..974ee55ac85
Binary files /dev/null and
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_task_DAG_result.png
differ
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_ynchronization_task.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_ynchronization_task.png
new file mode 100644
index 00000000000..85391a9f02f
Binary files /dev/null and
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_create_ynchronization_task.png
differ
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_data_stream_group.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_data_stream_group.png
new file mode 100644
index 00000000000..1e6f8ffcc22
Binary files /dev/null and
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_data_stream_group.png
differ
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_get_DAGs.jpg
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_get_DAGs.jpg
new file mode 100644
index 00000000000..8ebe8d80902
Binary files /dev/null and
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_get_DAGs.jpg
differ
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_original_DAG.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_original_DAG.png
new file mode 100644
index 00000000000..9533a71579a
Binary files /dev/null and
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_original_DAG.png
differ
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_synchronization_result.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_synchronization_result.png
new file mode 100644
index 00000000000..4107f0166f4
Binary files /dev/null and
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/airflow/airflow_synchronization_result.png
differ
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_process_instance.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_process_instance.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_process_instance.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_process_instance.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_process_success.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_process_success.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_process_success.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_process_success.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_schedule_process.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_schedule_process.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_schedule_process.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_schedule_process.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_schedule_success.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_schedule_success.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_schedule_success.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_schedule_success.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_security.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_security.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_security.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_security.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_task_conf.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_task_conf.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_task_conf.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_task_conf.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_token_copy.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_token_copy.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_token_copy.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_token_copy.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_token_generate.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_token_generate.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_token_generate.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_token_generate.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_token_manager.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_token_manager.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_token_manager.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/ds_token_manager.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/inlong_manager_conf.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/inlong_manager_conf.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/inlong_manager_conf.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/inlong_manager_conf.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/mysql_result.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/mysql_result.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/mysql_result.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/dolphinscheduler/mysql_result.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/approve.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/approve.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/approve.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/approve.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/cluster_tag.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/cluster_tag.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/cluster_tag.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/cluster_tag.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/create_offline_group.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/create_offline_group.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/create_offline_group.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/create_offline_group.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/cron_schedule.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/cron_schedule.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/cron_schedule.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/cron_schedule.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/flink_batch_job.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/flink_batch_job.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/flink_batch_job.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/flink_batch_job.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/group.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/group.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/group.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/group.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/mysql_sink.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/mysql_sink.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/mysql_sink.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/mysql_sink.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/normal_schedule.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/normal_schedule.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/normal_schedule.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/normal_schedule.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/pulsar.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/pulsar.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/pulsar.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/pulsar.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/schedule_engine_type.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/schedule_engine_type.png
similarity index 100%
copy from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/schedule_engine_type.png
copy to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/schedule_engine_type.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/sink.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/sink.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/sink.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/sink.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/sink_field.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/sink_field.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/sink_field.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/sink_field.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/source.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/source.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/source.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/source.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/source_field.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/source_field.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/source_field.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/img/pulsar_mysql/quartz/source_field.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/pulsar_mysql_example.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/pulsar_mysql_example.md
deleted file mode 100644
index b7932a2f723..00000000000
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/pulsar_mysql_example.md
+++ /dev/null
@@ -1,125 +0,0 @@
----
-title: Pulsar 到 MySQL 示例
-sidebar_position: 1
----
-
-在下面的内容中,我们将通过一个完整的示例介绍如何使用 Apache InLong 创建 Pulsar -> MySQL 的离线数据同步。
-
-## 环境部署
-### 安装 InLong
-
-在开始之前,我们需要安装 InLong 的全部组件,这里提供两种方式:
-- [Docker 部署](deployment/docker.md)(推荐)
-- [Bare Metal 部署](deployment/bare_metal.md)
-
-### 添加 Connectors
-
-下载与 Flink 版本对应的 [connectors](https://inlong.apache.org/zh-CN/downloads),解压后将
`sort-connector-jdbc-[version]-SNAPSHOT.jar` 放在 `/inlong-sort/connectors/` 目录下。
-> 当前 Apache InLong 的离线数据同步能力只支持 Flink-1.18 版本,所以请下载 1.18 版本的 connectors。
-
-## 集群初始化
-InLong 服务启动后,可以访问 InLong Dashboard 地址 http://localhost,并使用以下默认账号登录:
-```
-User: admin
-Password: inlong
-```
-### 创建集群标签
-页面点击 【集群管理】→【标签管理】→【新建】
-
-
-
-**注意:default_cluster 是各个组件默认的集群标签,如果使用其它名称,确认对应标签配置已修改。**
-
-### 注册 Pulsar 集群
-
-
-
-**可以参考截图信息填写,包括集群名称、所属标签、Pulsar 集群地址等。**
-
-## 任务创建
-### 新建数据流组
-页面点击【数据同步】→【新建数据同步】,填写 数据流组 ID,注意同步类型勾选为“离线”。
-
-
-
-### 配置调度规则
-在同步类型勾选为“离线”之后,就可以配置离线任务的调度规则,目前支持两种:常规和 crontab。
-
-常规调度配置需要设置以下参数:
-- 调度单位:支持分钟、小时、天、月、年以及单次,单次表示只执行一次
-- 调度周期:表示两次任务调度之间的时间间隔
-- 延迟时间:表示任务启动的延迟时间
-- 有效时间:包括起始时间和结束时间,调度任务只会在这个时间范围内执行
-
-
-
-crontab调度需要设置以下参数:
-- 有效时间:包括起始时间和结束时间,调度任务只会在这个时间范围内执行
-- crontab 表达式:表示任务的周期,比如 0 */5 * * * ?
-
-
-
-### 新建数据源
-
-数据来源中 点击 【新建】→【Pulsar】,配置数据源名称、Pulsar tenant、namespace、topic、admin url、service
url、数据格式等参数。
-
-
-
-注:Pulsar 的 topic 需要预先在 Pulsar 集群创建(或者在 Pulsar 集群开启自动创建 topic 功能)。
-
-### 新建数据目标
-
-创建目标 MySQL 表,示例 SQL 如下:
-```sql
-CREATE TABLE sink_table (
- id INT AUTO_INCREMENT PRIMARY KEY,
- name VARCHAR(255) NOT NULL,
- create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
-);
-```
-
-数据目标中 点击 【新建】→【MySQL】,配置数据目标名称、库名和表名(test.sink_table)等信息。
-
-
-
-### 配置字段信息
-
-分别在 【源字段】 和 【目标字段】中配置 Schema 映射信息,完成后点击 【提交审批】
-
-
-
-
-
-### 审批数据流
-
-页面点击【审批管理】->【我的审批】->【详情】->【通过】
-
-
-
-返回 【数据同步】页面,等待任务配置成功,配置成功后,Manager 会周期提交 Flink Batch Job 到 Flink 集群。
-
-
-
-## 测试数据
-### 发送数据
-
-通过 Pulsar SDK 生产数据写入的 Pulsar topic 中,示例如下:
-```java
- // 创建 pulsar client 和 producer
- PulsarClient pulsarClient =
PulsarClient.builder().serviceUrl("pulsar://localhost:6650").build();
- Producer<byte[]> producer =
pulsarClient.newProducer().topic("public/default/test").create();
-
- // 发送消息
- for (int i = 0; i < 10000; i++) {
- // 字段分隔符为 |
- String msgStr = i + "|msg-" + i;
- MessageId msgId =
producer.send(msgStr.getBytes(StandardCharsets.UTF_8));
- System.out.println("Send msg : " + msgStr + " with msgId: " +
msgId);
- }
-```
-
-### 数据验证
-
-然后进入 Mysql,查看库表数据,可以看到数据已经同步到 MySQL 中。
-
-
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/quartz_example.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/quartz_example.md
similarity index 100%
copy from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/quartz_example.md
copy to
i18n/zh-CN/docusaurus-plugin-content-docs/current/quick_start/offline_data_sync/quartz_example.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/approve.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/approve.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/approve.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/approve.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/cluster_tag.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/cluster_tag.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/cluster_tag.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/cluster_tag.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/create_offline_group.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/create_offline_group.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/create_offline_group.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/create_offline_group.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/cron_schedule.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/cron_schedule.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/cron_schedule.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/cron_schedule.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/flink_batch_job.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/flink_batch_job.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/flink_batch_job.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/flink_batch_job.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/group.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/group.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/group.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/group.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/mysql_sink.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/mysql_sink.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/mysql_sink.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/mysql_sink.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/normal_schedule.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/normal_schedule.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/normal_schedule.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/normal_schedule.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/pulsar.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/pulsar.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/pulsar.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/pulsar.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/schedule_engine_type.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/schedule_engine_type.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/schedule_engine_type.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/schedule_engine_type.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/sink.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/sink.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/sink.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/sink.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/sink_field.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/sink_field.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/sink_field.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/sink_field.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/source.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/source.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/source.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/source.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/source_field.png
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/source_field.png
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/quartz/source_field.png
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/source_field.png
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/quartz_example.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/quartz_example.md
index 937e2531184..ec307918657 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/quartz_example.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0.0/quick_start/offline_data_sync/quartz_example.md
@@ -26,13 +26,13 @@ Password: inlong
### 创建集群标签
页面点击 【集群管理】→【标签管理】→【新建】。
-
+
**注意:default_cluster 是各个组件默认的集群标签,如果使用其它名称,确认对应标签配置已修改。**
### 注册 Pulsar 集群
-
+
**可以参考截图信息填写,包括集群名称、所属标签、Pulsar 集群地址等。**
@@ -40,7 +40,7 @@ Password: inlong
### 新建数据流组
页面点击【数据同步】→【新建数据同步】,填写 数据流组 ID,注意同步类型勾选为“离线”。
-
+
### 配置调度规则
在同步类型勾选为“离线”之后,就可以配置离线任务的调度规则,调度规则主要由两个部分组成,分别为【调度引擎】和【调度类型】。
@@ -48,10 +48,10 @@ Password: inlong
#### 调度引擎
Apache InLong 提供了多种调度引擎供用户选择,Quartz 是 Apache InLong 内置的调度引擎,这里使用 Quartz 来处理任务。
-
+
#### 调度类型
- Apache InLong 目前支持两种调度类型:常规和 crontab。
+Apache InLong 目前支持两种调度类型:常规和 crontab。
常规调度类型配置需要设置以下参数:
- 调度单位:支持分钟、小时、天、月、年以及单次,单次表示只执行一次。
@@ -59,19 +59,19 @@ Apache InLong 提供了多种调度引擎供用户选择,Quartz 是 Apache InL
- 延迟时间:表示任务启动的延迟时间。
- 有效时间:包括起始时间和结束时间,调度任务只会在这个时间范围内执行。
-
+
crontab 调度类型需要设置以下参数:
- 有效时间:包括起始时间和结束时间,调度任务只会在这个时间范围内执行。
- crontab 表达式:表示任务的周期,比如 `0 */5 * * * ?`。
-
+
### 新建数据源
数据来源中 点击 【新建】→【Pulsar】,配置数据源名称、Pulsar tenant、namespace、topic、admin url、service
url、数据格式等参数。
-
+
注:Pulsar 的 topic 需要预先在 Pulsar 集群创建(或者在 Pulsar 集群开启自动创建 topic 功能)。
@@ -88,30 +88,30 @@ CREATE TABLE sink_table (
数据目标中 点击 【新建】→【MySQL】,配置数据目标名称、库名和表名(test.sink_table)等信息。
-
+
### 配置字段信息
分别在 【源字段】 和 【目标字段】中配置 Schema 映射信息,完成后点击 【提交审批】。
-
+
-
+
### 审批数据流
页面点击【审批管理】->【我的审批】->【详情】->【通过】。
-
+
返回 【数据同步】页面,等待任务配置成功,配置成功后,Manager 会周期提交 Flink Batch Job 到 Flink 集群。
-
+
## 测试数据
### 发送数据
-通过 Pulsar SDK 生产数据写入的 Pulsar topic 中,示例如下:
+通过 Pulsar SDK 生产数据写入的 Pulsar topic 中,示例如下:
```java
// 创建 pulsar client 和 producer
PulsarClient pulsarClient =
PulsarClient.builder().serviceUrl("pulsar://localhost:6650").build();
@@ -130,4 +130,4 @@ CREATE TABLE sink_table (
然后进入 Mysql,查看库表数据,可以看到数据已经同步到 MySQL 中。
-
+
diff --git
a/versioned_docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/schedule_engine_type.png
b/versioned_docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/schedule_engine_type.png
new file mode 100644
index 00000000000..166f695aa04
Binary files /dev/null and
b/versioned_docs/version-2.0.0/quick_start/offline_data_sync/img/pulsar_mysql/schedule_engine_type.png
differ
diff --git
a/versioned_docs/version-2.0.0/quick_start/offline_data_sync/pulsar_mysql_example.md
b/versioned_docs/version-2.0.0/quick_start/offline_data_sync/quartz_example.md
similarity index 84%
rename from
versioned_docs/version-2.0.0/quick_start/offline_data_sync/pulsar_mysql_example.md
rename to
versioned_docs/version-2.0.0/quick_start/offline_data_sync/quartz_example.md
index 8d45de66dc7..20a4c0b038e 100644
---
a/versioned_docs/version-2.0.0/quick_start/offline_data_sync/pulsar_mysql_example.md
+++
b/versioned_docs/version-2.0.0/quick_start/offline_data_sync/quartz_example.md
@@ -1,9 +1,9 @@
---
-title: Pulsar to MySQL Example
+title: Use Quartz built-in scheduling engine
sidebar_position: 1
---
-In the following content, we will introduce how to use Apache InLong to create
offline data synchronization from Pulsar to MySQL through a complete example.
+In the following content, we will introduce how to use built-in schedule
engine in Apache InLong to create offline data synchronization from Pulsar to
MySQL through a complete example.
## Deployment
### Install InLong
@@ -18,7 +18,7 @@ Download the
[connectors](https://inlong.apache.org/downloads/) corresponding to
> Currently, Apache InLong's offline data synchronization capability only
> supports Flink-1.18, so please download the 1.18 version of connectors.
## Cluster Initialize
-When all containers are successfully started, you can access the InLong
dashboard address http://localhost, and use the following default account to
log in.
+When all containers are successfully started, you can access the InLong
dashboard address `http://localhost`, and use the following default account to
log in.
```
User: admin
Password: inlong
@@ -45,7 +45,15 @@ Click on [Synchronization]→[Create], fill in the Group ID,
and ensure the [Syn

### Configuration Scheduling Rules
-After selecting "offline" for [Sync Type], you can configure the [Scheduling
Rules] for offline tasks. Currently, two types are supported: Conventional and
Crontab.
+After selecting "offline" for [Sync Type], you can configure the [Scheduling
Rules] for offline tasks. Scheduling Rules include two parts: [Scheduling
Engine] and [Scheduling Type].
+
+#### Scheduling Engine
+Apache InLong provide several scheduling engines for users to choose from,
Quartz is a build-in schedule engine in Apache InLong. Here we use quartz to
handle tasks.
+
+
+
+#### Schedule Type
+Apache InLong supports two scheduling types currently: Conventional and
Crontab.
Conventional Scheduling Configuration requires the following parameters:
- Scheduling Unit: Supports minutes, hours, days, months, years, and single
execution (single execution means it will run only once).
@@ -57,7 +65,7 @@ Conventional Scheduling Configuration requires the following
parameters:
Crontab Scheduling requires the following parameters:
- Valid Time: Includes start time and end time; the scheduled task will only
execute within this time range.
-- Crontab Expression: Indicates the task cycle, e.g., `0 */5 * * * ?`
+- Crontab Expression: Indicates the task cycle, e.g. `0 */5 * * * ?`
