You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by do...@apache.org on 2023/03/24 02:09:24 UTC

[inlong-website] branch master updated: [INLONG-713][Dashboard] Create the 1.6.0 version document (#736)

This is an automated email from the ASF dual-hosted git repository.

dockerzhang 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 06d7c06470 [INLONG-713][Dashboard] Create the 1.6.0 version document (#736)
06d7c06470 is described below

commit 06d7c06470cd1bf13057f584a6aac47d35961d5d
Author: Lizhen <88...@users.noreply.github.com>
AuthorDate: Fri Mar 24 10:09:17 2023 +0800

    [INLONG-713][Dashboard] Create the 1.6.0 version document (#736)
---
 docusaurus.config.js                               |   6 +-
 .../administration/approval_management.md          |  24 +
 .../administration/img/approval-access.png         | Bin 0 -> 24932 bytes
 .../administration/img/approval-consumption.png    | Bin 0 -> 28046 bytes
 .../administration/img/approval-list.png           | Bin 0 -> 27032 bytes
 .../administration/img/user-create.png             | Bin 0 -> 7996 bytes
 .../administration/img/user-delete.png             | Bin 0 -> 17216 bytes
 .../version-1.6.0/administration/img/user-edit.png | Bin 0 -> 16850 bytes
 .../administration/user_management.md              |  35 +
 .../version-1.6.0/contact.md                       |  24 +
 .../data_node/extract_node/auto_push.md            |   8 +
 .../version-1.6.0/data_node/extract_node/doris.md  | 150 ++++
 .../version-1.6.0/data_node/extract_node/file.md   |  46 ++
 .../version-1.6.0/data_node/extract_node/hudi.md   | 142 ++++
 .../data_node/extract_node/img/file_param.png      | Bin 0 -> 71983 bytes
 .../data_node/extract_node/img/hudi.png            | Bin 0 -> 115442 bytes
 .../data_node/extract_node/img/mysql-binlog.png    | Bin 0 -> 13018 bytes
 .../data_node/extract_node/img/mysql-source.png    | Bin 0 -> 29819 bytes
 .../version-1.6.0/data_node/extract_node/kafka.md  | 162 ++++
 .../data_node/extract_node/mongodb-cdc.md          | 195 +++++
 .../data_node/extract_node/mysql-cdc.md            | 662 +++++++++++++++
 .../data_node/extract_node/oracle-cdc.md           | 406 +++++++++
 .../data_node/extract_node/overview.md             |  55 ++
 .../data_node/extract_node/postgresql-cdc.md       | 204 +++++
 .../version-1.6.0/data_node/extract_node/pulsar.md | 128 +++
 .../data_node/extract_node/sqlserver-cdc.md        | 345 ++++++++
 .../version-1.6.0/data_node/extract_node/tube.md   |  69 ++
 .../data_node/load_node/auto_consumption.md        |   8 +
 .../data_node/load_node/clickhouse.md              | 128 +++
 .../version-1.6.0/data_node/load_node/doris.md     | 344 ++++++++
 .../data_node/load_node/elasticsearch.md           | 370 +++++++++
 .../version-1.6.0/data_node/load_node/greenplum.md | 118 +++
 .../version-1.6.0/data_node/load_node/hbase.md     | 126 +++
 .../version-1.6.0/data_node/load_node/hdfs.md      | 215 +++++
 .../version-1.6.0/data_node/load_node/hive.md      | 220 +++++
 .../version-1.6.0/data_node/load_node/hudi.md      | 139 ++++
 .../version-1.6.0/data_node/load_node/iceberg.md   | 293 +++++++
 .../data_node/load_node/img/clickhouse.png         | Bin 0 -> 42401 bytes
 .../version-1.6.0/data_node/load_node/img/hive.png | Bin 0 -> 50097 bytes
 .../version-1.6.0/data_node/load_node/img/hudi.png | Bin 0 -> 55725 bytes
 .../data_node/load_node/img/iceberg.png            | Bin 0 -> 39782 bytes
 .../data_node/load_node/img/kafka.png              | Bin 0 -> 25680 bytes
 .../version-1.6.0/data_node/load_node/kafka.md     | 220 +++++
 .../version-1.6.0/data_node/load_node/mysql.md     | 118 +++
 .../version-1.6.0/data_node/load_node/oracle.md    | 117 +++
 .../version-1.6.0/data_node/load_node/overview.md  |  76 ++
 .../data_node/load_node/postgresql.md              | 118 +++
 .../version-1.6.0/data_node/load_node/sqlserver.md | 117 +++
 .../version-1.6.0/data_node/load_node/starrocks.md | 335 ++++++++
 .../data_node/load_node/tdsql-postgresql.md        | 116 +++
 .../version-1.6.0/deployment/bare_metal.md         |  36 +
 .../version-1.6.0/deployment/docker.md             |  57 ++
 .../deployment/img/create_cluster_tag.png          | Bin 0 -> 23246 bytes
 .../deployment/img/create_kafka_cluster.png        | Bin 0 -> 19510 bytes
 .../deployment/img/create_pulsar_cluster.png       | Bin 0 -> 30222 bytes
 .../version-1.6.0/deployment/k8s.md                | 197 +++++
 .../version-1.6.0/deployment/standalone.md         |  89 ++
 .../design_and_concept/basic_concept.md            |  20 +
 .../how_to_extend_data_node_for_manager.md         |  27 +
 .../how_to_extend_data_node_for_sort.md            | 222 +++++
 .../how_to_write_plugin_agent.md                   | 219 +++++
 .../how_to_write_plugin_dashboard.md               |  99 +++
 .../how_to_write_plugin_dataproxy.md               |  85 ++
 .../design_and_concept/img/Agent_Flow.png          | Bin 0 -> 34510 bytes
 .../design_and_concept/img/dashboard_plugin.png    | Bin 0 -> 140922 bytes
 .../design_and_concept/img/dataproxy_mq_sink.png   | Bin 0 -> 60721 bytes
 .../design_and_concept/img/format_and_flink.png    | Bin 0 -> 86161 bytes
 .../design_and_concept/img/sort_uml.png            | Bin 0 -> 162399 bytes
 .../img/the_format_in_inlong.png                   | Bin 0 -> 42853 bytes
 .../design_and_concept/the_format_in_inlong.md     | 100 +++
 .../development/img/inlong_plugin.png              | Bin 0 -> 64680 bytes
 .../development/img/plugin_location.png            | Bin 0 -> 141436 bytes
 .../version-1.6.0/development/img/plugin_log.png   | Bin 0 -> 689332 bytes
 .../development/inlong_manager_plugin.md           |  85 ++
 .../development/inlong_manager_shiro_plugin.md     |  56 ++
 .../version-1.6.0/development/inlong_msg.md        |  50 ++
 .../version-1.6.0/introduction.md                  |  96 +++
 .../version-1.6.0/modules/agent/configure.md       |  70 ++
 .../modules/agent/img/architecture.png             | Bin 0 -> 43613 bytes
 .../version-1.6.0/modules/agent/metrics.md         |  61 ++
 .../version-1.6.0/modules/agent/overview.md        |  53 ++
 .../version-1.6.0/modules/agent/quick_start.md     |  28 +
 .../version-1.6.0/modules/audit/configure.md       |  88 ++
 .../version-1.6.0/modules/audit/img/audit_api.png  | Bin 0 -> 33174 bytes
 .../modules/audit/img/audit_architecture.png       | Bin 0 -> 33085 bytes
 .../modules/audit/img/audit_mysql.png              | Bin 0 -> 19165 bytes
 .../modules/audit/img/audit_proxy.png              | Bin 0 -> 31329 bytes
 .../version-1.6.0/modules/audit/img/audit_sdk.png  | Bin 0 -> 77771 bytes
 .../audit/img/audit_sdk_disaster_recovery.png      | Bin 0 -> 29207 bytes
 .../version-1.6.0/modules/audit/img/audit_ui.png   | Bin 0 -> 79285 bytes
 .../modules/audit/img/elasticsearch_index.png      | Bin 0 -> 21801 bytes
 .../modules/audit/img/elasticsearch_overview.png   | Bin 0 -> 46579 bytes
 .../modules/audit/img/elasticsearch_write.png      | Bin 0 -> 27577 bytes
 .../version-1.6.0/modules/audit/overview.md        | 221 +++++
 .../version-1.6.0/modules/audit/quick_start.md     | 103 +++
 .../version-1.6.0/modules/dashboard/overview.md    |  47 ++
 .../version-1.6.0/modules/dashboard/quick_start.md |  32 +
 .../modules/dataproxy/configuration.md             | 190 +++++
 .../modules/dataproxy/img/architecture.png         | Bin 0 -> 431999 bytes
 .../version-1.6.0/modules/dataproxy/overview.md    |  79 ++
 .../version-1.6.0/modules/dataproxy/quick_start.md |  31 +
 .../version-1.6.0/modules/manager/configure.md     |  85 ++
 .../modules/manager/img/create_cluster_tag.png     | Bin 0 -> 23246 bytes
 .../modules/manager/img/datamodel.jpg              | Bin 0 -> 88671 bytes
 .../modules/manager/img/inlong-manager.png         | Bin 0 -> 73086 bytes
 .../modules/manager/img/interactive.jpg            | Bin 0 -> 67852 bytes
 .../modules/manager/img/kafka_cluster_save.png     | Bin 0 -> 19510 bytes
 .../modules/manager/img/pulsar_cluster_save.png    | Bin 0 -> 36738 bytes
 .../modules/manager/img/tube_cluster_save.png      | Bin 0 -> 25719 bytes
 .../version-1.6.0/modules/manager/overview.md      |  37 +
 .../version-1.6.0/modules/manager/quick_start.md   | 124 +++
 .../sort-standalone/elasticsearch_example.md       | 196 +++++
 .../modules/sort-standalone/hive_example.md        | 201 +++++
 .../modules/sort-standalone/overview.md            |  42 +
 .../modules/sort-standalone/quick_start.md         | 193 +++++
 .../modules/sort/dirty_data_archive.md             | 216 +++++
 .../version-1.6.0/modules/sort/example.md          | 141 ++++
 .../version-1.6.0/modules/sort/metrics.md          | 146 ++++
 .../version-1.6.0/modules/sort/overview.md         |  34 +
 .../version-1.6.0/modules/sort/quick_start.md      |  73 ++
 .../http_access_api_definition_cn.xls              | Bin 0 -> 200704 bytes
 .../tubemq/client_partition_assign_introduction.md |  49 ++
 .../version-1.6.0/modules/tubemq/client_rpc.md     | 457 ++++++++++
 .../version-1.6.0/modules/tubemq/clients_java.md   | 231 ++++++
 .../modules/tubemq/configure_introduction.md       | 197 +++++
 .../modules/tubemq/console_introduction.md         | 136 +++
 .../modules/tubemq/consumer_example.md             |  78 ++
 .../version-1.6.0/modules/tubemq/error_code.md     | 111 +++
 .../modules/tubemq/http_access_api.md              |  20 +
 .../modules/tubemq/img/api_interface/http-api.png  | Bin 0 -> 85071 bytes
 .../tubemq/img/client_rpc/rpc_broker_info.png      | Bin 0 -> 20919 bytes
 .../tubemq/img/client_rpc/rpc_bytes_def.png        | Bin 0 -> 38706 bytes
 .../tubemq/img/client_rpc/rpc_conn_detail.png      | Bin 0 -> 30322 bytes
 .../tubemq/img/client_rpc/rpc_consumer_diagram.png | Bin 0 -> 48407 bytes
 .../img/client_rpc/rpc_convert_topicinfo.png       | Bin 0 -> 43133 bytes
 .../tubemq/img/client_rpc/rpc_event_proto.png      | Bin 0 -> 11275 bytes
 .../img/client_rpc/rpc_event_proto_optype.png      | Bin 0 -> 92896 bytes
 .../img/client_rpc/rpc_event_proto_status.png      | Bin 0 -> 93691 bytes
 .../tubemq/img/client_rpc/rpc_header_fill.png      | Bin 0 -> 156495 bytes
 .../tubemq/img/client_rpc/rpc_inner_structure.png  | Bin 0 -> 24843 bytes
 .../img/client_rpc/rpc_master_authorizedinfo.png   | Bin 0 -> 6689 bytes
 .../tubemq/img/client_rpc/rpc_message_data.png     | Bin 0 -> 23773 bytes
 .../tubemq/img/client_rpc/rpc_pbmsg_structure.png  | Bin 0 -> 11652 bytes
 .../tubemq/img/client_rpc/rpc_producer_close2M.png | Bin 0 -> 13375 bytes
 .../tubemq/img/client_rpc/rpc_producer_diagram.png | Bin 0 -> 44307 bytes
 .../img/client_rpc/rpc_producer_heartbeat2M.png    | Bin 0 -> 27314 bytes
 .../img/client_rpc/rpc_producer_register2M.png     | Bin 0 -> 24320 bytes
 .../img/client_rpc/rpc_producer_sendmsg2B.png      | Bin 0 -> 23692 bytes
 .../tubemq/img/client_rpc/rpc_proto_def.png        | Bin 0 -> 4798 bytes
 .../modules/tubemq/img/configure/conf_ini_pos.png  | Bin 0 -> 26192 bytes
 .../tubemq/img/configure/conf_velocity_pos.png     | Bin 0 -> 21544 bytes
 .../modules/tubemq/img/console/1568169770714.png   | Bin 0 -> 21062 bytes
 .../modules/tubemq/img/console/1568169796122.png   | Bin 0 -> 13461 bytes
 .../modules/tubemq/img/console/1568169806810.png   | Bin 0 -> 15847 bytes
 .../modules/tubemq/img/console/1568169823675.png   | Bin 0 -> 13307 bytes
 .../modules/tubemq/img/console/1568169839931.png   | Bin 0 -> 21185 bytes
 .../modules/tubemq/img/console/1568169851085.png   | Bin 0 -> 35596 bytes
 .../modules/tubemq/img/console/1568169863402.png   | Bin 0 -> 17502 bytes
 .../modules/tubemq/img/console/1568169879529.png   | Bin 0 -> 19652 bytes
 .../modules/tubemq/img/console/1568169889594.png   | Bin 0 -> 20553 bytes
 .../modules/tubemq/img/console/1568169900634.png   | Bin 0 -> 26003 bytes
 .../modules/tubemq/img/console/1568169908522.png   | Bin 0 -> 18358 bytes
 .../modules/tubemq/img/console/1568169916091.png   | Bin 0 -> 20093 bytes
 .../modules/tubemq/img/console/1568169925657.png   | Bin 0 -> 18024 bytes
 .../modules/tubemq/img/console/1568169946683.png   | Bin 0 -> 20407 bytes
 .../modules/tubemq/img/console/1568169954746.png   | Bin 0 -> 30020 bytes
 .../tubemq/img/development/create_pull_request.png | Bin 0 -> 216800 bytes
 .../img/development/github_fork_repository.png     | Bin 0 -> 207753 bytes
 .../tubemq/img/development/jira_create_issue.png   | Bin 0 -> 140548 bytes
 .../modules/tubemq/img/development/jira_filter.png | Bin 0 -> 273110 bytes
 .../img/development/jira_resolve_issue_1.png       | Bin 0 -> 224601 bytes
 .../img/development/jira_resolve_issue_2.png       | Bin 0 -> 122300 bytes
 .../tubemq/img/development/new_pull_request.png    | Bin 0 -> 231812 bytes
 .../modules/tubemq/img/mqs_comare.png              | Bin 0 -> 82005 bytes
 .../tubemq/img/partition_assign/example.png        | Bin 0 -> 102944 bytes
 .../tubemq/img/partition_assign/flow_diagram.png   | Bin 0 -> 60472 bytes
 .../tubemq/img/partition_assign/topic_assign.png   | Bin 0 -> 85395 bytes
 .../modules/tubemq/img/perf_appendix_1_bx1_1.png   | Bin 0 -> 74263 bytes
 .../modules/tubemq/img/perf_appendix_1_bx1_2.png   | Bin 0 -> 74022 bytes
 .../modules/tubemq/img/perf_appendix_1_bx1_3.png   | Bin 0 -> 59398 bytes
 .../modules/tubemq/img/perf_appendix_1_bx1_4.png   | Bin 0 -> 57854 bytes
 .../modules/tubemq/img/perf_appendix_1_cg1_1.png   | Bin 0 -> 407483 bytes
 .../modules/tubemq/img/perf_appendix_1_cg1_2.png   | Bin 0 -> 398721 bytes
 .../modules/tubemq/img/perf_appendix_1_cg1_3.png   | Bin 0 -> 40886 bytes
 .../modules/tubemq/img/perf_appendix_1_cg1_4.png   | Bin 0 -> 39318 bytes
 .../tubemq/img/perf_appendix_2_topic_1000_1.png    | Bin 0 -> 87549 bytes
 .../tubemq/img/perf_appendix_2_topic_1000_2.png    | Bin 0 -> 124450 bytes
 .../tubemq/img/perf_appendix_2_topic_1000_3.png    | Bin 0 -> 63570 bytes
 .../tubemq/img/perf_appendix_2_topic_1000_4.png    | Bin 0 -> 65748 bytes
 .../tubemq/img/perf_appendix_2_topic_1000_5.png    | Bin 0 -> 68593 bytes
 .../tubemq/img/perf_appendix_2_topic_1000_6.png    | Bin 0 -> 68854 bytes
 .../tubemq/img/perf_appendix_2_topic_1000_7.png    | Bin 0 -> 88648 bytes
 .../tubemq/img/perf_appendix_2_topic_1000_8.png    | Bin 0 -> 67459 bytes
 .../tubemq/img/perf_appendix_2_topic_1000_9.png    | Bin 0 -> 61548 bytes
 .../tubemq/img/perf_appendix_2_topic_100_1.png     | Bin 0 -> 89756 bytes
 .../tubemq/img/perf_appendix_2_topic_100_2.png     | Bin 0 -> 89267 bytes
 .../tubemq/img/perf_appendix_2_topic_100_3.png     | Bin 0 -> 69181 bytes
 .../tubemq/img/perf_appendix_2_topic_100_4.png     | Bin 0 -> 76628 bytes
 .../tubemq/img/perf_appendix_2_topic_100_5.png     | Bin 0 -> 65706 bytes
 .../tubemq/img/perf_appendix_2_topic_100_6.png     | Bin 0 -> 72361 bytes
 .../tubemq/img/perf_appendix_2_topic_100_7.png     | Bin 0 -> 81769 bytes
 .../tubemq/img/perf_appendix_2_topic_100_8.png     | Bin 0 -> 62333 bytes
 .../tubemq/img/perf_appendix_2_topic_100_9.png     | Bin 0 -> 58918 bytes
 .../tubemq/img/perf_appendix_2_topic_200_1.png     | Bin 0 -> 89887 bytes
 .../tubemq/img/perf_appendix_2_topic_200_2.png     | Bin 0 -> 101799 bytes
 .../tubemq/img/perf_appendix_2_topic_200_3.png     | Bin 0 -> 66126 bytes
 .../tubemq/img/perf_appendix_2_topic_200_4.png     | Bin 0 -> 71926 bytes
 .../tubemq/img/perf_appendix_2_topic_200_5.png     | Bin 0 -> 60011 bytes
 .../tubemq/img/perf_appendix_2_topic_200_6.png     | Bin 0 -> 67402 bytes
 .../tubemq/img/perf_appendix_2_topic_200_7.png     | Bin 0 -> 84250 bytes
 .../tubemq/img/perf_appendix_2_topic_200_8.png     | Bin 0 -> 62805 bytes
 .../tubemq/img/perf_appendix_2_topic_200_9.png     | Bin 0 -> 59190 bytes
 .../tubemq/img/perf_appendix_2_topic_500_1.png     | Bin 0 -> 92805 bytes
 .../tubemq/img/perf_appendix_2_topic_500_2.png     | Bin 0 -> 105098 bytes
 .../tubemq/img/perf_appendix_2_topic_500_3.png     | Bin 0 -> 67610 bytes
 .../tubemq/img/perf_appendix_2_topic_500_4.png     | Bin 0 -> 72538 bytes
 .../tubemq/img/perf_appendix_2_topic_500_5.png     | Bin 0 -> 65052 bytes
 .../tubemq/img/perf_appendix_2_topic_500_6.png     | Bin 0 -> 66872 bytes
 .../tubemq/img/perf_appendix_2_topic_500_7.png     | Bin 0 -> 84331 bytes
 .../tubemq/img/perf_appendix_2_topic_500_8.png     | Bin 0 -> 63651 bytes
 .../tubemq/img/perf_appendix_2_topic_500_9.png     | Bin 0 -> 58875 bytes
 .../modules/tubemq/img/perf_scenario_1.png         | Bin 0 -> 136439 bytes
 .../modules/tubemq/img/perf_scenario_1_index.png   | Bin 0 -> 401432 bytes
 .../modules/tubemq/img/perf_scenario_2.png         | Bin 0 -> 116241 bytes
 .../modules/tubemq/img/perf_scenario_2_index.png   | Bin 0 -> 289200 bytes
 .../modules/tubemq/img/perf_scenario_3.png         | Bin 0 -> 113325 bytes
 .../modules/tubemq/img/perf_scenario_3_index.png   | Bin 0 -> 390736 bytes
 .../modules/tubemq/img/perf_scenario_4_index.png   | Bin 0 -> 241519 bytes
 .../modules/tubemq/img/perf_scenario_6_index.png   | Bin 0 -> 171738 bytes
 .../modules/tubemq/img/perf_scenario_7.png         | Bin 0 -> 285131 bytes
 .../modules/tubemq/img/perf_scenario_8.png         | Bin 0 -> 70370 bytes
 .../modules/tubemq/img/perf_scenario_8_index.png   | Bin 0 -> 177352 bytes
 .../modules/tubemq/img/perf_scheme.png             | Bin 0 -> 250270 bytes
 .../modules/tubemq/img/store_file.png              | Bin 0 -> 23316 bytes
 .../version-1.6.0/modules/tubemq/img/store_mem.png | Bin 0 -> 38829 bytes
 .../modules/tubemq/img/sys_structure.png           | Bin 0 -> 54641 bytes
 .../tubemq/img/sysdeployment/sys_address_host.png  | Bin 0 -> 3690 bytes
 .../img/sysdeployment/sys_broker_configure.png     | Bin 0 -> 59822 bytes
 .../tubemq/img/sysdeployment/sys_broker_deploy.png | Bin 0 -> 46767 bytes
 .../img/sysdeployment/sys_broker_finished.png      | Bin 0 -> 46756 bytes
 .../tubemq/img/sysdeployment/sys_broker_online.png | Bin 0 -> 44770 bytes
 .../img/sysdeployment/sys_broker_online_2.png      | Bin 0 -> 62302 bytes
 .../img/sysdeployment/sys_broker_restart_1.png     | Bin 0 -> 19355 bytes
 .../img/sysdeployment/sys_broker_restart_2.png     | Bin 0 -> 86408 bytes
 .../tubemq/img/sysdeployment/sys_broker_start.png  | Bin 0 -> 42862 bytes
 .../img/sysdeployment/sys_broker_start_error.png   | Bin 0 -> 56744 bytes
 .../tubemq/img/sysdeployment/sys_compile.png       | Bin 0 -> 23543 bytes
 .../tubemq/img/sysdeployment/sys_configure_1.png   | Bin 0 -> 188535 bytes
 .../tubemq/img/sysdeployment/sys_configure_2.png   | Bin 0 -> 193819 bytes
 .../img/sysdeployment/sys_master_console.png       | Bin 0 -> 35541 bytes
 .../tubemq/img/sysdeployment/sys_master_start.png  | Bin 0 -> 35457 bytes
 .../img/sysdeployment/sys_master_startted.png      | Bin 0 -> 99107 bytes
 .../tubemq/img/sysdeployment/sys_node_log.png      | Bin 0 -> 20891 bytes
 .../tubemq/img/sysdeployment/sys_node_status.png   | Bin 0 -> 71771 bytes
 .../tubemq/img/sysdeployment/sys_node_status_2.png | Bin 0 -> 123306 bytes
 .../tubemq/img/sysdeployment/sys_package.png       | Bin 0 -> 69467 bytes
 .../tubemq/img/sysdeployment/sys_package_list.png  | Bin 0 -> 44553 bytes
 .../tubemq/img/sysdeployment/sys_topic_create.png  | Bin 0 -> 50660 bytes
 .../tubemq/img/sysdeployment/sys_topic_deploy.png  | Bin 0 -> 46372 bytes
 .../tubemq/img/sysdeployment/sys_topic_error.png   | Bin 0 -> 151646 bytes
 .../img/sysdeployment/sys_topic_finished.png       | Bin 0 -> 46354 bytes
 .../tubemq/img/sysdeployment/sys_topic_select.png  | Bin 0 -> 54280 bytes
 .../tubemq/img/sysdeployment/test_sendmessage.png  | Bin 0 -> 52958 bytes
 .../img/sysdeployment/test_sendmessage_2.png       | Bin 0 -> 98658 bytes
 .../modules/tubemq/img/test_scheme.png             | Bin 0 -> 93610 bytes
 .../modules/tubemq/img/test_summary.png            | Bin 0 -> 38172 bytes
 .../modules/tubemq/img/tubemq-add-broker-1.png     | Bin 0 -> 81899 bytes
 .../modules/tubemq/img/tubemq-add-broker-2.png     | Bin 0 -> 81379 bytes
 .../modules/tubemq/img/tubemq-add-broker-3.png     | Bin 0 -> 68899 bytes
 .../modules/tubemq/img/tubemq-add-topic-1.png      | Bin 0 -> 65638 bytes
 .../modules/tubemq/img/tubemq-add-topic-2.png      | Bin 0 -> 27929 bytes
 .../modules/tubemq/img/tubemq-add-topic-3.png      | Bin 0 -> 27938 bytes
 .../modules/tubemq/img/tubemq-add-topic-4.png      | Bin 0 -> 16117 bytes
 .../modules/tubemq/img/tubemq-add-topic-5.png      | Bin 0 -> 30719 bytes
 .../modules/tubemq/img/tubemq-add-topic-6.png      | Bin 0 -> 15003 bytes
 .../modules/tubemq/img/tubemq-console-gui.png      | Bin 0 -> 45053 bytes
 .../modules/tubemq/img/tubemq-consume-message.png  | Bin 0 -> 89770 bytes
 .../modules/tubemq/img/tubemq-send-message.png     | Bin 0 -> 69960 bytes
 .../version-1.6.0/modules/tubemq/overview.md       |  85 ++
 .../modules/tubemq/producer_example.md             | 149 ++++
 .../version-1.6.0/modules/tubemq/quick_start.md    | 192 +++++
 .../modules/tubemq/tubemq-manager/_category_.json  |   4 +
 .../modules/tubemq/tubemq-manager/overview.md      |  87 ++
 .../modules/tubemq/tubemq-manager/quick_start.md   |  59 ++
 .../version-1.6.0/modules/tubemq/tubemq_metrics.md |  54 ++
 .../modules/tubemq/tubemq_perf_test_vs_Kafka.md    | 239 ++++++
 .../version-1.6.0/quick_start/hive_example.md      |  62 ++
 .../version-1.6.0/quick_start/how_to_build.md      |  38 +
 .../version-1.6.0/quick_start/img/create-group.png | Bin 0 -> 29956 bytes
 .../quick_start/img/create-stream.png              | Bin 0 -> 24293 bytes
 .../quick_start/img/data-information.png           | Bin 0 -> 23356 bytes
 .../version-1.6.0/quick_start/img/file-source.png  | Bin 0 -> 19493 bytes
 .../version-1.6.0/quick_start/img/hive-config.png  | Bin 0 -> 50538 bytes
 .../version-1.6.0/quick_start/img/pulsar-arch.png  | Bin 0 -> 9060 bytes
 .../version-1.6.0/quick_start/img/pulsar-data.png  | Bin 0 -> 33340 bytes
 .../version-1.6.0/quick_start/img/pulsar-group.png | Bin 0 -> 49125 bytes
 .../version-1.6.0/quick_start/img/pulsar-hive.png  | Bin 0 -> 24108 bytes
 .../quick_start/img/pulsar-stream.png              | Bin 0 -> 24385 bytes
 .../version-1.6.0/quick_start/pulsar_example.md    |  75 ++
 .../version-1.6.0/sdk/_category_.json              |   4 +
 .../version-1.6.0/sdk/dataproxy-sdk/cpp.md         |  95 +++
 .../version-1.6.0/sdk/dataproxy-sdk/http.md        | 114 +++
 .../version-1.6.0/sdk/dataproxy-sdk/java.md        | 107 +++
 .../version-1.6.0/sdk/manager-sdk/example.md       |  70 ++
 .../version-1.6.0/sdk/tubemq-sdk/cpp.md            | 145 ++++
 .../version-1.6.0/sdk/tubemq-sdk/python.md         |  94 +++
 .../version-1.6.0/user_guide/command_line_tools.md | 723 ++++++++++++++++
 .../version-1.6.0/user_guide/dashboard_usage.md    | 127 +++
 .../user_guide/img/application-detail.png          | Bin 0 -> 23949 bytes
 .../version-1.6.0/user_guide/img/consumer-info.png | Bin 0 -> 21138 bytes
 .../version-1.6.0/user_guide/img/create-group.png  | Bin 0 -> 51803 bytes
 .../version-1.6.0/user_guide/img/create-stream.png | Bin 0 -> 36792 bytes
 .../version-1.6.0/user_guide/img/data-info.png     | Bin 0 -> 15250 bytes
 .../user_guide/img/group-information.png           | Bin 0 -> 29983 bytes
 .../version-1.6.0/user_guide/img/hive-info.png     | Bin 0 -> 22663 bytes
 .../user_guide/img/my-application.png              | Bin 0 -> 53286 bytes
 .../version-1.6.0/user_guide/img/user-login.png    | Bin 0 -> 23680 bytes
 .../version-1.6.0/version.js                       |   3 +
 package-lock.json                                  | 103 +--
 src/pages/downloads/index.js                       |   4 +-
 src/pages/versions/config.json                     |  14 +-
 .../version-1.6.0/administration/_category_.json   |   4 +
 .../administration/approval_management.md          |  28 +
 .../administration/img/approval-access.png         | Bin 0 -> 27573 bytes
 .../administration/img/approval-consumption.png    | Bin 0 -> 25209 bytes
 .../administration/img/approval-list.png           | Bin 0 -> 27441 bytes
 .../administration/img/user-create.png             | Bin 0 -> 7888 bytes
 .../administration/img/user-delete.png             | Bin 0 -> 20649 bytes
 .../version-1.6.0/administration/img/user-edit.png | Bin 0 -> 13931 bytes
 .../administration/user_management.md              |  38 +
 versioned_docs/version-1.6.0/contact.md            |  22 +
 .../version-1.6.0/data_node/_category_.json        |   4 +
 .../data_node/extract_node/_category_.json         |   4 +
 .../data_node/extract_node/auto_push.md            |   8 +
 .../version-1.6.0/data_node/extract_node/doris.md  | 152 ++++
 .../version-1.6.0/data_node/extract_node/file.md   |  46 ++
 .../version-1.6.0/data_node/extract_node/hudi.md   | 141 ++++
 .../data_node/extract_node/img/file_param.png      | Bin 0 -> 68424 bytes
 .../data_node/extract_node/img/hudi.png            | Bin 0 -> 115690 bytes
 .../data_node/extract_node/img/mysql-binlog.png    | Bin 0 -> 15484 bytes
 .../data_node/extract_node/img/mysql-source.png    | Bin 0 -> 40831 bytes
 .../version-1.6.0/data_node/extract_node/kafka.md  | 164 ++++
 .../data_node/extract_node/mongodb-cdc.md          | 198 +++++
 .../data_node/extract_node/mysql-cdc.md            | 664 +++++++++++++++
 .../data_node/extract_node/oracle-cdc.md           | 404 +++++++++
 .../data_node/extract_node/overview.md             |  53 ++
 .../data_node/extract_node/postgresql-cdc.md       | 203 +++++
 .../version-1.6.0/data_node/extract_node/pulsar.md | 130 +++
 .../data_node/extract_node/sqlserver-cdc.md        | 347 ++++++++
 .../version-1.6.0/data_node/extract_node/tube.md   |  70 ++
 .../data_node/load_node/_category_.json            |   4 +
 .../data_node/load_node/auto_consumption.md        |   9 +
 .../data_node/load_node/clickhouse.md              | 130 +++
 .../version-1.6.0/data_node/load_node/doris.md     | 347 ++++++++
 .../data_node/load_node/elasticsearch.md           | 374 +++++++++
 .../version-1.6.0/data_node/load_node/greenplum.md | 120 +++
 .../version-1.6.0/data_node/load_node/hbase.md     | 128 +++
 .../version-1.6.0/data_node/load_node/hdfs.md      | 211 +++++
 .../version-1.6.0/data_node/load_node/hive.md      | 222 +++++
 .../version-1.6.0/data_node/load_node/hudi.md      | 140 ++++
 .../version-1.6.0/data_node/load_node/iceberg.md   | 296 +++++++
 .../data_node/load_node/img/clickhouse.png         | Bin 0 -> 59672 bytes
 .../version-1.6.0/data_node/load_node/img/hive.png | Bin 0 -> 66070 bytes
 .../version-1.6.0/data_node/load_node/img/hudi.png | Bin 0 -> 53126 bytes
 .../data_node/load_node/img/iceberg.png            | Bin 0 -> 51252 bytes
 .../data_node/load_node/img/kafka.png              | Bin 0 -> 31565 bytes
 .../version-1.6.0/data_node/load_node/kafka.md     | 222 +++++
 .../version-1.6.0/data_node/load_node/mysql.md     | 120 +++
 .../version-1.6.0/data_node/load_node/oracle.md    | 120 +++
 .../version-1.6.0/data_node/load_node/overview.md  |  76 ++
 .../data_node/load_node/postgresql.md              | 119 +++
 .../version-1.6.0/data_node/load_node/sqlserver.md | 119 +++
 .../version-1.6.0/data_node/load_node/starrocks.md | 339 ++++++++
 .../data_node/load_node/tdsql-postgresql.md        | 118 +++
 .../version-1.6.0/deployment/_category_.json       |   4 +
 .../version-1.6.0/deployment/bare_metal.md         |  38 +
 versioned_docs/version-1.6.0/deployment/docker.md  |  57 ++
 .../deployment/img/create_cluster_tag.png          | Bin 0 -> 22127 bytes
 .../deployment/img/create_kafka_cluster.png        | Bin 0 -> 24522 bytes
 .../deployment/img/create_pulsar_cluster.png       | Bin 0 -> 36568 bytes
 versioned_docs/version-1.6.0/deployment/k8s.md     | 204 +++++
 .../version-1.6.0/deployment/standalone.md         |  87 ++
 .../design_and_concept/_category_.json             |   4 +
 .../design_and_concept/basic_concept.md            |  20 +
 .../how_to_extend_data_node_for_manager.md         |  27 +
 .../how_to_extend_data_node_for_sort.md            | 221 +++++
 .../how_to_write_plugin_agent.md                   | 219 +++++
 .../how_to_write_plugin_dashboard.md               |  99 +++
 .../how_to_write_plugin_dataproxy.md               |  84 ++
 .../design_and_concept/img/Agent_Flow.png          | Bin 0 -> 34510 bytes
 .../design_and_concept/img/dashboard_plugin.png    | Bin 0 -> 140922 bytes
 .../design_and_concept/img/dataproxy_mq_sink.png   | Bin 0 -> 60721 bytes
 .../design_and_concept/img/format_and_flink.png    | Bin 0 -> 86161 bytes
 .../design_and_concept/img/sort_uml.png            | Bin 0 -> 162399 bytes
 .../img/the_format_in_inlong.png                   | Bin 0 -> 42853 bytes
 .../design_and_concept/the_format_in_inlong.md     |  95 +++
 .../version-1.6.0/development/_category_.json      |   4 +
 .../development/img/inlong_plugin.png              | Bin 0 -> 64680 bytes
 .../development/img/plugin_location.png            | Bin 0 -> 141436 bytes
 .../version-1.6.0/development/img/plugin_log.png   | Bin 0 -> 689332 bytes
 .../development/inlong_manager_plugin.md           |  86 ++
 .../development/inlong_manager_shiro_plugin.md     |  56 ++
 .../version-1.6.0/development/inlong_msg.md        |  50 ++
 versioned_docs/version-1.6.0/introduction.md       |  96 +++
 .../version-1.6.0/modules/_category_.json          |   4 +
 .../version-1.6.0/modules/agent/_category_.json    |   4 +
 .../version-1.6.0/modules/agent/configure.md       |  71 ++
 .../modules/agent/img/architecture.png             | Bin 0 -> 43613 bytes
 .../version-1.6.0/modules/agent/metrics.md         |  62 ++
 .../version-1.6.0/modules/agent/overview.md        |  52 ++
 .../version-1.6.0/modules/agent/quick_start.md     |  31 +
 .../version-1.6.0/modules/audit/_category_.json    |   4 +
 .../version-1.6.0/modules/audit/configure.md       |  89 ++
 .../version-1.6.0/modules/audit/img/audit_api.png  | Bin 0 -> 31395 bytes
 .../modules/audit/img/audit_architecture.png       | Bin 0 -> 30983 bytes
 .../modules/audit/img/audit_mysql.png              | Bin 0 -> 19356 bytes
 .../modules/audit/img/audit_proxy.png              | Bin 0 -> 29358 bytes
 .../version-1.6.0/modules/audit/img/audit_sdk.png  | Bin 0 -> 81979 bytes
 .../audit/img/audit_sdk_disaster_recovery.png      | Bin 0 -> 35275 bytes
 .../version-1.6.0/modules/audit/img/audit_ui.png   | Bin 0 -> 76860 bytes
 .../modules/audit/img/elasticsearch_index.png      | Bin 0 -> 22117 bytes
 .../modules/audit/img/elasticsearch_overview.png   | Bin 0 -> 47297 bytes
 .../modules/audit/img/elasticsearch_write.png      | Bin 0 -> 26657 bytes
 .../version-1.6.0/modules/audit/overview.md        | 219 +++++
 .../version-1.6.0/modules/audit/quick_start.md     | 102 +++
 .../modules/dashboard/_category_.json              |   4 +
 .../version-1.6.0/modules/dashboard/overview.md    |  46 ++
 .../version-1.6.0/modules/dashboard/quick_start.md |  32 +
 .../modules/dataproxy/_category_.json              |   4 +
 .../modules/dataproxy/configuration.md             | 189 +++++
 .../modules/dataproxy/img/architecture.png         | Bin 0 -> 431999 bytes
 .../version-1.6.0/modules/dataproxy/overview.md    |  80 ++
 .../version-1.6.0/modules/dataproxy/quick_start.md |  31 +
 .../version-1.6.0/modules/manager/_category_.json  |   4 +
 .../version-1.6.0/modules/manager/configure.md     |  84 ++
 .../modules/manager/img/create_cluster_tag.png     | Bin 0 -> 22127 bytes
 .../modules/manager/img/datamodel.jpg              | Bin 0 -> 88671 bytes
 .../modules/manager/img/inlong-manager.png         | Bin 0 -> 181975 bytes
 .../modules/manager/img/interactive.jpg            | Bin 0 -> 67852 bytes
 .../modules/manager/img/kafka_cluster_save.png     | Bin 0 -> 24522 bytes
 .../modules/manager/img/pulsar_cluster_save.png    | Bin 0 -> 35208 bytes
 .../modules/manager/img/tube_cluster_save.png      | Bin 0 -> 24969 bytes
 .../version-1.6.0/modules/manager/overview.md      |  37 +
 .../version-1.6.0/modules/manager/quick_start.md   | 126 +++
 .../modules/sort-standalone/_category_.json        |   4 +
 .../modules/sort-standalone/overview.md            | 174 ++++
 .../modules/sort-standalone/pulsar2es.md           |  94 +++
 .../modules/sort-standalone/pulsar2hive.md         | 158 ++++
 .../modules/sort-standalone/pulsar2kafka.md        |  83 ++
 .../modules/sort-standalone/quick_start.md         |  12 +
 .../version-1.6.0/modules/sort/_category_.json     |   4 +
 .../modules/sort/dirty_data_archive.md             | 214 +++++
 .../version-1.6.0/modules/sort/example.md          | 142 ++++
 .../version-1.6.0/modules/sort/metrics.md          | 147 ++++
 .../version-1.6.0/modules/sort/overview.md         |  35 +
 .../version-1.6.0/modules/sort/quick_start.md      |  73 ++
 .../version-1.6.0/modules/tubemq/_category_.json   |   4 +
 .../http_access_api_definition_cn.xls              | Bin 0 -> 200704 bytes
 .../tubemq/client_partition_assign_introduction.md |  51 ++
 .../version-1.6.0/modules/tubemq/client_rpc.md     | 445 ++++++++++
 .../version-1.6.0/modules/tubemq/clients_java.md   | 241 ++++++
 .../modules/tubemq/configure_introduction.md       | 199 +++++
 .../modules/tubemq/console_introduction.md         | 110 +++
 .../modules/tubemq/consumer_example.md             |  73 ++
 .../version-1.6.0/modules/tubemq/error_code.md     | 113 +++
 .../modules/tubemq/http_access_api.md              | 919 +++++++++++++++++++++
 .../version-1.6.0/modules/tubemq/img/.gitkeep      |   3 +
 .../tubemq/img/client_rpc/rpc_broker_info.png      | Bin 0 -> 20919 bytes
 .../tubemq/img/client_rpc/rpc_bytes_def.png        | Bin 0 -> 38706 bytes
 .../tubemq/img/client_rpc/rpc_conn_detail.png      | Bin 0 -> 30322 bytes
 .../tubemq/img/client_rpc/rpc_consumer_diagram.png | Bin 0 -> 48407 bytes
 .../img/client_rpc/rpc_convert_topicinfo.png       | Bin 0 -> 43133 bytes
 .../tubemq/img/client_rpc/rpc_event_proto.png      | Bin 0 -> 11275 bytes
 .../img/client_rpc/rpc_event_proto_optype.png      | Bin 0 -> 92896 bytes
 .../img/client_rpc/rpc_event_proto_status.png      | Bin 0 -> 93691 bytes
 .../tubemq/img/client_rpc/rpc_header_fill.png      | Bin 0 -> 156495 bytes
 .../tubemq/img/client_rpc/rpc_inner_structure.png  | Bin 0 -> 24843 bytes
 .../img/client_rpc/rpc_master_authorizedinfo.png   | Bin 0 -> 6689 bytes
 .../tubemq/img/client_rpc/rpc_message_data.png     | Bin 0 -> 23773 bytes
 .../tubemq/img/client_rpc/rpc_pbmsg_structure.png  | Bin 0 -> 11652 bytes
 .../tubemq/img/client_rpc/rpc_producer_close2M.png | Bin 0 -> 13375 bytes
 .../tubemq/img/client_rpc/rpc_producer_diagram.png | Bin 0 -> 44307 bytes
 .../img/client_rpc/rpc_producer_heartbeat2M.png    | Bin 0 -> 27314 bytes
 .../img/client_rpc/rpc_producer_register2M.png     | Bin 0 -> 24320 bytes
 .../img/client_rpc/rpc_producer_sendmsg2B.png      | Bin 0 -> 23692 bytes
 .../tubemq/img/client_rpc/rpc_proto_def.png        | Bin 0 -> 4798 bytes
 .../modules/tubemq/img/configure/conf_ini_pos.png  | Bin 0 -> 26192 bytes
 .../tubemq/img/configure/conf_velocity_pos.png     | Bin 0 -> 21544 bytes
 .../modules/tubemq/img/console/1568169770714.png   | Bin 0 -> 21062 bytes
 .../modules/tubemq/img/console/1568169796122.png   | Bin 0 -> 13461 bytes
 .../modules/tubemq/img/console/1568169806810.png   | Bin 0 -> 15847 bytes
 .../modules/tubemq/img/console/1568169823675.png   | Bin 0 -> 13307 bytes
 .../modules/tubemq/img/console/1568169839931.png   | Bin 0 -> 21185 bytes
 .../modules/tubemq/img/console/1568169851085.png   | Bin 0 -> 35596 bytes
 .../modules/tubemq/img/console/1568169863402.png   | Bin 0 -> 17502 bytes
 .../modules/tubemq/img/console/1568169879529.png   | Bin 0 -> 19652 bytes
 .../modules/tubemq/img/console/1568169889594.png   | Bin 0 -> 20553 bytes
 .../modules/tubemq/img/console/1568169900634.png   | Bin 0 -> 26003 bytes
 .../modules/tubemq/img/console/1568169908522.png   | Bin 0 -> 18358 bytes
 .../modules/tubemq/img/console/1568169916091.png   | Bin 0 -> 20093 bytes
 .../modules/tubemq/img/console/1568169925657.png   | Bin 0 -> 18024 bytes
 .../modules/tubemq/img/console/1568169946683.png   | Bin 0 -> 20407 bytes
 .../modules/tubemq/img/console/1568169954746.png   | Bin 0 -> 30020 bytes
 .../tubemq/img/development/create_pull_request.png | Bin 0 -> 216800 bytes
 .../img/development/github_fork_repository.png     | Bin 0 -> 207753 bytes
 .../tubemq/img/development/jira_create_issue.png   | Bin 0 -> 140548 bytes
 .../modules/tubemq/img/development/jira_filter.png | Bin 0 -> 273110 bytes
 .../img/development/jira_resolve_issue_1.png       | Bin 0 -> 224601 bytes
 .../img/development/jira_resolve_issue_2.png       | Bin 0 -> 122300 bytes
 .../tubemq/img/development/new_pull_request.png    | Bin 0 -> 231812 bytes
 .../modules/tubemq/img/mqs_comare.png              | Bin 0 -> 82005 bytes
 .../tubemq/img/partition_assign/example.png        | Bin 0 -> 91627 bytes
 .../tubemq/img/partition_assign/flow_diagram.png   | Bin 0 -> 65305 bytes
 .../tubemq/img/partition_assign/topic_assign.png   | Bin 0 -> 85393 bytes
 .../modules/tubemq/img/perf_appendix_1_bx1_1.png   | Bin 0 -> 74263 bytes
 .../modules/tubemq/img/perf_appendix_1_bx1_2.png   | Bin 0 -> 74022 bytes
 .../modules/tubemq/img/perf_appendix_1_bx1_3.png   | Bin 0 -> 59398 bytes
 .../modules/tubemq/img/perf_appendix_1_bx1_4.png   | Bin 0 -> 57854 bytes
 .../modules/tubemq/img/perf_appendix_1_cg1_1.png   | Bin 0 -> 407483 bytes
 .../modules/tubemq/img/perf_appendix_1_cg1_2.png   | Bin 0 -> 398721 bytes
 .../modules/tubemq/img/perf_appendix_1_cg1_3.png   | Bin 0 -> 40886 bytes
 .../modules/tubemq/img/perf_appendix_1_cg1_4.png   | Bin 0 -> 39318 bytes
 .../tubemq/img/perf_appendix_2_topic_1000_1.png    | Bin 0 -> 87549 bytes
 .../tubemq/img/perf_appendix_2_topic_1000_2.png    | Bin 0 -> 124450 bytes
 .../tubemq/img/perf_appendix_2_topic_1000_3.png    | Bin 0 -> 63570 bytes
 .../tubemq/img/perf_appendix_2_topic_1000_4.png    | Bin 0 -> 65748 bytes
 .../tubemq/img/perf_appendix_2_topic_1000_5.png    | Bin 0 -> 68593 bytes
 .../tubemq/img/perf_appendix_2_topic_1000_6.png    | Bin 0 -> 68854 bytes
 .../tubemq/img/perf_appendix_2_topic_1000_7.png    | Bin 0 -> 88648 bytes
 .../tubemq/img/perf_appendix_2_topic_1000_8.png    | Bin 0 -> 67459 bytes
 .../tubemq/img/perf_appendix_2_topic_1000_9.png    | Bin 0 -> 61548 bytes
 .../tubemq/img/perf_appendix_2_topic_100_1.png     | Bin 0 -> 89756 bytes
 .../tubemq/img/perf_appendix_2_topic_100_2.png     | Bin 0 -> 89267 bytes
 .../tubemq/img/perf_appendix_2_topic_100_3.png     | Bin 0 -> 69181 bytes
 .../tubemq/img/perf_appendix_2_topic_100_4.png     | Bin 0 -> 76628 bytes
 .../tubemq/img/perf_appendix_2_topic_100_5.png     | Bin 0 -> 65706 bytes
 .../tubemq/img/perf_appendix_2_topic_100_6.png     | Bin 0 -> 72361 bytes
 .../tubemq/img/perf_appendix_2_topic_100_7.png     | Bin 0 -> 81769 bytes
 .../tubemq/img/perf_appendix_2_topic_100_8.png     | Bin 0 -> 62333 bytes
 .../tubemq/img/perf_appendix_2_topic_100_9.png     | Bin 0 -> 58918 bytes
 .../tubemq/img/perf_appendix_2_topic_200_1.png     | Bin 0 -> 89887 bytes
 .../tubemq/img/perf_appendix_2_topic_200_2.png     | Bin 0 -> 101799 bytes
 .../tubemq/img/perf_appendix_2_topic_200_3.png     | Bin 0 -> 66126 bytes
 .../tubemq/img/perf_appendix_2_topic_200_4.png     | Bin 0 -> 71926 bytes
 .../tubemq/img/perf_appendix_2_topic_200_5.png     | Bin 0 -> 60011 bytes
 .../tubemq/img/perf_appendix_2_topic_200_6.png     | Bin 0 -> 67402 bytes
 .../tubemq/img/perf_appendix_2_topic_200_7.png     | Bin 0 -> 84250 bytes
 .../tubemq/img/perf_appendix_2_topic_200_8.png     | Bin 0 -> 62805 bytes
 .../tubemq/img/perf_appendix_2_topic_200_9.png     | Bin 0 -> 59190 bytes
 .../tubemq/img/perf_appendix_2_topic_500_1.png     | Bin 0 -> 92805 bytes
 .../tubemq/img/perf_appendix_2_topic_500_2.png     | Bin 0 -> 105098 bytes
 .../tubemq/img/perf_appendix_2_topic_500_3.png     | Bin 0 -> 67610 bytes
 .../tubemq/img/perf_appendix_2_topic_500_4.png     | Bin 0 -> 72538 bytes
 .../tubemq/img/perf_appendix_2_topic_500_5.png     | Bin 0 -> 65052 bytes
 .../tubemq/img/perf_appendix_2_topic_500_6.png     | Bin 0 -> 66872 bytes
 .../tubemq/img/perf_appendix_2_topic_500_7.png     | Bin 0 -> 84331 bytes
 .../tubemq/img/perf_appendix_2_topic_500_8.png     | Bin 0 -> 63651 bytes
 .../tubemq/img/perf_appendix_2_topic_500_9.png     | Bin 0 -> 58875 bytes
 .../modules/tubemq/img/perf_scenario_1.png         | Bin 0 -> 136439 bytes
 .../modules/tubemq/img/perf_scenario_1_index.png   | Bin 0 -> 401432 bytes
 .../modules/tubemq/img/perf_scenario_2.png         | Bin 0 -> 116241 bytes
 .../modules/tubemq/img/perf_scenario_2_index.png   | Bin 0 -> 289200 bytes
 .../modules/tubemq/img/perf_scenario_3.png         | Bin 0 -> 113325 bytes
 .../modules/tubemq/img/perf_scenario_3_index.png   | Bin 0 -> 390736 bytes
 .../modules/tubemq/img/perf_scenario_4_index.png   | Bin 0 -> 241519 bytes
 .../modules/tubemq/img/perf_scenario_6_index.png   | Bin 0 -> 171738 bytes
 .../modules/tubemq/img/perf_scenario_7.png         | Bin 0 -> 285131 bytes
 .../modules/tubemq/img/perf_scenario_8.png         | Bin 0 -> 70370 bytes
 .../modules/tubemq/img/perf_scenario_8_index.png   | Bin 0 -> 177352 bytes
 .../modules/tubemq/img/perf_scheme.png             | Bin 0 -> 250270 bytes
 .../modules/tubemq/img/store_file.png              | Bin 0 -> 23316 bytes
 .../version-1.6.0/modules/tubemq/img/store_mem.png | Bin 0 -> 23532 bytes
 .../modules/tubemq/img/sys_structure.png           | Bin 0 -> 54641 bytes
 .../tubemq/img/sysdeployment/sys_address_host.png  | Bin 0 -> 3690 bytes
 .../img/sysdeployment/sys_broker_configure.png     | Bin 0 -> 59822 bytes
 .../tubemq/img/sysdeployment/sys_broker_deploy.png | Bin 0 -> 46767 bytes
 .../img/sysdeployment/sys_broker_finished.png      | Bin 0 -> 46756 bytes
 .../tubemq/img/sysdeployment/sys_broker_online.png | Bin 0 -> 44770 bytes
 .../img/sysdeployment/sys_broker_online_2.png      | Bin 0 -> 62302 bytes
 .../img/sysdeployment/sys_broker_restart_1.png     | Bin 0 -> 19355 bytes
 .../img/sysdeployment/sys_broker_restart_2.png     | Bin 0 -> 86408 bytes
 .../tubemq/img/sysdeployment/sys_broker_start.png  | Bin 0 -> 42862 bytes
 .../img/sysdeployment/sys_broker_start_error.png   | Bin 0 -> 56744 bytes
 .../tubemq/img/sysdeployment/sys_compile.png       | Bin 0 -> 23543 bytes
 .../tubemq/img/sysdeployment/sys_configure_1.png   | Bin 0 -> 188535 bytes
 .../tubemq/img/sysdeployment/sys_configure_2.png   | Bin 0 -> 193819 bytes
 .../img/sysdeployment/sys_master_console.png       | Bin 0 -> 35541 bytes
 .../tubemq/img/sysdeployment/sys_master_start.png  | Bin 0 -> 35457 bytes
 .../img/sysdeployment/sys_master_startted.png      | Bin 0 -> 99107 bytes
 .../tubemq/img/sysdeployment/sys_node_log.png      | Bin 0 -> 20891 bytes
 .../tubemq/img/sysdeployment/sys_node_status.png   | Bin 0 -> 71771 bytes
 .../tubemq/img/sysdeployment/sys_node_status_2.png | Bin 0 -> 123306 bytes
 .../tubemq/img/sysdeployment/sys_package.png       | Bin 0 -> 69467 bytes
 .../tubemq/img/sysdeployment/sys_package_list.png  | Bin 0 -> 44553 bytes
 .../tubemq/img/sysdeployment/sys_topic_create.png  | Bin 0 -> 50660 bytes
 .../tubemq/img/sysdeployment/sys_topic_deploy.png  | Bin 0 -> 46372 bytes
 .../tubemq/img/sysdeployment/sys_topic_error.png   | Bin 0 -> 151646 bytes
 .../img/sysdeployment/sys_topic_finished.png       | Bin 0 -> 46354 bytes
 .../tubemq/img/sysdeployment/sys_topic_select.png  | Bin 0 -> 54280 bytes
 .../tubemq/img/sysdeployment/test_sendmessage.png  | Bin 0 -> 52958 bytes
 .../img/sysdeployment/test_sendmessage_2.png       | Bin 0 -> 98658 bytes
 .../modules/tubemq/img/test_scheme.png             | Bin 0 -> 93610 bytes
 .../modules/tubemq/img/test_summary.png            | Bin 0 -> 38172 bytes
 .../modules/tubemq/img/tubemq-add-broker-1.png     | Bin 0 -> 81899 bytes
 .../modules/tubemq/img/tubemq-add-broker-2.png     | Bin 0 -> 81379 bytes
 .../modules/tubemq/img/tubemq-add-broker-3.png     | Bin 0 -> 68899 bytes
 .../modules/tubemq/img/tubemq-add-topic-1.png      | Bin 0 -> 65638 bytes
 .../modules/tubemq/img/tubemq-add-topic-2.png      | Bin 0 -> 27929 bytes
 .../modules/tubemq/img/tubemq-add-topic-3.png      | Bin 0 -> 27938 bytes
 .../modules/tubemq/img/tubemq-add-topic-4.png      | Bin 0 -> 16117 bytes
 .../modules/tubemq/img/tubemq-add-topic-5.png      | Bin 0 -> 30719 bytes
 .../modules/tubemq/img/tubemq-add-topic-6.png      | Bin 0 -> 15003 bytes
 .../modules/tubemq/img/tubemq-console-gui.png      | Bin 0 -> 45053 bytes
 .../modules/tubemq/img/tubemq-consume-message.png  | Bin 0 -> 89770 bytes
 .../modules/tubemq/img/tubemq-send-message.png     | Bin 0 -> 69960 bytes
 .../version-1.6.0/modules/tubemq/overview.md       |  44 +
 .../modules/tubemq/producer_example.md             | 149 ++++
 .../version-1.6.0/modules/tubemq/quick_start.md    | 189 +++++
 .../modules/tubemq/tubemq-manager/_category_.json  |   4 +
 .../modules/tubemq/tubemq-manager/overview.md      |  87 ++
 .../modules/tubemq/tubemq-manager/quick_start.md   |  62 ++
 .../version-1.6.0/modules/tubemq/tubemq_metrics.md |  53 ++
 .../modules/tubemq/tubemq_perf_test_vs_Kafka.md    | 237 ++++++
 .../version-1.6.0/quick_start/_category_.json      |   4 +
 .../version-1.6.0/quick_start/hive_example.md      |  60 ++
 .../version-1.6.0/quick_start/how_to_build.md      |  38 +
 .../version-1.6.0/quick_start/img/create-group.png | Bin 0 -> 27891 bytes
 .../quick_start/img/create-stream.png              | Bin 0 -> 21593 bytes
 .../quick_start/img/data-information.png           | Bin 0 -> 14760 bytes
 .../version-1.6.0/quick_start/img/file-source.png  | Bin 0 -> 16903 bytes
 .../version-1.6.0/quick_start/img/hive-config.png  | Bin 0 -> 49673 bytes
 .../version-1.6.0/quick_start/img/pulsar-arch.png  | Bin 0 -> 19399 bytes
 .../version-1.6.0/quick_start/img/pulsar-data.png  | Bin 0 -> 31754 bytes
 .../version-1.6.0/quick_start/img/pulsar-group.png | Bin 0 -> 45807 bytes
 .../version-1.6.0/quick_start/img/pulsar-hive.png  | Bin 0 -> 50243 bytes
 .../quick_start/img/pulsar-stream.png              | Bin 0 -> 21593 bytes
 .../version-1.6.0/quick_start/pulsar_example.md    |  77 ++
 versioned_docs/version-1.6.0/sdk/_category_.json   |   4 +
 .../sdk/dataproxy-sdk/_category_.json              |   4 +
 .../version-1.6.0/sdk/dataproxy-sdk/cpp.md         |  95 +++
 .../version-1.6.0/sdk/dataproxy-sdk/http.md        | 114 +++
 .../version-1.6.0/sdk/dataproxy-sdk/java.md        | 107 +++
 .../version-1.6.0/sdk/manager-sdk/_category_.json  |   4 +
 .../version-1.6.0/sdk/manager-sdk/example.md       |  71 ++
 .../version-1.6.0/sdk/tubemq-sdk/_category_.json   |   4 +
 versioned_docs/version-1.6.0/sdk/tubemq-sdk/cpp.md | 144 ++++
 .../version-1.6.0/sdk/tubemq-sdk/python.md         |  96 +++
 .../version-1.6.0/user_guide/_category_.json       |   4 +
 .../version-1.6.0/user_guide/command_line_tools.md | 724 ++++++++++++++++
 .../version-1.6.0/user_guide/dashboard_usage.md    | 152 ++++
 .../user_guide/img/application-detail.png          | Bin 0 -> 23480 bytes
 .../version-1.6.0/user_guide/img/consumer-info.png | Bin 0 -> 21983 bytes
 .../version-1.6.0/user_guide/img/create-group.png  | Bin 0 -> 46678 bytes
 .../version-1.6.0/user_guide/img/create-stream.png | Bin 0 -> 34340 bytes
 .../version-1.6.0/user_guide/img/data-info.png     | Bin 0 -> 14764 bytes
 .../user_guide/img/group-information.png           | Bin 0 -> 27912 bytes
 .../version-1.6.0/user_guide/img/hive-info.png     | Bin 0 -> 22918 bytes
 .../user_guide/img/my-application.png              | Bin 0 -> 61196 bytes
 .../version-1.6.0/user_guide/img/user-login.png    | Bin 0 -> 23988 bytes
 versioned_docs/version-1.6.0/version.js            |   3 +
 versioned_sidebars/version-1.6.0-sidebars.json     |   8 +
 versions.json                                      |   1 +
 662 files changed, 28071 insertions(+), 80 deletions(-)

diff --git a/docusaurus.config.js b/docusaurus.config.js
index 8031156d61..5c8f60e46d 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -82,9 +82,13 @@ const darkCodeTheme = require('prism-react-renderer/themes/dracula');
                 to: "/docs/next/introduction",
               },
               {
-                label: "1.5.0",
+                label: "1.6.0",
                 to: "/docs/introduction",
               },
+              {
+                label: "1.5.0",
+                to: "/docs/1.5.0/introduction",
+              },
               {
                 label: "1.4.0",
                 to: "/docs/1.4.0/introduction",
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/approval_management.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/approval_management.md
new file mode 100644
index 0000000000..f0cd274621
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/approval_management.md
@@ -0,0 +1,24 @@
+---
+title: 审批管理
+sidebar_position: 2
+---
+
+作为具有审批权限的数据接入员和系统成员,具备对数据接入或者消费审批职责:
+
+![](img/approval-list.png)
+
+#### 数据接入审批
+
+新建数据接入审批:目前为一级审批,由系统管理员审批。
+
+系统管理员将根据数据接入业务信息,审核此次接入流程是否符合接入要求:
+
+![](img/approval-access.png)
+
+#### 新建数据消费审批
+
+新建数据消费审批:目前为一级审批,由业务负责人审批。
+
+业务审批:由数据接入业务负责人根据接入信息判断此消费是否符合业务要求:
+
+![](img/approval-consumption.png)
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/img/approval-access.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/img/approval-access.png
new file mode 100644
index 0000000000..2f2f1e18ff
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/img/approval-access.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/img/approval-consumption.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/img/approval-consumption.png
new file mode 100644
index 0000000000..876c5b16e7
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/img/approval-consumption.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/img/approval-list.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/img/approval-list.png
new file mode 100644
index 0000000000..2d0dc9addb
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/img/approval-list.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/img/user-create.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/img/user-create.png
new file mode 100644
index 0000000000..94e8906f69
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/img/user-create.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/img/user-delete.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/img/user-delete.png
new file mode 100644
index 0000000000..634582c6a9
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/img/user-delete.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/img/user-edit.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/img/user-edit.png
new file mode 100644
index 0000000000..377302e544
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/img/user-edit.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/user_management.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/user_management.md
new file mode 100644
index 0000000000..c9fa82a26c
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/administration/user_management.md
@@ -0,0 +1,35 @@
+---
+title: 用户管理
+sidebar_position: 1
+---
+
+角色为系统管理员的用户才可以使用此功能,他们可以创建、修改、删除用户:
+
+### 新建用户
+
+具有系统管理员权限用户,可以进行创建新用户账号:
+
+![](img/user-create.png)
+
+- 账号类型: 普通用户(具有数据接入和数据消费权限,不具有数据接入审批和账号管理权限);系统管理员(具有数据接入和数据消费权限、数据接入审批和管理账号的权限)
+- 用户名称:用户登录账号ID
+- 用户密码:用户登录密码
+- 有效时长:该账号可在系统使用期限
+
+### 删除用户
+
+系统管理员可以对已创建的用户进行账户删除,删除后此账号将停止使用:
+
+![](img/user-delete.png)
+
+### 修改用户
+
+系统管理员可以修改已创建的账号:
+
+![](img/user-edit.png)
+
+### 更改密码
+
+用户可以修改账号密码,点击【修改密码】,输入旧密码和新密码,确认后此账号新密码将生效:
+
+![](img/user-edit.png)
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/contact.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/contact.md
new file mode 100644
index 0000000000..7c67d8b8d9
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/contact.md
@@ -0,0 +1,24 @@
+---
+title: 联系我们
+sidebar_position: 10
+---
+
+- **主页**: https://inlong.apache.org
+- **Slack 频道**: [Apache InLong Slack](https://the-asf.slack.com/archives/C01QAG6U00L)
+- **微信公众号**: [Apache InLong](https://inlong.apache.org/img/apache-inlong-wechat.jpg)
+- **GitHub 讨论组**: [GitHub Discussions](https://github.com/apache/inlong/discussions)
+- **邮件列表**:
+
+|                          名称                           | 范围       |                                              |                                                  |                                                            |
+|:-----------------------------------------------------:|:---------|:--------------------------------------------:|:------------------------------------------------:|:----------------------------------------------------------:|
+| [dev@inlong.apache.org](mailto:dev@inlong.apache.org) | 开发相关问题讨论 | [订阅](mailto:dev-subscribe@inlong.apache.org) | [取消订阅](mailto:dev-unsubscribe@inlong.apache.org) | [归档](http://mail-archives.apache.org/mod_mbox/inlong-dev/) |
+
+- **Issues**: https://github.com/apache/inlong/issues
+
+
+
+License
+-------
+© Contributors Licensed under an [Apache-2.0](https://github.com/apache/inlong/blob/master/LICENSE) license.
+
+
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/auto_push.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/auto_push.md
new file mode 100644
index 0000000000..2aa0440dcb
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/auto_push.md
@@ -0,0 +1,8 @@
+---
+title: 自动推送
+sidebar_position: 2
+---
+
+## 概述
+**自动推送**是指使用 DataProxy SDK 发送数据到 DataProxy 模块,不经过 Agent 进行采集。
+DataProxy SDK 目前支持 TCP、HTTP、UDP 协议,使用方式可以参考 [DataProxy SDK Example](https://inlong.apache.org/zh-CN/docs/next/sdk/dataproxy-sdk/example/) 。
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/doris.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/doris.md
new file mode 100644
index 0000000000..3b1c3bcc7f
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/doris.md
@@ -0,0 +1,150 @@
+---
+title: Doris
+sidebar_position: 11
+---
+
+import {siteVariables} from '../../version';
+
+## 概述
+
+`Doris Extract` 节点 支持从 Doris 中读取数据。本章节介绍如何设置 Doris Extract 节点以对 Doris 数据库运行 SQL 查询。
+
+## 支持的版本
+
+| Extract 节点          | Doris 版本 |                                                                                                                                                                                                                                                                                                                                                                                           
+|---------------------|----------|
+| [Doris](./doris.md) | 0.13+    |  
+
+## 依赖
+
+为了设置 Doris Extract 节点, 下面提供了使用构建自动化工具(例如 Maven 或 SBT)所需要的依赖信息。
+
+### Maven 依赖
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-doris</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+## 准备
+### 创建 Doris Extract 表
+先在 Doris 数据库中创建表 `doris_extract_node`, 命令如下:
+```
+[root@fe001 ~]# mysql -u root -h localhost -P 9030 -p000000
+mysql> use test;
+Reading table information for completion of table and column names
+You can turn off this feature to get a quicker startup with -A
+
+Database changed
+mysql> CREATE TABLE `doris_extract_node` (
+       `id` int(11) NOT NULL COMMENT "用户id",
+       `name` varchar(50) NOT NULL COMMENT "昵称",
+       `dr` tinyint(4) NULL COMMENT "逻辑删除"
+       ) ENGINE=OLAP
+       UNIQUE KEY(`id`)
+       COMMENT "OLAP"
+       DISTRIBUTED BY HASH(`id`) BUCKETS 1
+       PROPERTIES (
+       "replication_allocation" = "tag.location.default: 1",
+       "in_memory" = "false",
+       "storage_format" = "V2"
+       );
+Query OK, 0 rows affected (0.03 sec)
+
+mysql> insert into doris_extract_node values(1, 'zhangsan', 0),(2, 'lisi', 0),(3, 'wangwu', 0);
+Query OK, 3 rows affected (0.07 sec)
+{'label':'insert_29d973e9509a48d4-a20e9f0e2d510605', 'status':'VISIBLE', 'txnId':'1032'}
+
+mysql> select * from doris_extract_node;
++------+---------+------+
+| id   | name    | dr   |
++------+---------+------+
+|    1 | zhansan |    0 |
+|    2 | lisi    |    0 |
+|    3 | wangwu  |    0 |
++------+---------+------+
+3 rows in set (0.02 sec)       
+```
+## 如何创建 Doris Extract 节点
+
+### SQL API 用法
+
+下面这个例子展示了如何用 `Flink SQL` 创建一个 Doris Extract 节点:
+* 连接器是 `doris`
+```sql
+# 启动flink sql-client, 加载 doris connector jar包
+[root@tasknode001 flink-1.13.5]# ./bin/sql-client.sh -l ./opt/connectors/doris/
+
+-- 使用 Flink SQL 创建 Doris 表 'doris_extract_node'
+Flink SQL> CREATE TABLE doris_extract_node (
+           `id` INT,
+           `name` STRINTG,
+           `dr` TINYINT
+           ) WITH (
+           'connector' = 'doris',
+           'fenodes' = 'localhost:8030',
+           'table.identifier' = 'test.doris_extract_node',
+           'username' = 'root',
+           'password' = '000000'
+           );
+  
+-- 读取数据
+Flink SQL> SELECT * FROM doris_extract_node;
+```
+
+### InLong Dashboard 用法
+
+TODO: 将在未来支持此功能。
+
+### InLong Manager Client 用法
+
+TODO: 将在未来支持此功能。
+
+## Doris Extract 节点参数
+
+| 参数                                | 是否必选    | 默认值               | 数据类型    | 描述                                                                                                    |
+|-----------------------------------|---------|-------------------|---------|-------------------------------------------------------------------------------------------------------|
+| connector                         | 必选      | (none)            | string  | 指定要使用的连接器 `doris`                                                                                     |
+| fenodes                           | 必选      | (none)            | string  | Doris FE http 地址                                                                                      |
+| table.identifier	                 | 必选      | (none)            | string  | Doris 表名,如:db1.tbl1                                                                                   |
+| username	                         | 必选      | (none)            | string  | 访问 Doris 的用户名                                                                                         |
+| password                          | 必选      | (none)            | string  | 访问 Doris 的密码                                                                                          |
+| doris.request.retries	            | 可选      | 3                 | int     | 向 Doris 发送请求的重试次数                                                                                     |
+| doris.request.connect.timeout.ms	 | 可选      | 30000             | int     | 向 Doris 发送请求的连接超时时间                                                                                   |
+| doris.request.read.timeout.ms	    | 可选      | 30000             | int     | 向 Doris 发送请求的读取超时时间                                                                                   |
+| doris.request.query.timeout.s	    | 可选      | 3600              | int     | 查询 Doris 的超时时间,默认值为1小时,-1表示无超时限制                                                                      |
+| doris.request.tablet.size	        | 可选      | Integer.MAX_VALUE | int     | 一个 Partition 对应的 Doris Tablet 个数。<br/>此数值设置越小,则会生成越多的 Partition。从而提升 Flink 侧的并行度,但同时会对 Doris 造成更大的压力。 |
+| doris.batch.size                  | 可选      | 1024              | int     | 一次从 BE 读取数据的最大行数。增大此数值可减少 Flink 与 Doris 之间建立连接的次数。<br/>从而减轻网络延迟所带来的的额外时间开销。                           |
+| doris.exec.mem.limit	             | 可选      | 2147483648        | long    | 单个查询的内存限制。默认为 2GB,单位为字节                                                                               |
+| doris.deserialize.arrow.async	    | 可选      | false             | boolean | 是否支持异步转换 Arrow 格式到 flink-doris-connector 迭代所需的 RowBatch                                               |
+| doris.deserialize.queue.size	     | 可选      | 64                | int     | 异步转换 Arrow 格式的内部处理队列,当 doris.deserialize.arrow.async 为 true 时生效                                       |
+| doris.read.field	                 | 可选      | (none)            | string  | 读取 Doris 表的列名列表,多列之间使用逗号分隔                                                                            |
+| doris.filter.query                | 可选      | (none)            | string  | 过滤读取数据的表达式,此表达式透传给 Doris。Doris 使用此表达式完成源端数据过滤。                                                        |
+
+## 数据类型映射
+
+| Doris Type  | Flink Type           |
+|-------------|----------------------|
+| NULL_TYPE   | NULL                 |
+| BOOLEAN     | BOOLEAN              |
+| TINYINT     | TINYINT              |
+| SMALLINT    | SMALLINT             |
+| INT         | INT                  |
+| BIGINT      | BIGINT               |
+| FLOAT       | FLOAT                |
+| DOUBLE      | DOUBLE               |
+| DATE        | STRING               |
+| DATETIME    | STRING               |
+| DECIMAL     | DECIMAL              |
+| CHAR        | STRING               |
+| LARGEINT    | STRING               |
+| VARCHAR     | STRING               |
+| DECIMALV2   | DECIMAL              |
+| TIME        | DOUBLE               |
+| HLL         | Unsupported datatype |
+
+请参阅 [flink-doris-connector](https://github.com/apache/doris/blob/1.0.0-rc03/docs/zh-CN/extending-doris/flink-doris-connector.md) 页面以获取更多细节。
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/file.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/file.md
new file mode 100644
index 0000000000..313fdcdd25
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/file.md
@@ -0,0 +1,46 @@
+---
+title: 文件
+sidebar_position: 3
+---
+
+## 参数说明
+![File Params](img/file_param.png)
+- 数据源名称
+- 数据源IP:采集节点 Agent IP
+- ⽂件路径:必须是绝对路径,支持正则表达式,多个时以逗号分隔
+- 时间偏移量:从文件的某个时间开始采集,'1m'表示1分钟之后,'-1m'表示1分钟之前,支持m(分钟),h(小时),d(天),空则从当前时间开始采集
+- 文件分隔符:支持竖线(|), 逗号(,),分好(;)
+- 源数据字段:分隔符切分后的字段
+
+## 路径配置
+```
+/data/inlong-agent/test.log  //代表读取inlong-agent文件夹下的的新增文件test.log
+/data/inlong-agent/test[0-9]{1} //代表读取inlong-agent文件夹下的新增文件test后接一个数字结尾
+/data/inlong-agent/test //如果test为目录,则代表读取test下的所有新增文件
+/data/inlong-agent/^\\d+(\\.\\d+)? // 以一个或多个数字开头,之后可以是.或者一个.或多个数字结尾,?代表可选,可以匹配的实例:"5", "1.5" 和 "2.21"
+```
+
+## 数据时间
+Agent支持从文件名称中获取时间当作数据的生产时间,配置说明如下:
+```
+/data/inlong-agent/***YYYYMMDDHH***
+```
+
+其中YYYYDDMMHH代表数据时间,YYYY表示年,MM表示月份,DD表示天,HH表示小时
+其中***为任意字符
+
+同时需要在job conf中加入当前数据的周期,当前支持天周期以及小时周期,
+在添加任务时,加入属性 job.cycleUnit。job.cycleUnit 包含如下两种类型:
+- D : 代表数据时间天维度
+- H : 代表数据时间小时维度
+
+例如:
+配置数据源为
+```
+/data/inlong-agent/2021020211.log
+```
+写入数据到 2021020211.log
+配置 job.cycleUnit 为 D
+则agent会在2021020211时间尝试2021020211.log文件,读取文件中的数据时,会将所有数据以20210202这个时间写入到后端proxy
+如果配置 job.cycleUnit 为 H
+则采集2021020211.log文件中的数据时,会将所有数据以2021020211这个时间写入到后端proxy。
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/hudi.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/hudi.md
new file mode 100644
index 0000000000..463648c975
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/hudi.md
@@ -0,0 +1,142 @@
+---
+title: Hudi
+sidebar_position: 12
+---
+
+import {siteVariables} from '../../version';
+
+## 概览
+
+[Apache Hudi](https://hudi.apache.org/cn/docs/overview/) (发音为"hoodie")是下一代流式数据湖平台。
+Apache Hudi 将核心仓库和数据库功能直接带到数据湖中。
+Hudi 提供表、事务、高效的 upserts/delete、高级索引、流摄入服务、数据聚类/压缩优化和并发,同时保持数据的开源文件格式。
+
+## 支持的版本
+
+| Load Node         | Version                                                          |
+| ----------------- | ---------------------------------------------------------------- |
+| [Hudi](./hudi.md) | [Hudi](https://hudi.apache.org/cn/docs/quick-start-guide): 0.12+ |
+
+### 依赖
+
+通过 `Maven` 引入 `sort-connector-hudi` 构建自己的项目。
+当然,你也可以直接使用 `INLONG` 提供的 `jar` 包。([sort-connector-hudi](https://inlong.apache.org/download))
+
+### Maven 依赖
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-hudi</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+## 如何配置 Hudi 数据抽取节点
+
+### SQL API 的使用
+
+使用 `Flink SQL Cli` :
+
+```sql
+CREATE TABLE `hudi_table_name` (
+  id STRING,
+  name STRING,
+  uv BIGINT,
+  pv BIGINT
+) WITH (
+    'connector' = 'hudi-inlong',
+    'path' = 'hdfs://127.0.0.1:90001/data/warehouse/hudi_db_name.db/hudi_table_name',
+    'uri' = 'thrift://127.0.0.1:8091',
+    'hoodie.database.name' = 'hudi_db_name',
+    'hoodie.table.name' = 'hudi_table_name',
+    'read.streaming.check-interval'='1',
+    'read.streaming.enabled'='true',
+    'read.streaming.skip_compaction'='true',
+    'read.start-commit'='20221220121000',
+    --
+    'hoodie.bucket.index.hash.field' = 'id',
+    -- compaction
+    'compaction.tasks' = '10',
+    'compaction.async.enabled' = 'true',
+    'compaction.schedule.enabled' = 'true',
+    'compaction.max_memory' = '3096',
+    'compaction.trigger.strategy' = 'num_or_time',
+    'compaction.delta_commits' = '5',
+    'compaction.max_memory' = '3096',
+    --
+    'hoodie.keep.min.commits' = '1440',
+    'hoodie.keep.max.commits' = '2880',
+    'clean.async.enabled' = 'true',
+    --
+    'write.operation' = 'upsert',
+    'write.bucket_assign.tasks' = '60',
+    'write.tasks' = '60',
+    'write.log_block.size' = '128',
+    --
+    'index.type' = 'BUCKET',
+    'metadata.enabled' = 'false',
+    'hoodie.bucket.index.num.buckets' = '20',
+    'table.type' = 'MERGE_ON_READ',
+    'clean.retain_commits' = '30',
+    'hoodie.cleaner.policy' = 'KEEP_LATEST_COMMITS'
+);
+```
+
+### Dashboard 方式
+
+#### 配置
+
+在创建数据流时,选择数据落地为 'hudi' 然后点击 'Add' 来配置 Hudi 的相关信息。
+
+![Hudi Configuration](img/hudi.png)
+
+| 配置项            | 对应SQL DDL中的属性                                 | 备注                                                      |
+| -------------- | --------------------------------------------- | ------------------------------------------------------- |
+| `DB名称`         | `hoodie.database.name`                        | 库名称                                                     |
+| `表名`           | `hudi_table_name`                             | hudi表名                                                  |
+| `是否创建资源`       | -                                             | 如果库表已经存在,且无需修改,则选【不创建】;<br/>否则请选择【创建】,由系统自动创建资源。        |
+| `Catalog URI`  | `uri`                                         | 元数据服务地址                                                 |
+| `仓库路径`         | -                                             | hudi表存储在HDFS中的位置<br/>在SQL DDL中path属性是将`仓库路径`与库、表名称拼接在一起 |
+| `跳过合并中的提交`         | `read.streaming.skip_compaction`     | 流读时是否跳过 compaction 的 commits,跳过 compaction 有两个用途:1)避免 upsert 语义 下重复消费(compaction 的 instant 为重复数据,如果不跳过,有小概率会重复消费); 2) changelog 模式下保证语义正确性。 0.11 开始,以上两个问题已经通过保留 compaction 的 instant time 修复                                                   |
+| `起始的commit`         | ``read.start-commit``     | 起始commit, 格式为`yyyyMMddHHmmss`  |
+
+### InLong Manager Client 方式
+
+TODO: 未来版本支持
+
+## Hudi 抽取节点参数信息
+
+| 选项                                          | 必填  | 类型     | 描述                                                                                              |
+| ------------------------------------------- | --- | ------ | ----------------------------------------------------------------------------------------------- |
+| connector                                   | 必填  | String | 指定要使用的Connector,这里应该是'hudi-inlong'。                                                             |
+| uri                                         | 可选  | String | 用于配置单元同步的 Metastore uris                                                                        |
+| path                                         | 必填  | String |  用户保存hudi表的文件目录                                                                        |
+| hoodie.database.name                        | 可选  | String | 将用于增量查询的数据库名称。如果不同数据库在增量查询时有相同的表名,我们可以设置它来限制特定数据库下的表名                                           |
+| hoodie.table.name                           | 可选  | String | 将用于向 Hive 注册的表名。 需要在运行中保持一致。                                                                    |
+| `read.start-commit`     | 可选  | String | 指定`yyyyMMddHHmmss`格式的起始commit(闭区间) |
+| `read.streaming.skip_compaction`  | 可选  | String | 流读时是否跳过 compaction 的 commits(默认不跳过),跳过 compaction 有两个用途:1)避免 upsert 语义 下重复消费(compaction 的 instant 为重复数据,如果不跳过,有小概率会重复消费); 2) changelog 模式下保证语义正确性。 0.11 开始,以上两个问题已经通过保留 compaction 的 instant time 修复          |
+| inlong.metric.labels                        | 可选  | String | 在long metric label中,value的格式为groupId=xxgroup&streamId=xxstream&nodeId=xxnode。                   |
+
+## 数据类型映射
+
+| Hive type     | Flink SQL type |
+| ------------- | -------------- |
+| char(p)       | CHAR(p)        |
+| varchar(p)    | VARCHAR(p)     |
+| string        | STRING         |
+| boolean       | BOOLEAN        |
+| tinyint       | TINYINT        |
+| smallint      | SMALLINT       |
+| int           | INT            |
+| bigint        | BIGINT         |
+| float         | FLOAT          |
+| double        | DOUBLE         |
+| decimal(p, s) | DECIMAL(p, s)  |
+| date          | DATE           |
+| timestamp(9)  | TIMESTAMP      |
+| bytes         | BINARY         |
+| array         | LIST           |
+| map           | MAP            |
+| row           | STRUCT         |
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/img/file_param.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/img/file_param.png
new file mode 100644
index 0000000000..5cbf818250
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/img/file_param.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/img/hudi.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/img/hudi.png
new file mode 100644
index 0000000000..bf563acbf7
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/img/hudi.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/img/mysql-binlog.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/img/mysql-binlog.png
new file mode 100644
index 0000000000..d5fe29a344
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/img/mysql-binlog.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/img/mysql-source.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/img/mysql-source.png
new file mode 100644
index 0000000000..854a989a84
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/img/mysql-source.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/kafka.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/kafka.md
new file mode 100644
index 0000000000..ff61be058e
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/kafka.md
@@ -0,0 +1,162 @@
+---
+title: Kafka
+sidebar_position: 4
+---
+
+import {siteVariables} from '../../version';
+
+## 概述
+
+`Kafka Extract` 节点 支持从 Kafka topics 中读取数据。它支持以普通的方式读取数据和 Upsert 的方式读取数据。`upsert-kafka` 连接器生产 `changelog` 流,
+其中每条数据记录代表一个更新或删除事件。`kafka-inlong` 连接器可以以普通方式读取数据和元数据信息。
+
+## 支持的版本
+
+| Extract 节点                | Kafka 版本 |                                                                                                                                                                                                                                                                                                                                                                                           
+|-----------------------------|-----------|
+| [Kafka](./kafka.md)         | 0.10+     |  
+
+## 依赖
+
+为了设置 Kafka Extract 节点, 下面提供了使用构建自动化工具(例如 Maven 或 SBT)和带有 Sort Connector JAR 包的 SQL 客户端的两个项目的依赖关系信息。
+
+### Maven 依赖
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-kafka</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+## 如何创建 Kafka Extract 节点
+
+### SQL API 用法
+
+下面这个例子展示了如何用 `Flink SQL` 创建一个 Kafka Extract 节点:
+* 连接器是 `kafka-inlong`
+```sql
+-- 设置 Checkpoint 为 3000 毫秒                      
+Flink SQL> SET 'execution.checkpointing.interval' = '3s';   
+
+-- 使用 Flink SQL 创建 Kafka 表 'kafka_extract_node'
+Flink SQL> CREATE TABLE kafka_extract_node (
+           `id` INT,
+           `name` STRINTG
+           ) WITH (
+           'connector' = 'kafka-inlong',
+           'topic' = 'user',
+           'properties.bootstrap.servers' = 'localhost:9092',
+           'properties.group.id' = 'testGroup',
+           'scan.startup.mode' = 'earliest-offset',
+           'format' = 'csv'
+           )
+  
+-- 读取数据
+Flink SQL> SELECT * FROM kafka_extract_node;
+```
+* 连接器是 `upsert-kafka`
+```sql
+-- 设置 Checkpoint 为 3000 毫秒                       
+Flink SQL> SET 'execution.checkpointing.interval' = '3s';
+
+-- 使用 Flink SQL 创建 Kafka 表 'kafka_extract_node'
+Flink SQL> CREATE TABLE kafka_extract_node (
+          `id` INT,
+          `name` STRINTG,
+           PRIMARY KEY (`id`) NOT ENFORCED
+          ) WITH (
+          'connector' = 'upsert-kafka-inlong',
+          'topic' = 'user',
+          'properties.bootstrap.servers' = 'localhost:9092',
+          'properties.group.id' = 'testGroup',
+          'scan.startup.mode' = 'earliest-offset',
+          'key.format' = 'csv',
+          'value.format' = 'csv'
+          )
+    
+-- 读取数据
+Flink SQL> SELECT * FROM kafka_extract_node;       
+```
+### InLong Dashboard 用法
+
+TODO: 将在未来支持此功能。
+
+### InLong Manager Client 用法
+
+TODO: 将在未来支持此功能。
+
+## Kafka Extract 节点参数
+
+| 参数 | 是否必选 | 默认值 | 数据类型 | 描述 |
+|---------|----------|---------|------|------------|
+| connector | 必选 | (none) | String | 指定要使用的连接器  1. Upsert Kafka 连接器使用: `upsert-kafka-inlong`  2. Kafka连接器使用: `kafka-inlong` |
+| topic | 可选 | (none) | String | 当表用作 source 时读取数据的 topic 名。亦支持用分号间隔的 topic 列表,如 `topic-1;topic-2`。注意,对 source 表而言,`topic` 和 `topic-pattern` 两个选项只能使用其中一个。 |
+| topic-pattern | 可选 | (none) | String | 匹配读取 topic 名称的正则表达式。在作业开始运行时,所有匹配该正则表达式的 topic 都将被 Kafka consumer 订阅。注意,对 source 表而言,`topic` 和 `topic-pattern` 两个选项只能使用其中一个。 |
+| properties.bootstrap.servers | 必选 | (none) | String | 逗号分隔的 Kafka broker 列表。 |
+| properties.group.id | 必选 | (none) | String | Kafka source 的消费组 id。 |
+| properties.* | 可选 | (none) | String | 可以设置和传递任意 Kafka 的配置项。后缀名必须匹配在 [Kafka 配置文档](https://kafka.apache.org/documentation/#configuration) 中定义的配置键。Flink 将移除 "properties." 配置键前缀并将变换后的配置键和值传入底层的 Kafka 客户端。例如,你可以通过 'properties.allow.auto.create.topics' = 'false' 来禁用 topic 的自动创建。但是某些配置项不支持进行配置,因为 Flink 会覆盖这些配置,例如 'key.deserializer' 和 'value.deserializer'。 |
+| format | 对于 Kafka 必选 | (none) | String | 用来序列化或反序列化 Kafka 消息的格式。 请参阅 [格式](https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/connectors/table/formats/overview/) 页面以获取更多关于格式的细节和相关配置项。 注意:该配置项和 'value.format' 二者必需其一。 |
+| key.format | 可选 | (none) | String | 用来序列化和反序列化 Kafka 消息键(Key)的格式。 请参阅 格式 页面以获取更多关于格式的细节和相关配置项。 注意:如果定义了键格式,则配置项 'key.fields' 也是必需的。 否则 Kafka 记录将使用空值作为键。 |
+| key.fields | 可选 | [] | `List<String>` | 表结构中用来配置消息键(Key)格式数据类型的字段列表。默认情况下该列表为空,因此消息键没有定义。 列表格式为 'field1;field2'。 |
+| key.fields-prefix | 可选 | (none) | String | 为所有消息键(Key)格式字段指定自定义前缀,以避免与消息体(Value)格式字段重名。默认情况下前缀为空。 如果定义了前缀,表结构和配置项 'key.fields' 都需要使用带前缀的名称。 当构建消息键格式字段时,前缀会被移除,消息键格式将会使用无前缀的名称。 请注意该配置项要求必须将 'value.fields-include' 配置为 'EXCEPT_KEY'。 |
+| value.format | 对于 Upsert Kafka 必选 | (none) | String | 用于对 Kafka 消息中 value 部分序列化和反序列化的格式。支持的格式包括 'csv'、'json'、'avro'。请参考[格式](https://nightlies.apache.org/flink/flink-docs-release-1.13/zh/docs/connectors/table/formats/overview/)页面以获取更多详细信息和格式参数。 |
+| value.fields-include | 可选 | ALL | String | 控制哪些字段应该出现在 value 中。可取值:<br/> ALL:消息的 value 部分将包含 schema 中所有的字段,包括定义为主键的字段。<br/> EXCEPT_KEY:记录的 value 部分包含 schema 的所有字段,定义为主键的字段除外。 |
+| scan.startup.mode | 可选 | group-offsets | String | Kafka consumer 的启动模式。有效值为:'earliest-offset','latest-offset','group-offsets','timestamp' 和 'specific-offsets'。 请参阅下方 起始消费位点 以获取更多细节。 |
+| scan.startup.specific-offsets | 可选 | (none) | String | 在使用 'specific-offsets' 启动模式时为每个 partition 指定 offset,例如 'partition:0,offset:42;partition:1,offset:300'。 |
+| scan.startup.timestamp-millis | 可选 | (none) | Long | 在使用 'timestamp' 启动模式时指定启动的时间戳(单位毫秒)。 |
+| scan.topic-partition-discovery.interval | 可选 | (none) | Duration | Consumer 定期探测动态创建的 Kafka topic 和 partition 的时间间隔。 |
+| inlong.metric.labels | 可选 | (none) | String | inlong metric 的标签值,该值的构成为groupId=`{groupId}`&streamId=`{streamId}`&nodeId=`{nodeId}`。|
+| sink.ignore.changelog | 可选 | false | 布尔型 | 支持所有类型的 changelog 流 ingest 到 Kafka。 |
+
+## 可用的元数据字段
+
+以下格式元数据可以作为表定义中的只读 (VIRTUAL) 列公开。 它支持读取格式 `canal-json-inlong` 的元数据。
+
+| 字段名称 | 数据类型 | 描述  | 
+|-----|------------|-------------|
+| value.table_name | STRING | 包含该行的表的名称 | 
+| value.database_name | STRING | 包含该行的数据库的名称  |
+| value.op_ts| TIMESTAMP(3) | 它指示在数据库中进行更改的时间。 如果记录是从表的快照而不是binlog中读取的,则该值始终为0 |
+| value.op_type| STRING | 操作类型, INSERT/UPDATE/DELETE |
+| value.batch_id| BIGINT | 不重要的, 一个简单的自增器 |
+| value.is_ddl| BOOLEAN | 不下发 DDL, 值是 false |
+| value.update_before| `ARRAY<MAP<STRING, STRING>>` | UPDATE 记录的 update-before 数据 |
+| value.mysql_type | MAP<STRING, STRING> | MySQL 字段类型 |
+| value.pk_names | `ARRAY<STRING>` | 主键 |
+| value.sql_type | MAP<STRING, INT> | SQL 字段类型 |
+| value.ts | TIMESTAMP_LTZ(3) | ts_ms 字段用于存储有关连接器处理/生成事件的本地时间的信息 |
+
+扩展的 CREATE TABLE 示例演示了使用这些元数据字段的语法:
+
+```sql
+CREATE TABLE `kafka_extract_node` (
+      `id` INT,
+      `name` STRING,
+      `database_name` string METADATA FROM 'value.database_name',
+      `table_name`    string METADATA FROM 'value.table_name',
+      `op_ts`         timestamp(3) METADATA FROM 'value.op_ts',
+      `op_type` string METADATA FROM 'value.op_type',
+      `batch_id` bigint METADATA FROM 'value.batch_id',
+      `is_ddl` boolean METADATA FROM 'value.is_ddl',
+      `update_before` ARRAY<MAP<STRING, STRING>> METADATA FROM 'value.update_before',
+      `mysql_type` MAP<STRING, STRING> METADATA FROM 'value.mysql_type',
+      `pk_names` ARRAY<STRING> METADATA FROM 'value.pk_names',
+      `data` STRING METADATA FROM 'value.data',
+      `sql_type` MAP<STRING, INT> METADATA FROM 'value.sql_type',
+      `ingestion_ts` TIMESTAMP(3) METADATA FROM 'value.ts',
+) WITH (
+      'connector' = 'kafka-inlong',
+      'topic' = 'user',
+      'properties.bootstrap.servers' = 'localhost:9092',
+      'properties.group.id' = 'testGroup',
+      'scan.startup.mode' = 'earliest-offset',
+      'format' = 'canal-json-inlong'
+)
+```
+
+## 数据类型映射
+
+Kafka 将消息键值以二进制进行存储,因此 Kafka 并不存在 schema 或数据类型。Kafka 消息使用格式配置进行序列化和反序列化,例如 csv,json,avro。 因此,数据类型映射取决于使用的格式。请参阅 [格式](https://nightlies.apache.org/flink/flink-docs-release-1.13/zh/docs/connectors/table/formats/overview/) 页面以获取更多细节。
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/mongodb-cdc.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/mongodb-cdc.md
new file mode 100644
index 0000000000..b6ad2b5794
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/mongodb-cdc.md
@@ -0,0 +1,195 @@
+---
+title: MongoDB-CDC
+sidebar_position: 5
+---
+
+import {siteVariables} from '../../version';
+
+## 概述
+
+MongoDB CDC 连接器允许从 MongoDB 读取快照数据和增量数据。本文档介绍如何设置 MongoDB CDC 连接器以对 MongoDB 运行 SQL 查询。
+
+## 支持的版本
+| Extract 节点                     | 版本                                          |
+| ------------------------------- | --------------------------------------------- |
+| [MongoDB-CDC](./mongodb-cdc.md) | [MongoDB](https://www.mongodb.com/): &gt;= 3.6 |
+
+## 依赖项
+
+I.为了设置 MongoDB CDC 连接器,下表提供了使用构建自动化工具(例如 Maven 或 SBT)的依赖关系信息
+
+### Maven依赖
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-mongodb-cdc</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+## 设置 MongoDB
+
+### 可用性
+
+- MongoDB 版本
+
+  MongoDB 版本 &gt;= 3.6
+  我们使用 [更改流](https://docs.mongodb.com/manual/changeStreams/)功能(3.6 版中的新功能)来捕获更改数据。
+
+- 集群部署
+
+  需要 [副本集](https://docs.mongodb.com/manual/replication/)或 [分片集群](https://docs.mongodb.com/manual/sharding/)。
+
+- 存储引擎
+
+  需要 [WiredTiger](https://docs.mongodb.com/manual/core/wiredtiger/#std-label-storage-wiredtiger)存储引擎。
+
+- [副本集协议版本](https://docs.mongodb.com/manual/reference/replica-configuration/#mongodb-rsconf-rsconf.protocolVersion)
+
+  需要副本集协议版本 1 [(pv1)](https://docs.mongodb.com/manual/reference/replica-configuration/#mongodb-rsconf-rsconf.protocolVersion)。
+  从版本 4.0 开始,MongoDB 仅支持 pv1。pv1 是使用 MongoDB 3.2 或更高版本创建的所有新副本集的默认值。
+
+- 特权
+
+  `changeStream` MongoDB Kafka 连接器 `read` 需要权限。
+
+  您可以使用以下示例进行简单授权。
+  更详细的授权请参考 [MongoDB 数据库用户角色](https://docs.mongodb.com/manual/reference/built-in-roles/#database-user-roles)。
+
+  ```shell
+  use admin;
+  db.createUser({
+    user: "flinkuser",
+    pwd: "flinkpw",
+    roles: [
+      { role: "read", db: "admin" }, // read role includes changeStream privilege 
+      { role: "readAnyDatabase", db: "admin" } // for snapshot reading
+    ]
+  });
+  ```
+
+## 如何创建 MongoDB Extract 节点
+
+### SQL API 用法
+
+这个例子展示了如何使用 `Flink SQL` 创建一个 MongoDB Extract 节点:
+
+```sql
+-- Set checkpoint every 3000 milliseconds                       
+Flink SQL> SET 'execution.checkpointing.interval' = '3s';   
+
+-- Create a MySQL table 'mongodb_extract_node' in Flink SQL
+Flink SQL> CREATE TABLE mongodb_extract_node (
+  _id STRING, // must be declared
+  name STRING,
+  weight DECIMAL(10,3),
+  tags ARRAY<STRING>, -- array
+  price ROW<amount DECIMAL(10,2), currency STRING>, -- embedded document
+  suppliers ARRAY<ROW<name STRING, address STRING>>, -- embedded documents
+  PRIMARY KEY(_id) NOT ENFORCED
+) WITH (
+  'connector' = 'mongodb-cdc-inlong',
+  'hosts' = 'localhost:27017,localhost:27018,localhost:27019',
+  'username' = 'flinkuser',
+  'password' = 'flinkpw',
+  'database' = 'inventory',
+  'collection' = 'mongodb_extract_node'
+);
+
+-- Read snapshot and binlogs from mongodb_extract_node
+Flink SQL> SELECT * FROM mongodb_extract_node;
+```
+
+**注意**
+
+MongoDB 的更改事件记录在消息之前没有更新。所以,我们只能将其转换为 Flink 的 UPSERT 变更日志流。UPSERT 流需要唯一键,因此我们必须声明 `_id` 为主键。我们不能将其他列声明为主键,因为删除操作不包含除 `_id` 和 `sharding key` 之外的键和值。
+
+### InLong Dashboard 用法
+
+TODO: 未来会支持
+
+### InLong Manager 用法
+
+TODO: 未来会支持
+
+## MongoDB Extract 节点参数
+
+| **选项**                  | **是否必须** | **默认**   | **类型** | **描述**                                                     |
+| ------------------------- | ------------ | ---------- | -------- | ------------------------------------------------------------ |
+| connector                 | 必须         | (none)     | String   | 指定要使用的连接器,这里应该是`mongodb-cdc-inlong`.                 |
+| hosts                     | 必须         | (none)     | String   | MongoDB 服务器的主机名和端口对的逗号分隔列表。例如。`localhost:27017,localhost:27018` |
+| username                  | 可选         | (none)     | String   | 连接到 MongoDB 时要使用的数据库用户的名称。仅当 MongoDB 配置为使用身份验证时才需要这样做。 |
+| password                  | 可选         | (none)     | String   | 连接 MongoDB 时使用的密码。仅当 MongoDB 配置为使用身份验证时才需要这样做。 |
+| database                  | 必须         | (none)     | String   | 要监视更改的数据库的名称。                                   |
+| collection                | 必须         | (none)     | String   | 数据库中要监视更改的集合的名称。                             |
+| connection.options        | 可选         | (none)     | String   | MongoDB的 & 分隔[连接选项](https://docs.mongodb.com/manual/reference/connection-string/#std-label-connections-connection-options)。例如。`replicaSet=test&connectTimeoutMS=300000` |
+| copy.existing             | 可选         | true       | Boolean  | 是否从源集合中复制现有数据。                                 |
+| copy.existing.queue.size  | 可选         | 10240      | Integer  | 执行数据复制时使用的线程数。                                 |
+| batch.size | 可选         | 1024      | Integer  | Cursor 批次大小。 |
+| poll.max.batch.size       | 可选         | 1024       | Integer  | 轮询新数据时,单个批次中包含的最大更改流文档数。             |
+| poll.await.time.ms        | 可选         | 1000       | Integer  | 在更改流上检查新结果之前等待的时间量。                       |
+| heartbeat.interval.ms     | 可选         | 0          | Integer  | 发送心跳消息之间的时间长度(以毫秒为单位)。使用 0 禁用。    |
+| inlong.metric.labels             | 可选         | (none)     | String   | inlong metric 的标签值,该值的构成为groupId=`{groupId}`&streamId=`{streamId}`&nodeId=`{nodeId}`。|
+| scan.incremental.snapshot.enabled | 可选         | false     | Boolean   | 是否启用增量快照。增量快照功能仅支持 MongoDB 4.0之后的版本。 |
+| scan.incremental.snapshot.chunk.size.mb             | 可选         | 64     | Integer   | 增量快照的块大小,单位: mb。 |
+| chunk-meta.group.size | 可选         | 1000     | Integer   |  chunk meta 的组大小,如果 meta 大小超过组大小,则 meta 将被分成多个组。 |
+
+## 可用元数据
+
+以下格式元数据可以作为表定义中的只读 (VIRTUAL) 列公开。
+
+| Key             | 数据类型                  | 描述                                                         |
+| --------------- | ------------------------- | ------------------------------------------------------------ |
+| database_name   | STRING NOT NULL           | 包含该行的数据库的名称。                                     |
+| collection_name | STRING NOT NULL           | 包含该行的集合的名称。                                       |
+| op_ts           | TIMESTAMP_LTZ(3) NOT NULL | 它指示在数据库中进行更改的时间。如果记录是从表的快照而不是更改流中读取的,则该值始终为 0。 |
+
+
+扩展的 CREATE TABLE 示例演示了公开这些元数据字段的语法:
+```sql
+CREATE TABLE `mysql_extract_node` (
+    db_name STRING METADATA FROM 'database_name' VIRTUAL,
+    collection_name STRING METADATA  FROM 'collection_name' VIRTUAL,
+    operation_ts TIMESTAMP_LTZ(3) METADATA FROM 'op_ts' VIRTUAL,
+    _id STRING, // must be declared
+    name STRING,
+    weight DECIMAL(10,3),
+    tags ARRAY<STRING>, -- array
+    price ROW<amount DECIMAL(10,2), currency STRING>, -- embedded document
+    suppliers ARRAY<ROW<name STRING, address STRING>>, -- embedded documents
+    PRIMARY KEY(_id) NOT ENFORCED
+) WITH (
+      'connector' = 'mongodb-cdc-inlong', 
+      'hostname' = 'YourHostname',
+      'username' = 'YourUsername',
+      'password' = 'YourPassword',
+      'database' = 'YourDatabase',
+      'collection' = 'YourTable' 
+);
+```
+
+## 数据类型映射
+
+| BSON 类型                                                    | Flink SQL 类型                                                |
+| ------------------------------------------------------------ | ------------------------------------------------------------ |
+|                                                              | TINYINT                                                      |
+|                                                              | SMALLINT                                                     |
+| Int                                                          | INT                                                          |
+| Long                                                         | BIGINT                                                       |
+|                                                              | FLOAT                                                        |
+| Double                                                       | DOUBLE                                                       |
+| Decimal128                                                   | DECIMAL(p, s)                                                |
+| Boolean                                                      | BOOLEAN                                                      |
+| Date Timestamp                                               | DATE                                                         |
+| Date Timestamp                                               | TIME                                                         |
+| Date                                                         | TIMESTAMP(3) TIMESTAMP_LTZ(3)                                |
+| Timestamp                                                    | TIMESTAMP(0) TIMESTAMP_LTZ(0)                                |
+| String ObjectId UUID Symbol MD5 JavaScript Regex             | STRING                                                       |
+| BinData                                                      | BYTES                                                        |
+| Object                                                       | ROW                                                          |
+| Array                                                        | ARRAY                                                        |
+| DBPointer                                                    | ROW\<\$ref STRING, \$id STRING\>                               |
+| [GeoJSON](https://docs.mongodb.com/manual/reference/geojson/) | Point : ROW\<type STRING, coordinates ARRAY\<DOUBLE\>\> Line : ROW\<type STRING, coordinates ARRAY\<ARRAY\< DOUBLE\>\>\> ... |
+
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/mysql-cdc.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/mysql-cdc.md
new file mode 100644
index 0000000000..c068dd4e48
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/mysql-cdc.md
@@ -0,0 +1,662 @@
+---
+title: MySQL-CDC
+sidebar_position: 6
+---
+
+import {siteVariables} from '../../version';
+
+## 概述
+
+MySQL Extract 节点允许从 MySQL 数据库中读取快照数据和增量数据。本文档介绍如何设置 MySQL Extract 节点以对 MySQL 数据库运行 SQL 查询。
+
+## 支持的版本
+
+| Extract 节点                  | 版本                                                                                                                                                                                                                                                                                                                                                                                                     | Driver                  |
+|-----------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|
+| [MySQL-CDC](./mysql-cdc.md) | [MySQL](https://dev.mysql.com/doc): 5.6, 5.7, 8.0.x <br/> [RDS MySQL](https://www.aliyun.com/product/rds/mysql): 5.6, 5.7, 8.0.x <br/> [PolarDB MySQL](https://www.aliyun.com/product/polardb): 5.6, 5.7, 8.0.x <br/> [Aurora MySQL](https://aws.amazon.com/cn/rds/aurora): 5.6, 5.7, 8.0.x <br/> [MariaDB](https://mariadb.org): 10.x <br/> [PolarDB X](https://github.com/ApsaraDB/galaxysql): 2.0.1 | JDBC Driver: 8.0.21     |
+
+## 依赖
+
+为了设置 MySQL Extract 节点,下表提供了使用构建自动化工具(例如 Maven 或 SBT)和带有 Sort Connectors JAR 包的 SQL 客户端的两个项目的依赖关系信息。
+
+### Maven 依赖
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-mysql-cdc</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+连接 MySQL 数据库还需要 MySQL 驱动程序依赖项。请下载[mysql-connector-java-8.0.21.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.21/mysql-connector-java-8.0.21.jar) 并将其放入 `FLINK_HOME/lib/`。
+
+## 设置 MySQL 服务器
+
+你必须定义一个对 Debezium MySQL 连接器监控的所有数据库具有适当权限的 MySQL 用户。
+
+- 创建 MySQL 用户:
+
+```sql
+mysql> CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
+```
+- 向用户授予所需的权限:
+
+```sql
+mysql> GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user' IDENTIFIED BY 'password';
+```
+**注意:** 启用 `scan.incremental.snapshot.enabled` 时不再需要 RELOAD 权限(默认启用)。
+
+- 刷新用户的权限:
+
+```sql
+mysql> FLUSH PRIVILEGES;
+```
+
+查看更多关于[权限说明](https://debezium.io/documentation/reference/1.5/connectors/mysql.html#mysql-creating-user)。
+
+## 注意事项
+
+### 为每个 Reader 设置一个不同的 SERVER ID
+
+每一个读取 Binlog 的 MySQL 数据库客户端都应该有一个唯一的 Id,称为 Server Id。 MySQL 服务器将使用此 Id 来维护网络连接和 Binlog 位置。因此,如果不同的作业共享相同的服务器 Id,可能会导致从错误的 Binlog 位置读取。
+因此,建议通过 [SQL Hints](https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/sql/hints. html),
+例如假设源并行度为 4,那么我们可以使用 `SELECT * FROM source_table /*+ OPTIONS('server-id'='5401-5404') */ ;` 为 4 个 Source Reader 中的每一个分配唯一的服务器 Id。
+
+### 设置 MySQL 会话超时
+
+当为大型数据库制作初始一致快照时,您建立的连接可能会在读取表时超时。您可以通过在 MySQL 配置文件中配置 `interactive_timeout` 和 `wait_timeout` 来防止这种行为。
+- `interactive_timeout`:服务器在关闭交互式连接之前等待其活动的秒数。请参阅 [MySQL 文档](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_interactive_timeout)。
+- `wait_timeout`:服务器在关闭非交互式连接之前等待其活动的秒数。请参阅 [MySQL 文档](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_wait_timeout)。
+
+## 如何创建一个 MySQL Extract 节点
+
+### SQL API 用法
+
+下面这个例子展示了如何用 `Flink SQL` 创建一个 MySQL Extract 节点: 
+
+```sql
+-- 设置 Checkpoint 为 3000 毫秒                       
+Flink SQL> SET 'execution.checkpointing.interval' = '3s';   
+
+Flink SQL> CREATE TABLE mysql_extract_node (
+     order_id INT,
+     order_date TIMESTAMP(0),
+     customer_name STRING,
+     price DECIMAL(10, 5),
+     product_id INT,
+     order_status BOOLEAN,
+     PRIMARY KEY(order_id) NOT ENFORCED
+     ) WITH (
+     'connector' = 'mysql-cdc-inlong',
+     'hostname' = 'YourHostname',
+     'port' = '3306',
+     'username' = 'YourUsername',
+     'password' = 'YourPassword',
+     'database-name' = 'YourDatabaseName',
+     'table-name' = 'YourTableName');
+  
+Flink SQL> SELECT * FROM mysql_extract_node;
+```
+
+### InLong Dashboard 用法
+
+- Choose the `BINLOG` Data Source
+  ![MySQL BINLOG](img/mysql-binlog.png)
+
+- Configure the MySQL Source
+  ![MySQL SOURCE](img/mysql-source.png)
+
+### InLong Manager Client 用法
+
+TODO: 将在未来支持此功能。
+
+## MySQL Extract 节点参数
+
+<div class="highlight">
+<table class="colwidths-auto docutils">
+    <thead>
+      <tr>
+        <th class="text-left" style={{width: '10%'}}>参数</th>
+        <th class="text-left" style={{width: '8%'}}>是否必须</th>
+        <th class="text-left" style={{width: '7%'}}>默认值</th>
+        <th class="text-left" style={{width: '10%'}}>数据类型</th>
+        <th class="text-left" style={{width: '65%'}}>描述</th>
+      </tr>
+    </thead>
+    <tbody>
+    <tr>
+      <td>connector</td>
+      <td>required</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>指定要使用的连接器,这里应该是 <code>'mysql-cdc-inlong'</code>。</td>
+    </tr>
+    <tr>
+      <td>hostname</td>
+      <td>required</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>MySQL 数据库服务器的 IP 地址或主机名。</td>
+    </tr>
+    <tr>
+      <td>username</td>
+      <td>required</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>连接到 MySQL 数据库服务器时要使用的 MySQL 用户名称。</td>
+    </tr>
+    <tr>
+      <td>password</td>
+      <td>required</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>连接到 MySQL 数据库服务器时使用的密码。</td>
+    </tr>
+    <tr>
+      <td>database-name</td>
+      <td>required</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>要监控的 MySQL 服务器的数据库名称。 database-name 还支持正则表达式来监控多个表是否匹配正则表达式。</td>
+    </tr> 
+    <tr>
+      <td>table-name</td>
+      <td>required</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>要监控的 MySQL 数据库的表名。 table-name 还支持正则表达式来监控多个表是否匹配正则表达式。</td>
+    </tr>
+    <tr>
+      <td>port</td>
+      <td>optional</td>
+      <td style={{wordWrap: 'break-word'}}>3306</td>
+      <td>Integer</td>
+      <td>MySQL 数据库服务器的整数端口号。</td>
+    </tr>
+    <tr>
+      <td>server-id</td>
+      <td>optional</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>Integer</td>
+      <td>此数据库客户端的数字 Id 或数字 Id 范围,数字 Id 语法类似于 '5400',
+          数字 Id 范围语法类似于“5400-5408”,启用“scan.incremental.snapshot.enabled”时建议使用数字 Id 范围语法。
+          在 MySQL 集群中所有当前运行的数据库进程中,每个 Id 都必须是唯一的。此连接器加入 MySQL 集群
+          作为另一台服务器(具有此唯一 Id),因此它可以读取 Binlog。默认情况下,会生成一个介于 5400 和 6400 之间的随机数,
+          尽管我们建议设置一个明确的值。
+      </td>
+    </tr>
+    <tr>
+          <td>scan.incremental.snapshot.enabled</td>
+          <td>optional</td>
+          <td style={{wordWrap: 'break-word'}}>true</td>
+          <td>Boolean</td>
+          <td>增量快照是一种读取表快照的新机制。与旧的快照机制相比,
+              增量快照有很多优点,包括:
+                (1) 快照读取时 Source 可以并行,
+                (2) Source 可以在快照读取时在 Chunk 粒度上进行检查点,
+                (3) Source 在读快照前不需要获取全局读锁(FLUSH TABLES WITH READ LOCK)。
+              如果您希望源代码并行运行,每个并行阅读器都应该有一个唯一的服务器 ID,所以
+              'server-id' 必须是 '5400-6400' 这样的范围,并且范围必须大于并行度。
+              请参阅<a href="https://ververica.github.io/flink-cdc-connectors/release-2.2/content/connectors/mysql-cdc.html#incremental-snapshot-reading">增量快照阅读</a>部分了解更多详细信息。
+          </td>
+    </tr>
+    <tr>
+          <td>scan.incremental.snapshot.chunk.size</td>
+          <td>optional</td>
+          <td style={{wordWrap: 'break-word'}}>8096</td>
+          <td>Integer</td>
+          <td>表快照的块大小(行数),读取表的快照时,表的快照被分成多个块。</td>
+    </tr>
+    <tr>
+          <td>scan.snapshot.fetch.size</td>
+          <td>optional</td>
+          <td style={{wordWrap: 'break-word'}}>1024</td>
+          <td>Integer</td>
+          <td>读取表快照时每次轮询的最大获取大小。</td>
+    </tr>
+    <tr>
+      <td>scan.startup.mode</td>
+      <td>optional</td>
+      <td style={{wordWrap: 'break-word'}}>initial</td>
+      <td>String</td>
+      <td>MySQL CDC 消费者的可选启动模式,有效枚举为"initial"
+           和"latest-offset"。
+           请参阅<a href="https://ververica.github.io/flink-cdc-connectors/release-2.2/content/connectors/mysql-cdc.html#startup-reading-position">启动阅读位置</a>部分了解更多详细信息。</td>
+    </tr> 
+    <tr>
+      <td>server-time-zone</td>
+      <td>optional</td>
+      <td style={{wordWrap: 'break-word'}}>UTC</td>
+      <td>String</td>
+      <td>数据库服务器中的会话时区,例如"Asia/Shanghai"。
+          它控制 MYSQL 中的 TIMESTAMP 类型如何转换为 STRING。
+          查看更多<a href="https://debezium.io/documentation/reference/1.5/connectors/mysql.html#mysql-temporal-types">这里</a>。</td>
+    </tr>
+    <tr>
+      <td>debezium.min.row.
+      count.to.stream.result</td>
+      <td>optional</td>
+      <td style={{wordWrap: 'break-word'}}>1000</td>
+      <td>Integer</td>
+      <td>在快照操作期间,连接器将查询每个包含的表,以便为该表中的所有行生成读取事件。此参数确定 MySQL 连接是否会将表的所有结果拉入内存(速度很快但需要大量内存),或者是否将结果改为流式传输(可能较慢,但适用于非常大的表)。该值指定在连接器流式传输结果之前表必须包含的最小行数,默认为 1,000。将此参数设置为'0'以跳过所有表大小检查并始终在快照期间流式传输所有结果。</td>
+    </tr>
+    <tr>
+          <td>connect.timeout</td>
+          <td>optional</td>
+          <td style={{wordWrap: 'break-word'}}>30s</td>
+          <td>Duration</td>
+          <td>连接器在尝试连接到 MySQL 数据库服务器后在超时之前应等待的最长时间。</td>
+    </tr>    
+    <tr>
+          <td>connect.max-retries</td>
+          <td>optional</td>
+          <td style={{wordWrap: 'break-word'}}>3</td>
+          <td>Integer</td>
+          <td>连接器应重试以建立 MySQL 数据库服务器连接的最大重试次数。</td>
+    </tr>
+    <tr>
+          <td>connection.pool.size</td>
+          <td>optional</td>
+          <td style={{wordWrap: 'break-word'}}>20</td>
+          <td>Integer</td>
+          <td>连接池大小。</td>
+    </tr>
+    <tr>
+          <td>jdbc.properties.*</td>
+          <td>optional</td>
+          <td style={{wordWrap: 'break-word'}}>20</td>
+          <td>String</td>
+          <td>传递自定义 JDBC URL 属性的选项。用户可以传递自定义属性,例如 'jdbc.properties.useSSL' = 'false'。</td>
+    </tr>
+    <tr>
+          <td>heartbeat.interval</td>
+          <td>optional</td>
+          <td style={{wordWrap: 'break-word'}}>30s</td>
+          <td>Duration</td>
+          <td>发送心跳事件的时间间隔,用于跟踪最新可用的 Binlog 偏移量。</td>
+    </tr>
+    <tr>
+          <td>append-mode</td>
+          <td>optional</td>
+          <td style={{wordWrap: 'break-word'}}>false</td>
+          <td>Boolean</td>
+          <td>是否仅支持 Append,如果为 'true',MySQL Extract Node 会将所有 Upsert 流转换为 Append 流,以支持不支持 Upsert 流的下游场景。</td>
+    </tr>
+    <tr>
+          <td>migrate-all</td>
+          <td>optional</td>
+          <td style={{wordWrap: 'break-word'}}>false</td>
+          <td>Boolean</td>
+          <td>是否是全库迁移场景,如果为 'true',MySQL Extract Node 则将表的物理字段和其他元字段压缩成 'json' 
+              格式的特殊 'data' 元字段, 目前支持两种 data 格式, 如果需要 'canal json' 格式的数据,
+              则使用 'data_canal' 元数据字段,如果需要使用 'debezium json' 格式的数据则使用 'data_debezium' 元数据字段。</td>
+    </tr>
+    <tr>
+          <td>row-kinds-filtered</td>
+          <td>optional</td>
+          <td style={{wordWrap: 'break-word'}}>false</td>
+          <td>Boolean</td>
+          <td>需要保留的特定的操作类型,其中 +U 对应更新前的数据,-U 对应更新后的数据,+I 对应
+              插入的数据(存量数据为插入类型的数据),-D 代表删除的数据, 如需保留多个操作类型则使用 & 连接。
+              举例 +I&-D,connector 只会输出插入以及删除的数据,更新的数据则不会输出。</td>
+    </tr>
+    <tr>
+      <td>debezium.*</td>
+      <td>optional</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>将 Debezium 的属性传递给用于从 MySQL 服务器捕获数据更改的 Debezium Embedded Engine。
+          例如:<code>'debezium.snapshot.mode' = 'never'</code>。
+          详细了解 <a href="https://debezium.io/documentation/reference/1.5/connectors/mysql.html#mysql-connector-properties">Debezium 的 MySQL 连接器属性。</a></td> 
+    </tr>
+    <tr>
+      <td>inlong.metric.labels</td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>inlong metric 的标签值,该值的构成为groupId=[groupId]&streamId=[streamId]&nodeId=[nodeId]。</td> 
+    </tr>
+    </tbody>
+</table>
+</div>
+
+## 可用的元数据字段
+
+以下格式元数据可以作为表定义中的只读 (VIRTUAL) 列公开。
+
+<table class="colwidths-auto docutils">
+  <thead>
+     <tr>
+       <th class="text-left" style={{width: '15%'}}>字段名称</th>
+       <th class="text-left" style={{width: '30%'}}>数据类型</th>
+       <th class="text-left" style={{width: '55%'}}>描述</th>
+     </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td>meta.table_name</td>
+      <td>STRING NOT NULL</td>
+      <td>该行所属的表名。</td>
+    </tr>
+    <tr>
+      <td>meta.database_name</td>
+      <td>STRING NOT NULL</td>
+      <td>该行所属的数据库名称。</td>
+    </tr>
+    <tr>
+      <td>meta.op_ts</td>
+      <td>TIMESTAMP_LTZ(3) NOT NULL</td>
+      <td>它指示在数据库中进行更改的时间。 <br/>如果记录是从表的快照而不是binlog中读取的,则该值始终为0。</td>
+    </tr>
+    <tr>
+      <td>meta.op_type</td>
+      <td>STRING</td>
+      <td>数据库操作的类型,如 INSERT/DELETE 等。</td>
+    </tr>
+    <tr>
+      <td>meta.data_canal</td>
+      <td>STRING/BYTES</td>
+      <td>`canal-json` 格式化的行的数据只有在 `migrate-all` 选项为 'true' 时才存在。</td>
+    </tr>
+    <tr>
+      <td>meta.data_debezium</td>
+      <td>STRING/BYTES</td>
+      <td>`debezium-json` 格式化的行的数据只有在 `migrate-all` 选项为 'true' 时才存在。</td>
+    </tr>
+    <tr>
+      <td>meta.is_ddl</td>
+      <td>BOOLEAN</td>
+      <td>是否是 DDL 语句。</td>
+    </tr>
+    <tr>
+      <td>meta.ts</td>
+      <td>TIMESTAMP_LTZ(3) NOT NULL</td>
+      <td>接收和处理行的当前时间。</td>
+    </tr>
+    <tr>
+      <td>meta.sql_type</td>
+      <td>MAP</td>
+      <td>将 Sql_type 表字段映射到 Java 数据类型 Id。</td>
+    </tr>
+    <tr>
+      <td>meta.mysql_type</td>
+      <td>MAP</td>
+      <td>表的结构。</td>
+    </tr>
+    <tr>
+      <td>meta.pk_names</td>
+      <td>ARRAY</td>
+      <td>表的主键名称。</td>
+    </tr>
+    <tr>
+      <td>meta.batch_id</td>
+      <td>BIGINT</td>
+      <td>Binlog的批次id。</td>
+    </tr>
+    <tr>
+      <td>meta.update_before</td>
+      <td>ARRAY</td>
+      <td>该行更新前的数据。</td>
+    </tr>
+  </tbody>
+</table>
+
+扩展的 CREATE TABLE 示例演示了使用这些元数据字段的语法:
+
+```sql
+CREATE TABLE `mysql_extract_node` (
+      `id` INT,
+      `name` STRING,
+      `database_name` string METADATA FROM 'meta.database_name',
+      `table_name`    string METADATA FROM 'meta.table_name',
+      `op_ts`         timestamp(3) METADATA FROM 'meta.op_ts',
+      `op_type` string METADATA FROM 'meta.op_type',
+      `batch_id` bigint METADATA FROM 'meta.batch_id',
+      `is_ddl` boolean METADATA FROM 'meta.is_ddl',
+      `update_before` ARRAY<MAP<STRING, STRING>> METADATA FROM 'meta.update_before',
+      `mysql_type` MAP<STRING, STRING> METADATA FROM 'meta.mysql_type',
+      `pk_names` ARRAY<STRING> METADATA FROM 'meta.pk_names',
+      `data` STRING METADATA FROM 'meta.data_canal',
+      `sql_type` MAP<STRING, INT> METADATA FROM 'meta.sql_type',
+      `ingestion_ts` TIMESTAMP(3) METADATA FROM 'meta.ts',
+      PRIMARY KEY (`id`) NOT ENFORCED 
+) WITH (
+      'connector' = 'mysql-cdc-inlong', 
+      'hostname' = 'YourHostname',
+      'migrate-all' = 'true',
+      'port' = '3306',                
+      'username' = 'YourUsername',
+      'password' = 'YourPassword',
+      'database-name' = 'YourDatabase',
+      'table-name' = 'YourTable',
+      'row-kinds-filtered' = '+I'
+ );
+```
+
+## 数据类型映射
+
+<div class="wy-table-responsive">
+<table class="colwidths-auto docutils">
+    <thead>
+      <tr>
+        <th class="text-left">MySQL type</th>
+        <th class="text-left">Flink SQL type</th>
+        <th class="text-left">NOTE</th>
+      </tr>
+    </thead>
+    <tbody>
+    <tr>
+      <td>TINYINT</td>
+      <td>TINYINT</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>
+        SMALLINT<br/>
+        TINYINT UNSIGNED</td>
+      <td>SMALLINT</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>
+        INT<br/>
+        MEDIUMINT<br/>
+        SMALLINT UNSIGNED</td>
+      <td>INT</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>
+        BIGINT<br/>
+        INT UNSIGNED</td>
+      <td>BIGINT</td>
+      <td></td>
+    </tr>
+   <tr>
+      <td>BIGINT UNSIGNED</td>
+      <td>DECIMAL(20, 0)</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>
+        REAL<br/>
+        FLOAT<br/>
+        </td>
+      <td>FLOAT</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>
+        DOUBLE
+      </td>
+      <td>DOUBLE</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>
+        NUMERIC(p, s)<br/>
+        DECIMAL(p, s)<br/>
+        where p &lt;= 38<br/>
+      </td>
+      <td>DECIMAL(p, s)</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>
+        NUMERIC(p, s)<br/>
+        DECIMAL(p, s)<br/>
+        where 38 &lt; p &lt;= 65<br/>
+      </td>
+      <td>STRING</td>
+      <td>The precision for DECIMAL data type is up to 65 in MySQL, but the precision for DECIMAL is limited to 38 in Flink.
+  So if you define a decimal column whose precision is greater than 38, you should map it to STRING to avoid precision loss.</td>
+    </tr>
+    <tr>
+      <td>
+        BOOLEAN<br/>
+        TINYINT(1)<br/>
+        BIT(1)
+        </td>
+      <td>BOOLEAN</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>DATE</td>
+      <td>DATE</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>TIME [(p)]</td>
+      <td>TIME [(p)]</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>TIMESTAMP [(p)]<br/>
+        DATETIME [(p)]
+      </td>
+      <td>TIMESTAMP [(p)]
+      </td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>
+        CHAR(n)
+      </td>
+      <td>CHAR(n)</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>
+        VARCHAR(n)
+      </td>
+      <td>VARCHAR(n)</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>
+        BIT(n)
+      </td>
+      <td>BINARY(⌈n/8⌉)</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>
+        BINARY(n)
+      </td>
+      <td>BINARY(n)</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>
+        VARBINARY(N)
+      </td>
+      <td>VARBINARY(N)</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>
+        TINYTEXT<br/>
+        TEXT<br/>
+        MEDIUMTEXT<br/>
+        LONGTEXT<br/>
+      </td>
+      <td>STRING</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>
+        TINYBLOB<br/>
+        BLOB<br/>
+        MEDIUMBLOB<br/>
+        LONGBLOB<br/>
+      </td>
+      <td>BYTES</td>
+      <td>Currently, for BLOB data type in MySQL, only the blob whose length isn't greater than 2,147,483,647(2 ** 31 - 1) is supported. </td>
+    </tr>
+    <tr>
+      <td>
+        YEAR
+      </td>
+      <td>INT</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>
+        ENUM
+      </td>
+      <td>STRING</td>
+      <td></td>
+    </tr>
+    <tr>
+      <td>
+        JSON
+      </td>
+      <td>STRING</td>
+      <td>The JSON data type  will be converted into STRING with JSON format in Flink.</td>
+    </tr>
+    <tr>
+      <td>
+        SET
+      </td>
+      <td>ARRAY&lt;STRING&gt;</td>
+      <td>As the SET data type in MySQL is a string object that can have zero or more values, 
+          it should always be mapped to an array of string
+      </td>
+    </tr>
+    </tbody>
+</table>
+</div>
+
+
+## 特性
+
+### 多库多表同步
+
+Mysql Extract 节点支持整库、多表同步。开启该功能后,Mysql Extract 节点会将表的物理字段压缩成 'canal-json' 格式的特殊元字段 'data_canal',也可配置为 'debezium-json' 格式的元数据字段 'data_debezium'。
+
+配置参数:
+
+| 参数            | 是否必须 | 默认值 | 数据类型 | 描述                                                          |
+|---------------| ---| ---| ---|-------------------------------------------------------------|
+| migrate-all   |optional| false|String| 开启整库迁移模式,所有的物理字段通过 data_canal 字段获取                          | 
+| table-name    |optional| false|String| 需要读取的表的正则表达式,database 和 table 之间使用 "\." 分隔,多个正则表达式使用 "," 分隔 | 
+| database-name |optional| false|String| 需要读取的库的表达式,多个正则表达式使用 "," 分隔                                        | 
+
+CREATE TABLE 示例演示该功能语法:
+
+```sql
+CREATE TABLE `table_1`(
+`data` STRING METADATA FROM 'meta.data_canal' VIRTUAL)
+WITH (
+'inlong.metric.labels' = 'groupId=1&streamId=1&nodeId=1',
+'migrate-all' = 'true',
+'connector' = 'mysql-cdc-inlong',
+'hostname' = 'localhost',
+'database-name' = 'test,test01',
+'username' = 'root',
+'password' = 'inlong',
+'table-name' = 'test01\.a{2}[0-9]$, test\.[\s\S]*'
+)
+```
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/oracle-cdc.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/oracle-cdc.md
new file mode 100644
index 0000000000..e5dd8f0fae
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/oracle-cdc.md
@@ -0,0 +1,406 @@
+---
+title: Oracle-CDC
+sidebar_position: 7
+---
+
+import {siteVariables} from '../../version';
+
+## 概述
+
+Oracle Extract 节点允许从 Oracle 数据库中读取快照数据和增量数据。本文档介绍如何设置 Oracle Extract 节点以对 Oracle 数据库运行 SQL 查询。
+
+## 支持的版本
+
+| Extract 节点                  | 版本                                                      | Driver                  |
+|-----------------------------|---------------------------------------------------------|-------------------------|
+| [Oracle-CDC](oracle-cdc.md) | [Oracle](https://www.oracle.com/index.html): 11, 12, 19 | Oracle Driver: 19.3.0.0 |
+
+## 依赖
+
+为了设置 Oracle Extract 节点,下表提供了使用构建自动化工具(例如 Maven 或 SBT)和带有 Sort Connectors JAR 包的 SQL 客户端的两个项目的依赖关系信息。
+
+### Maven 依赖
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-oracle-cdc</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+连接 Oracle 数据库还需要 Oracle 驱动程序依赖项。请下载[ojdbc8-19.3.0.0.jar](https://repo1.maven.org/maven2/com/oracle/database/jdbc/ojdbc8/19.3.0.0/ojdbc8-19.3.0.0.jar) 并将其放入 `FLINK_HOME/lib/`。
+
+## 设置 Oracle
+
+你必须为 Oracle 数据库启用日志归档,并定义一个对 Debezium Oracle 连接器监控的所有数据库具有适当权限的 Oracle 用户。
+
+### 对于非 CDB 数据库
+
+- 启用日志归档
+
+  (1.1). 以 DBA 身份连接到数据库
+    ```sql
+    ORACLE_SID=SID
+    export ORACLE_SID
+    sqlplus /nolog
+      CONNECT sys/password AS SYSDBA
+    ```
+
+  (1.2). 启用日志归档
+    ```sql
+    alter system set db_recovery_file_dest_size = 10G;
+    alter system set db_recovery_file_dest = '/opt/oracle/oradata/recovery_area' scope=spfile;
+    shutdown immediate;
+    startup mount;
+    alter database archivelog;
+    alter database open;
+   ```
+  **Note:**
+
+    - Enable log archiving requires database restart, pay attention when try to do it
+    - The archived logs will occupy a large amount of disk space, so consider clean the expired logs the periodically
+
+  (1.3). 检查是否启用了日志归档
+    ```sql
+    -- Should now "Database log mode: Archive Mode"
+    archive log list;
+    ```
+  **注意:**
+
+  必须为捕获的表或数据库启用补充日志记录,以便数据更改能够捕获已更改数据库行的<em>之前</em>状态。
+  下面说明了如何在表/数据库级别进行配置。
+   ```sql
+   -- 为特定表启用补充日志记录:
+   ALTER TABLE inventory.customers ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
+   ```
+   ```sql
+   -- 为数据库启用补充日志记录:
+   ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
+   ```
+
+- 创建具有权限的 Oracle 用户
+
+  (2.1). 创建表空间
+   ```sql
+   sqlplus sys/password@host:port/SID AS SYSDBA;
+     CREATE TABLESPACE logminer_tbs DATAFILE '/opt/oracle/oradata/SID/logminer_tbs.dbf' SIZE 25M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
+     exit;
+   ```
+
+  (2.2). 创建用户并授予权限
+   ```sql
+   sqlplus sys/password@host:port/SID AS SYSDBA;
+     CREATE USER flinkuser IDENTIFIED BY flinkpw DEFAULT TABLESPACE LOGMINER_TBS QUOTA UNLIMITED ON LOGMINER_TBS;
+     GRANT CREATE SESSION TO flinkuser;
+     GRANT SET CONTAINER TO flinkuser;
+     GRANT SELECT ON V_$DATABASE to flinkuser;
+     GRANT FLASHBACK ANY TABLE TO flinkuser;
+     GRANT SELECT ANY TABLE TO flinkuser;
+     GRANT SELECT_CATALOG_ROLE TO flinkuser;
+     GRANT EXECUTE_CATALOG_ROLE TO flinkuser;
+     GRANT SELECT ANY TRANSACTION TO flinkuser;
+     GRANT LOGMINING TO flinkuser;
+
+     GRANT CREATE TABLE TO flinkuser;
+     GRANT LOCK ANY TABLE TO flinkuser;
+     GRANT ALTER ANY TABLE TO flinkuser;
+     GRANT CREATE SEQUENCE TO flinkuser;
+
+     GRANT EXECUTE ON DBMS_LOGMNR TO flinkuser;
+     GRANT EXECUTE ON DBMS_LOGMNR_D TO flinkuser;
+
+     GRANT SELECT ON V_$LOG TO flinkuser;
+     GRANT SELECT ON V_$LOG_HISTORY TO flinkuser;
+     GRANT SELECT ON V_$LOGMNR_LOGS TO flinkuser;
+     GRANT SELECT ON V_$LOGMNR_CONTENTS TO flinkuser;
+     GRANT SELECT ON V_$LOGMNR_PARAMETERS TO flinkuser;
+     GRANT SELECT ON V_$LOGFILE TO flinkuser;
+     GRANT SELECT ON V_$ARCHIVED_LOG TO flinkuser;
+     GRANT SELECT ON V_$ARCHIVE_DEST_STATUS TO flinkuser;
+     exit;
+   ```
+
+### 对于 CDB 数据库
+
+总的来说,配置 CDB 数据库的步骤与非 CDB 数据库非常相似,但命令可能会有所不同。
+
+- 启用日志归档
+   ```sql
+   ORACLE_SID=ORCLCDB
+   export ORACLE_SID
+   sqlplus /nolog
+     CONNECT sys/password AS SYSDBA
+     alter system set db_recovery_file_dest_size = 10G;
+     -- should exist
+     alter system set db_recovery_file_dest = '/opt/oracle/oradata/recovery_area' scope=spfile;
+     shutdown immediate
+     startup mount
+     alter database archivelog;
+     alter database open;
+     -- Should show "Database log mode: Archive Mode"
+     archive log list
+     exit;
+   ```
+  **注意:**
+  您还可以使用以下命令启用补充日志记录:
+   ```sql
+   -- Enable supplemental logging for a specific table:
+   ALTER TABLE inventory.customers ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
+   -- Enable supplemental logging for database
+   ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
+   ```
+
+- 创建具有权限的 Oracle 用户
+   ```sql
+   sqlplus sys/password@//localhost:1521/ORCLCDB as sysdba
+     CREATE TABLESPACE logminer_tbs DATAFILE '/opt/oracle/oradata/ORCLCDB/logminer_tbs.dbf' SIZE 25M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
+     exit
+   ```
+   ```sql
+   sqlplus sys/password@//localhost:1521/ORCLPDB1 as sysdba
+     CREATE TABLESPACE logminer_tbs DATAFILE '/opt/oracle/oradata/ORCLCDB/ORCLPDB1/logminer_tbs.dbf' SIZE 25M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
+     exit
+   ```
+   ```sql
+   sqlplus sys/password@//localhost:1521/ORCLCDB as sysdba
+     CREATE USER flinkuser IDENTIFIED BY flinkpw DEFAULT TABLESPACE logminer_tbs QUOTA UNLIMITED ON logminer_tbs CONTAINER=ALL;
+     GRANT CREATE SESSION TO flinkuser CONTAINER=ALL;
+     GRANT SET CONTAINER TO flinkuser CONTAINER=ALL;
+     GRANT SELECT ON V_$DATABASE to flinkuser CONTAINER=ALL;
+     GRANT FLASHBACK ANY TABLE TO flinkuser CONTAINER=ALL;
+     GRANT SELECT ANY TABLE TO flinkuser CONTAINER=ALL;
+     GRANT SELECT_CATALOG_ROLE TO flinkuser CONTAINER=ALL;
+     GRANT EXECUTE_CATALOG_ROLE TO flinkuser CONTAINER=ALL;
+     GRANT SELECT ANY TRANSACTION TO flinkuser CONTAINER=ALL;
+     GRANT LOGMINING TO flinkuser CONTAINER=ALL;
+     GRANT CREATE TABLE TO flinkuser CONTAINER=ALL;
+     -- 如果设置 scan.increative.snapshot.enabled=true (默认值),则不需要执行这条语句
+     GRANT LOCK ANY TABLE TO flinkuser CONTAINER=ALL;
+     GRANT CREATE SEQUENCE TO flinkuser CONTAINER=ALL;
+
+     GRANT EXECUTE ON DBMS_LOGMNR TO flinkuser CONTAINER=ALL;
+     GRANT EXECUTE ON DBMS_LOGMNR_D TO flinkuser CONTAINER=ALL;
+
+     GRANT SELECT ON V_$LOG TO flinkuser CONTAINER=ALL;
+     GRANT SELECT ON V_$LOG_HISTORY TO flinkuser CONTAINER=ALL;
+     GRANT SELECT ON V_$LOGMNR_LOGS TO flinkuser CONTAINER=ALL;
+     GRANT SELECT ON V_$LOGMNR_CONTENTS TO flinkuser CONTAINER=ALL;
+     GRANT SELECT ON V_$LOGMNR_PARAMETERS TO flinkuser CONTAINER=ALL;
+     GRANT SELECT ON V_$LOGFILE TO flinkuser CONTAINER=ALL;
+     GRANT SELECT ON V_$ARCHIVED_LOG TO flinkuser CONTAINER=ALL;
+     GRANT SELECT ON V_$ARCHIVE_DEST_STATUS TO flinkuser CONTAINER=ALL;
+     exit
+   ```
+
+查看更多关于 [设置 Oracle](https://debezium.io/documentation/reference/1.5/connectors/oracle.html#setting-up-oracle)
+
+## 如何创建 Oracle Extract 节点
+
+### SQL API 用法
+
+Oracle Extract 节点可以定义如下:
+
+```sql
+-- 创建 an Oracle Extract 节点 'products' in Flink SQL
+Flink SQL> CREATE TABLE products (
+     ID INT NOT NULL,
+     NAME STRING,
+     DESCRIPTION STRING,
+     WEIGHT DECIMAL(10, 3),
+     PRIMARY KEY(id) NOT ENFORCED
+     ) WITH (
+     'connector' = 'oracle-cdc-inlong',
+     'hostname' = 'localhost',
+     'port' = '1521',
+     'username' = 'flinkuser',
+     'password' = 'flinkpw',
+     'database-name' = 'XE',
+     'schema-name' = 'inlong',
+     'table-name' = 'user');
+     
+Flink SQL> SELECT * FROM products;
+```
+**注意:**
+
+当使用 CDB + PDB 模型时,您需要在 Flink DDL 中添加一个额外的选项 `'debezium.database.pdb.name' = 'xxx'` 来指定要连接的 PDB 的名称。
+
+### InLong Dashboard 用法
+
+TODO: 将在未来支持此功能。
+
+### InLong Manager Client 用法
+
+TODO: 将在未来支持此功能。
+
+## Oracle Extact 节点参数
+
+| **选项**                  | **是否必须** | **默认**   | **类型** | **描述**                                                     |
+| ------------------------- | ------------ | ---------- | -------- | ------------------------------------------------------------ |
+|      connector|      必选|      (none)|      String|      指定要使用的连接器,这里应该是 <code>'oracle-cdc-inlong'</code>。|
+|      hostname|      必选|      (none)|      String|      Oracle 数据库服务器的 IP 地址或主机名。|
+|      username|      必选|      (none)|      String|      连接到 Oracle 数据库服务器时要使用的 Oracle 数据库的名称。|
+|      password|      必选|      (none)|      String|      连接到 Oracle 数据库服务器时使用的密码。|
+|      database-name|      必选|      (none)|      String|      要监视的 Oracle 服务器的数据库名称。|
+|      schema-name|      必选|      (none)|      String|      要监视的 Oracle 数据库的 Schema 名称。|
+|      table-name|      必选|      (none)|      String|      要监视的 Oracle 数据库的表名。格式为<i>&lt;schema_name&gt;.&lt;table_name&gt;</i>|
+|      port|      可选|      1521|      Integer|      Oracle 数据库服务器的整数端口号。|
+|      scan.startup.mode|      可选|      initial|      String|Oracle CDC 消费者的可选启动模式,有效枚举为"initial"和"latest-offset"。 请参阅<a href="#startup-reading-position">启动阅读位置</a>部分了解更多详细信息。|
+|      debezium.*|      可选|      (none)|      String|      将 Debezium 的属性整合到用于从 Oracle 服务器捕获数据更改的 Debezium Embedded Engine。 例如:<code>'debezium.snapshot.mode' = 'never'</code>。 详细了解 <a href="https://debezium.io/documentation/reference/1.5/connectors/oracle.html#oracle-connector-properties">Debezium 的 Oracle 连接器属性</a>| 
+|       inlong.metric.labels|       可选|       (none)|       String|       inlong metric 的标签值,该值的构成为groupId=[groupId]&streamId=[streamId]&nodeId=[nodeId]。| 
+|       source.multiple.enable|       可选|       false|       Boolean|       是否开启多模式、表同步功能,如果为 'true',Oracle Extract Node 则将表的物理字段压缩成 'canal-json' 格式的特殊元字段 'data_canal'。| 
+|       scan.incremental.snapshot.enabled|       可选|       true|       Boolean|       增量快照是一种读取表快照的新机制。与旧的快照机制相比,增量快照具有许多优点,包括:(1)在快照读取期间 Source 可以是并行的,(2)Source 可以在快照读取过程中执行 Chunk 粒度中的检查点,(3)Source 不需要在快照读取之前获取 ROW SHARE MODE 锁。| 
+|       scan.incremental.snapshot.chunk.size|       可选|       8096|       Integer|       表快照的块大小(行数),读取表的快照时,表的快照被分成多个块。| 
+|       scan.snapshot.fetch.size|       可选|       1024|       Integer|       读取表快照时每次轮询的最大获取大小。| 
+|       connect.max-retries|       可选|       3|       Integer|       连接器应重试以建立 Oracle 数据库服务器连接的最大重试次数。| 
+|       chunk-meta.group.size|       可选|       1000|       Integer|       Chunk meta 组大小,如果 meta 大小超过组大小,则 meta 将被分成多个组。| 
+|       connect.timeout|       可选|       30s|       Duration|       连接器在尝试连接到 Oracle 数据库服务器后在超时之前应等待的最长时间。| 
+|       chunk-key.even-distribution.factor.lower-bound|       可选|       0.05d|       Double|       Chunk Key 分布因子的下限。分布系数用于确定表格是否均匀分布。当数据分布均匀时,表块将均匀地使用计算优化,当数据分布不均匀时,将进行拆分查询。分布因子可以通过(MAX(id)-MIN(id)+1)/rowCount计算。| 
+|       chunk-key.even-distribution.factor.upper-bound|       可选|       1000.0d|       Double|       Chunk Key 分布因子的上限。分布系数用于确定表格是否均匀分布。当数据分布均匀时,表块将均匀地使用计算优化,当数据分布不均匀时,将进行拆分查询。分布因子可以通过(MAX(id)-MIN(id)+1)/rowCount计算。| 
+|       connection.pool.size|       可选|       20|       Integer|       连接池大小。| 
+
+## 局限性
+
+### 在扫描表的快照期间无法执行 `checkpoint`
+
+在扫描数据库表的快照时,由于没有可恢复的位置,我们无法执行检查点。为了不执行检查点,Oracle CDC 源将保持检查点等待超时。超时检查点将被识别为失败的检查点,默认情况下,这将触发 Flink 作业的故障转移。所以如果数据库表很大,建议添加以下 Flink 配置,避免因为超时检查点而导致故障转移:
+```
+execution.checkpointing.interval: 10min
+execution.checkpointing.tolerable-failed-checkpoints: 100
+restart-strategy: fixed-delay
+restart-strategy.fixed-delay.attempts: 2147483647
+```
+
+## 可用的元数据字段
+
+以下格式元数据可以作为表定义中的只读 (VIRTUAL) 列公开。
+
+
+| **字段名称**                  | **数据类型** | **描述**   | 
+| ------------------------- | ------------ | ---------- |
+|      table_name|      STRING NOT NULL|      该行所属的表名。|
+|      schema_name|      STRING NOT NULL|      该行所属的模式名称。|
+|      database_name|      STRING NOT NULL|      该行所属的数据库名称。|
+|      op_ts|      TIMESTAMP_LTZ(3) NOT NULL|      它指示在数据库中进行更改的时间。<br/>如果记录从表的快照而不是change流中读取,则该值始终为0。|
+|      meta.table_name|      STRING NOT NULL|      该行所属的表名。|
+|      meta.schema_name|      STRING NOT NULL|      该行所属的模式名称。|
+|      meta.database_name|      STRING NOT NULL|      该行所属的数据库名称。|
+|      meta.op_ts|      TIMESTAMP_LTZ(3) NOT NULL|      它指示在数据库中进行更改的时间。<br/>如果记录从表的快照而不是change流中读取,则该值始终为0。|
+|      meta.op_type|      STRING|      数据库操作的类型,如 INSERT/DELETE 等。|
+|      meta.data_canal|      STRING/BYTES|      `canal-json` 格式化的行的数据只有在 `source.multiple.enable` 选项为 'true' 时才存在。|
+|      meta.is_ddl|      BOOLEAN|      是否是 DDL 语句。|
+|      meta.ts|      TIMESTAMP_LTZ(3) NOT NULL|      接收和处理行的当前时间。|
+|      meta.sql_type|      MAP|      将 Sql_type 表字段映射到 Java 数据类型 Id。|
+|      meta.oracle_type|      MAP|      表的结构。|
+|      meta.pk_names|      ARRAY|      表的主键名称。|
+
+扩展的 CREATE TABLE 示例演示了公开这些元数据字段的语法:
+
+```sql
+CREATE TABLE products (
+    db_name STRING METADATA FROM 'database_name' VIRTUAL,
+    schema_name STRING METADATA FROM 'schema_name' VIRTUAL, 
+    table_name STRING METADATA  FROM 'table_name' VIRTUAL,
+    op_ts TIMESTAMP_LTZ(3) METADATA FROM 'op_ts' VIRTUAL,
+    meta_db_name STRING METADATA FROM 'meta.database_name' VIRTUAL,
+    meta_schema_name STRING METADATA FROM 'meta.schema_name' VIRTUAL, 
+    meta_table_name STRING METADATA  FROM 'meta.table_name' VIRTUAL,
+    meat_op_ts TIMESTAMP_LTZ(3) METADATA FROM 'meta.op_ts' VIRTUAL,
+    meta_op_type STRING METADATA  FROM 'meta.op_type' VIRTUAL,
+    meta_data_canal STRING METADATA  FROM 'meta.data_canal' VIRTUAL,
+    meta_is_ddl BOOLEAN METADATA FROM 'meta.is_ddl' VIRTUAL,
+    meta_ts TIMESTAMP_LTZ(3) METADATA FROM 'meta.ts' VIRTUAL,
+    meta_sql_type MAP<STRING, INT> METADATA FROM 'meta.sql_type' VIRTUAL,
+    meat_oracle_type MAP<STRING, STRING> METADATA FROM 'meta.oracle_type' VIRTUAL,
+    meta_pk_names ARRAY<STRING> METADATA FROM 'meta.pk_names' VIRTUAL
+    ID INT NOT NULL,
+    NAME STRING,
+    DESCRIPTION STRING,
+    WEIGHT DECIMAL(10, 3),
+    PRIMARY KEY(id) NOT ENFORCED
+) WITH (
+    'connector' = 'oracle-cdc-inlong',
+    'hostname' = 'localhost',
+    'port' = '1521',
+    'username' = 'flinkuser',
+    'password' = 'flinkpw',
+    'database-name' = 'XE',
+    'schema-name' = 'inventory',
+    'table-name' = 'inventory.products'
+);
+```
+
+**注意**:Oracle 方言是区分大小写的,如果字段名没有被引用,它会将字段名转换为大写,Flink SQL 不会转换字段名。因此对于 oracle 数据库中的物理列,我们在 Flink SQL 中定义 `oracle-cdc` 表时应该使用其在 Oracle 中转换后的字段名称。
+
+## 特征
+
+### Exactly-Once 处理
+
+Oracle Extract 节点是一个 Flink Source 连接器,它将首先读取数据库快照,然后通过**exactly-once 处理**继续读取更改事件,即使发生故障。请阅读 [连接器的工作原理](https://debezium.io/documentation/reference/1.5/connectors/oracle.html#how-the-oracle-connector-works)。
+
+### 启动读取位置
+
+<a name="startup-reading-position"></a>
+
+配置选项 `scan.startup.mode` 指定 Oracle Extract 节点消费者的启动模式。有效的枚举是:
+
+- `initial` (默认): 首次启动时对被监控的数据库表进行初始快照,并继续读取最新的 Binlog。
+- `latest-offset`: 永远不要在第一次启动时对受监控的数据库表执行快照,只需从自连接器启动以来的更改。
+
+_注意: `scan.startup.mode` 选项的机制依赖于 Debezium 的`snapshot.mode` 配置。所以请不要一起使用它们。如果您在 DDL 表中同时指定了 `scan.startup.mode` 和 `debezium.snapshot.mode` 选项,可能会导致 `scan.startup.mode` 不起作用。_
+
+### 单线程读取
+
+Oracle Extract 节点不能并行读取,因为只有一个任务可以接收更改事件。
+
+### 整库、多模式、表同步
+
+Oracle Extract 节点支持整库、多模式、多表同步。开启该功能后,Oracel Extract 节点会将表的物理字段压缩成 'canal-json' 格式的特殊元字段 'data_canal'。
+
+配置参数:
+
+| **参数** | **是否必须** | **默认值** | **数据类型** | **描述** |
+| ---| ---| ---| ---| ---|
+|source.multiple.enable|optional| false|String| 指定`'source.multiple.enable' = 'true'`参数开启整库、多模式、多表同步功能 | 
+|schema-name|required|(none)|String| 要监视的 Oracle 数据库的 Schema 名称。如果要捕获多个模式,可以使用逗号分割它们。例如:`'schema-name' = 'SCHEMA1,SCHEMA2'` |
+|table-name| required | (none) |String| 要监视的 Oracle 数据库的表名。如果要捕获多个表,可以使用逗号分割它们。例如:`'table-name' = 'SCHEMA1.TB.*, SCHEMA2.TB1'`|
+
+CREATE TABLE 示例演示该功能语法:
+
+```sql
+CREATE TABLE node(
+    data STRING METADATA FROM 'meta.data_canal' VIRTUAL)
+    WITH (
+    'connector' = 'oracle-cdc-inlong',
+    'hostname' = 'localhost',
+    'port' = '1521',
+    'username' = 'flinkuser',
+    'password' = 'flinkpw',
+    'database-name' = 'XE',
+    'schema-name' = 'inventory',
+    'table-name' = 'inventory..*',
+    'source.multiple.enable' = 'true'
+)
+```
+
+## 数据类型映射
+
+| **[Oracle type](https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/Data-Types.html)** | **Flink SQL type**| 
+| ---| ---|
+|      NUMBER(p, s &lt;= 0), p - s &lt; 3      |      TINYINT|
+|      NUMBER(p, s &lt;= 0), p - s &lt; 5      |      SMALLINT|
+|      NUMBER(p, s &lt;= 0), p - s &lt; 10      |      INT|
+|      NUMBER(p, s &lt;= 0), p - s &lt; 19      |      BIGINT|
+|      NUMBER(p, s &lt;= 0), 19 &lt;= p - s &lt;= 38 <br/>     |     DECIMAL(p - s, 0)|
+|      NUMBER(p, s &gt; 0)      |      DECIMAL(p, s)|
+|      NUMBER(p, s &lt;= 0), p - s &gt; 38      |      STRING|
+|        FLOAT<br/>        BINARY_FLOAT      |      FLOAT|
+|        DOUBLE PRECISION<br/>        BINARY_DOUBLE      |      DOUBLE|
+|      NUMBER(1)|      BOOLEAN|    
+|        DATE<br/>        TIMESTAMP [(p)]      |      TIMESTAMP [(p)] [WITHOUT TIMEZONE]|
+|      TIMESTAMP [(p)] WITH TIME ZONE|      TIMESTAMP [(p)] WITH TIME ZONE|
+|      TIMESTAMP [(p)] WITH LOCAL TIME ZONE|      TIMESTAMP_LTZ [(p)]|    
+|        CHAR(n)<br/>        NCHAR(n)<br/>        NVARCHAR2(n)<br/>        VARCHAR(n)<br/>        VARCHAR2(n)<br/>        CLOB<br/>        NCLOB<br/>        XMLType      |      STRING|
+|      BLOB<br/>      ROWID      |      BYTES|
+|      INTERVAL DAY TO SECOND<br/>      INTERVAL YEAR TO MONTH      |      BIGINT|
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/overview.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/overview.md
new file mode 100644
index 0000000000..e100700104
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/overview.md
@@ -0,0 +1,55 @@
+---
+title: 总览
+sidebar_position: 1
+---
+
+## 简介
+
+Extract 节点列表是一组基于 <a href="https://flink.apache.org/">Apache Flink<sup>®</sup></a> 的 Source Connectors 用于从不同的源系统抽取数据。
+
+## 支持的 Extract 节点列表
+
+| Extract 节点                          | 版本                                                                                                                                                                                                                                                                                                                                                                                                    | 驱动包                     |
+|-------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|
+| [Kafka](kafka.md)                   | [Kafka](https://kafka.apache.org/): 0.10+                                                                                                                                                                                                                                                                                                                                                             | None                    |
+| [Pulsar](pulsar.md)                 | [Pulsar](https://pulsar.apache.org/): 2.8.x+                                                                                                                                                                                                                                                                                                                                                          | None                    |
+| [MongoDB-CDC](mongodb-cdc.md)       | [MongoDB](https://www.mongodb.com): 3.6, 4.x, 5.0                                                                                                                                                                                                                                                                                                                                                     | None                    |
+| [MySQL-CDC](mysql-cdc.md)           | [MySQL](https://dev.mysql.com/doc): 5.6, 5.7, 8.0.x <br/>[RDS MySQL](https://www.aliyun.com/product/rds/mysql): 5.6, 5.7, 8.0.x <br/> [PolarDB MySQL](https://www.aliyun.com/product/polardb): 5.6, 5.7, 8.0.x <br/> [Aurora MySQL](https://aws.amazon.com/cn/rds/aurora): 5.6, 5.7, 8.0.x <br/> [MariaDB](https://mariadb.org): 10.x <br/> [PolarDB X](https://github.com/ApsaraDB/galaxysql): 2.0.1 | JDBC Driver: 8.0.21     |
+| [Oracle-CDC](oracle-cdc.md)         | [Oracle](https://www.oracle.com/index.html): 11, 12, 19                                                                                                                                                                                                                                                                                                                                               | Oracle Driver: 19.3.0.0 |
+| [PostgreSQL-CDC](postgresql-cdc.md) | [PostgreSQL](https://www.postgresql.org): 9.6, 10, 11, 12                                                                                                                                                                                                                                                                                                                                             | JDBC Driver: 42.2.12     |
+| [SQLServer-CDC](sqlserver-cdc.md)   | [SQLServer](https://www.microsoft.com/sql-server): 2012, 2014, 2016, 2017, 2019                                                                                                                                                                                                                                                                                                                       | None                    |
+
+## 支持的 Flink 版本列表
+
+下表展示了 InLong<sup>®</sup> Extract 节点 和 Flink<sup>®</sup> 版本之间的对应关系。
+
+|   InLong<sup>®</sup> Extract 节点版本   |            Flink<sup>®</sup> 版本             |
+|:-----------------------------------:|:-------------------------------------------:|
+| <font color="DarkCyan">1.2.0</font> | <font color="MediumVioletRed">1.13.5</font> |
+
+## SQL API 用法
+- [部署 InLong Sort](modules/sort/quick_start.md)
+- 创建数据节点
+
+下面例子展示了如何在 [Flink SQL Client](https://ci.apache.org/projects/flink/flink-docs-release-1.13/dev/table/sqlClient.html) 创建 MySQL Extract 节点,并从中查询数据:
+
+```sql
+-- 创建一个 MySQL Extract 节点
+CREATE TABLE mysql_extract_node (
+ id INT NOT NULL,
+ name STRING,
+ age INT,
+ weight DECIMAL(10,3),
+ PRIMARY KEY(id) NOT ENFORCED
+) WITH (
+ 'connector' = 'mysql-cdc-inlong',
+ 'hostname' = 'YourHostname',
+ 'port' = '3306',
+ 'username' = 'YourUsername',
+ 'password' = 'YourPassword',
+ 'database-name' = 'YourDatabaseName',
+ 'table-name' = 'YourTableName'
+);
+
+SELECT id, name, age, weight FROM mysql_extract_node;
+```
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/postgresql-cdc.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/postgresql-cdc.md
new file mode 100644
index 0000000000..3230322429
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/postgresql-cdc.md
@@ -0,0 +1,204 @@
+---
+title: PostgreSQL-CDC
+sidebar_position: 8
+---
+
+import {siteVariables} from '../../version';
+
+## 概述
+
+`PostgreSQL Extract` 节点允许从 PostgreSQL 数据库中读取快照数据和增量数据。 本文档描述了如何设置 PostgreSQL Extract 节点以对 PostgreSQL 数据库运行 SQL 查询。
+
+## 支持版本
+
+| Extract 节点                | 版本 | 驱动                  |
+|-----------------------------|---------|-------------------------|
+| [PostgreSQL-CDC](./postgresql-cdc.md) | [PostgreSQL](https://www.postgresql.org): 9.6, 10, 11, 12 | JDBC Driver: 42.2.12 |
+
+## 依赖
+
+为了设置 PostgreSQL Extract 节点, 下面提供了使用构建自动化工具(例如 Maven 或 SBT)和带有 Sort Connector JAR 包的 SQL 客户端的两个项目的依赖关系信息。
+
+### Maven 依赖
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-postgres-cdc</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+## 设置 PostgreSQL 服务
+
+更改数据捕获 (CDC) 允许您跟踪 PostgreSQL 数据库中的更改并将其传播到基于其预写日志 (WAL) 的下游消费者。
+您需要确保将上游数据库配置为支持逻辑复制。 在使用 PostgreSQL 连接器监控 PostgreSQL 服务器上提交的更改之前,
+决定您打算使用哪个逻辑解码插件。 如果您不打算使用本机 `pgoutput` 逻辑复制流支持,则必须安装逻辑解码
+插件到 PostgreSQL 服务器。
+
+### pgoutput
+
+pgoutput 是 PostgreSQL 10+ 中的标准逻辑解码输出插件。 它由 PostgreSQL 社区维护,并由 PostgreSQL 本身用于逻辑复制。
+此插件始终存在,因此无需安装其他库。
+
+1. 检查`wal_level`配置设置:
+
+```sql
+SHOW wal_level;
+```
+默认值为副本。 对于 CDC,您需要在数据库配置文件 (postgresql.conf) 中将其设置为`logical`。 请记住,更改 wal_level 需要重新启动 Postgres 实例,并且可能会影响数据库性能。
+
+2. 请在 postgresql.conf 文件中指定以下内容:
+
+```properties
+wal_level = logical 
+```
+
+### decoderbufs
+
+decoderbufs 基于 Protobuf 并由 Debezium 社区维护, [安装](https://github.com/debezium/postgres-decoderbufs) 它。
+
+1. 要在启动时加载插件,请将以下内容添加到 postgresql.conf 文件中:
+
+```properties
+shared_preload_libraries = 'decoderbufs'
+```
+2. 请在 postgresql.conf 文件中指定以下内容:
+
+```properties
+wal_level = logical 
+```
+
+### replica identity
+
+`REPLICA IDENTITY`是PostgreSQL表级别的一个设置参数,它决定了逻辑解码插件在捕获更新和删除事件时获取足够的信息。可以从[这里](https://debezium.io/documentation/reference/stable/connectors/postgresql.html#postgresql-replica-identity)查看更多信息。
+
+请确保需要同步的表的`replica identity`的级别为`FULL`。您可以通过以下SQL代码查看并修改相应参数。
+
+```sql
+-- 查看 replica identity
+SELECT CASE relreplident
+  WHEN 'd' THEN 'default'
+  WHEN 'n' THEN 'nothing'
+  WHEN 'f' THEN 'full'
+  WHEN 'i' THEN 'index'
+  END AS replica_identity
+FROM pg_class
+WHERE oid = 'mytablename'::regclass;
+
+-- 修改 replica identity
+ALTER TABLE mytablename REPLICA IDENTITY FULL;
+```
+
+## 如何创建 PostgreSQL Extract 节点
+
+### SQL API 用法
+
+```sql
+CREATE TABLE `postgresTable`(
+  `name` STRING,
+  `age` INT
+) WITH (
+  'connector' = 'postgres-cdc-inlong',
+  'hostname' = 'localhost',
+  'username' = 'postgres',
+  'password' = 'inlong',
+  'database-name' = 'postgres',
+  'schema-name' = 'public',
+  'port' = '5432',
+  'table-name' = 'user',
+  'decoding.plugin.name' = 'pgoutput',
+  'slot.name' = 'feaafacbaddadc'
+)
+```
+
+### InLong Dashboard 用法
+
+TODO: 将在未来支持此功能。
+
+### Usage for InLong Manager Client
+
+TODO: 将在未来支持此功能。
+
+## PostgreSQL Extract 节点参数
+
+| 参数 | 是否必选 | 默认值 | 数据类型 | 描述 |
+|---------|----------|---------|------|------------|
+| connector | 必选 | (none) | String | 指定使用的连接器,这是设置 `postgres-cdc-inlong`.|
+| hostname | 必选 | (none) | String | PostgreSQL 数据库的 IP 地址或者主机名 |
+| username | 必选 | (none) | String | 连接到 PostgreSQL 数据库服务器时要使用的 PostgreSQL 数据库的名称。 |
+| password | 必选 | (none) | String |  |
+| database-name | 必选 | (none) | String | 连接到 PostgreSQL 数据库服务器时使用的密码。 |
+| schema-name | 必选 | (none) | String | 要监控的 PostgreSQL 数据库的模式名称。|
+| table-name | 必选 | (none) | String | 要监控的 PostgreSQL 数据库的表名。 |
+| port | 可选 | 5432 | Integer | PostgreSQL 数据库服务器的整数端口号。 |
+| decoding.plugin.name | 可选 | decoderbufs | String | 服务器上安装的 Postgres 逻辑解码插件的名称。 支持的值是 decoderbufs、wal2json、wal2json_rds、wal2json_streaming、wal2json_rds_streaming 和 pgoutput。 |
+| slot.name | 可选 | flink | String | PostgreSQL 逻辑解码槽的名称,它是为从特定数据库/模式的特定插件流式传输更改而创建的。 服务器使用此插槽将事件流式传输到您正在配置的连接器。 插槽名称必须符合 PostgreSQL 复制插槽命名规则,其中规定:“每个复制插槽都有一个名称,可以包含小写字母、数字和下划线字符。” |
+| debezium.* | 可选 | (none) | String | 将 Debezium 的属性传递给用于从 Postgres 服务器捕获数据更改的 Debezium Embedded Engine。 例如:“debezium.snapshot.mode”=“never”。 查看更多关于 [Debezium 的 Postgres 连接器属性](https://debezium.io/documentation/reference/1.5/connectors/postgresql.html#postgresql-connector-properties)。 |
+| inlong.metric.labels | 可选 | (none) | String | inlong metric 的标签值,该值的构成为groupId=`{groupId}`&streamId=`{streamId}`&nodeId=`{nodeId}`。|
+
+:::caution
+- `slot.name` 建议为不同的表设置以避免潜在的 PSQLException: ERROR: replication slot "flink" is active for PID 974 error。  
+- PSQLException: ERROR: all replication slots are in use Hint: Free one or increase max_replication_slots. 我们可以通过以下语句删除槽。  
+:::
+
+```sql
+SELECT * FROM pg_replication_slots;
+
+-- 获取插槽名称为 flink。 删除它
+SELECT pg_drop_replication_slot('flink');
+```
+
+## 可用的元数据
+
+以下格式元数据可以作为表定义中的只读 (VIRTUAL) 列公开。
+
+| 字段名称 | 数据类型 | 描述  | 
+|-----|------------|-------------|
+| table_name | STRING NOT NULL | 包含该行的表的名称 |
+| schema_name | STRING NOT NULL | 包含该行的模式的名称 |
+| database_name | STRING NOT NULL | 包含该行的数据库的名称 |
+| op_ts | TIMESTAMP_LTZ(3) NOT NULL | 它指示在数据库中进行更改的时间。如果记录是从表的快照而不是更改流中读取的,则该值始终为 0。 |
+
+扩展的 CREATE TABLE 示例演示了使用这些元数据字段的语法:
+
+```sql
+CREATE TABLE postgresTable (
+    db_name STRING METADATA FROM 'database_name' VIRTUAL,
+    table_name STRING METADATA  FROM 'table_name' VIRTUAL,
+    operation_ts TIMESTAMP_LTZ(3) METADATA FROM 'op_ts' VIRTUAL,
+    `name` STRING,
+    `age` INT
+) WITH (
+     'connector' = 'postgres-cdc-inlong',
+     'hostname' = 'localhost',
+     'username' = 'postgres',
+     'password' = 'inlong',
+     'database-name' = 'postgres',
+     'schema-name' = 'public',
+     'port' = '5432',
+     'table-name' = 'user',
+     'decoding.plugin.name' = 'pgoutput',
+     'slot.name' = 'feaafacbaddadc'
+);
+```
+
+## 数据类型映射
+
+| PostgreSQL 类型 | Flink SQL 类型 |
+|-----------------|----------------|
+|                 | TINYINT        |
+| SMALLINT <br/> INT2 <br/> SMALLSERIAL <br/> SERIAL2 | SMALLINT |
+| INTEGER <br/> SERIAL | INT |
+| BIGINT <br/> BIGSERIAL | BIGINT |
+| | DECIMAL(20, 0) |
+| REAL <br/> FLOAT4 | FLOAT |
+| FLOAT8 <br/> DOUBLE PRECISION| DOUBLE |
+| NUMERIC(p, s) <br/> DECIMAL(p, s) | DECIMAL(p, s) |
+| BOOLEAN | BOOLEAN |
+| DATE | DATE |
+| TIME [(p)] [WITHOUT TIMEZONE] | TIME [(p)] [WITHOUT TIMEZONE] |
+| TIMESTAMP [(p)] [WITHOUT TIMEZONE | TIMESTAMP [(p)] [WITHOUT TIMEZONE] |
+| CHAR(n) <br/> CHARACTER(n) <br/> VARCHAR(n) <br/> CHARACTER VARYING(n) <br/> TEXT | STRING |
+| BYTEA | BYTES |
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/pulsar.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/pulsar.md
new file mode 100644
index 0000000000..5261b7f9d4
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/pulsar.md
@@ -0,0 +1,128 @@
+---
+title: Pulsar
+sidebar_position: 9
+---
+
+import {siteVariables} from '../../version';
+
+## 概述
+
+[Apache Pulsar](https://pulsar.apache.org/)是一个分布式、开源的 pub-sub 消息传递和流平台,用于实时工作负载,每天管理数千亿个事件。
+
+## 版本
+
+| 抽取节点              | 版本                                                      |
+| --------------------- | --------------------------------------------------------- |
+| [Pulsar](./pulsar.md) | [Pulsar](https://pulsar.apache.org/docs/next/):> = 2.8.x |
+
+## 依赖项
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-pulsar</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+## 用法
+
+### SQL API 用法
+
+Step.1 准备好 sql 客户端
+
+[SQL Client](https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/table/sqlClient.html)用于编写用于在 Pulsar 中操作数据的 SQL 查询,您可以使用添加`-addclasspath`包的选项`sort-connector-pulsar-{{INLONG_VERSION}}.jar`。
+
+**例子**
+
+```
+./bin/sql-client.sh embedded --jar sort-connector-pulsar_{{INLONG_VERSION}}.jar
+```
+
+> 注意如果你把我们连接器的JAR包放在下面`$FLINK_HOME/lib`,不用`--jar`再用指定连接器的包了。
+
+Step.2 从Pulsar读取数据
+
+```sql
+CREATE TABLE pulsar (
+  `physical_1` STRING,
+  `physical_2` INT,
+  `eventTime` TIMESTAMP(3) METADATA,
+  `properties` MAP<STRING, STRING> METADATA ,
+  `topic` STRING METADATA VIRTUAL,
+  `sequenceId` BIGINT METADATA VIRTUAL,
+  `key` STRING ,
+  `physical_3` BOOLEAN
+) WITH (
+  'connector' = 'pulsar-inlong',
+  'topic' = 'persistent://public/default/topic82547611',
+  'key.format' = 'raw',
+  'key.fields' = 'key',
+  'value.format' = 'avro',
+  'service-url' = 'pulsar://localhost:6650',
+  'admin-url' = 'http://localhost:8080',
+  'scan.startup.mode' = 'earliest' 
+)
+
+INSERT INTO `sink_table` 
+    SELECT 
+    `physical_1` AS `physical_1`,
+    `physical_2` AS `physical_2`
+    FROM `pulsar`
+INSERT INTO pulsar 
+VALUES
+ ('data 1', 1, TIMESTAMP '2020-03-08 13:12:11.123', MAP['k11', 'v11', 'k12', 'v12'], 'key1', TRUE),
+ ('data 2', 2, TIMESTAMP '2020-03-09 13:12:11.123', MAP['k21', 'v21', 'k22', 'v22'], 'key2', FALSE),
+ ('data 3', 3, TIMESTAMP '2020-03-10 13:12:11.123', MAP['k31', 'v31', 'k32', 'v32'], 'key3', TRUE)
+```
+
+### Inlong Dashboard 用法
+
+TODO
+
+### InLong Manager Client 方式
+
+TODO
+
+## Pulsar Extract 节点参数
+
+| Parameter                     | Required | Default value | Type   | Description                                                  |
+| ----------------------------- | -------- | ------------- | ------ | ------------------------------------------------------------ |
+| connector                     | 必需     | (none)        | String | 设置连接器类型。可用的选项是`pulsar-inlong`。                |
+| topic                         | 可选     | (none)        | String | 设置输入或输出主题,多个和连接主题使用半逗号。选择一个主题模式。Set the input or output topic, use half comma for multiple and concatenate topics. Choose one with the topic-pattern. |
+| topic-pattern                 | 可选     | (none)        | String | 使用正则获取匹配的主题。                                     |
+| service-url                   | 必需     | (none)        | String | 设置 Pulsar 代理服务地址。                                   |
+| admin-url                     | 可选     | (none)        | String | 设置 Pulsar 管理服务地址。**不传入该参数时,启动模式只支持`earliest`和`latest`,并且无法更新 Pulsar Topic 的 offset。** |
+| scan.startup.mode             | 可选     | latest        | String | 配置 Source 的启动模式。可用选项为`earliest`、`latest`、`external-subscription`和`specific-offsets`。 |
+| scan.startup.specific-offsets | 可选     | (none)        | String | 指定参数时需要该`specific-offsets`参数。                     |
+| scan.startup.sub-name         | 可选     | (none)        | String | 指定参数时需要该`external-subscription`参数。                |
+| discovery topic interval      | 可选     | (none)        | Long   | 设置分区发现的时间间隔,单位为毫秒。                         |
+| sink.message-router           | 可选     | key-hash      | String | 设置将消息写入 Pulsar 分区的路由方式。可用选项为`key-hash`、`round-robin`和`custom MessageRouter`。 |
+| sink.semantic                 | 可选     | at-least-once | String | Sink 写入消息的保证级别。可用选项为`at-least-once`、`exactly-once`和`none`。 |
+| properties                    | 可选     | empty         | Map    | 设置 Pulsar 的可选配置,格式为`properties.key='value'`. 有关详细信息,请参阅[配置参数](https://github.com/streamnative/pulsar-flink#configuration-parameters)。 |
+| key.format                    | 可选     | (none)        | String | 为 Pulsar 消息设置基于键的序列化格式。可用选项有`No format`、`optional raw`、`Avro`、`JSON`等。 |
+| key.fields                    | 可选     | (none)        | String | 序列化Key时要使用的SQL定义字段,多个半逗号`,`连接。          |
+| key.fields-prefix             | 可选     | (none)        | String | 为 key 格式的所有字段定义自定义前缀,以避免与 value 格式的字段名称冲突。默认情况下,前缀为空。如果定义了自定义前缀,`key.fields`则使用表架构和。 |
+| format or value.format        | 必需     | (none)        | String | 使用前缀设置名称。当以键格式构造数据类型时,前缀被移除,并且在键格式中使用非前缀名称。Pulsar 消息值序列化格式,支持 JSON、Avro 等。更多信息请参见 Flink 格式。 |
+| value.fields-include          | 可选     | ALL           | Enum   | Pulsar 消息值包含字段策略、可选的 ALL 和 EXCEPT_KEY。        |
+| inlong.metric.labels | 可选 | (none) | String | inlong metric 的标签值,该值的构成为groupId=`{groupId}`&streamId=`{streamId}`&nodeId=`{nodeId}`。|
+
+## 可用元数据
+
+METADATA 标志用于读取和写入 Pulsar 消息中的元数据。支持列表如下。
+
+> 注意 R/W 列定义元数据字段是否可读 (R) 和/或可写 (W)。只读列必须声明为 VIRTUAL 以在 INSERT INTO 操作期间排除它们。
+
+| 关键字      | 数据类型                                   | 描述                    | 读/写 |
+| ----------- | ------------------------------------------ | ----------------------- | ----- |
+| topic       | STRING NOT NULL                            | Pulsar 消息的主题名称 | R     |
+| messageId   | BYTES NOT NULL                             | Pulsar 消息的消息 ID  | R     |
+| sequenceId  | BIGINT NOT NULL                            | Pulsar 消息的序列 ID  | R     |
+| publishTime | TIMESTAMP(3) WITH LOCAL TIME ZONE NOT NULL | Pulsar 消息的发布时间 | R     |
+| eventTime   | TIMESTAMP(3) WITH LOCAL TIME ZONE NOT NULL | Pulsar 消息的生成时间 | R/W   |
+| properties  | MAP<STRING, STRING> NOT NULL               | Pulsar 消息的扩展信息 | R/W   |
+
+## 数据类型映射
+
+Pulsar 将消息键和值存储为字节,因此 Pulsar 没有 schema 或数据类型。Pulsar 消息按格式进行反序列化和序列化,例如 csv、json、avro。因此,数据类型映射由特定格式确定。有关格式详细信息,请参阅[格式页面。](https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/connectors/table/formats/overview/)
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/sqlserver-cdc.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/sqlserver-cdc.md
new file mode 100644
index 0000000000..8b45c17bf3
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/sqlserver-cdc.md
@@ -0,0 +1,345 @@
+---
+title: SQLServer-CDC
+sidebar_position: 10
+---
+
+import {siteVariables} from '../../version';
+
+## 概述
+
+SQLServer 提取节点从 SQLServer 数据库中读取数据和增量数据。下面将介绍如何配置 SQLServer 抽取节点。
+
+## 支持的版本
+
+| Extract Node                | Version                                                                                                                                                                                                                                                                                                                                                                                                |
+|-----------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| [SQLServer-cdc](./sqlserver-cdc.md) | [SQLServer](https://docs.microsoft.com/en-us/sql/database-engine/install-windows/install-sql-server?view=sql-server-ver16): 2014、2016、2017、2019、2022 |      |
+
+## 依赖配置
+
+通过 Maven 引入 sort-connector-sqlserver-cdc 构建自己的项目。
+当然,你也可以直接使用 INLONG 提供的 jar 包。([sort-connector-sqlserver-cdc](https://inlong.apache.org/download))
+
+### Maven依赖配置
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-sqlserver-cdc</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+## 配置 SQLServer 加载节点
+
+SQLServer 加载节点需要开启库和表的 CDC 功能,配置步骤如下:
+
+1. 开启数据库 CDC 能力。
+```sql
+if exists(select 1 from sys.databases where name='dbName' and is_cdc_enabled=0)
+begin
+    exec sys.sp_cdc_enable_db
+end
+```
+2. 检查数据库 CDC 是否开启。
+```sql
+select is_cdc_enabled from sys.databases where name='dbName'
+```
+备注: "1"表示数据库 CDC 开启
+
+3. 开启表的 CDC 能力。
+```sql
+IF EXISTS(SELECT 1 FROM sys.tables WHERE name='tableName' AND is_tracked_by_cdc = 0)
+BEGIN
+    EXEC sys.sp_cdc_enable_table
+        @source_schema = 'dbo', -- source_schema
+        @source_name = 'tableName', -- table_name
+        @capture_instance = NULL, -- capture_instance
+        @supports_net_changes = 1, -- supports_net_changes
+        @role_name = NULL, -- role_name
+        @index_name = NULL, -- index_name
+        @captured_column_list = NULL, -- captured_column_list
+        @filegroup_name = 'PRIMARY' -- filegroup_name
+END
+```
+备注: 表必须有主键或者唯一索引。
+
+4. 检查表 CDC 是否开启。
+```sql
+SELECT is_tracked_by_cdc FROM sys.tables WHERE name='tableName'
+```
+备注: "1"表示表 CDC 开启
+
+## 如何创建一个 SQLServer 抽取节点
+
+### SQL API 的使用
+
+使用 `Flink SQL Cli` :
+
+```sql
+-- Set checkpoint every 3000 milliseconds                       
+Flink SQL> SET 'execution.checkpointing.interval' = '3s';   
+
+-- Create a SqlServer table 'sqlserver_extract_node' in Flink SQL Cli
+Flink SQL> CREATE TABLE sqlserver_extract_node (
+     order_id INT,
+     order_date TIMESTAMP(0),
+     customer_name STRING,
+     price DECIMAL(10, 5),
+     product_id INT,
+     order_status BOOLEAN,
+     PRIMARY KEY(order_id) NOT ENFORCED
+     ) WITH (
+     'connector' = 'sqlserver-cdc-inlong',
+     'hostname' = 'YourHostname',
+     'port' = 'port', --default:1433
+     'username' = 'YourUsername',
+     'password' = 'YourPassword',
+     'database-name' = 'YourDatabaseName',
+     'schema-name' = 'YourSchemaName' -- default:dbo
+     'table-name' = 'YourTableName');
+  
+-- Read snapshot and binlog from sqlserver_extract_node
+Flink SQL> SELECT * FROM sqlserver_extract_node;
+```
+### InLong Dashboard 方式
+TODO
+
+### InLong Manager Client 方式
+TODO
+
+## SQLServer 抽取节点参数信息
+
+<div class="highlight">
+<table class="colwidths-auto docutils">
+    <thead>
+      <tr>
+       <th class="text-left" style={{width: '10%'}}>参数</th>
+       <th class="text-left" style={{width: '8%'}}>是否必须</th>
+       <th class="text-left" style={{width: '7%'}}>默认值</th>
+       <th class="text-left" style={{width: '10%'}}>数据类型</th>
+              <th class="text-left" style={{width: '65%'}}>描述</th>
+      </tr>
+    </thead>
+    <tbody>
+    <tr>
+      <td>connector</td>
+      <td>必须</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>指定使用什么连接器,这里应该是 'sqlserver-cdc-inlong'。</td>
+    </tr>
+    <tr>
+      <td>hostname</td>
+      <td>必须</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>SQLServer 数据库 IP 地址或者 hostname。</td>
+    </tr>
+    <tr>
+      <td>username</td>
+      <td>必须</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>SQLServer 数据库用户名。</td>
+    </tr>
+    <tr>
+      <td>password</td>
+      <td>必须</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>SQLServer 数据库用户密码。</td>
+    </tr>
+    <tr>
+      <td>database-name</td>
+      <td>必须</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>SQLServer 数据库监控的数据库名称。</td>
+    </tr> 
+    <tr>
+      <td>schema-name</td>
+      <td>必须</td>
+      <td style={{wordWrap: 'break-word'}}>dbo</td>
+      <td>String</td>
+      <td>SQLServer 数据库监控的 schema 名称。</td>
+    </tr>
+    <tr>
+      <td>table-name</td>
+      <td>必须</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>SQLServer 数据库监控的表名称。</td>
+    </tr>
+    <tr>
+      <td>port</td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>1433</td>
+      <td>Integer</td>
+      <td>SQLServer 数据库端口。</td>
+    </tr>
+    <tr>
+      <td>server-time-zone</td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>UTC</td>
+      <td>String</td>
+      <td>SQLServer 数据库连接配置时区。 例如: "Asia/Shanghai"。</td>
+    </tr>
+    <tr>
+      <td>inlong.metric.labels</td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>inlong metric 的标签值,该值的构成为groupId=[groupId]&streamId=[streamId]&nodeId=[nodeId]。</td> 
+     </tr>
+    </tbody>
+</table>
+</div>
+
+## 可用的元数据字段
+
+以下格式元数据可以作为表定义中的只读 (VIRTUAL) 列公开。
+
+<table class="colwidths-auto docutils">
+  <thead>
+     <tr>
+        <th class="text-left" style={{width: '15%'}}>字段名称</th>
+        <th class="text-left" style={{width: '30%'}}>数据类型</th>
+        <th class="text-left" style={{width: '55%'}}>描述</th>
+     </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td>meta.table_name</td>
+      <td>STRING NOT NULL</td>
+      <td>包含该行的表的名称。</td>
+    </tr>   
+     <tr>
+      <td>meta.schema_name</td>
+      <td>STRING NOT NULL</td>
+      <td>包含该行 schema 的名称。</td>
+    </tr>
+    <tr>
+      <td>meta.database_name</td>
+      <td>STRING NOT NULL</td>
+      <td>包含该行数据库的名称。</td>
+    </tr>
+    <tr>
+      <td>meta.op_ts</td>
+      <td>TIMESTAMP_LTZ(3) NOT NULL</td>
+      <td>它表示在数据库中进行更改的时间。如果记录是从表的快照而不是 binlog 中读取的,则该值始终为 0。</td>
+    </tr>
+  </tbody>
+</table>
+
+使用元数据字段的例子:
+```sql
+CREATE TABLE sqlserver_extract_node (
+    table_name STRING METADATA  FROM 'table_name' VIRTUAL,
+    schema_name STRING METADATA  FROM 'schema_name' VIRTUAL,
+    db_name STRING METADATA FROM 'database_name' VIRTUAL,
+    operation_ts TIMESTAMP_LTZ(3) METADATA FROM 'op_ts' VIRTUAL,
+    id INT NOT NULL
+) WITH (
+    'connector' = 'sqlserver-cdc',
+    'hostname' = 'localhost',
+    'port' = '1433',
+    'username' = 'sa',
+    'password' = 'password',
+    'database-name' = 'test',
+    'schema-name' = 'dbo',
+    'table-name' = 'worker'
+);
+```
+
+## 数据类型映射
+<div class="wy-table-responsive">
+<table class="colwidths-auto docutils">
+    <thead>
+      <tr>
+        <th class="text-left">SQLServer type</th>
+        <th class="text-left">Flink SQL type</th>
+      </tr>
+    </thead>
+    <tbody>
+    <tr>
+      <td>char(n)</td>
+      <td>CHAR(n)</td>
+    </tr>
+    <tr>
+      <td>
+        varchar(n)<br/>
+        nvarchar(n)<br/>
+        nchar(n)</td>
+      <td>VARCHAR(n)</td>
+    </tr>
+    <tr>
+      <td>
+        text<br/>
+        ntext<br/>
+        xml</td>
+      <td>STRING</td>
+    </tr>
+    <tr>
+      <td>
+        decimal(p, s)<br/>
+        money<br/>
+        smallmoney</td>
+      <td>DECIMAL(p, s)</td>
+    </tr>
+   <tr>
+      <td>numeric</td>
+      <td>NUMERIC</td>
+    </tr>
+    <tr>
+      <td>
+          REAL<br/>
+          FLOAT<br/>
+       </td>
+       <td>FLOAT</td>
+    </tr>
+    <tr>
+      <td>bit</td>
+      <td>BOOLEAN</td>
+    </tr>
+    <tr>
+      <td>int</td>
+      <td>INT</td>
+    </tr>
+    <tr>
+      <td>tinyint</td>
+      <td>TINYINT</td>
+    </tr>
+    <tr>
+      <td>smallint</td>
+      <td>SMALLINT</td>
+    </tr>
+    <tr>
+      <td>time (n)</td>
+      <td>TIME (n)</td>
+    </tr>
+    <tr>
+      <td>bigint</td>
+      <td>BIGINT</td>
+    </tr>
+    <tr>
+      <td>date</td>
+      <td>DATE</td>
+    </tr>
+    <tr>
+      <td>
+        datetime2<br/>
+        datetime<br/>
+        smalldatetime
+      </td>
+      <td>TIMESTAMP(n)</td>
+    </tr>
+    <tr>
+      <td>
+       datetimeoffset
+      </td>
+      <td>TIMESTAMP_LTZ(3)</td>
+    </tr>
+    </tbody>
+</table>
+</div>
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/tube.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/tube.md
new file mode 100644
index 0000000000..d09c83ed88
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/extract_node/tube.md
@@ -0,0 +1,69 @@
+---
+title: TubeMQ
+sidebar_position: 11
+---
+
+import {siteVariables} from '../../version';
+
+## 概述
+
+[Apache InLong TubeMQ](https://inlong.apache.org/docs/modules/tubemq/overview) 是一个分布式、开源的 pub-sub 消息传递和流平台, 适合于万亿规模数据。
+
+## 版本
+
+| 抽取节点               | 版本                                                      |
+| --------------------- | ------------------------------------------------------------ |
+| [TubeMQ](./tube.md) | [TubeMQ](https://inlong.apache.org/docs/next/modules/tubemq/overview): >=0.1.0<br/> |
+
+## 依赖项  
+
+为了设置 TubeMQ Extract 节点,下面提供了使用构建自动化工具(例如 Maven 或 SBT)和带有 Sort Connectors JAR 包的 SQL 客户端的两个项目的依赖关系信息。
+
+### Maven 依赖
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-tubemq</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+## 如何创建TubeMQ抽取节点
+
+### SQL API 的使用
+
+使用 `Flink SQL Cli` :
+```sql
+-- Create a TubeMQ table 'tube_extract_node' in Flink SQL Cli
+Flink SQL> CREATE TABLE tube_extract_node (
+     id INT,
+     name STRING,
+     age INT,
+     salary FLOAT 
+     ) WITH (
+     'connector' = 'tubemq',
+     'topic' = 'topicName',
+     'masterRpc' = 'rpcUrl', -- 127.0.0.1:8715
+     'format' = 'json',
+     'groupId' = 'groupName');
+  
+-- Read data from tube_extract_node
+Flink SQL> SELECT * FROM tube_extract_node;
+```
+### InLong Dashboard 方式
+TODO
+
+### InLong Manager Client 方式
+TODO
+
+## TubeMQ 抽取节点参数信息
+
+| 参数                           | 是否必须  | 默认值         | 数据类型 | 描述                                                  |
+| ----------------------------- | -------- | ------------- | ------ | ------------------------------------------------------------ |
+| connector                     | required | tubemq        | String | 设置连接器类型 `tubemq`     |
+| topic                         | required | (none)        | String | 设置抽取的topic                                |
+| masterRpc                     | required | (none)        | String | 设置TubeMQ master service 地址                       |
+| format                        | required | (none)        | String | TubeMQ 数据类型, 支持 JSON, Avro, etc. For more information, see the [Flink format](https://nightlies.apache.org/flink/flink-docs-release-1.15/docs/connectors/table/formats/overview/). |
+| groupId                       | required | (none)        | String | TubeMQ 消费组                                     |
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/auto_consumption.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/auto_consumption.md
new file mode 100644
index 0000000000..f24a22899a
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/auto_consumption.md
@@ -0,0 +1,8 @@
+---
+title: 自主消费
+sidebar_position: 2
+---
+
+## Overview
+**自主消费** 是指直接从消息队列服务中 (TubeMQ or Pulsar) 消费数据, 你可以使用 [Pulsar SDK Client](https://pulsar.apache.org/docs/en/2.8.3/client-libraries/) 或者 [TubeMQ SDK Client](modules/tubemq/clients_java.md) 进行消费, 
+获取到数据后,需要通过 [解析 InLongMsg](development/inlong_msg.md) 获取原数据进行下一步处理。
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/clickhouse.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/clickhouse.md
new file mode 100644
index 0000000000..7383ddd5be
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/clickhouse.md
@@ -0,0 +1,128 @@
+---
+title: ClickHouse
+sidebar_position: 3
+---
+
+import {siteVariables} from '../../version';
+
+## 概览
+
+`ClickHouse Load` 节点支持将数据写入 ClickHouse 数据库。 本文档介绍如何设置 ClickHouse Load 节点以对 ClickHouse 数据库运行 SQL 查询。
+
+## 支持的版本
+
+| Load 节点                | Driver | Group Id | Artifact Id | JAR |                                                                                                                                                                                                                                                                                                                                                                                       
+|--------------------------|--------|----------|-------------|-----|
+| [ClickHouse](./clickhouse.md) | ClickHouse  | ru.yandex.clickhouse | clickhouse-jdbc | [下载](https://mvnrepository.com/artifact/ru.yandex.clickhouse/clickhouse-jdbc) |
+
+## 依赖
+
+为了设置 ClickHouse Load 节点, 下面提供了使用构建自动化工具(例如 Maven 或 SBT)和带有 Sort Connector JAR 包的 SQL 客户端的两个项目的依赖关系信息。
+
+### Maven 依赖
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-jdbc</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+## 如何创建 ClickHouse Load 节点
+
+### SQL API 用法
+
+```sql
+
+-- MySQL Extract 节点
+CREATE TABLE `mysql_extract_table`(
+  PRIMARY KEY (`id`) NOT ENFORCED,
+  `id` BIGINT,
+  `name` STRING,
+  `age` INT
+) WITH (
+  'connector' = 'mysql-cdc-inlong',
+  'url' = 'jdbc:mysql://localhost:3306/read',
+  'username' = 'inlong',
+  'password' = 'inlong',
+  'table-name' = 'user'
+)
+
+-- ClickHouse Load 节点
+CREATE TABLE `clickhouse_load_table`(
+  PRIMARY KEY (`id`) NOT ENFORCED,
+  `id` BIGINT,
+  `name` STRING,
+  `age` INT
+) WITH (
+  'connector' = 'jdbc-inlong',
+  'dialect-impl' = 'org.apache.inlong.sort.jdbc.dialect.ClickHouseDialect',
+  'url' = 'jdbc:clickhouse://localhost:8123/demo',
+  'username' = 'inlong',
+  'password' = 'inlong',
+  'table-name' = 'demo.user'
+)
+
+-- 写数据到 ClickHouse
+INSERT INTO clickhouse_load_table 
+SELECT id, name , age FROM mysql_extract_table;  
+
+```
+
+### InLong Dashboard 用法
+
+创建数据流时,数据流方向选择`ClickHouse`,点击“添加”进行配置。
+
+![ClickHouse Configuration](img/clickhouse.png)
+
+### InLong Manager Client 用法
+
+TODO: 将在未来支持此功能。
+
+## ClickHouse Load 节点参数
+
+| 参数 | 是否必选 | 默认值 | 数据类型 | 描述 |
+|---------|----------|---------|------|------------|
+| connector | 必选 | (none) | String | 指定使用什么类型的连接器,这里应该是 'jdbc-inlong'。 |
+| url | 必选 | (none) | String | JDBC 数据库 url。 |
+| dialect-impl | 必选 | (none) |  String | `org.apache.inlong.sort.jdbc.dialect.ClickHouseDialect` |
+| table-name | 必选 | (none) | String | 连接到 JDBC 表的名称。例子:database.tableName |
+| driver | 可选 | (none) | String | 用于连接到此 URL 的 JDBC 驱动类名,如果不设置,将自动从 URL 中推导。 |
+| username | 可选 | (none) | String | JDBC 用户名。如果指定了 'username' 和 'password' 中的任一参数,则两者必须都被指定。 |
+| password | 可选 | (none) | String | JDBC 密码。 |
+| connection.max-retry-timeout | 可选 | 60s | Duration | 最大重试超时时间,以秒为单位且不应该小于 1 秒。 |
+| sink.buffer-flush.max-rows | 可选 | 100 | Integer | flush 前缓存记录的最大值,可以设置为 '0' 来禁用它。 |
+| sink.buffer-flush.interval | 可选 | 1s | Duration | flush 间隔时间,超过该时间后异步线程将 flush 数据。可以设置为 '0' 来禁用它。注意, 为了完全异步地处理缓存的 flush 事件,可以将 'sink.buffer-flush.max-rows' 设置为 '0' 并配置适当的 flush 时间间隔。 |
+| sink.max-retries | 可选 | 3 | Integer | 写入记录到数据库失败后的最大重试次数。 |
+| sink.parallelism | 可选 | (none) | Integer | 用于定义 JDBC sink 算子的并行度。默认情况下,并行度是由框架决定:使用与上游链式算子相同的并行度。 |
+| sink.ignore.changelog | 可选 | false | Boolean |  忽略所有 RowKind 类型的变更日志,将它们当作 INSERT 的数据来采集。 |
+| inlong.metric.labels | 可选 | (none) | String | inlong metric 的标签值,该值的构成为groupId=`{groupId}`&streamId=`{streamId}`&nodeId=`{nodeId}`。|
+
+## 数据类型映射
+
+| ClickHouse type | Flink SQL type |
+|-----------------|----------------|
+| String         | CHAR           |
+| String <br/> IP <br/> UUID | VARCHAR |
+| String <br/> EnumL | STRING |
+| UInt8 | BOOLEAN |
+| FixedString | BYTES |
+| Decimal <br/> Int128 <br/> Int256 <br/> UInt64 <br/> UInt128 <br/> UInt256 | DECIMAL |
+| Int8 | TINYINT |
+| Int16 <br/> UInt8 | SMALLINT |
+| Int32 <br/> UInt16 <br/> Interval | INTEGER |
+| Int64 <br/> UInt32 | BIGINT |
+| Float32 | FLOAT |
+| Date | DATE |
+| DateTime | TIME |
+| DateTime | TIMESTAMP |
+| DateTime | TIMESTAMP_LTZ |
+| Int32 | INTERVAL_YEAR_MONTH |
+| Int64 | INTERVAL_DAY_TIME |
+| Array | ARRAY |
+| Map | MAP |
+| Not supported | ROW |
+| Not supported | MULTISET |
+| Not supported | RAW |
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/doris.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/doris.md
new file mode 100644
index 0000000000..38f5b9ac39
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/doris.md
@@ -0,0 +1,344 @@
+---
+title: Doris
+sidebar_position: 16
+---
+
+import {siteVariables} from '../../version';
+
+## 概览
+
+`Doris Load` 节点支持将数据写入 Doris 数据库。 
+支持单表写入和多表写入两种模式:单表写入为指定固定库名表名写入;多表写入支持根据源端数据格式自定义库名表名写入,适用于源端多表写入或者整库同步等场景。
+本文档介绍如何设置 Doris Load 节点实现写入 Doris 数据库表。
+
+## 支持的版本
+
+| Load 节点             | Doris 版本 |                                                                                                                                                                                                                                                                                                                                                                                           
+|---------------------|----------|
+| [Doris](./doris.md) | 0.13+    |  
+
+## 依赖
+
+为了设置 Doris Load 节点, 下面提供了使用构建自动化工具(例如 Maven 或 SBT)所需要的依赖信息。
+
+### Maven 依赖
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-doris</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+## 准备
+### 创建 MySQL Extract 表
+- 单表写入:在 MySQL `cdc` 数据库中创建表 `cdc_mysql_source`。 命令如下:
+```sql
+[root@fe001 ~]# mysql -u root -h localhost -P 3306 -p123456
+mysql> use cdc;
+Database changed
+mysql> CREATE TABLE `cdc_mysql_source` (
+       `id` int(11) NOT NULL AUTO_INCREMENT,
+       `name` varchar(64) DEFAULT NULL,
+       `dr` tinyint(3) DEFAULT 0,
+       PRIMARY KEY (`id`)
+       );
+Query OK, 0 rows affected (0.02 sec)
+
+mysql> insert into cdc_mysql_source values(1, 'zhangsan', 0),(2, 'lisi', 0),(3, 'wangwu', 0);
+Query OK, 3 rows affected (0.01 sec)
+Records: 3  Duplicates: 0  Warnings: 0
+
+mysql> select * from cdc_mysql_source;
++----+----------+----+
+| id | name     | dr |
++----+----------+----+
+|  1 | zhangsan |  0 |
+|  2 | lisi     |  0 |
+|  3 | wangwu   |  0 |
++----+----------+----+
+3 rows in set (0.07 sec)
+```
+- 多表写入:在 MySQL `user_db` 数据库中创建表 `user_id_name`、`user_id_score`。 命令如下:
+```sql
+[root@fe001 ~]# mysql -u root -h localhost -P 3306 -p123456
+mysql> use user_db;
+Database changed
+mysql> CREATE TABLE `user_id_name` (
+       `id` int(11) NOT NULL AUTO_INCREMENT,
+       `name` varchar(64) DEFAULT NULL
+       PRIMARY KEY (`id`)
+       );
+Query OK, 0 rows affected (0.02 sec)
+
+mysql> CREATE TABLE `user_id_score` (
+       `id` int(11) NOT NULL AUTO_INCREMENT,
+       `score` double default 0,
+       PRIMARY KEY (`id`)
+       );
+Query OK, 0 rows affected (0.02 sec)
+
+mysql> insert into user_id_name values(1001, 'lily'),(1002, 'tom'),(1003, 'alan');
+Query OK, 3 rows affected (0.01 sec)
+Records: 3  Duplicates: 0  Warnings: 0 
+
+mysql> insert into user_id_score values(1001, 99),(1002, 96),(1003, 98);
+Query OK, 3 rows affected (0.01 sec)
+Records: 3  Duplicates: 0  Warnings: 0 
+
+mysql> select * from user_id_name;
++------+--------+
+|  id  | name   |
++------+--------+
+| 1001 | lily   |
+| 1002 | tom    |
+| 1003 | alan   |
++----+----------+
+3 rows in set (0.07 sec)    
+
+mysql> select * from user_id_score;
++------+------+
+|  id  | name |
++------+------+
+| 1001 | 99   |
+| 1002 | 96   |
+| 1003 | 98   |
++----+--------+
+3 rows in set (0.07 sec)  
+```
+
+### 创建 Doris Load 表
+- 单表写入:在 Doris `cdc`数据库中创建表`cdc_doris_sink`。命令如下:
+```sql
+[root@fe001 ~]# mysql -u root -h localhost -P 9030 -p000000
+mysql> use cdc;
+Reading table information for completion of table and column names
+You can turn off this feature to get a quicker startup with -A
+Database changed
+
+mysql> CREATE TABLE `cdc_doris_sink` (
+       `id` int(11) NOT NULL COMMENT "用户id",
+       `name` varchar(50) NOT NULL COMMENT "昵称",
+       `dr` tinyint(4) NULL COMMENT "逻辑删除"
+       ) ENGINE=OLAP
+       UNIQUE KEY(`id`)
+       COMMENT "OLAP"
+       DISTRIBUTED BY HASH(`id`) BUCKETS 1
+       PROPERTIES (
+       "replication_allocation" = "tag.location.default: 1"
+       );
+Query OK, 0 rows affected (0.06 sec)
+```
+- 多表写入:在 Doris `user_db`数据库中创建表`doris_user_id_name`、`doris_user_id_score`。命令如下:
+```sql
+[root@fe001 ~]# mysql -u root -h localhost -P 9030 -p000000
+mysql> use user_db;
+Reading table information for completion of table and column names
+You can turn off this feature to get a quicker startup with -A
+Database changed
+
+mysql> CREATE TABLE `doris_user_id_name` (
+       `id` int(11) NOT NULL COMMENT "用户id",
+       `name` varchar(50) NOT NULL COMMENT "昵称"
+       ) ENGINE=OLAP
+       UNIQUE KEY(`id`)
+       COMMENT "OLAP"
+       DISTRIBUTED BY HASH(`id`) BUCKETS 1
+       PROPERTIES (
+       "replication_allocation" = "tag.location.default: 1"
+       );
+Query OK, 0 rows affected (0.06 sec)
+
+mysql> CREATE TABLE `doris_user_id_score` (
+       `id` int(11) NOT NULL COMMENT "用户id",
+       `score` double default 0
+       ) ENGINE=OLAP
+       UNIQUE KEY(`id`)
+       COMMENT "OLAP"
+       DISTRIBUTED BY HASH(`id`) BUCKETS 1
+       PROPERTIES (
+       "replication_allocation" = "tag.location.default: 1"
+       );
+Query OK, 0 rows affected (0.06 sec)
+```
+
+## 如何创建 Doris Load 节点
+
+### SQL API 用法
+- 单表写入: Doris 单表写入
+```sql
+[root@tasknode001 flink-1.13.5]# ./bin/sql-client.sh -l ./opt/connectors/mysql-cdc-inlong/ -l ./opt/connectors/doris/
+Flink SQL> SET 'execution.checkpointing.interval' = '3s';
+[INFO] Session property has been set.
+
+Flink SQL> SET 'table.dynamic-table-options.enabled' = 'true';
+[INFO] Session property has been set.
+
+Flink SQL> CREATE TABLE cdc_mysql_source (
+    >   id int
+    >   ,name VARCHAR
+    >   ,dr TINYINT
+    >   ,PRIMARY KEY (id) NOT ENFORCED
+    > ) WITH (
+    >  'connector' = 'mysql-cdc-inlong',
+    >  'hostname' = 'localhost',
+    >  'port' = '3306',
+    >  'username' = 'root',
+    >  'password' = '123456',
+    >  'database-name' = 'cdc',
+    >  'table-name' = 'cdc_mysql_source'
+    > );
+[INFO] Execute statement succeed.
+
+Flink SQL> CREATE TABLE cdc_doris_sink (
+    > id INT,
+    > name STRING,
+    > dr TINYINT
+    > ) WITH (
+    >  'connector' = 'doris-inlong',
+    >  'fenodes' = 'localhost:8030',
+    >  'table.identifier' = 'cdc.cdc_doris_sink',
+    >  'username' = 'root',
+    >  'password' = '000000',
+    >  'sink.properties.format' = 'json',
+    >  'sink.properties.strip_outer_array' = 'true',
+    > );
+[INFO] Execute statement succeed.
+
+-- 支持删除事件同步(sink.enable-delete='true'), 需要 Doris 表开启批量删除功能
+Flink SQL> insert into cdc_doris_sink select * from cdc_mysql_source /*+ OPTIONS('server-id'='5402') */;
+[INFO] Submitting SQL update statement to the cluster...
+[INFO] SQL update statement has been successfully submitted to the cluster:
+Job ID: 5f89691571d7b3f3ca446589e3d0c3d3
+```
+
+- 多表写入: Doris 多表写入
+```sql
+./bin/sql-client.sh -l ./opt/connectors/mysql-cdc-inlong/ -l ./opt/connectors/doris/
+Flink SQL> SET 'execution.checkpointing.interval' = '3s';
+[INFO] Session property has been set.
+
+Flink SQL> SET 'table.dynamic-table-options.enabled' = 'true';
+[INFO] Session property has been set.
+
+Flink SQL> CREATE TABLE cdc_mysql_source (
+    >   id int
+    >   ,name VARCHAR
+    >   ,dr TINYINT
+    >   ,PRIMARY KEY (id) NOT ENFORCED
+    > ) WITH (
+    >  'connector' = 'mysql-cdc-inlong',
+    >  'hostname' = 'localhost',
+    >  'port' = '3306',
+    >  'username' = 'root',
+    >  'password' = '123456',
+    >  'database-name' = 'test',
+    >  'table-name' = 'cdc_mysql_source'
+    > );
+[INFO] Execute statement succeed.
+
+Flink SQL> CREATE TABLE cdc_doris_sink (
+    > id INT,
+    > name STRING,
+    > dr TINYINT
+    > ) WITH (
+    >  'connector' = 'doris-inlong',
+    >  'fenodes' = 'localhost:8030',
+    >  'username' = 'root',
+    >  'password' = '000000',
+    >  'sink.enable-delete' = 'true',
+    >  'sink.multiple.enable' = 'true',
+    >  'sink.multiple.format' = 'canal-json',
+    >  'sink.multiple.database-pattern' = '${database}',
+    >  'sink.multiple.table-pattern' = 'doris_${table}'
+    > );
+[INFO] Execute statement succeed.
+
+-- 支持删除事件同步(sink.enable-delete='true'), 需要 Doris 表开启批量删除功能
+Flink SQL> insert into cdc_doris_sink select * from cdc_mysql_source /*+ OPTIONS('server-id'='5402') */;
+[INFO] Submitting SQL update statement to the cluster...
+[INFO] SQL update statement has been successfully submitted to the cluster:
+Job ID: 30feaa0ede92h6b6e25ea0cfda26df5e
+```
+
+### InLong Dashboard 用法
+
+TODO: 将在未来支持此功能。
+
+### InLong Manager Client 用法
+
+TODO: 将在未来支持此功能。
+
+## Doris Load 节点参数
+
+| 参数                                | 是否必选 | 默认值               | 数据类型     | 描述                                                                                                                                                                                                                                                                                                     |
+|-----------------------------------|------|-------------------|----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| connector                         | 必选   | (none)            | string   | 指定要使用的连接器 `doris`                                                                                                                                                                                                                                                                                      |
+| fenodes                           | 必选   | (none)            | string   | Doris FE http 地址                                                                                                                                                                                                                                                                                       |
+| table.identifier	                 | 必选   | (none)            | string   | Doris 表名,如:db1.tbl1                                                                                                                                                                                                                                                                                    |
+| username	                         | 必选   | (none)            | string   | 访问 Doris 的用户名                                                                                                                                                                                                                                                                                          |
+| password                          | 必选   | (none)            | string   | 访问 Doris 的密码                                                                                                                                                                                                                                                                                           |
+| doris.request.retries	            | 可选   | 3                 | int      | 向 Doris 发送请求的重试次数                                                                                                                                                                                                                                                                                      |
+| doris.request.connect.timeout.ms	 | 可选   | 30000             | int      | 向 Doris 发送请求的连接超时时间                                                                                                                                                                                                                                                                                    |
+| doris.request.read.timeout.ms	    | 可选   | 30000             | int      | 向 Doris 发送请求的读取超时时间                                                                                                                                                                                                                                                                                    |
+| doris.request.query.timeout.s	    | 可选   | 3600              | int      | 查询 Doris 的超时时间,默认值为1小时,-1表示无超时限制                                                                                                                                                                                                                                                                       |
+| doris.request.tablet.size	        | 可选   | Integer.MAX_VALUE | int      | 一个 Partition 对应的 Doris Tablet 个数。<br/>此数值设置越小,则会生成越多的 Partition。从而提升 Flink 侧的并行度,但同时会对 Doris 造成更大的压力。                                                                                                                                                                                                  |
+| doris.batch.size                  | 可选   | 1024              | int      | 一次从 BE 读取数据的最大行数。增大此数值可减少 Flink 与 Doris 之间建立连接的次数。<br/>从而减轻网络延迟所带来的的额外时间开销。                                                                                                                                                                                                                            |
+| doris.exec.mem.limit	             | 可选   | 2147483648        | long     | 单个查询的内存限制。默认为 2GB,单位为字节                                                                                                                                                                                                                                                                                |
+| doris.deserialize.arrow.async	    | 可选   | false             | boolean  | 是否支持异步转换 Arrow 格式到 flink-doris-connector 迭代所需的 RowBatch                                                                                                                                                                                                                                                |
+| doris.deserialize.queue.size	     | 可选   | 64                | int      | 异步转换 Arrow 格式的内部处理队列,当 doris.deserialize.arrow.async 为 true 时生效                                                                                                                                                                                                                                        |
+| doris.read.field	                 | 可选   | (none)            | string   | 读取 Doris 表的列名列表,多列之间使用逗号分隔                                                                                                                                                                                                                                                                             |
+| doris.filter.query                | 可选   | (none)            | string   | 过滤读取数据的表达式,此表达式透传给 Doris。Doris 使用此表达式完成源端数据过滤。                                                                                                                                                                                                                                                         |
+| sink.batch.size                   | 可选   | 10000             | int      | 单次写 BE 的最大行数                                                                                                                                                                                                                                                                                           |
+| sink.max-retries                  | 可选   | 1                 | int      | 写 BE 失败之后的重试次数                                                                                                                                                                                                                                                                                         |
+| sink.batch.interval               | 可选   | 10s               | string   | Flush 间隔时间,超过该时间后异步线程将缓存中数据写入 BE。 默认值为10秒,支持时间单位 ms、s、min、h和d。设置为0表示关闭定期写入。                                                                                                                                                                                                                            |
+| sink.properties.*                 | 可选   | (none)            | string   | Stream load 的导入参数<br /><br />例如:<br />'sink.properties.column_separator' = ', '<br />定义列分隔符<br /><br />'sink.properties.escape_delimiters' = 'true'<br />特殊字符作为分隔符,'\\x01' 会被转换为二进制的 0x01 <br /><br /> 'sink.properties.format' = 'json'<br />'sink.properties.strip_outer_array' = 'true' <br />JSON 格式导入<br /><br /> 'sink.properties.format' = 'csv'<br />CSV 格式导入 |
+| sink.enable-delete                | 可选   | true              | boolean  | 是否启用删除。此选项需要 Doris 表开启批量删除功能(0.15+版本默认开启),只支持 Uniq 模型。                                                                                                                                                                                                                                                 |
+| sink.enable-delete                | 可选   | true              | boolean  | 是否启用删除。此选项需要 Doris 表开启批量删除功能(0.15+版本默认开启),只支持 Uniq 模型。                                                                                                                                                                                                                                                 |
+| sink.multiple.enable              | 可选   | false             | boolean  | 是否支持 Doris 多表写入。 `sink.multiple.enable` 为 `true` 时,需要 `sink.multiple.format` 、 `sink.multiple.database-pattern` 、 `sink.multiple.table-pattern` 分别设置正确的值。        |
+| sink.multiple.format              | 可选   | (none)            | string   | 多表写入时,表示源端二进制数据的真实格式,支持 `canal-json` 和 `debezium-json` 两种格式,请参阅 [kafka -- 动态 Topic 提取](https://github.com/apache/inlong-website/blob/master/i18n/zh-CN/docusaurus-plugin-content-docs/current/data_node/load_node/kafka.md) 获取更多细节。|
+| sink.multiple.database-pattern    | 可选   | (none)            | string   | 多表写入时,从源端二进制数据中按照 `sink.multiple.database-pattern` 指定名称提取写入的数据库名称。 `sink.multiple.enable` 为true时有效。                 | 
+| sink.multiple.table-pattern       | 可选   | (none)            | string   | 多表写入时,从源端二进制数据中按照 `sink.multiple.table-pattern` 指定名称提取写入的表名。 `sink.multiple.enable` 为true时有效。                         |
+| sink.multiple.ignore-single-table-errors | 可选 | true         | boolean  | 多表写入时,是否忽略某个表写入失败。为 `true` 时,如果某个表写入异常,则不写入该表数据,其他表的数据正常写入。为 `false` 时,如果某个表写入异常,则所有表均停止写入。     |
+| inlong.metric.labels | 可选 | (none) | String | inlong metric 的标签值,该值的构成为groupId=`{groupId}`&streamId=`{streamId}`&nodeId=`{nodeId}`。|
+| sink.multiple.schema-update.policy | 可选 | (none) | string | 往 Doris 表同步数据时,如果 Doris 表不存在或字段长度超过限制,Doris 服务器会抛出异常。<br /><br /> 当该属性设置为 `THROW_WITH_STOP` ,异常会向上抛给 Flink 框架。Flink 框架会自动重启任务,尝试恢复。<br /><br /> 当该属性设置为 `STOP_PARTIAL` 时,Doris connector 会忽略该表的写入,新数据不再往该表写入,其它表则正常同步。<br /><br /> 当该属性设置为 `LOG_WITH_IGNORE` 时,异常会打印到日志中,不会向上抛出。后续新数据到来时,继续尝试往该表写入。 |
+| dirty.ignore | 可选 | (none)| boolean | 往 Doris 表同步数据时,如果遇到错误和异常,通过该变量可以控制是否忽略脏数据。如果设置为 `false` ,则忽略脏数据,不归档。如果为 `true` ,则根据其它的 `dirty.side-output.*` 的配置决定如何归档数据。 |
+| dirty.side-output.connector | 可选 | (none)| string | 支持 `s3` 和 `log` 两种配置。当配置为 `log` 时,仅打印日志,不归档数据。当配置为 `s3` 时,可以将数据归档到亚马逊S3或腾讯云COS存储。 |
+| dirty.side-output.s3.bucket | 可选 | (none)| string | S3 或 COS 的桶名称 |
+| dirty.side-output.s3.endpoint | 可选 | (none)| string | S3 或 COS 的 endpoint 地址 |
+| dirty.side-output.s3.key | 可选 | (none)| string | S3 或 COS 的 key  |
+| dirty.side-output.s3.region | 可选 | (none)| string | S3 或 COS 的区域 |
+| dirty.side-output.line-delimiter | 可选 | (none)| string | 脏数据的行分隔符 |
+| dirty.side-output.field-delimiter | 可选 | (none)| string | 脏数据的字段分隔符 |
+| dirty.side-output.s3.secret-key-id | 可选 | (none)| string | S3 或 COS 的 secret key |
+| dirty.side-output.s3.access-key-id | 可选 | (none)| string | S3 或 COS 的 access key |
+| dirty.side-output.format | 可选 | (none)| string | 脏数据归档的格式,支持 `json` 和 `csv` |
+| dirty.side-output.log-tag | 可选 | (none)| string | 脏数据的 tag 。通过该变量区分每条脏数据归属于 Doris 的哪个库表。 |
+| dirty.identifier | 可选 | (none)| string | 归档后的文件名 |
+| dirty.side-output.labels | 可选 | (none)| string | 归档后的每条数据包括标签和业务数据两部分。标签在前面,业务数据在后面。 |
+
+## 数据类型映射
+
+| Doris Type  | Flink Type           |
+|-------------|----------------------|
+| NULL_TYPE   | NULL                 |
+| BOOLEAN     | BOOLEAN              |
+| TINYINT     | TINYINT              |
+| SMALLINT    | SMALLINT             |
+| INT         | INT                  |
+| BIGINT      | BIGINT               |
+| FLOAT       | FLOAT                |
+| DOUBLE      | DOUBLE               |
+| DATE        | STRING               |
+| DATETIME    | STRING               |
+| DECIMAL     | DECIMAL              |
+| CHAR        | STRING               |
+| LARGEINT    | STRING               |
+| VARCHAR     | STRING               |
+| DECIMALV2   | DECIMAL              |
+| TIME        | DOUBLE               |
+| HLL         | Unsupported datatype |
+
+请参阅 [flink-doris-connector](https://github.com/apache/doris/blob/1.0.0-rc03/docs/zh-CN/extending-doris/flink-doris-connector.md) 页面以获取更多细节。
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/elasticsearch.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/elasticsearch.md
new file mode 100644
index 0000000000..838fe01600
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/elasticsearch.md
@@ -0,0 +1,370 @@
+---
+title: Elasticsearch
+sidebar_position: 4
+---
+
+import {siteVariables} from '../../version';
+
+## 概览
+
+Elasticsearch Load 节点允许将数据写入到 Elasticsearch 引擎的索引中。本文档描述运行 SQL 查询时如何设置 Elasticsearch Load 节点。
+
+连接器可以工作在 Upsert 模式,使用 DDL 中定义的主键与外部系统交换 UPDATE/DELETE 消息。
+
+如果 DDL 中没有定义主键,那么连接器只能工作在 Append 模式,只能与外部系统交换 INSERT 消息。
+
+## 支持的版本
+
+| Load 节点                             | 版本                                                 | 
+|-------------------------------------|----------------------------------------------------|
+| [elasticsearch](./elasticsearch.md) | [Elasticsearch](https://www.elastic.co/): 5.x, 6.x, 7.x |
+
+### 依赖
+
+为了设置 Elasticsearch Load 节点,下表提供了使用构建自动化工具(例如 Maven 或 SBT)和带有 Sort Connectors JAR 包的 SQL 客户端的两个项目的依赖关系信息。
+
+- Elasticsearch 6
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-elasticsearch6</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+- Elasticsearch 7
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-elasticsearch7</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+## 如何创建一个 Elasticsearch Load 节点
+
+### SQL API 用法
+
+下面列子展示了如何利用`Flink SQL`创建一个 Elasticsearch Load 节点: 
+
+```sql
+CREATE TABLE myUserTable (
+  user_id STRING,
+  user_name STRING,
+  uv BIGINT,
+  pv BIGINT,
+  PRIMARY KEY (user_id) NOT ENFORCED
+) WITH (
+  'connector' = 'elasticsearch-7',
+  'hosts' = 'http://localhost:9200',
+  'index' = 'users'
+);
+```
+
+### InLong Dashboard 用法
+
+TODO: 将在未来支持这个特性。
+
+### InLong Manager Client 用法
+
+TODO: 将在未来支持这个特性。
+
+## Elasticsearch Load 节点参数
+
+<table class="table table-bordered">
+    <thead>
+      <tr>
+        <th class="text-left" style={{width: '25%'}}>参数</th>
+        <th class="text-center" style={{width: '8%'}}>是否必选</th>
+        <th class="text-center" style={{width: '7%'}}>默认值</th>
+        <th class="text-center" style={{width: '10%'}}>数据类型</th>
+        <th class="text-center" style={{width: '50%'}}>描述</th>
+      </tr>
+    </thead>
+    <tbody>
+    <tr>
+      <td><h5>connector</h5></td>
+      <td>必选</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>指定要使用的连接器,有效值为:
+      <ul>
+      <li><code>elasticsearch-6</code>:连接到 Elasticsearch 5.x and 6.x 的集群。</li>
+      <li><code>elasticsearch-7</code>:连接到 Elasticsearch 7.x 及更高版本的集群。</li>
+      </ul></td>
+    </tr>
+    <tr>
+      <td><h5>hosts</h5></td>
+      <td>必选</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>要连接到的一台或多台 Elasticsearch 主机,例如 <code>'http://host_name:9092;http://host_name:9093'</code>。</td>
+    </tr>
+    <tr>
+      <td><h5>index</h5></td>
+      <td>必选</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>Elasticsearch 中每条记录的索引。可以是一个静态索引(例如 <code>'myIndex'</code>)或一个动态索引(例如 <code>'index-{'{log_ts|yyyy-MM-dd}'}'</code>)。
+       更多详细信息,请参见下面的<a href="#dymic-index">动态索引</a>部分。</td>
+    </tr>
+    <tr>
+      <td><h5>document-type</h5></td>
+      <td>6.x 版本中必选</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>Elasticsearch 文档类型。在 <code>elasticsearch-7</code> 中不再需要。</td>
+    </tr>
+    <tr>
+      <td><h5>document-id.key-delimiter</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>_</td>
+      <td>String</td>
+      <td>复合键的分隔符(默认为"_"),例如,指定为"$"将导致文档 ID 为"KEY1$KEY2$KEY3"。</td>
+    </tr>
+    <tr>
+      <td><h5>username</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>用于连接 Elasticsearch 实例的用户名。请注意,Elasticsearch 没有预绑定安全特性,但你可以通过如下<a href="https://www.elastic.co/guide/en/elasticsearch/reference/master/configuring-security.html">指南</a>启用它来保护 Elasticsearch 集群。</td>
+    </tr>
+    <tr>
+      <td><h5>password</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>用于连接 Elasticsearch 实例的密码。如果配置了<code>username</code>,则此选项也必须配置为非空字符串。</td>
+    </tr>
+    <tr>
+      <td><h5>failure-handler</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>fail</td>
+      <td>String</td>
+      <td>对 Elasticsearch 请求失败情况下的失败处理策略。有效策略为:
+      <ul>
+        <li><code>fail</code>:如果请求失败并因此导致作业失败,则抛出异常。</li>
+        <li><code>ignore</code>:忽略失败并放弃请求。</li>
+        <li><code>retry-rejected</code>:重新添加由于队列容量饱和而失败的请求。</li>
+        <li>自定义类名称:使用 ActionRequestFailureHandler 的子类进行失败处理。</li>
+      </ul>
+      </td>
+    </tr>
+    <tr>
+      <td><h5>sink.flush-on-checkpoint</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>true</td>
+      <td>Boolean</td>
+      <td>是否在 checkpoint 时执行 flush。禁用后,在 checkpoint 时 sink 将不会等待所有的 pending 请求被 Elasticsearch 确认。因此,sink 不会为请求的 at-least-once 交付提供任何有力保证。
+      </td>
+    </tr>
+    <tr>
+      <td><h5>sink.bulk-flush.max-actions</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>1000</td>
+      <td>Integer</td>
+      <td>每个批量请求的最大缓冲操作数。
+      可以设置为<code>'0'</code>来禁用它。
+      </td>
+    </tr>
+    <tr>
+      <td><h5>sink.bulk-flush.max-size</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>2mb</td>
+      <td>MemorySize</td>
+      <td>每个批量请求的缓冲操作在内存中的最大值。单位必须为 MB。
+      可以设置为<code>'0'</code>来禁用它。
+      </td>
+    </tr>
+    <tr>
+      <td><h5>sink.bulk-flush.interval</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>1s</td>
+      <td>Duration</td>
+      <td>flush 缓冲操作的间隔。
+        可以设置为<code>'0'</code>来禁用它。注意,<code>'sink.bulk-flush.max-size'</code>和<code>'sink.bulk-flush.max-actions'</code>都设置为<code>'0'</code>的这种 flush 间隔设置允许对缓冲操作进行完全异步处理。
+      </td>
+    </tr>
+    <tr>
+      <td><h5>sink.bulk-flush.backoff.strategy</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>DISABLED</td>
+      <td>String</td>
+      <td>指定在由于临时请求错误导致任何 flush 操作失败时如何执行重试。有效策略为:
+      <ul>
+        <li><code>DISABLED</code>:不执行重试,即第一次请求错误后失败。</li>
+        <li><code>CONSTANT</code>:等待重试之间的回退延迟。</li>
+        <li><code>EXPONENTIAL</code>:先等待回退延迟,然后在重试之间指数递增。</li>
+      </ul>
+      </td>
+    </tr>
+    <tr>
+      <td><h5>sink.bulk-flush.backoff.max-retries</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>8</td>
+      <td>Integer</td>
+      <td>最大回退重试次数。</td>
+    </tr>
+    <tr>
+      <td><h5>sink.bulk-flush.backoff.delay</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>50ms</td>
+      <td>Duration</td>
+      <td>每次回退尝试之间的延迟。对于 <code>CONSTANT</code> 回退策略,该值是每次重试之间的延迟。对于 <code>EXPONENTIAL</code> 回退策略,该值是初始的延迟。</td>
+    </tr>
+    <tr>
+      <td><h5>connection.max-retry-timeout</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>Duration</td>
+      <td>最大重试超时时间。</td>
+    </tr>
+    <tr>
+      <td><h5>connection.path-prefix</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>添加到每个 REST 通信中的前缀字符串,例如,<code>'/v1'</code>。</td>
+    </tr>
+    <tr>
+      <td><h5>routing.filed-name</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>使用 field 值来生成该 field 的动态路由</td>
+    </tr>
+    <tr>
+      <td><h5>format</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>json</td>
+      <td>String</td>
+      <td>Elasticsearch 连接器支持指定格式。该格式必须生成一个有效的 json 文档。
+       默认使用内置的 <code>'json'</code> 格式。更多详细信息,请参阅 <a href="https://nightlies.apache.org/flink/flink-docs-release-1.13/zh/docs/connectors/table/formats/overview/">JSON Format</a> 页面。
+      </td>
+    </tr>
+    <tr>
+      <td>inlong.metric.labels</td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>inlong metric 的标签值,该值的构成为groupId=[groupId]&streamId=[streamId]&nodeId=[nodeId]。</td> 
+     </tr>
+    </tbody>
+</table>
+
+特性
+----------------
+
+### Key 处理
+
+Elasticsearch Load 节点可以根据是否定义了主键来确定是在 Upsert 模式还是 Append 模式下工作。
+如果定义了主键,Elasticsearch Load 节点将以 Upsert 模式工作,该模式可以消费包含 UPDATE/DELETE 消息的查询。
+如果未定义主键,Elasticsearch Load 节点将以 Append 模式工作,该模式只能消费包含 INSERT 消息的查询。
+
+在 Elasticsearch Load 节点中,主键用于计算 Elasticsearch 的文档 Id,文档 Id 为最多 512 字节且不包含空格的字符串。
+Elasticsearch Load 节点通过使用 `document-id.key-delimiter` 指定的键分隔符按照 DDL 中定义的顺序连接所有主键字段,为每一行记录生成一个文档 Id 字符串。
+某些类型不允许作为主键字段,因为它们没有对应的字符串表示形式,例如,`BYTES`,`ROW`,`ARRAY`,`MAP` 等。
+如果未指定主键,Elasticsearch 将自动生成文档 Id。
+
+有关 PRIMARY KEY 语法的更多详细信息,请参见 [CREATE TABLE DDL](https://nightlies.apache.org/flink/flink-docs-release-1.13/zh/docs/dev/table/sql/create/#create-table)。
+
+### 动态索引
+
+<a name = "dymic-index"></a>
+
+Elasticsearch Load 节点同时支持静态索引和动态索引。
+
+如果你想使用静态索引,则 `index` 选项值应为纯字符串,例如 `'myusers'`,所有记录都将被写入到 "myusers" 索引中。
+
+如果你想使用动态索引,你可以使用 `{field_name}` 来引用记录中的字段值来动态生成目标索引。
+你也可以使用 `'{field_name|date_format_string}'` 将 `TIMESTAMP/DATE/TIME` 类型的字段值转换为 `date_format_string` 指定的格式。
+`date_format_string` 与 Java 的 [DateTimeFormatter](https://docs.oracle.com/javase/8/docs/api/index.html) 兼容。
+例如,如果选项值设置为 `'myusers-{'{log_ts|yyyy-MM-dd}'}'`,则 `log_ts` 字段值为 `2020-03-27 12:25:55` 的记录将被写入到 "myusers-2020-03-27" 索引中。
+
+## 数据类型映射
+
+<table class="table table-bordered">
+    <thead>
+      <tr>
+        <th class="text-left">JSON type</th>
+        <th class="text-left">Flink SQL type</th>
+      </tr>
+    </thead>
+    <tbody>
+    <tr>
+      <td><code>string</code></td>
+      <td><code>CHAR / VARCHAR / STRING</code></td>
+    </tr>
+    <tr>
+      <td><code>boolean</code></td>
+      <td><code>BOOLEAN</code></td>
+    </tr>
+    <tr>
+      <td><code>string with encoding: base64</code></td>
+      <td><code>BINARY / VARBINARY</code></td>
+    </tr>
+    <tr>
+      <td><code>number</code></td>
+      <td><code>DECIMAL</code></td>
+    </tr>
+    <tr>
+      <td><code>number</code></td>
+      <td><code>TINYINT</code></td>
+    </tr>
+    <tr>
+      <td><code>number</code></td>
+      <td><code>SMALLINT</code></td>
+    </tr>
+    <tr>
+      <td><code>number</code></td>
+      <td><code>INT</code></td>
+    </tr>
+    <tr>
+      <td><code>number</code></td>
+      <td><code>BIGINT</code></td>
+    </tr>
+    <tr>
+      <td><code>number</code></td>
+      <td><code>FLOAT</code></td>
+    </tr>
+    <tr>
+      <td><code>number</code></td>
+      <td><code>DOUBLE</code></td>
+    </tr>
+    <tr>
+      <td><code>string with format: date</code></td>
+      <td><code>DATE</code></td>
+    </tr>
+    <tr>
+      <td><code>string with format: time</code></td>
+      <td><code>TIME</code></td>
+    </tr>
+    <tr>
+      <td><code>string with format: date-time</code></td>
+      <td><code>TIMESTAMP</code></td>
+    </tr>
+    <tr>
+      <td><code>string with format: date-time (with UTC time zone)</code></td>
+      <td><code>TIMESTAMP_WITH_LOCAL_TIME_ZONE</code></td>
+    </tr>
+    <tr>
+      <td><code>number</code></td>
+      <td><code>INTERVAL</code></td>
+    </tr>
+    <tr>
+      <td><code>array</code></td>
+      <td><code>ARRAY</code></td>
+    </tr>
+    <tr>
+      <td><code>object</code></td>
+      <td><code>MAP / MULTISET</code></td>
+    </tr>
+    <tr>
+      <td><code>object</code></td>
+      <td><code>ROW</code></td>
+    </tr>
+    </tbody>
+</table>
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/greenplum.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/greenplum.md
new file mode 100644
index 0000000000..be22caa540
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/greenplum.md
@@ -0,0 +1,118 @@
+---
+title: Greenplum
+sidebar_position: 5
+---
+
+import {siteVariables} from '../../version';
+
+## 概览
+
+`Greenplum Load` 节点支持将数据写入 Greenplum 数据库。 本文档介绍如何设置 Greenplum Load 节点以对 Greenplum 数据库运行 SQL 查询。
+
+## 支持的版本
+
+| Load 节点                | Driver | Group Id | Artifact Id | JAR |                                                                                                                                                                                                                                                                                                                                                                                       
+|--------------------------|--------|----------|-------------|-----|
+| [Greenplum](./greenplum.md) | PostgreSQL  | org.postgresql | postgresql | [下载](https://jdbc.postgresql.org/download.html) |
+
+## 依赖
+
+为了设置 Greenplum Load 节点, 下面提供了使用构建自动化工具(例如 Maven 或 SBT)和带有 Sort Connector JAR 包的 SQL 客户端的两个项目的依赖关系信息。
+
+### Maven 依赖
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-jdbc</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+## 如何创建 PostgreSQL Load 节点
+
+### SQL API 用法
+
+```sql
+
+-- MySQL Extract 节点
+CREATE TABLE `mysql_extract_table`(
+  PRIMARY KEY (`id`) NOT ENFORCED,
+  `id` BIGINT,
+  `name` STRING,
+  `age` INT
+) WITH (
+  'connector' = 'mysql-cdc-inlong',
+  'url' = 'jdbc:mysql://localhost:3306/read',
+  'username' = 'inlong',
+  'password' = 'inlong',
+  'table-name' = 'user'
+)
+
+-- Greenplum Load 节点
+CREATE TABLE `greenplum_load_table`(
+  PRIMARY KEY (`id`) NOT ENFORCED,
+  `id` BIGINT,
+  `name` STRING,
+  `age` INT
+) WITH (
+  'connector' = 'jdbc-inlong',
+  'url' = 'jdbc:postgresql://localhost:5432/write',
+  'dialect-impl' = 'org.apache.inlong.sort.jdbc.dialect.GreenplumDialect',
+  'username' = 'inlong',
+  'password' = 'inlong',
+  'table-name' = 'public.user'
+)
+
+-- 写数据到 Greenplum
+INSERT INTO greenplum_load_table 
+SELECT id, name , age FROM mysql_extract_table;  
+
+```
+
+### InLong Dashboard 用法
+
+TODO: 将在未来支持此功能。
+
+### InLong Manager Client 用法
+
+TODO: 将在未来支持此功能。
+
+## Greenplum Load 节点参数
+
+| 参数 | 是否必选 | 默认值 | 数据类型 | 描述 |
+|---------|----------|---------|------|------------|
+| connector | 必选 | (none) | String | 指定使用什么类型的连接器,这里应该是 'jdbc-inlong'。 |
+| url | 必选 | (none) | String | JDBC 数据库 url。 |
+| dialect-impl | 必选 | (none) |  String | `org.apache.inlong.sort.jdbc.dialect.GreenplumDialect` |
+| table-name | 必选 | (none) | String | 连接到 JDBC 表的名称。 |
+| driver | 可选 | (none) | String | 用于连接到此 URL 的 JDBC 驱动类名,如果不设置,将自动从 URL 中推导。 |
+| username | 可选 | (none) | String | JDBC 用户名。如果指定了 'username' 和 'password' 中的任一参数,则两者必须都被指定。 |
+| password | 可选 | (none) | String | JDBC 密码。 |
+| connection.max-retry-timeout | 可选 | 60s | Duration | 最大重试超时时间,以秒为单位且不应该小于 1 秒。 |
+| sink.buffer-flush.max-rows | 可选 | 100 | Integer | flush 前缓存记录的最大值,可以设置为 '0' 来禁用它。 |
+| sink.buffer-flush.interval | 可选 | 1s | Duration | flush 间隔时间,超过该时间后异步线程将 flush 数据。可以设置为 '0' 来禁用它。注意, 为了完全异步地处理缓存的 flush 事件,可以将 'sink.buffer-flush.max-rows' 设置为 '0' 并配置适当的 flush 时间间隔。 |
+| sink.max-retries | 可选 | 3 | Integer | 写入记录到数据库失败后的最大重试次数。 |
+| sink.parallelism | 可选 | (none) | Integer | 用于定义 JDBC sink 算子的并行度。默认情况下,并行度是由框架决定:使用与上游链式算子相同的并行度。 |
+| sink.ignore.changelog | 可选 | false | Boolean |  忽略所有 RowKind 类型的变更日志,将它们当作 INSERT 的数据来采集。 |
+| inlong.metric.labels | 可选 | (none) | String | inlong metric 的标签值,该值的构成为groupId=`{groupId}`&streamId=`{streamId}`&nodeId=`{nodeId}`。|
+
+## 数据类型映射
+
+| Greenplum 类型 | Flink SQL 类型 |
+|-----------------|----------------|
+|                 | TINYINT        |
+| SMALLINT <br/> INT2 <br/> SMALLSERIAL <br/> SERIAL2 | SMALLINT |
+| INTEGER <br/> SERIAL | INT |
+| BIGINT <br/> BIGSERIAL | BIGINT |
+| | DECIMAL(20, 0) |
+| REAL <br/> FLOAT4 | FLOAT |
+| FLOAT8 <br/> DOUBLE PRECISION| DOUBLE |
+| NUMERIC(p, s) <br/> DECIMAL(p, s) | DECIMAL(p, s) |
+| BOOLEAN | BOOLEAN |
+| DATE | DATE |
+| TIME [(p)] [WITHOUT TIMEZONE] | TIME [(p)] [WITHOUT TIMEZONE] |
+| TIMESTAMP [(p)] [WITHOUT TIMEZONE | TIMESTAMP [(p)] [WITHOUT TIMEZONE] |
+| CHAR(n) <br/> CHARACTER(n) <br/> VARCHAR(n) <br/> CHARACTER VARYING(n) <br/> TEXT | STRING |
+| BYTEA | BYTES |
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/hbase.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/hbase.md
new file mode 100644
index 0000000000..dbb7b68898
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/hbase.md
@@ -0,0 +1,126 @@
+---
+title: HBase
+sidebar_position: 6
+---
+
+import {siteVariables} from '../../version';
+
+## 概览
+
+`HBase Load` 节点支持写数据都 HBase 数据库.
+
+## 支持的版本
+
+| Load 节点                | HBase 版本 |                                                                                                                                                                                                                                                                                                                                                                                           
+|-------------------------|------------|
+| [HBase](./hbase.md)     | 2.2.x      |  
+
+## 依赖
+
+为了设置 HBase Load 节点, 下面提供了使用构建自动化工具(例如 Maven 或 SBT)和带有 Sort Connector JAR 包的 SQL 客户端的两个项目的依赖关系信息。
+
+
+### Maven dependency
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-hbase</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+## 如何创建 HBase Load 节点
+
+### SQL API 用法
+
+所有 HBase 表的列簇必须定义为 ROW 类型,字段名对应列簇名(column family),嵌套的字段名对应列限定符名(column qualifier)。用户只需在表结构中
+声明查询中使用的的列簇和列限定符。除了 ROW 类型的列,剩下的原子数据类型字段(比如,STRING, BIGINT)将被识别为 HBase 的 rowkey,一张表中只能声明一个 
+rowkey。rowkey 字段的名字可以是任意的,如果是保留关键字,需要用反引号。  
+
+下面这个例子展示了如何用 `Flink SQL` 创建一个 HBase Load 节点:
+
+```sql
+-- 在 Flink SQL 中创建 HBase 表 'hbase_load_node'
+CREATE TABLE hbase_load_node (
+    rowkey STRING,
+    family1 ROW<q1 INT>,
+    family2 ROW<q2 STRING, q3 BIGINT>,
+    family3 ROW<q4 DOUBLE, q5 BOOLEAN, q6 STRING>,
+    PRIMARY KEY (rowkey) NOT ENFORCED
+) WITH (
+      'connector' = 'hbase-2.2-inlong',
+      'table-name' = 'mytable',
+      'zookeeper.quorum' = 'localhost:2181'
+);
+
+-- 使用 ROW(...) 构造函数构造列族和写数据到 HBase 表。
+-- 假设表"T"的 schema [rowkey, f1q1, f2q2, f2q3, f3q4, f3q5, f3q6]
+INSERT INTO hTable
+SELECT rowkey, ROW(f1q1), ROW(f2q2, f2q3), ROW(f3q4, f3q5, f3q6) FROM T;
+
+-- 从 HBase 表中扫描数据
+SELECT rowkey, family1, family3.q4, family3.q6 FROM hTable;
+
+-- 将 HBase 表临时连接为维度表
+SELECT * FROM myTopic
+LEFT JOIN hTable FOR SYSTEM_TIME AS OF myTopic.proctime
+ON myTopic.key = hTable.rowkey;
+```
+
+### InLong Dashboard 用法
+
+TODO: 将在未来支持此功能。
+
+### InLong Manager Client 用法
+
+TODO: 将在未来支持此功能。
+
+## HBase Load 节点参数
+
+| 参数 | 是否必选 | 默认值 | 数据类型 | 描述 |
+|-----|---------|-------|---------|-----|
+| connector | 必选 | (none) | String | 指定使用的连接器: hbase-2.2-inlong: 连接 HBase 2.2.x 集群 |
+| table-name | 必选 | (none) | String | 连接的 HBase 表名。 |
+| zookeeper.quorum | 必选 | (none) | String | HBase Zookeeper quorum 信息。 |
+| zookeeper.znode.parent | 可选 | /hbase | String | HBase 集群的 Zookeeper 根目录。|
+| null-string-literal | 可选 | null | String | 当字符串值为 null 时的存储形式,默认存成 "null" 字符串。HBase 的 source 和 sink 的编解码将所有数据类型(除字符串外)将 null 值以空字节来存储。 |
+| sink.buffer-flush.max-size | 可选 | 2mb | MemorySize | 写入的参数选项。每次写入请求缓存行的最大大小。它能提升写入 HBase 数据库的性能,但是也可能增加延迟。设置为 "0" 关闭此选项。 |
+| sink.buffer-flush.max-rows | 可选 | 1000 | Integer | 写入的参数选项。 每次写入请求缓存的最大行数。它能提升写入 HBase 数据库的性能,但是也可能增加延迟。设置为 "0" 关闭此选项。 |
+| sink.buffer-flush.interval | 可选 | 1s | Duration | 写入的参数选项。刷写缓存行的间隔。它能提升写入 HBase 数据库的性能,但是也可能增加延迟。设置为 "0" 关闭此选项。注意:"sink.buffer-flush.max-size" 和 "sink.buffer-flush.max-rows" 同时设置为 "0",刷写选项整个异步处理缓存行为。 |
+| sink.parallelism | 可选 | (none) | Integer | 为 HBase sink operator 定义并行度。默认情况下,并行度由框架决定,和链在一起的上游 operator 一样。 |
+| lookup.async | 可选 | false | Boolean | 是否启用异步查找。如果为真,查找将是异步的。注意:异步方式只支持 hbase-2.2 连接器 |
+| lookup.cache.max-rows | 可选 | (none) | Integer | 查找缓存的最大行数,超过这个值,最旧的行将过期。注意:"lookup.cache.max-rows" 和 "lookup.cache.ttl" 必须同时被设置。默认情况下,查找缓存是禁用的。 |
+| lookup.cache.ttl | 可选 | (none) | Duration | 查找缓存中每一行的最大生存时间,在这段时间内,最老的行将过期。注意:"lookup.cache.max-rows" 和 "lookup.cache.ttl" 必须同时被设置。默认情况下,查找缓存是禁用的。 |
+| lookup.max-retries | 可选 | 3 | Integer | 查找数据库失败时的最大重试次数。 |
+| properties.* | 可选 | (none) | String | 可以设置任意 HBase 的配置项。后缀名必须匹配在 [HBase 配置文档](https://hbase.apache.org/2.3/book.html#hbase_default_configurations) 中定义的配置键。Flink 将移除 "properties." 配置键前缀并将变换后的配置键和值传入底层的 HBase 客户端。 例如您可以设置 'properties.hbase.security.authentication' = 'kerberos' 等kerberos认证参数。 |
+| inlong.metric.labels | 可选 | (none) | String | inlong metric 的标签值,该值的构成为groupId=`{groupId}`&streamId=`{streamId}`&nodeId=`{nodeId}`。|
+
+## 数据类型映射
+
+HBase 以字节数组存储所有数据。在读和写过程中要序列化和反序列化数据。
+
+Flink 的 HBase 连接器利用 HBase(Hadoop) 的工具类 org.apache.hadoop.hbase.util.Bytes 进行字节数组和 Flink 数据类型转换。
+
+Flink 的 HBase 连接器将所有数据类型(除字符串外)null 值编码成空字节。对于字符串类型,null 值的字面值由null-string-literal选项值决定。
+
+数据类型映射表如下:
+
+| Flink SQL 类型 | HBase 转换 |
+|-----------------|-----------------|
+| CHAR <br/> VARCHAR <br/> STRING | byte[] toBytes(String s) <br/> String toString(byte[] b) |
+| BOOLEAN | byte[] toBytes(boolean b) <br/> boolean toBoolean(byte[] b) |
+| BINARY <br/> VARBINARY | Returns byte[] as is. |
+| DECIMAL | byte[] toBytes(BigDecimal v) <br/> BigDecimal toBigDecimal(byte[] b) |
+| TINYINT | new byte[] { val } <br/> bytes[0] // returns first and only byte from bytes |
+| SMALLINT | byte[] toBytes(short val) <br/> short toShort(byte[] bytes) |
+| INT | byte[] toBytes(int val) <br/> int toInt(byte[] bytes) |
+| BIGINT | byte[] toBytes(long val) <br/> long toLong(byte[] bytes) |
+| FLOAT | byte[] toBytes(float val) <br/> float toFloat(byte[] bytes) |
+| DOUBLE | byte[] toBytes(double val) <br/> double toDouble(byte[] bytes) |
+| DATE | Stores the number of days since epoch as int value. |
+| TIME | Stores the number of milliseconds of the day as int value. |
+| TIMESTAMP | Stores the milliseconds since epoch as long value. |
+| ARRAY | Not supported |
+| MAP <br/> MULTISET | Not supported |
+| ROW | Not supported |
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/hdfs.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/hdfs.md
new file mode 100644
index 0000000000..f8d212c59d
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/hdfs.md
@@ -0,0 +1,215 @@
+---
+title: HDFS
+sidebar_position: 7
+---
+
+## 概览
+HDFS 连接器为 Flink 内部依赖,支持分区文件。
+在 Flink 中包含了该文件系统连接器,不需要添加额外的依赖。
+相应的 jar 包可以在 Flink 工程项目的 /lib 目录下找到。
+从文件系统中读取或者向文件系统中写入行时,需要指定相应的 format。
+
+## 如何创建 HDFS 加载节点
+
+### SQL API 的使用
+使用 `Flink SQL Cli` :
+
+```sql
+CREATE TABLE hdfs_load_node (
+  id STRING,
+  name STRING,
+  uv BIGINT,
+  pv BIGINT,
+  dt STRING,
+ `hour` STRING
+  ) PARTITIONED BY (dt, `hour`) WITH (
+    'connector'='filesystem-inlong',
+    'path'='...',
+    'format'='orc',
+    'sink.partition-commit.delay'='1 h',
+    'sink.partition-commit.policy.kind'='success-file'
+  );
+```
+
+#### File Formats
+<ul>
+<li>CSV(非压缩格式)</li>
+<li>JSON(文件系统连接器的 JSON format 与传统的标准的 JSON file 的不同,而是非压缩的。换行符分割的 JSON)</li>
+<li>Avro(通过配置 avro.codec 属性支持压缩)</li>
+<li>Parquet(与 hive 兼容)</li>
+<li>Orc(与 hive 兼容)</li>
+<li>Debezium-JSON</li>
+<li>Canal-JSON</li>
+<li>Raw</li>
+</ul>
+
+备注:文件格式明细可以查看[Flink Formats](https://nightlies.apache.org/flink/flink-docs-master/zh/docs/connectors/table/formats/overview/)
+
+#### 滚动策略
+
+数据会被加载到文件的目录下的 part 文件中,每个分区接收到来之 subtask 的数据至少会为该分区生成一个 part 文件。同时可以配置滚动策略
+来生成 part 文件,生成 part 文件会将 in-progress part 文件关闭。该策略基于大小和指定文件被打开的超时时间来生成 part 文件。
+
+<table class="table table-bordered">
+    <thead>
+      <tr>
+          <th class="text-left" style={{width: '10%'}}>参数</th>
+          <th class="text-left" style={{width: '7%'}}>默认值</th>
+          <th class="text-left" style={{width: '10%'}}>数据类型</th>
+          <th class="text-left" style={{width: '65%'}}>描述</th>
+      </tr>
+    </thead>
+    <tbody>
+    <tr>
+        <td><h5>sink.rolling-policy.file-size</h5></td>
+        <td style={{wordWrap: 'break-word'}}>128MB</td>
+        <td>MemorySize</td>
+        <td>滚动前 part 文件的最大值。</td>
+    </tr>
+    <tr>
+      <td><h5>sink.rolling-policy.rollover-interval</h5></td>
+      <td style={{wordWrap: 'break-word'}}>30 min</td>
+      <td>String</td>
+      <td>滚动前,part 文件处于打开状态的最大时长(默认值30分钟,以避免产生大量小文件)。
+       检查频率是由 'sink.rolling-policy.check-interval' 属性控制的。</td>
+    </tr>
+    <tr>
+      <td><h5>sink.rolling-policy.check-interval</h5></td>
+      <td style={{wordWrap: 'break-word'}}>1 min</td>
+      <td>String</td>
+      <td>基于时间的滚动策略的检查间隔。
+      该属性控制了基于 'sink.rolling-policy.rollover-interval' 属性检查文件是否该被滚动的检查频率。</td>
+    </tr>
+    </tbody>
+</table>
+
+#### 文件合并 
+支持文件能力,允许在较小的 checkpoint 下不产生大量的小文件。
+<table class="table table-bordered">
+    <thead>
+      <tr>
+          <th class="text-left" style={{width: '10%'}}>参数</th>
+          <th class="text-left" style={{width: '7%'}}>默认值</th>
+          <th class="text-left" style={{width: '10%'}}>数据类型</th>
+          <th class="text-left" style={{width: '65%'}}>描述</th>
+      </tr>
+    </thead>
+    <tbody>
+    <tr>
+        <td><h5>auto-compaction</h5></td>
+        <td style={{wordWrap: 'break-word'}}>false</td>
+        <td>Boolean</td>
+        <td>在流式 sink 中是否开启自动合并功能,数据首先会被写入临时文件。
+        当 checkpoint 完成后,该检查点产生的临时文件会被合并,这些临时文件在合并前不可见。</td>
+    </tr>
+    <tr>
+      <td><h5>compaction.file-size</h5></td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>合并目标文件大小,默认值为滚动文件大小。</td>
+    </tr>
+    <tr>
+      <td>inlong.metric.labels</td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>inlong metric 的标签值,该值的构成为groupId=[groupId]&streamId=[streamId]&nodeId=[nodeId]。</td> 
+    </tr>
+    </tbody>
+</table>
+
+#### 分区提交 
+
+分区数据写入完成后,一般需要通知下流应用。如:更新 hive 的元数据信息或者 hdfs 目录生成 _SUCCESS 文件。
+分区提交策略是配置的,分区提交行为基于 triggers 和 policies 的组合。
+
+- Trigger :分区提交时机可以基于分区的 watermark 或者基于处理时间(process-time)。
+- Policy :分区提交策略,内置策略包括提交 hive 元数据和生成 _SUCCESS 文件,同时支持自定策略,如生成 hive 的统计信息、合并小文件等。
+
+备注:分区提交仅支持动态分区插入。
+
+<table class="table table-bordered">
+    <thead>
+      <tr>
+          <th class="text-left" style={{width: '10%'}}>参数</th>
+          <th class="text-left" style={{width: '7%'}}>默认值</th>
+          <th class="text-left" style={{width: '10%'}}>数据类型</th>
+          <th class="text-left" style={{width: '65%'}}>描述</th>
+      </tr>
+    </thead>
+    <tbody>
+    <tr>
+        <td><h5>sink.partition-commit.trigger</h5></td>
+        <td style={{wordWrap: 'break-word'}}>process-time</td>
+        <td>String</td>
+        <td>分区提交触发器类型: 'process-time':基于机器时间既不需要分区时间提取器也不需要 watermark 生成器。
+        一旦 "当前系统时间" 超过了 "分区创建系统时间" 和 'sink.partition-commit.delay' 之和立即提交分区。<br/>
+         'partition-time':基于提取的分区时间,需要 watermark 生成。一旦 watermark 超过了 "分区创建系统时间" 和 'sink.partition-commit.delay' 之和立即提交分区。</td>
+    </tr>
+    <tr>
+      <td><h5>sink.partition-commit.delay</h5></td>
+      <td style={{wordWrap: 'break-word'}}>0 s</td>
+      <td>Duration</td>
+      <td>如果设置分区延迟提交,这个延迟时间之前不会提交。天:'d';小时:'h';秒:'s'等</td>
+    </tr>
+    <tr>
+      <td><h5>sink.partition-commit.watermark-time-zone</h5></td>
+      <td style={{wordWrap: 'break-word'}}>UTC</td>
+      <td>String</td>
+      <td> 解析 Long 类型的 watermark 到 TIMESTAMP 类型时所采用的时区,
+      解析得到的 watermark 的 TIMESTAMP 会被用来跟分区时间进行比较以判断是否该被提交。
+      这个属性仅当 `sink.partition-commit.trigger` 被设置为 'partition-time' 时有效。
+      如果这个属性设置的不正确,例如在 TIMESTAMP_LTZ 类型的列上定义了 source rowtime,
+      如果没有设置该属性,那么用户可能会在若干个小时后才看到分区的提交。
+      默认值为 'UTC' 意味着 watermark 是定义在 TIMESTAMP 类型的列上或者没有定义 watermark。
+      如果 watermark 定义在 TIMESTAMP_LTZ 类型的列上,watermark 时区必须是会话时区(session time zone)。
+      该属性的可选值要么是完整的时区名比如 'America/Los_Angeles',要么是自定义时区,例如 'GMT-08:00'。</td>
+    </tr>
+    </tbody>
+</table>
+
+#### 分区提交策略
+
+分区提交策略定义了分区提交使用的具体策略。
+
+- metastore:仅在 hive 时支持该策略。
+- success: part 文件生成后会生成 '_SUCCESS' 文件。
+
+<table class="table table-bordered">
+    <thead>
+      <tr>
+        <th class="text-left" style={{width: '25%'}}>参数</th>
+        <th class="text-left" style={{width: '8%'}}>是否必须</th>
+        <th class="text-center" style={{width: '7%'}}>默认值</th>
+        <th class="text-center" style={{width: '10%'}}>数据类型</th>
+        <th class="text-center" style={{width: '50%'}}>描述</th>
+      </tr>
+    </thead>
+    <tbody>
+    <tr>
+        <td><h5>sink.partition-commit.policy.kind</h5></td>
+        <td>可选</td>
+        <td style={{wordWrap: 'break-word'}}>(none)</td>
+        <td>String</td>
+        <td>分区策略通知分区 part 生成可以被访问,仅 hive 支持 metastore 策略,文件系统生成 '_success' 文件表示文件写入完成。
+        两种策略的指定分别为 'metastore,success-file' ,也可以通过 custom 的指定的类创建提交策略。</td>
+    </tr>
+    <tr>
+      <td><h5>sink.partition-commit.policy.class</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>实现 PartitionCommitPolicy 接口的分区提交策略类,只有在 custom 提交策略下才使用该类。</td>
+    </tr>
+    <tr>
+      <td><h5>sink.partition-commit.success-file.name</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>_SUCCESS</td>
+      <td>String</td>
+      <td>使用 success-file 分区提交策略时的文件名,默认值是 '_SUCCESS'。</td>
+    </tr>
+    </tbody>
+</table>
+
+
+
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/hive.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/hive.md
new file mode 100644
index 0000000000..b84e32212e
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/hive.md
@@ -0,0 +1,220 @@
+---
+title: Hive
+sidebar_position: 8
+---
+
+import {siteVariables} from '../../version';
+
+## 概览
+Hive 加载节点可以将数据写入 Hive。使用 Flink 方言,目前仅支持 Insert 操作,Upsert 模式下的数据会转换成 Insert 方式
+目前暂时不支持使用 Hive 方言操作 Hive 表。
+
+## 支持的版本
+
+| Load Node                           | Version                                            | 
+|-------------------------------------|----------------------------------------------------|
+| [Hive](./hive.md) | [Hive](https://nightlies.apache.org/flink/flink-docs-master/docs/connectors/table/hive/overview/#supported-hive-version): 1.x, 2.x, 3.x |
+
+### 依赖
+
+通过 Maven 引入 sort-connector-hive 构建自己的项目。
+当然,你也可以直接使用 INLONG 提供的 jar 包。([sort-connector-hive](https://inlong.apache.org/download))
+
+### Maven 依赖
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-hive</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+## 如何配置 Hive 数据加载节点
+
+### SQL API 的使用
+
+使用 `Flink SQL Cli` :
+
+```sql
+CREATE TABLE hiveTableName (
+  id STRING,
+  name STRING,
+  uv BIGINT,
+  pv BIGINT
+) WITH (
+  'connector' = 'hive',
+  'default-database' = 'default',
+  'hive-version' = '3.1.2',
+  'hive-conf-dir' = 'hdfs://localhost:9000/user/hive/hive-site.xml'
+);
+```
+### InLong Dashboard 方式
+
+#### 配置
+在创建数据流时,选择数据落地为 'Hive' 然后点击 'Add' 来配置 Hive 的相关信息。
+
+![Hive Configuration](img/hive.png)
+
+### InLong Manager Client 方式
+
+TODO: 未来版本支持
+
+## Hive 加载节点参数信息
+<table class="table table-bordered">
+    <thead>
+      <tr>
+              <th class="text-left" style={{width: '10%'}}>参数</th>
+              <th class="text-left" style={{width: '8%'}}>是否必须</th>
+              <th class="text-left" style={{width: '7%'}}>默认值</th>
+              <th class="text-left" style={{width: '10%'}}>数据类型</th>
+              <th class="text-left" style={{width: '65%'}}>描述</th>
+      </tr>
+    </thead>
+    <tbody>
+    <tr>
+        <td><h5>connector</h5></td>
+        <td>必须</td>
+        <td style={{wordWrap: 'break-word'}}>(none)</td>
+        <td>String</td>
+        <td>指定使用什么连接器,这里应该是  'hive'。</td>
+    </tr>
+    <tr>
+      <td><h5>default-database</h5></td>
+      <td>必须</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>指定数据库名称。</td>
+    </tr>
+    <tr>
+      <td><h5>hive-conf-dir</h5></td>
+      <td>必须</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>本地构建项目可以将hive-site.xml构建到 classpath 中,未来 Dashboard 将支持本地上传能力。
+      目前通用方式只支持配置已经上传文件后的 HDFS 路径。</td>
+    </tr>
+    <tr>
+      <td><h5>sink.partition-commit.trigger</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>如果表是分区表,可以配置触发模式。如:(process-time)</td>
+    </tr>
+    <tr>
+      <td><h5>partition.time-extractor.timestamp-pattern</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>如果表是分区表,可以配置时间戳。如:(yyyy-MM-dd)</td>
+    </tr>
+    <tr>
+      <td><h5>sink.partition-commit.delay</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>如果表是分区表,可以配置延迟时间。如:(10s,20s,1m...)</td>
+    </tr>
+    <tr>
+      <td><h5>sink.partition-commit.policy.kind</h5></td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>分区提交策略通知下游某个分区已经写完毕可以被读取了。 
+      metastore:向 metadata 增加分区。仅 hive 支持 metastore 策略,文件系统通过目录结构管理分区; 
+      success-file:在目录中增加 '_success' 文件; 
+      上述两个策略可以同时指定:'metastore,success-file'。 
+      custom:通过指定的类来创建提交策略, 
+      支持同时指定多个提交策略:'metastore,success-file'。</td>
+    </tr>
+    <tr>
+      <td>inlong.metric.labels</td>
+      <td>可选</td>
+      <td style={{wordWrap: 'break-word'}}>(none)</td>
+      <td>String</td>
+      <td>inlong metric 的标签值,该值的构成为groupId=[groupId]&streamId=[streamId]&nodeId=[nodeId]。</td> 
+     </tr>
+    </tbody>
+</table>
+
+## 数据类型映射
+<div class="wy-table-responsive">
+<table class="colwidths-auto docutils">
+    <thead>
+      <tr>
+        <th class="text-left">Hive type</th>
+        <th class="text-left">Flink SQL type</th>
+      </tr>
+    </thead>
+    <tbody>
+    <tr>
+      <td>char(p)</td>
+      <td>CHAR(p)</td>
+    </tr>
+    <tr>
+      <td>varchar(p)</td>
+      <td>VARCHAR(p)</td>
+    </tr>
+    <tr>
+      <td>string</td>
+      <td>STRING</td>
+    </tr>
+    <tr>
+      <td>boolean</td>
+      <td>BOOLEAN</td>
+    </tr>
+    <tr>
+      <td>tinyint</td>
+      <td>TINYINT</td>
+    </tr>     
+    <tr>
+      <td>smallint</td>
+      <td>SMALLINT</td>
+    </tr>    
+   <tr>
+      <td>int</td>
+      <td>INT</td>
+    </tr>
+    <tr>
+      <td>bigint</td>
+      <td>BIGINT</td>
+    </tr>
+    <tr>
+      <td>float</td>
+      <td>FLOAT</td>
+    </tr>
+    <tr>
+      <td>double</td>
+      <td>DOUBLE</td>
+    </tr>
+    <tr>
+      <td>decimal(p, s)</td>
+      <td>DECIMAL(p, s)</td>
+    </tr>
+    <tr>
+      <td>date</td>
+      <td>DATE</td>
+    </tr>
+    <tr>
+      <td>timestamp(9)</td>
+      <td>TIMESTAMP</td>
+    </tr>
+    <tr>
+      <td>bytes</td>
+      <td>BINARY</td>
+    </tr>   
+    <tr>
+      <td>array</td>
+      <td>LIST</td>
+    </tr>
+    <tr>
+      <td>map</td>
+      <td>MAP</td>
+    </tr>
+    <tr>
+      <td>row</td>
+      <td>STRUCT</td>
+    </tr>       
+    </tbody>
+</table>
+</div>
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/hudi.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/hudi.md
new file mode 100644
index 0000000000..4f3683b30a
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/hudi.md
@@ -0,0 +1,139 @@
+---
+title: Hudi
+sidebar_position: 18
+---
+
+import {siteVariables} from '../../version';
+
+## 概览
+
+[Apache Hudi](https://hudi.apache.org/cn/docs/overview/) (发音为"hoodie")是下一代流式数据湖平台。
+Apache Hudi 将核心仓库和数据库功能直接带到数据湖中。
+Hudi 提供表、事务、高效的 upserts/delete、高级索引、流摄入服务、数据聚类/压缩优化和并发,同时保持数据的开源文件格式。
+
+## 支持的版本
+
+| Load Node         | Version                                                          |
+| ----------------- | ---------------------------------------------------------------- |
+| [Hudi](./hudi.md) | [Hudi](https://hudi.apache.org/cn/docs/quick-start-guide): 0.12+ |
+
+### 依赖
+
+通过 `Maven` 引入 `sort-connector-hudi` 构建自己的项目。
+当然,你也可以直接使用 `INLONG` 提供的 `jar` 包。([sort-connector-hudi](https://inlong.apache.org/download))
+
+### Maven 依赖
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-hudi</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+## 如何配置 Hudi 数据加载节点
+
+### SQL API 的使用
+
+使用 `Flink SQL Cli` :
+
+```sql
+CREATE TABLE `hudi_table_name` (
+  id STRING,
+  name STRING,
+  uv BIGINT,
+  pv BIGINT
+) WITH (
+    'connector' = 'hudi-inlong',
+    'path' = 'hdfs://127.0.0.1:90001/data/warehouse/hudi_db_name.db/hudi_table_name',
+    'uri' = 'thrift://127.0.0.1:8091',
+    'hoodie.database.name' = 'hudi_db_name',
+    'hoodie.table.name' = 'hudi_table_name',
+    'hoodie.datasource.write.recordkey.field' = 'id',
+    'hoodie.bucket.index.hash.field' = 'id',
+    -- compaction
+    'compaction.tasks' = '10',
+    'compaction.async.enabled' = 'true',
+    'compaction.schedule.enabled' = 'true',
+    'compaction.max_memory' = '3096',
+    'compaction.trigger.strategy' = 'num_or_time',
+    'compaction.delta_commits' = '5',
+    'compaction.max_memory' = '3096',
+    --
+    'hoodie.keep.min.commits' = '1440',
+    'hoodie.keep.max.commits' = '2880',
+    'clean.async.enabled' = 'true',
+    --
+    'write.operation' = 'upsert',
+    'write.bucket_assign.tasks' = '60',
+    'write.tasks' = '60',
+    'write.log_block.size' = '128',
+    --
+    'index.type' = 'BUCKET',
+    'metadata.enabled' = 'false',
+    'hoodie.bucket.index.num.buckets' = '20',
+    'table.type' = 'MERGE_ON_READ',
+    'clean.retain_commits' = '30',
+    'hoodie.cleaner.policy' = 'KEEP_LATEST_COMMITS'
+);
+```
+
+### InLong Dashboard 方式
+
+#### 配置
+
+在创建数据流时,选择数据落地为 'Hudi' 然后点击 'Add' 来配置 Hudi 的相关信息。
+
+![Hudi Configuration](img/hudi.png)
+
+| 配置项            | 对应SQL DDL中的属性                                 | 备注                                                      |
+| -------------- | --------------------------------------------- | ------------------------------------------------------- |
+| `DB名称`         | `hoodie.database.name`                        | 库名称                                                     |
+| `表名`           | `hudi_table_name`                             | hudi表名                                                  |
+| `是否创建资源`       | -                                             | 如果库表已经存在,且无需修改,则选【不创建】;<br/>否则请选择【创建】,由系统自动创建资源。        |
+| `Catalog URI`  | `uri`                                         | 元数据服务地址                                                 |
+| `仓库路径`         | -                                             | hudi表存储在HDFS中的位置<br/>在SQL DDL中path属性是将`仓库路径`与库、表名称拼接在一起 |
+| `属性`           | -                                             | hudi表的DDL属性需带前缀'ddl.'                                   |
+| `高级选项`>`数据一致性` | -                                             | Flink计算引擎的一致性语义: `EXACTLY_ONCE`或`AT_LEAST_ONCE`         |
+| `分区字段`         | `hoodie.datasource.write.partitionpath.field` | 分区字段                                                    |
+| `主键字段`         | `hoodie.datasource.write.recordkey.field`     | 主键字段                                                    |
+
+### InLong Manager Client 方式
+
+TODO: 未来版本支持
+
+## Hudi 加载节点参数信息
+
+| 选项                                          | 必填  | 类型     | 描述                                                                                              |
+| ------------------------------------------- | --- | ------ | ----------------------------------------------------------------------------------------------- |
+| connector                                   | 必填  | String | 指定要使用的Connector,这里应该是'hudi-inlong'。                                                             |
+| uri                                         | 必填  | String | 用于配置单元同步的 Metastore uris                                                                        |
+| hoodie.database.name                        | 可选  | String | 将用于增量查询的数据库名称。如果不同数据库在增量查询时有相同的表名,我们可以设置它来限制特定数据库下的表名                                           |
+| hoodie.table.name                           | 可选  | String | 将用于向 Hive 注册的表名。 需要在运行中保持一致。                                                                    |
+| hoodie.datasource.write.recordkey.field     | 必填  | String | 记录的主键字段。 用作“HoodieKey”的“recordKey”组件的值。 实际值将通过在字段值上调用 .toString() 来获得。 可以使用点符号指定嵌套字段,例如:`a.b.c` |
+| hoodie.datasource.write.partitionpath.field | 可选  | String | 分区路径字段。 在 HoodieKey 的 partitionPath 组件中使用的值。 通过调用 .toString() 获得的实际值                            |
+| inlong.metric.labels                        | 可选  | String | 在long metric label中,value的格式为groupId=xxgroup&streamId=xxstream&nodeId=xxnode。                   |
+
+## 数据类型映射
+
+| Hive type     | Flink SQL type |
+| ------------- | -------------- |
+| char(p)       | CHAR(p)        |
+| varchar(p)    | VARCHAR(p)     |
+| string        | STRING         |
+| boolean       | BOOLEAN        |
+| tinyint       | TINYINT        |
+| smallint      | SMALLINT       |
+| int           | INT            |
+| bigint        | BIGINT         |
+| float         | FLOAT          |
+| double        | DOUBLE         |
+| decimal(p, s) | DECIMAL(p, s)  |
+| date          | DATE           |
+| timestamp(9)  | TIMESTAMP      |
+| bytes         | BINARY         |
+| array         | LIST           |
+| map           | MAP            |
+| row           | STRUCT         |
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/iceberg.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/iceberg.md
new file mode 100644
index 0000000000..bd5f00d933
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/iceberg.md
@@ -0,0 +1,293 @@
+---
+title: Iceberg
+sidebar_position: 9
+---
+
+import {siteVariables} from '../../version';
+
+## 概览
+
+[Apache Iceberg](https://iceberg.apache.org/)是一种用于大型分析表的高性能格式。
+
+## 版本
+
+| 提取节点                | 版本                                                 |
+| ----------------------- | ---------------------------------------------------- |
+| [Iceberg](./iceberg.md) | [Iceberg](https://dev.mysql.com/doc):0.12.x,0.13.x |
+
+## 依赖项
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-iceberg</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+## 用法
+
+### SQL API 用法
+
+在 flink 中创建Iceberg表,我们推荐使用[Flink SQL Client](https://ci.apache.org/projects/flink/flink-docs-stable/dev/table/sqlClient.html),因为它更便于用户理解概念。
+
+Step.1 在hadoop环境下启动一个独立的flink集群。
+
+```
+# HADOOP_HOME is your hadoop root directory after unpack the binary package.
+export HADOOP_CLASSPATH=`$HADOOP_HOME/bin/hadoop classpath`
+
+# Start the flink standalone cluster
+./bin/start-cluster.sh
+```
+
+Step.2 启动flink SQL客户端。
+
+`flink-runtime`在 iceberg 项目中创建了一个单独的模块来生成一个捆绑的 jar,可以直接由 flink SQL 客户端加载。
+
+如果想要`flink-runtime`手动构建捆绑的 jar,只需构建`inlong`项目,它将在`<inlong-root-dir>/inlong-sort/sort-connectors/iceberg/target`。
+
+默认情况下,iceberg 包含用于 hadoop 目录的 hadoop jars。如果我们要使用 hive 目录,我们需要在打开 flink sql 客户端时加载 hive jars。幸运的是,apache inlong将 一个捆绑的hive jar打包进入Iceberg。所以我们可以如下打开sql客户端:
+
+```
+# HADOOP_HOME is your hadoop root directory after unpack the binary package.
+export HADOOP_CLASSPATH=`$HADOOP_HOME/bin/hadoop classpath`
+
+./bin/sql-client.sh embedded -j <flink-runtime-directory>/iceberg-flink-runtime-xxx.jar shell
+```
+
+Step.3 在当前 Flink 目录中创建表
+
+默认情况下,我们不需要创建目录,只需使用内存目录即可。在目录中如果`catalog-database.catalog-table`不存在,会自动创建。这里我们只是加载数据。
+
+**在 Hive 目录中管理的表**
+
+下面的 SQL 会在当前 Flink 目录中创建一个 Flink 表,映射到 iceberg 目录中`default_database.iceberg_table`管理的 iceberg 表。由于目录类型默认是 hive,所以这里不需要放`catalog-type`.
+
+```
+CREATE TABLE flink_table (
+    id   BIGINT,
+    data STRING
+) WITH (
+    'connector'='iceberg',
+    'catalog-name'='hive_prod',
+    'uri'='thrift://localhost:9083',
+    'warehouse'='hdfs://nn:8020/path/to/warehouse'
+);
+```
+
+如果要创建 Flink 表映射到 Hive 目录中管理的不同Iceberg表(例如`hive_db.hive_iceberg_table`在 Hive 中),则可以创建 Flink 表,如下所示:
+
+```
+CREATE TABLE flink_table (
+    id   BIGINT,
+    data STRING
+) WITH (
+    'connector'='iceberg',
+    'catalog-name'='hive_prod',
+    'catalog-database'='hive_db',
+    'catalog-table'='hive_iceberg_table',
+    'uri'='thrift://localhost:9083',
+    'warehouse'='hdfs://nn:8020/path/to/warehouse'
+);
+```
+
+> 将记录写入 Flink 表时,如果底层目录数据库(`hive_db`上例中)不存在,则会自动创建它。
+
+**在 hadoop 目录中管理的表**
+
+以下 SQL 将在当前 Flink 目录中创建一个 Flink 表,该表映射到`default_database.flink_table`hadoop 目录中管理Iceberg表。
+
+```
+CREATE TABLE flink_table (
+    id   BIGINT,
+    data STRING
+) WITH (
+    'connector'='iceberg',
+    'catalog-name'='hadoop_prod',
+    'catalog-type'='hadoop',
+    'warehouse'='hdfs://nn:8020/path/to/warehouse'
+);
+```
+
+Step.6 向Iceberg表中插入数据
+
+```
+INSERT INTO `flink_table` 
+    SELECT 
+    `id` AS `id`,
+    `d` AS `name`
+    FROM `source_table`
+```
+
+**在自定义Catalog中管理的表**
+
+以下 SQL 将在当前 Flink 目录中创建一个 Flink 表,该表映射到`default_database.flink_table`自定义目录中管理的Iceberg表。
+
+```
+CREATE TABLE flink_table (
+    id   BIGINT,
+    data STRING
+) WITH (
+    'connector'='iceberg',
+    'catalog-name'='custom_prod',
+    'catalog-type'='custom',
+    'catalog-impl'='com.my.custom.CatalogImpl',
+     -- More table properties for the customized catalog
+    'my-additional-catalog-config'='my-value',
+     ...
+);
+```
+
+请检查“集成”选项卡下的部分以获取所有自定义目录。
+
+### InLong Dashboard 用法
+TODO
+
+### InLong Manager Client 用法
+TODO
+
+## 特征
+### 多表写入
+目前 Iceberg 支持多表同时写入,需要在 FLINK SQL 的建表参数上添加 `'sink.multiple.enable' = 'true'` 并且目标表的schema
+只能定义成 `BYTES` 或者 `STRING` ,以下是一个建表语句举例:
+```
+CREATE TABLE `table_2`(
+    `data` STRING)
+WITH (
+    'connector'='iceberg-inlong',
+    'catalog-name'='hive_prod',
+    'uri'='thrift://localhost:9083',
+    'warehouse'='hdfs://localhost:8020/hive/warehouse',
+    'sink.multiple.enable' = 'true',
+    'sink.multiple.format' = 'canal-json',
+    'sink.multiple.add-column.policy' = 'TRY_IT_BEST',
+    'sink.multiple.database-pattern' = '${database}',
+    'sink.multiple.table-pattern' = 'test_${table}'
+);
+```
+要支持多表写入同时需要设置上游数据的序列化格式(通过选项 'sink.multiple.format'
+来设置, 目前仅支持 [canal-json|debezium-json])。
+
+### 动态表名映射
+Iceberg 在多表写入的时可以自定义映射的数据库名和表名的规则,可以填充占位符然后添加前后缀来修改映射的目标表名称。
+Iceberg Load Node 会解析 `'sink.multiple.database-pattern'` 作为目的端的 数据库名, 解析 `'sink.multiple.table-pattern'`
+作为目的端的表名,占位符是从数据中解析出来的,变量是严格通过 '${VARIABLE_NAME}' 来表示, 变量的取值来自于数据本身, 
+即可以是通过 `'sink.multiple.format'` 指定的某种 Format 的元数据字段, 也可以是数据中的物理字段。
+关于 'topic-parttern' 的例子如下:
+- 'sink.multiple.format' 为 'canal-json':
+
+上游数据为:
+```
+{
+  "data": [
+    {
+      "id": "111",
+      "name": "scooter",
+      "description": "Big 2-wheel scooter",
+      "weight": "5.18"
+    }
+  ],
+  "database": "inventory",
+  "es": 1589373560000,
+  "id": 9,
+  "isDdl": false,
+  "mysqlType": {
+    "id": "INTEGER",
+    "name": "VARCHAR(255)",
+    "description": "VARCHAR(512)",
+    "weight": "FLOAT"
+  },
+  "old": [
+    {
+      "weight": "5.15"
+    }
+  ],
+  "pkNames": [
+    "id"
+  ],
+  "sql": "",
+  "sqlType": {
+    "id": 4,
+    "name": 12,
+    "description": 12,
+    "weight": 7
+  },
+  "table": "products",
+  "ts": 1589373560798,
+  "type": "UPDATE"
+} 
+```
+'topic-pattern' 为 '{database}_${table}', 提取后的 Topic 为 'inventory_products' ('database', 'table' 为元数据字段,
+'id' 为物理字段)
+
+'topic-pattern' 为 '{database}_${table}_${id}', 提取后的 Topic 为 'inventory_products_111' ('database', 'table' 
+为元数据字段, 'id' 为物理字段)
+
+### 动态建库、建表
+Iceberg在多表写入时遇到不存在的表和不存在的库时会自动创建数据库和数据表,并且支持在运行过程中新增捕获额外的表入库。
+默认的Iceberg表参数为:`'format-version' = '2'`、`'write.upsert.enabled' = 'true''`、`'engine.hive.enabled' = 'true'`
+
+### 动态schema变更
+Iceberg在多表写入时支持同步源表结构变更到目标表(DDL同步),支持的schema变更如下:
+
+| schema变更类型  |   是否支持  |
+| -------------- | ----------- |
+| 列增加          |   是       |
+| 列减少          |   否       |
+| 列位置变更      |    否      |
+| 列重命名        |   否       |
+| 列类型变更      |   否       |
+
+## Iceberg Load 节点参数
+
+| 选项             | 是否必须                         | 默认值 | 类型    | 描述                                                         |
+| ---------------- | -------------------------------- | ------ | ------- | ------------------------------------------------------------ |
+| connector        | 必需                             | (none) | String  | 指定要使用的连接器,这里应该是`'iceberg'`                    |
+| catalog-type     | 必需                             | hive   | String  | `hive`或`hadoop`用于内置目录,或为使用 catalog-impl 的自定义目录实现未设置 |
+| catalog-name     | 必需                             | (none) | String  | 目录名称                                                     |
+| catalog-database | 必需                             | (none) | String  | 在Iceberg目录中管理的数据库名称                              |
+| catalog-table    | 必需                             | (none) | String  | 在底层Iceberg目录和数据库中管理的表名                        |
+| catalog-impl     | 自定义custom 可选                | (none) | String  | 如果未设置,则必须设置完全限定的类名自定义目录实现`catalog-type` |
+| cache-enabled    | 可选                             | true   | Boolean | 是否启用目录缓存,默认值为`true`                             |
+| uri              | hive catalog可选                 | (none) | String  | Hive 元存储的 thrift URI                                     |
+| clients          | hive catalog可选                 | 2      | Integer | Hive Metastore 客户端池大小,默认值为 2                      |
+| warehouse        | hive catalog或hadoop catalog可选 | (none) | String  | 对于 Hive 目录,是 Hive 仓库位置,如果既不设置`hive-conf-dir`指定包含`hive-site.xml`配置文件的位置也不添加正确`hive-site.xml`的类路径,用户应指定此路径。对于hadoop目录,HDFS目录存放元数据文件和数据文件 |
+| hive-conf-dir    | hive catalog可选                 | (none) | String  | `hive-site.xml`包含将用于提供自定义 Hive 配置值的配置文件的目录的路径。如果同时设置和创建Iceberg目录时,`hive.metastore.warehouse.dir`from `<hive-conf-dir>/hive-site.xml`(或来自类路径的 hive 配置文件)的值将被该值覆盖。`warehouse``hive-conf-dir``warehouse` |
+| inlong.metric.labels | 可选 | (none) | String | inlong metric 的标签值,该值的构成为groupId=`{groupId}`&streamId=`{streamId}`&nodeId=`{nodeId}`。|
+| sink.multiple.enable | 可选                         | false  | Boolean | 是否开启多路写入            |
+| sink.multiple.schema-update.policy | 可选           | TRY_IT_BEST | Enum | 遇到数据中schema和目标表不一致时的处理策略<br/>TRY_IT_BEST:尽力而为,尽可能处理,处理不了的则忽略<br/>IGNORE_WITH_LOG:忽略并且记录日志,后续该表数据不再处理<br/> THROW_WITH_STOP:抛异常并且停止任务,直到用户手动处理schema不一致的情况
+| sink.multiple.pk-auto-generated | 可选              | false  | Boolean  | 是否自动生成主键,对于多路写入自动建表时当源表无主键时是否将所有字段当作主键  |
+| sink.multiple.typemap-compatible-with-spark | 可选  | false  | Boolean  | 是否适配spark的类型系统,对于多路写入自动建表时是否需要适配spark的类型系统 |
+
+
+## 数据类型映射
+
+[Iceberg数据类型](https://iceberg.apache.org/spec/#schemas-and-data-types)详细信息。这里介绍了加载数据如何将 Iceberg 类型转换为 Flink 类型。
+
+| Flink SQL 类型 | Iceberg 类型 |
+| -------------- | ------------ |
+| CHAR           | STRING       |
+| VARCHAR        | STRING       |
+| STRING         | STRING       |
+| BOOLEAN        | BOOLEAN      |
+| BINARY         | FIXED(L)     |
+| VARBINARY      | BINARY       |
+| DECIMAL        | DECIMAL(P,S) |
+| TINYINT        | INT          |
+| SMALLINT       | INT          |
+| INTEGER        | INT          |
+| BIGINT         | LONG         |
+| FLOAT          | FLOAT        |
+| DOUBLE         | DOUBLE       |
+| DATE           | DATE         |
+| TIME           | TIME         |
+| TIMESTAMP      | TIMESTAMP    |
+| TIMESTAMP_LTZ  | TIMESTAMPTZ  |
+| INTERVAL       | -            |
+| ARRAY          | LIST         |
+| MULTISET       | MAP          |
+| MAP            | MAP          |
+| ROW            | STRUCT       |
+| RAW            | -            |
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/img/clickhouse.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/img/clickhouse.png
new file mode 100644
index 0000000000..2c3f1d7eec
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/img/clickhouse.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/img/hive.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/img/hive.png
new file mode 100644
index 0000000000..eeddb25b81
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/img/hive.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/img/hudi.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/img/hudi.png
new file mode 100644
index 0000000000..ee9b45e430
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/img/hudi.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/img/iceberg.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/img/iceberg.png
new file mode 100644
index 0000000000..c162acfcde
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/img/iceberg.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/img/kafka.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/img/kafka.png
new file mode 100644
index 0000000000..dc119deb86
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/img/kafka.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/kafka.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/kafka.md
new file mode 100644
index 0000000000..ba389cb15f
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/kafka.md
@@ -0,0 +1,220 @@
+---
+title: Kafka
+sidebar_position: 10
+---
+
+import {siteVariables} from '../../version';
+
+## 概览
+
+`Kafka Load` 节点支持写数据到 Kafka topics。 它支持以普通的方式写入数据和 Upsert 的方式写入数据。 upsert-kafka 连接器可以消费 changelog 流。它会将 INSERT/UPDATE_AFTER 数据作为正常的 Kafka 消息写入,并将 DELETE 数据以 value 为空的 Kafka 消息写入(表示对应 key 的消息被删除)。
+
+## 支持的版本
+
+| Load 节点                | Kafka 版本 |                                                                                                                                                                                                                                                                                                                                                                                           
+|--------------------------|---------------|
+| [Kafka](./kafka.md)      | 0.10+         |  
+
+## 依赖
+
+为了设置 Kafka Load 节点, 下面提供了使用构建自动化工具(例如 Maven 或 SBT)和带有 Sort Connector JAR 包的 SQL 客户端的两个项目的依赖关系信息。
+
+### Maven 依赖
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-kafka</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+## 如何创建 Kafka Load 节点
+
+### SQL API 用法
+
+下面这个例子展示了如何用 `Flink SQL` 创建一个 Kafka Load 节点:
+* 连接器是 `kafka-inlong`
+```sql
+-- 使用 Flink SQL 创建 Kafka 表 'kafka_load_node'
+Flink SQL> CREATE TABLE kafka_load_node (
+           `id` INT,
+           `name` STRINTG
+           ) WITH (
+           'connector' = 'kafka-inlong',
+           'topic' = 'user',
+           'properties.bootstrap.servers' = 'localhost:9092',
+           'properties.group.id' = 'testGroup',
+           'format' = 'csv'
+           )
+```
+* 连接器是 `upsert-kafka`
+```sql
+-- 使用 Flink SQL 创建 Kafka 表 'kafka_load_node'
+Flink SQL> CREATE TABLE kafka_load_node (
+          `id` INT,
+          `name` STRINTG,
+           PRIMARY KEY (`id`) NOT ENFORCED
+          ) WITH (
+          'connector' = 'upsert-kafka-inlong',
+          'topic' = 'user',
+          'properties.bootstrap.servers' = 'localhost:9092',
+          'key.format' = 'csv',
+          'value.format' = 'csv'
+          )   
+```
+### InLong Dashboard 用法
+
+创建数据流时,数据流方向选择`Kafka`,点击“添加”进行配置。
+
+![Kafka Configuration](img/kafka.png)
+
+### InLong Manager Client 用法
+
+TODO: 将在未来支持此功能。
+
+## Kafka Load 节点参数
+
+| 参数 | 是否必选 | 默认值 | 数据类型 | 描述 |
+|---------|----------|---------|------|------------|
+| connector | 必选 | (none) | String | 指定要使用的连接器  1. Upsert Kafka 连接器使用: `upsert-kafka-inlong`  2. Kafka连接器使用: `kafka-inlong` |
+| topic | 必选 | (none) | String | 当表用作 source 时读取数据的 topic 名。亦支持用分号间隔的 topic 列表,如 `topic-1;topic-2`。注意,对 source 表而言,`topic` 和 `topic-pattern` 两个选项只能使用其中一个。 |
+| topic-pattern | 可选 | (none) | String | 动态 Topic 提取模式, 形如 '${VARIABLE_NAME}', 仅用于 Kafka 多 Sink 场景且当 'format' 为 'raw' 时有效。 |
+| sink.multiple.format | 可选 | (none) | String | Kafka 原始数据的 Format, 目前仅支持 [canal-json&#124;debezium-json] 仅用于 Kafka 多 Sink 场景且当 'format' 为 'raw' 时有效。 |
+| properties.bootstrap.servers | 必选 | (none) | String | 逗号分隔的 Kafka broker 列表。 |
+| properties.* | 可选 | (none) | String | 可以设置和传递任意 Kafka 的配置项。后缀名必须匹配在 [Kafka 配置文档](https://kafka.apache.org/documentation/#configuration) 中定义的配置键。Flink 将移除 "properties." 配置键前缀并将变换后的配置键和值传入底层的 Kafka 客户端。例如,你可以通过 'properties.allow.auto.create.topics' = 'false' 来禁用 topic 的自动创建。但是某些配置项不支持进行配置,因为 Flink 会覆盖这些配置,例如 'key.deserializer' 和 'value.deserializer'。 |
+| format | 对于 Kafka 必选 | (none) | String | 用来序列化或反序列化 Kafka 消息的格式。 请参阅 [格式](https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/connectors/table/formats/overview/) 页面以获取更多关于格式的细节和相关配置项。 注意:该配置项和 'value.format' 二者必需其一。 |
+| key.format | 可选 | (none) | String | 用来序列化和反序列化 Kafka 消息键(Key)的格式。 请参阅 格式 页面以获取更多关于格式的细节和相关配置项。 注意:如果定义了键格式,则配置项 'key.fields' 也是必需的。 否则 Kafka 记录将使用空值作为键。 |
+| key.fields | 可选 | [] | `List<String>` | 表结构中用来配置消息键(Key)格式数据类型的字段列表。默认情况下该列表为空,因此消息键没有定义。 列表格式为 'field1;field2'。 |
+| key.fields-prefix | 可选 | (none) | String | 为所有消息键(Key)格式字段指定自定义前缀,以避免与消息体(Value)格式字段重名。默认情况下前缀为空。 如果定义了前缀,表结构和配置项 'key.fields' 都需要使用带前缀的名称。 当构建消息键格式字段时,前缀会被移除,消息键格式将会使用无前缀的名称。 请注意该配置项要求必须将 'value.fields-include' 配置为 'EXCEPT_KEY'。 |
+| value.format | 必选 for upsert Kafka | (none) | String | 用于对 Kafka 消息中 value 部分序列化和反序列化的格式。支持的格式包括 'csv'、'json'、'avro'。请参考[格式](https://nightlies.apache.org/flink/flink-docs-release-1.13/zh/docs/connectors/table/formats/overview/) 页面以获取更多详细信息和格式参数。 |
+| value.fields-include | 可选 | ALL | Enum Possible values: [ALL, EXCEPT_KEY]| 控制哪些字段应该出现在 value 中。可取值:<br/> ALL:消息的 value 部分将包含 schema 中所有的字段,包括定义为主键的字段。<br/> EXCEPT_KEY:记录的 value 部分包含 schema 的所有字段,定义为主键的字段除外。 |
+| sink.partitioner | 可选 | 'default' | String | Flink partition 到 Kafka partition 的分区映射关系,可选值有:<br/>default:使用 Kafka 默认的分区器对消息进行分区。<br/>fixed:每个 Flink partition 最终对应最多一个 Kafka partition。<br/>round-robin:Flink partition 按轮循(round-robin)的模式对应到 Kafka partition。<br/>raw-hash: 基于 'sink.multiple.partition-pattern' 提取值作 'hash' 以确定最终的分区, 仅用于 Kafka 多 Sink 场景且当 'format' 为 'raw' 时有效。只有当未指定消息的消息键时生效。<br/>自定义 FlinkKafkaPartitioner 的子类:例如 'org.mycompany.MyPartitioner'。请参阅 [Sink 分区](https://nightlies.ap [...]
+| sink.multiple.partition-pattern | 可选 | (none) | String |  动态 Partition 提取模式, 形如 '${VARIABLE_NAME}'仅用于 Kafka 多 Sink 场景且当 'format' 为 'raw'、'sink.partitioner' 为 'raw-hash' 时有效。 |
+| sink.semantic | 可选 | at-least-once | String | 定义 Kafka sink 的语义。有效值为 'at-least-once','exactly-once' 和 'none'。请参阅 [一致性保证](https://nightlies.apache.org/flink/flink-docs-release-1.13/zh/docs/connectors/table/kafka/#%E4%B8%80%E8%87%B4%E6%80%A7%E4%BF%9D%E8%AF%81) 以获取更多细节。 |
+| sink.parallelism | 可选 | (none) | Integer | 定义 Kafka sink 算子的并行度。默认情况下,并行度由框架定义为与上游串联的算子相同。 |
+| inlong.metric.labels | 可选 | (none) | String | inlong metric 的标签值,该值的构成为groupId=`{groupId}`&streamId=`{streamId}`&nodeId=`{nodeId}`。|
+
+
+## 可用的元数据字段
+
+支持为格式 `canal-json-inlong`写元数据。
+
+参考 [Kafka Extract Node](../extract_node/kafka.md) 关于元数据的列表。
+
+## 特征
+
+### 支持动态 Schema 写入
+
+动态 Schema 写入支持从数据中动态提取 Topic 和 Partition, 并写入到对应的 Topic
+和 Partition。为了支持动态 Schema 写入,需要设置 Kafka 的 Format 格式为 'raw', 
+同时需要设置上游数据的序列化格式(通过选项 'sink.multiple.format' 
+来设置, 目前仅支持 [canal-json|debezium-json])。
+
+#### 动态 Topic 提取
+
+动态 Topic 提取即通过解析 Topic Pattern 并从数据中提取 Topic 。
+为了支持动态提取 Topic, 需要设置选项 'topic-pattern', Kafka Load Node 会解析 'topic-pattern' 作为最终的 Topic, 
+如果解析失败, 会写入通过 'topic' 设置的默认 Topic 中。'topic-pattern' 支持常量和变量,常量就是字符串常量, 
+变量是严格通过 '${VARIABLE_NAME}' 来表示, 变量的取值来自于数据本身, 即可以是通过 'sink.multiple.format' 
+指定的某种 Format 的元数据字段, 也可以是数据中的物理字段。
+
+关于 'topic-parttern' 的例子如下:
+- 'sink.multiple.format' 为 'canal-json':
+
+上游数据为:
+```
+{
+  "data": [
+    {
+      "id": "111",
+      "name": "scooter",
+      "description": "Big 2-wheel scooter",
+      "weight": "5.18"
+    }
+  ],
+  "database": "inventory",
+  "es": 1589373560000,
+  "id": 9,
+  "isDdl": false,
+  "mysqlType": {
+    "id": "INTEGER",
+    "name": "VARCHAR(255)",
+    "description": "VARCHAR(512)",
+    "weight": "FLOAT"
+  },
+  "old": [
+    {
+      "weight": "5.15"
+    }
+  ],
+  "pkNames": [
+    "id"
+  ],
+  "sql": "",
+  "sqlType": {
+    "id": 4,
+    "name": 12,
+    "description": 12,
+    "weight": 7
+  },
+  "table": "products",
+  "ts": 1589373560798,
+  "type": "UPDATE"
+} 
+```
+'topic-pattern' 为 '{database}_${table}', 提取后的 Topic 为 'inventory_products' ('database', 'table' 为元数据字段)
+
+'topic-pattern' 为 '{database}_${table}_${id}', 提取后的 Topic 为 'inventory_products_111' ('database', 'table' 为元数据字段, 'id' 为物理字段)
+
+- 'sink.multiple.format' 为 'debezium-json':
+
+上游数据为:
+```
+{
+  "before": {
+    "id": 4,
+    "name": "scooter",
+    "description": "Big 2-wheel scooter",
+    "weight": 5.18
+  },
+  "after": {
+    "id": 4,
+    "name": "scooter",
+    "description": "Big 2-wheel scooter",
+    "weight": 5.15
+  },
+  "source": {
+    "db": "inventory",
+    "table": "products"
+  },
+  "op": "u",
+  "ts_ms": 1589362330904,
+  "transaction": null
+}
+```
+'topic-pattern' 为 '{database}_${table}', 提取后的 Topic 为 'inventory_products' ('source.db', 'source.table' 为元数据字段)
+
+'topic-pattern' 为 '{database}_${table}_${id}', 提取后的 Topic 为 'inventory_products_4' ('source.db', 'source.table' 为元数据字段, 'id' 为物理字段)
+
+#### 动态 Partition 提取
+
+动态 Partition 提取即通过解析 Partition Pattern 并从数据中提取 Partition, 这和动态 Topic 提取类似。
+为了支持动态提取 Topic, 需要设置选项 'sink.partitioner' 为 'raw-hash' 
+和选项 'sink.multiple.partition-pattern', Kafka Load Node 会解析 'sink.multiple.partition-pattern' 
+作为 Partition key, 并对 Partition key 进行 Hash 和对 Partition Size 取余以确定最终 Partition,
+如果解析失败, 会返回 null 并执行 Kafka 默认的分区策略。'sink.multiple.partition-pattern' 
+支持常量、变量和主键,常量就是字符串常量, 变量是严格通过 ${VARIABLE_NAME} 来表示, 变量的取值来自于数据本身,
+即可以是通过 'sink.multiple.format' 指定的某种 Format 的元数据字段, 也可以是数据中的物理字段,
+主键是一种特殊的常量 'PRIMARY_KEY', 基于某种 Format 的数据格式下来提取该条记录的主键值。
+
+注意: 基于 'PRIMARY_KEY' 的 Kafka 动态 Partition 提取, 有一个限制, 即需要在数据中指定主键信息, 
+例如 Format 为 'canal-json', 则其主键 Key 为 'pkNames'。另外由于 Format 'debezium-json' 无主键的定义, 对此
+我们约定 'debezium-json' 的主键 Key 也为 'pkNames' 且和其他元数据字段如 'table'、'db' 一样包含在 'source'中,
+如果用到了按主键分区, 且 Format 为 'debezium-json', 需要确保真实数据满足上述约定。
+
+
+## 数据类型映射
+
+Kafka 将消息键值以二进制进行存储,因此 Kafka 并不存在 schema 或数据类型。Kafka 消息使用格式配置进行序列化和反序列化,例如 csv,json,avro。 因此,数据类型映射取决于使用的格式。请参阅 [格式](https://nightlies.apache.org/flink/flink-docs-release-1.13/zh/docs/connectors/table/formats/overview/) 页面以获取更多细节。
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/mysql.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/mysql.md
new file mode 100644
index 0000000000..626a0f544e
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/mysql.md
@@ -0,0 +1,118 @@
+---
+title: MySQL
+sidebar_position: 11
+---
+
+import {siteVariables} from '../../version';
+
+## 概览
+
+`MySQL Load` 节点支持将数据写入 MySQL 数据库。 本文档介绍如何设置 MySQL Load 节点以对 MySQL 数据库运行 SQL 查询。
+
+## 支持的版本
+
+| Load 节点                | Driver | Group Id | Artifact Id | JAR |                                                                                                                                                                                                                                                                                                                                                                                       
+|--------------------------|--------|----------|-------------|-----|
+| [MySQL](./mysql.md)      | MySQL  | mysql    | mysql-connector-java | [下载](https://repo.maven.apache.org/maven2/mysql/mysql-connector-java/) |
+
+## 依赖
+
+为了设置 MySQL Load 节点, 下面提供了使用构建自动化工具(例如 Maven 或 SBT)和带有 Sort Connector JAR 包的 SQL 客户端的两个项目的依赖关系信息。
+
+### Maven 依赖
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-jdbc</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+MySQL license 和 Inlong license 是冲突的。 所以我们移除了pom中的 MySQL 驱动依赖。 如果我们想使用这个连接器,我们可以修改pom文件。
+
+
+## 如何创建 MySQL Load 节点
+
+### SQL API 用法
+
+```sql
+
+-- MySQL Extract 节点
+CREATE TABLE `mysql_extract_table`(
+  PRIMARY KEY (`id`) NOT ENFORCED,
+  `id` BIGINT,
+  `name` STRING,
+  `age` INT
+) WITH (
+  'connector' = 'mysql-cdc-inlong',
+  'url' = 'jdbc:mysql://localhost:3306/read',
+  'username' = 'inlong',
+  'password' = 'inlong',
+  'table-name' = 'user'
+)
+
+-- MySQL Load 节点
+CREATE TABLE `mysql_load_table`(
+  PRIMARY KEY (`id`) NOT ENFORCED,
+  `id` BIGINT,
+  `name` STRING,
+  `age` INT
+) WITH (
+  'connector' = 'jdbc-inlong',
+  'url' = 'jdbc:mysql://localhost:3306/write',
+  'username' = 'inlong',
+  'password' = 'inlong',
+  'table-name' = 'user'
+)
+
+-- 写数据到 MySQL
+INSERT INTO mysql_load_table 
+SELECT id, name , age FROM mysql_extract_table;  
+
+```
+
+### InLong Dashboard 用法
+
+TODO: 将在未来支持此功能。
+
+### InLong Manager Client 用法
+
+TODO: 将在未来支持此功能。
+
+## MySQL Load 节点参数
+
+| 参数 | 是否必选 | 默认值 | 数据类型 | 描述 |
+|---------|----------|---------|------|------------|
+| connector | 必选 | (none) | String | 指定使用什么类型的连接器,这里应该是 'jdbc-inlong'。 |
+| url | 必选 | (none) | String | JDBC 数据库 url。 |
+| table-name | 必选 | (none) | String | 连接到 JDBC 表的名称。 |
+| driver | 可选 | (none) | String | 用于连接到此 URL 的 JDBC 驱动类名,如果不设置,将自动从 URL 中推导。 |
+| username | 可选 | (none) | String | JDBC 用户名。如果指定了 'username' 和 'password' 中的任一参数,则两者必须都被指定。 |
+| password | 可选 | (none) | String | JDBC 密码。 |
+| connection.max-retry-timeout | 可选 | 60s | Duration | 最大重试超时时间,以秒为单位且不应该小于 1 秒。 |
+| sink.buffer-flush.max-rows | 可选 | 100 | Integer | flush 前缓存记录的最大值,可以设置为 '0' 来禁用它。 |
+| sink.buffer-flush.interval | 可选 | 1s | Duration | flush 间隔时间,超过该时间后异步线程将 flush 数据。可以设置为 '0' 来禁用它。注意, 为了完全异步地处理缓存的 flush 事件,可以将 'sink.buffer-flush.max-rows' 设置为 '0' 并配置适当的 flush 时间间隔。 |
+| sink.max-retries | 可选 | 3 | Integer | 写入记录到数据库失败后的最大重试次数。 |
+| sink.parallelism | 可选 | (none) | Integer | 用于定义 JDBC sink 算子的并行度。默认情况下,并行度是由框架决定:使用与上游链式算子相同的并行度。 |
+| inlong.metric.labels | 可选 | (none) | String | inlong metric 的标签值,该值的构成为groupId=`{groupId}`&streamId=`{streamId}`&nodeId=`{nodeId}`。|
+
+## 数据类型映射
+
+| MySQL 类型 | Flink SQL 类型 |
+|------------|----------------|
+| TINYINT | TINYINT |
+| SMALLINT <br/> TINYINT UNSIGNED| SMALLINT |
+| INT <br/> MEDIUMINT <br/> SMALLINT UNSIGNED | INT |
+| BIGINT <br/> INT UNSIGNED | BIGINT |
+| BIGINT UNSIGNED | DECIMAL(20, 0) |
+| FLOAT | FLOAT |
+| DOUBLE <br/> DOUBLE PRECISION | DOUBLE |
+| NUMERIC(p, s) <br/> DECIMAL(p, s) | DECIMAL(p, s) |
+| BOOLEAN <br/> TINYINT(1) | BOOLEAN |
+| DATE | DATE |
+| TIME [(p)] | TIME [(p)] [WITHOUT TIMEZONE] |
+| DATETIME [(p)] | TIMESTAMP [(p)] [WITHOUT TIMEZONE] |
+| CHAR(n) <br/> VARCHAR(n) <br/> TEXT | STRING |
+| BINARY <br/> VARBINARY <br/> BLOB | BYTES |
+|  |  ARRAY |
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/oracle.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/oracle.md
new file mode 100644
index 0000000000..6caa085a96
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/oracle.md
@@ -0,0 +1,117 @@
+---
+title: Oracle
+sidebar_position: 12
+---
+
+import {siteVariables} from '../../version';
+
+## 概览
+
+`Oracle Load` 节点支持将数据写入 Oracle 数据库。 本文档介绍如何设置 Oracle Load 节点以对 Oracle 数据库运行 SQL 查询。
+
+## 支持的版本
+
+| Load 节点                | Driver | Group Id | Artifact Id | JAR |                                                                                                                                                                                                                                                                                                                                                                                       
+|--------------------------|--------|----------|-------------|-----|
+| [Oracle](./oracle.md) |  Oracle | com.oracle.database.jdbc | ojdbc8 | [下载](https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8) |
+
+## 依赖
+
+为了设置 Oracle Load 节点, 下面提供了使用构建自动化工具(例如 Maven 或 SBT)和带有 Sort Connector JAR 包的 SQL 客户端的两个项目的依赖关系信息。
+
+### Maven 依赖
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-jdbc</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+Oracle license 和 Inlong license 是冲突的。 所以我们移除了pom中的 Oracle 驱动依赖。 如果我们想使用这个连接器,我们可以修改pom文件。
+
+## 如何创建 Oracle Load 节点
+
+### SQL API 用法
+
+```sql
+
+-- MySQL Extract 节点
+CREATE TABLE `mysql_extract_table`(
+  PRIMARY KEY (`id`) NOT ENFORCED,
+  `id` BIGINT,
+  `name` STRING,
+  `age` INT
+) WITH (
+  'connector' = 'mysql-cdc-inlong',
+  'url' = 'jdbc:mysql://localhost:3306/read',
+  'username' = 'inlong',
+  'password' = 'inlong',
+  'table-name' = 'user'
+)
+
+-- Oracle Load 节点
+CREATE TABLE `oracle_load_table`(
+  PRIMARY KEY (`id`) NOT ENFORCED,
+  `id` BIGINT,
+  `name` STRING,
+  `age` INT
+) WITH (
+  'connector' = 'jdbc-inlong',
+  'url' = 'jdbc:oracle:thin://host:port/database/',
+  'username' = 'inlong',
+  'password' = 'inlong',
+  'table-name' = 'public.user'
+)
+
+-- 写数据到 Oracle
+INSERT INTO oracle_load_table 
+SELECT id, name , age FROM mysql_extract_table;  
+
+```
+
+### InLong Dashboard 用法
+
+TODO: 将在未来支持此功能。
+
+### InLong Manager Client 用法
+
+TODO: 将在未来支持此功能。
+
+## Oracle Load 节点参数
+
+| 参数 | 是否必选 | 默认值 | 数据类型 | 描述 |
+|---------|----------|---------|------|------------|
+| connector | 必选 | (none) | String | 指定使用什么类型的连接器,这里应该是 'jdbc-inlong'。 |
+| url | 必选 | (none) | String | JDBC 数据库 url。 |
+| table-name | 必选 | (none) | String | 连接到 JDBC 表的名称。 |
+| driver | 可选 | (none) | String | 用于连接到此 URL 的 JDBC 驱动类名,如果不设置,将自动从 URL 中推导。 |
+| username | 可选 | (none) | String | JDBC 用户名。如果指定了 'username' 和 'password' 中的任一参数,则两者必须都被指定。 |
+| password | 可选 | (none) | String | JDBC 密码。 |
+| connection.max-retry-timeout | 可选 | 60s | Duration | 最大重试超时时间,以秒为单位且不应该小于 1 秒。 |
+| sink.buffer-flush.max-rows | 可选 | 100 | Integer | flush 前缓存记录的最大值,可以设置为 '0' 来禁用它。 |
+| sink.buffer-flush.interval | 可选 | 1s | Duration | flush 间隔时间,超过该时间后异步线程将 flush 数据。可以设置为 '0' 来禁用它。注意, 为了完全异步地处理缓存的 flush 事件,可以将 'sink.buffer-flush.max-rows' 设置为 '0' 并配置适当的 flush 时间间隔。 |
+| sink.max-retries | 可选 | 3 | Integer | 写入记录到数据库失败后的最大重试次数。 |
+| sink.parallelism | 可选 | (none) | Integer | 用于定义 JDBC sink 算子的并行度。默认情况下,并行度是由框架决定:使用与上游链式算子相同的并行度。 |
+| sink.ignore.changelog | 可选 | false | Boolean |  忽略所有 RowKind 类型的变更日志,将它们当作 INSERT 的数据来采集。 |
+| inlong.metric.labels | 可选 | (none) | String | inlong metric 的标签值,该值的构成为groupId=`{groupId}`&streamId=`{streamId}`&nodeId=`{nodeId}`。|
+
+## 数据类型映射
+
+| Oracle 类型 | Flink SQL 类型 |
+|-----------------|----------------|
+| BINARY_FLOAT    | FLOAT        |
+| BINARY_DOUBLE   | DOUBLE |
+| SMALLINT <br/> FLOAT(s) <br/> DOUBLE PRECISION <br/> REAL <br/> NUMBER(p, s) | DECIMAL(p, s) |
+| DATE | DATE |
+| | DECIMAL(20, 0) |
+| REAL <br/> FLOAT4 | FLOAT |
+| FLOAT8 <br/> DOUBLE PRECISION| DOUBLE |
+| NUMERIC(p, s) <br/> DECIMAL(p, s) | DECIMAL(p, s) |
+| BOOLEAN | BOOLEAN |
+| DATE | DATE |
+| TIMESTAMP [(p)] [WITHOUT TIMEZONE | TIMESTAMP [(p)] [WITHOUT TIMEZONE] |
+| CHAR(n) <br/> VARCHAR(n) <br/> CLOB(n) | STRING |
+| RAW(s) <br/> BLOB | BYTES |
+|  | ARRAY |
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/overview.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/overview.md
new file mode 100644
index 0000000000..29071fc92c
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/overview.md
@@ -0,0 +1,76 @@
+---
+title: 总览
+sidebar_position: 1
+---
+
+## 简介
+
+Load 节点列表是一组基于 <a href="https://flink.apache.org/">Apache Flink<sup>®</sup></a> 的 Sink Connectors 用于将数据加载到不同的存储系统。
+
+## 支持的 Load 节点列表
+| Load 节点                                 | 版本                                                                                                                                                                                                                                                                                                                                                                                                     | 驱动包                     |
+|-----------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|
+| [Kafka](kafka.md)                       | [Kafka](https://kafka.apache.org/): 0.10+                                                                                                                                                                                                                                                                                                                                                              | None                    |
+| [HBase](hbase.md)                       | [Hbase](https://hbase.apache.org/): 2.2.x                                                                                                                                                                                                                                                                                                                                                              | None                    |
+| [PostgreSQL](postgresql.md)             | [PostgreSQL](https://www.postgresql.org/): 9.6, 10, 11, 12                                                                                                                                                                                                                                                                                                                                             | JDBC Driver: 42.2.12    |
+| [Oracle](oracle.md)                     | [Oracle](https://www.oracle.com/index.html): 11, 12, 19                                                                                                                                                                                                                                                                                                                                                | Oracle Driver: 19.3.0.0 |
+| [MySQL](mysql.md)                       | [MySQL](https://dev.mysql.com/doc): 5.6, 5.7, 8.0.x <br/> [RDS MySQL](https://www.aliyun.com/product/rds/mysql): 5.6, 5.7, 8.0.x <br/> [PolarDB MySQL](https://www.aliyun.com/product/polardb): 5.6, 5.7, 8.0.x <br/> [Aurora MySQL](https://aws.amazon.com/cn/rds/aurora): 5.6, 5.7, 8.0.x <br/> [MariaDB](https://mariadb.org): 10.x <br/> [PolarDB X](https://github.com/ApsaraDB/galaxysql): 2.0.1 | JDBC Driver: 8.0.21     |
+| [TDSQL-PostgreSQL](tdsql-postgresql.md) | [TDSQL-PostgreSQL](https://cloud.tencent.com/document/product/1129): 10.17                                                                                                                                                                                                                                                                                                                             | JDBC Driver: 42.2.12    |
+| [Greenplum](greenplum.md)               | [Greenplum](https://greenplum.org/): 4.x, 5.x, 6.x                                                                                                                                                                                                                                                                                                                                                     | JDBC Driver: 42.2.12    |
+| [Elasticsearch](elasticsearch.md)       | [Elasticsearch](https://www.elastic.co/): 6.x, 7.x                                                                                                                                                                                                                                                                                                                                                     | None                    |
+| [ClickHouse](clickhouse.md)             | [ClickHouse](https://clickhouse.com/): 20.7+                                                                                                                                                                                                                                                                                                                                                           | JDBC Driver: 0.3.1      |
+| [Hive](hive.md)                         | [Hive](https://hive.apache.org/): 1.x, 2.x, 3.x                                                                                                                                                                                                                                                                                                                                                        | None                    |
+| [SQLServer](sqlserver.md)               | [SQLServer](https://www.microsoft.com/sql-server): 2012, 2014, 2016, 2017, 2019                                                                                                                                                                                                                                                                                                                        | JDBC Driver: 7.2.2.jre8 |
+| [HDFS](hdfs.md)                         | [HDFS](https://hadoop.apache.org/): 2.x, 3.x                                                                                                                                                                                                                                                                                                                                                           | None                    |
+| [Iceberg](iceberg.md)                   | [Iceberg](https://iceberg.apache.org/): 0.13.1+                                                                                                                                                                                                                                                                                                                                                        | None                    |
+| [Hudi](hudi.md)                   | [Hudi](https://hudi.apache.org/): 0.12.x                                                                                                                                                                                                                                                                                                                                                        | None                    |
+
+
+## 支持的 Flink 版本列表
+
+下表展示了 InLong<sup>®</sup> Load 节点 和 Flink<sup>®</sup> 版本之间的对应关系。
+
+|    InLong<sup>®</sup> Load 节点版本     |            Flink<sup>®</sup> 版本             |
+|:-----------------------------------:|:-------------------------------------------:|
+| <font color="DarkCyan">1.2.0</font> | <font color="MediumVioletRed">1.13.5</font> |
+
+## SQL API 的用法
+- [部署 InLong Sort](modules/sort/quick_start.md)
+- 创建数据节点
+
+下面例子展示了如何在 [Flink SQL Client](https://ci.apache.org/projects/flink/flink-docs-release-1.13/dev/table/sqlClient.html) 创建一个 MySQL Load 节点并加载数据进去:
+
+```sql
+-- 创建一个 MySQL Extract 节点
+CREATE TABLE mysql_extract_node (
+    id INT NOT NULL,
+    name STRING,
+    age INT,
+    weight DECIMAL(10,3),
+    PRIMARY KEY(id) NOT ENFORCED
+) WITH (
+      'connector' = 'mysql-cdc-inlong',
+      'hostname' = 'YourHostname',
+      'port' = '3306',
+      'username' = 'YourUsername',
+      'password' = 'YourPassword',
+      'database-name' = 'YourDatabaseName',
+      'table-name' = 'YourTableName'
+      );
+-- 创建一个 MySQL Load 节点
+CREATE TABLE mysql_load_node (
+ id INT NOT NULL,
+ name STRING,
+ age INT,
+ weight DECIMAL(10,3),
+ PRIMARY KEY(id) NOT ENFORCED
+) WITH (
+ 'connector' = 'jdbc-inlong',
+ 'url' = 'jdbc:mysql://YourHostname:3306/YourDatabaseName',
+ 'username' = 'YourUsername',
+ 'password' = 'YourPassword',
+ 'table-name' = 'YourTableName'
+);
+
+INSERT INTO mysql_load_node SELECT id, name, age, weight FROM mysql_extract_node;
+```
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/postgresql.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/postgresql.md
new file mode 100644
index 0000000000..5ccd41e016
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/postgresql.md
@@ -0,0 +1,118 @@
+---
+title: PostgreSQL
+sidebar_position: 13
+---
+
+import {siteVariables} from '../../version';
+
+## 概览
+
+`PostgreSQL Load` 节点支持将数据写入 PostgreSQL 数据库。 本文档介绍如何设置 PostgreSQL Load 节点以对 PostgreSQL 数据库运行 SQL 查询。
+
+
+## 支持的版本
+
+| Load 节点                | Driver | Group Id | Artifact Id | JAR |                                                                                                                                                                                                                                                                                                                                                                                       
+|--------------------------|--------|----------|-------------|-----|
+| [PostgreSQL](./postgresql.md) | PostgreSQL  | org.postgresql | postgresql | [下载](https://jdbc.postgresql.org/download.html) |
+
+## 依赖
+
+为了设置 PostgreSQL Load 节点, 下面提供了使用构建自动化工具(例如 Maven 或 SBT)和带有 Sort Connector JAR 包的 SQL 客户端的两个项目的依赖关系信息。
+
+### Maven 依赖
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-jdbc</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+## 如何创建 PostgreSQL Load 节点
+
+### SQL API 用法
+
+```sql
+
+-- MySQL Extract 节点
+CREATE TABLE `mysql_extract_table`(
+  PRIMARY KEY (`id`) NOT ENFORCED,
+  `id` BIGINT,
+  `name` STRING,
+  `age` INT
+) WITH (
+  'connector' = 'mysql-cdc-inlong',
+  'url' = 'jdbc:mysql://localhost:3306/read',
+  'username' = 'inlong',
+  'password' = 'inlong',
+  'table-name' = 'user'
+)
+
+-- PostgreSQL Load 节点
+CREATE TABLE `postgresql_load_table`(
+  PRIMARY KEY (`id`) NOT ENFORCED,
+  `id` BIGINT,
+  `name` STRING,
+  `age` INT
+) WITH (
+  'connector' = 'jdbc-inlong',
+  'dialect-impl' = 'org.apache.inlong.sort.jdbc.dialect.PostgresDialect',
+  'url' = 'jdbc:postgresql://localhost:5432/write',
+  'username' = 'inlong',
+  'password' = 'inlong',
+  'table-name' = 'public.user'
+)
+
+-- 写数据到 PostgreSQL
+INSERT INTO postgresql_load_table 
+SELECT id, name , age FROM mysql_extract_table;  
+
+```
+
+### InLong Dashboard 用法
+
+TODO: 将在未来支持此功能。
+
+### InLong Manager Client 用法
+
+TODO: 将在未来支持此功能。
+
+## PostgreSQL Load 节点参数
+
+| 参数 | 是否必选 | 默认值 | 数据类型 | 描述 |
+|---------|----------|---------|------|------------|
+| connector | 必选 | (none) | String | 指定使用什么类型的连接器,这里应该是 'jdbc'。 |
+| url | 必选 | (none) | String | JDBC 数据库 url。 |
+| table-name | 必选 | (none) | String | 连接到 JDBC 表的名称。 |
+| driver | 可选 | (none) | String | 用于连接到此 URL 的 JDBC 驱动类名,如果不设置,将自动从 URL 中推导。 |
+| username | 可选 | (none) | String | JDBC 用户名。如果指定了 'username' 和 'password' 中的任一参数,则两者必须都被指定。 |
+| password | 可选 | (none) | String | JDBC 密码。 |
+| connection.max-retry-timeout | 可选 | 60s | Duration | 最大重试超时时间,以秒为单位且不应该小于 1 秒。 |
+| sink.buffer-flush.max-rows | 可选 | 100 | Integer | flush 前缓存记录的最大值,可以设置为 '0' 来禁用它。 |
+| sink.buffer-flush.interval | 可选 | 1s | Duration | flush 间隔时间,超过该时间后异步线程将 flush 数据。可以设置为 '0' 来禁用它。注意, 为了完全异步地处理缓存的 flush 事件,可以将 'sink.buffer-flush.max-rows' 设置为 '0' 并配置适当的 flush 时间间隔。 |
+| sink.max-retries | 可选 | 3 | Integer | 写入记录到数据库失败后的最大重试次数。 |
+| sink.parallelism | 可选 | (none) | Integer | 用于定义 JDBC sink 算子的并行度。默认情况下,并行度是由框架决定:使用与上游链式算子相同的并行度。 |
+| sink.ignore.changelog | 可选 | false | Boolean |  忽略所有 RowKind 类型的变更日志,将它们当作 INSERT 的数据来采集。 |
+| inlong.metric.labels | 可选 | (none) | String | inlong metric 的标签值,该值的构成为groupId=`{groupId}`&streamId=`{streamId}`&nodeId=`{nodeId}`。|
+
+## 数据类型映射
+
+| PostgreSQL 类型 | Flink SQL 类型 |
+|-----------------|----------------|
+|                 | TINYINT        |
+| SMALLINT <br/> INT2 <br/> SMALLSERIAL <br/> SERIAL2 | SMALLINT |
+| INTEGER <br/> SERIAL | INT |
+| BIGINT <br/> BIGSERIAL | BIGINT |
+| | DECIMAL(20, 0) |
+| REAL <br/> FLOAT4 | FLOAT |
+| FLOAT8 <br/> DOUBLE PRECISION| DOUBLE |
+| NUMERIC(p, s) <br/> DECIMAL(p, s) | DECIMAL(p, s) |
+| BOOLEAN | BOOLEAN |
+| DATE | DATE |
+| TIME [(p)] [WITHOUT TIMEZONE] | TIME [(p)] [WITHOUT TIMEZONE] |
+| TIMESTAMP [(p)] [WITHOUT TIMEZONE | TIMESTAMP [(p)] [WITHOUT TIMEZONE] |
+| CHAR(n) <br/> CHARACTER(n) <br/> VARCHAR(n) <br/> CHARACTER VARYING(n) <br/> TEXT | STRING |
+| BYTEA | BYTES |
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/sqlserver.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/sqlserver.md
new file mode 100644
index 0000000000..b785673fc5
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/sqlserver.md
@@ -0,0 +1,117 @@
+---
+title: SQLServer
+sidebar_position: 14
+---
+
+import {siteVariables} from '../../version';
+
+## 概览
+
+`SQLServer Load` 节点支持将数据写入 MySQL 数据库。 本文档介绍如何设置 SQLServer Load 节点以对 SQLServer 数据库运行 SQL 查询。
+
+## 支持的版本
+
+| Load 节点                | Driver | Group Id | Artifact Id | JAR |                                                                                                                                                                                                                                                                                                                                                                                       
+|--------------------------|--------|----------|-------------|-----|
+| [SQLServer](./sqlserver.md) | SQL Server  | com.microsoft.sqlserver | mssql-jdbc | [下载](https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc) |
+
+## 依赖
+
+为了设置 SQLServer Load 节点, 下面提供了使用构建自动化工具(例如 Maven 或 SBT)和带有 Sort Connector JAR 包的 SQL 客户端的两个项目的依赖关系信息。
+
+### Maven 依赖
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-jdbc</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+## 如何创建 SQLServer Load 节点
+
+### SQL API 用法
+
+```sql
+
+-- MySQL Extract 节点
+CREATE TABLE `mysql_extract_table`(
+  PRIMARY KEY (`id`) NOT ENFORCED,
+  `id` BIGINT,
+  `name` STRING,
+  `age` INT
+) WITH (
+  'connector' = 'mysql-cdc-inlong',
+  'url' = 'jdbc:mysql://localhost:3306/read',
+  'username' = 'inlong',
+  'password' = 'inlong',
+  'table-name' = 'user'
+)
+
+-- SQLServer Load 节点
+CREATE TABLE `sqlserver_load_table`(
+  PRIMARY KEY (`id`) NOT ENFORCED,
+  `id` BIGINT,
+  `name` STRING,
+  `age` INT
+) WITH (
+  'connector' = 'jdbc-inlong',
+  'url' = 'jdbc:sqlserver://localhost:1433;databaseName=column_type_test',
+  'username' = 'inlong',
+  'password' = 'inlong',
+  'table-name' = 'dbo.work1'
+)
+
+-- 写数据到 SQLServer
+INSERT INTO sqlserver_load_table 
+SELECT id, name , age FROM mysql_extract_table;  
+
+```
+
+### InLong Dashboard 用法
+
+TODO: 将在未来支持此功能。
+
+### InLong Manager Client 用法
+
+TODO: 将在未来支持此功能。
+
+## SQLServer Load 节点参数
+
+| 参数 | 是否必选 | 默认值 | 数据类型 | 描述 |
+|---------|----------|---------|------|------------|
+| connector | 必选 | (none) | String | 指定使用什么类型的连接器,这里应该是 'jdbc-inlong'。 |
+| url | 必选 | (none) | String | JDBC 数据库 url。 |
+| table-name | 必选 | (none) | String | 连接到 JDBC 表的名称。 |
+| driver | 可选 | (none) | String | 用于连接到此 URL 的 JDBC 驱动类名,如果不设置,将自动从 URL 中推导。 |
+| username | 可选 | (none) | String | JDBC 用户名。如果指定了 'username' 和 'password' 中的任一参数,则两者必须都被指定。 |
+| password | 可选 | (none) | String | JDBC 密码。 |
+| connection.max-retry-timeout | 可选 | 60s | Duration | 最大重试超时时间,以秒为单位且不应该小于 1 秒。 |
+| sink.buffer-flush.max-rows | 可选 | 100 | Integer | flush 前缓存记录的最大值,可以设置为 '0' 来禁用它。 |
+| sink.buffer-flush.interval | 可选 | 1s | Duration | flush 间隔时间,超过该时间后异步线程将 flush 数据。可以设置为 '0' 来禁用它。注意, 为了完全异步地处理缓存的 flush 事件,可以将 'sink.buffer-flush.max-rows' 设置为 '0' 并配置适当的 flush 时间间隔。 |
+| sink.max-retries | 可选 | 3 | Integer | 写入记录到数据库失败后的最大重试次数。 |
+| sink.parallelism | 可选 | (none) | Integer | 用于定义 JDBC sink 算子的并行度。默认情况下,并行度是由框架决定:使用与上游链式算子相同的并行度。 |
+| sink.ignore.changelog | 可选 | false | Boolean |  忽略所有 RowKind 类型的变更日志,将它们当作 INSERT 的数据来采集。 |
+| inlong.metric.labels | 可选 | (none) | String | inlong metric 的标签值,该值的构成为groupId=`{groupId}`&streamId=`{streamId}`&nodeId=`{nodeId}`。|
+
+## 数据映射
+
+| SQLServer 类型 | Flink SQL 类型 |
+|----------------|----------------|
+| char(n)       | CHAR(n)        |
+| varchar(n) <br/> nvarchar(n) <br/> nchar(n) | VARCHAR(n) |
+| text <br/> ntext <br/> xml | STRING |
+| BIGINT <br/> BIGSERIAL | BIGINT |
+| decimal(p, s) <br/> money <br/> smallmoney | DECIMAL(p, s) |
+| numeric  | NUMERIC |
+| float <br/> real | FLOAT |
+| bit | BOOLEAN |
+| int | INT |
+| tinyint | TINYINT |
+| smallint | SMALLINT |
+| bigint | BIGINT |
+| time(n) | TIME(n) |
+| datetime2 <br/> datetime <br/> smalldatetime | TIMESTAMP(n) |
+| datetimeoffset | TIMESTAMP_LTZ(3) |
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/starrocks.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/starrocks.md
new file mode 100644
index 0000000000..de0fd94c4a
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/starrocks.md
@@ -0,0 +1,335 @@
+---
+title: StarRocks
+sidebar_position: 17
+---
+
+import {siteVariables} from '../../version';
+
+## 概览
+
+`StarRocks Load` 节点支持将数据写入 StarRocks 数据库。 
+支持单表写入和多表写入两种模式:单表写入为指定固定库名表名写入;多表写入支持根据源端数据格式自定义库名表名写入,适用于源端多表写入或者整库同步等场景。
+本文档介绍如何设置 StarRocks Load 节点实现写入 StarRocks 数据库表。
+
+## 支持的版本
+
+| Load 节点             | StarRocks 版本 |                                                                                                                                                                                                                                                                                                                                                                                           
+|---------------------|----------|
+| [StarRocks](./starrocks.md) | 2.0+    |  
+
+## 依赖
+
+为了设置 StarRocks Load 节点, 下面提供了使用构建自动化工具(例如 Maven 或 SBT)所需要的依赖信息。
+
+### Maven 依赖
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-starrocks</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+## 准备
+### 创建 MySQL Extract 表
+- 单表写入:在 MySQL `cdc` 数据库中创建表 `cdc_mysql_source`。 命令如下:
+```sql
+[root@fe001 ~]# mysql -u root -h localhost -P 3306 -p123456
+mysql> use cdc;
+Database changed
+mysql> CREATE TABLE `cdc_mysql_source` (
+       `id` int(11) NOT NULL AUTO_INCREMENT,
+       `name` varchar(64) DEFAULT NULL,
+       `dr` tinyint(3) DEFAULT 0,
+       PRIMARY KEY (`id`)
+       );
+Query OK, 0 rows affected (0.02 sec)
+
+mysql> insert into cdc_mysql_source values(1, 'zhangsan', 0),(2, 'lisi', 0),(3, 'wangwu', 0);
+Query OK, 3 rows affected (0.01 sec)
+Records: 3  Duplicates: 0  Warnings: 0
+
+mysql> select * from cdc_mysql_source;
++----+----------+----+
+| id | name     | dr |
++----+----------+----+
+|  1 | zhangsan |  0 |
+|  2 | lisi     |  0 |
+|  3 | wangwu   |  0 |
++----+----------+----+
+3 rows in set (0.07 sec)
+```
+- 多表写入:在 MySQL `user_db` 数据库中创建表 `user_id_name`、`user_id_score`。 命令如下:
+```sql
+[root@fe001 ~]# mysql -u root -h localhost -P 3306 -p123456
+mysql> use user_db;
+Database changed
+mysql> CREATE TABLE `user_id_name` (
+       `id` int(11) NOT NULL AUTO_INCREMENT,
+       `name` varchar(64) DEFAULT NULL
+       PRIMARY KEY (`id`)
+       );
+Query OK, 0 rows affected (0.02 sec)
+
+mysql> CREATE TABLE `user_id_score` (
+       `id` int(11) NOT NULL AUTO_INCREMENT,
+       `score` double default 0,
+       PRIMARY KEY (`id`)
+       );
+Query OK, 0 rows affected (0.02 sec)
+
+mysql> insert into user_id_name values(1001, 'lily'),(1002, 'tom'),(1003, 'alan');
+Query OK, 3 rows affected (0.01 sec)
+Records: 3  Duplicates: 0  Warnings: 0 
+
+mysql> insert into user_id_score values(1001, 99),(1002, 96),(1003, 98);
+Query OK, 3 rows affected (0.01 sec)
+Records: 3  Duplicates: 0  Warnings: 0 
+
+mysql> select * from user_id_name;
++------+--------+
+|  id  | name   |
++------+--------+
+| 1001 | lily   |
+| 1002 | tom    |
+| 1003 | alan   |
++----+----------+
+3 rows in set (0.07 sec)    
+
+mysql> select * from user_id_score;
++------+------+
+|  id  | name |
++------+------+
+| 1001 | 99   |
+| 1002 | 96   |
+| 1003 | 98   |
++----+--------+
+3 rows in set (0.07 sec)  
+```
+
+### 创建 StarRocks Load 表
+- 单表写入:在 StarRocks `cdc`数据库中创建表`cdc_starrocks_sink`。命令如下:
+```sql
+[root@fe001 ~]# mysql -u username -h localhost -P 9030 -p password
+mysql> use cdc;
+Reading table information for completion of table and column names
+You can turn off this feature to get a quicker startup with -A
+Database changed
+
+mysql> CREATE TABLE `cdc_starrocks_sink` (
+       `id` int(11) NOT NULL COMMENT "用户id",
+       `name` varchar(50) NOT NULL COMMENT "昵称",
+       `dr` tinyint(4) NULL COMMENT "逻辑删除"
+       ) ENGINE=OLAP
+       PRIMARY KEY(`id`)
+       COMMENT "OLAP"
+       DISTRIBUTED BY HASH(`id`) BUCKETS 1
+       PROPERTIES (
+       "replication_allocation" = "tag.location.default: 1"
+       );
+Query OK, 0 rows affected (0.06 sec)
+```
+- 多表写入:在 StarRocks `user_db`数据库中创建表`starrocks_user_id_name`、`starrocks_user_id_score`。命令如下:
+```sql
+[root@fe001 ~]# mysql -u username -h localhost -P 9030 -p password
+mysql> use user_db;
+Reading table information for completion of table and column names
+You can turn off this feature to get a quicker startup with -A
+Database changed
+
+mysql> CREATE TABLE `starrocks_user_id_name` (
+       `id` int(11) NOT NULL COMMENT "用户id",
+       `name` varchar(50) NOT NULL COMMENT "昵称"
+       ) ENGINE=OLAP
+       PRIMARY KEY(`id`)
+       COMMENT "OLAP"
+       DISTRIBUTED BY HASH(`id`) BUCKETS 1
+       PROPERTIES (
+       "replication_allocation" = "tag.location.default: 1"
+       );
+Query OK, 0 rows affected (0.06 sec)
+
+mysql> CREATE TABLE `starrocks_user_id_score` (
+       `id` int(11) NOT NULL COMMENT "用户id",
+       `score` double default 0
+       ) ENGINE=OLAP
+       PRIMARY KEY(`id`)
+       COMMENT "OLAP"
+       DISTRIBUTED BY HASH(`id`) BUCKETS 1
+       PROPERTIES (
+       "replication_allocation" = "tag.location.default: 1"
+       );
+Query OK, 0 rows affected (0.06 sec)
+```
+
+## 如何创建 StarRocks Load 节点
+
+### SQL API 用法
+- 单表写入: StarRocks 单表写入
+```sql
+[root@tasknode001 flink-1.13.5]# ./bin/sql-client.sh -l ./opt/connectors/mysql-cdc-inlong/ -l ./opt/connectors/starrocks/
+Flink SQL> SET 'execution.checkpointing.interval' = '3s';
+[INFO] Session property has been set.
+
+Flink SQL> SET 'table.dynamic-table-options.enabled' = 'true';
+[INFO] Session property has been set.
+
+Flink SQL> CREATE TABLE cdc_mysql_source (
+    >   id int
+    >   ,name VARCHAR
+    >   ,dr TINYINT
+    >   ,PRIMARY KEY (id) NOT ENFORCED
+    > ) WITH (
+    >  'connector' = 'mysql-cdc-inlong',
+    >  'hostname' = 'localhost',
+    >  'port' = '3306',
+    >  'username' = 'root',
+    >  'password' = '123456',
+    >  'database-name' = 'cdc',
+    >  'table-name' = 'cdc_mysql_source'
+    > );
+[INFO] Execute statement succeed.
+
+Flink SQL> CREATE TABLE cdc_starrocks_sink (
+    > id INT,
+    > name STRING,
+    > dr TINYINT
+    > ) WITH (
+    >  'connector' = 'starrocks-inlong',
+    >  'fenodes' = 'localhost:8030',
+    >  'table.identifier' = 'cdc.cdc_starrocks_sink',
+    >  'username' = 'username',
+    >  'password' = 'password',
+    >  'sink.properties.format' = 'json'
+    > );
+[INFO] Execute statement succeed.
+
+Flink SQL> insert into cdc_starrocks_sink select * from cdc_mysql_source /*+ OPTIONS('server-id'='5402') */;
+[INFO] Submitting SQL update statement to the cluster...
+[INFO] SQL update statement has been successfully submitted to the cluster:
+Job ID: 5f89691571d7b3f3ca446589e3d0c3d3
+```
+
+- 多表写入: StarRocks 多表写入
+```sql
+./bin/sql-client.sh -l ./opt/connectors/mysql-cdc-inlong/ -l ./opt/connectors/starrocks/
+Flink SQL> SET 'execution.checkpointing.interval' = '3s';
+[INFO] Session property has been set.
+
+Flink SQL> SET 'table.dynamic-table-options.enabled' = 'true';
+[INFO] Session property has been set.
+
+Flink SQL> CREATE TABLE cdc_mysql_source (
+    >   id int
+    >   ,name VARCHAR
+    >   ,dr TINYINT
+    >   ,PRIMARY KEY (id) NOT ENFORCED
+    > ) WITH (
+    >  'connector' = 'mysql-cdc-inlong',
+    >  'hostname' = 'localhost',
+    >  'port' = '3306',
+    >  'username' = 'root',
+    >  'password' = '123456',
+    >  'database-name' = 'test',
+    >  'table-name' = 'cdc_mysql_source'
+    > );
+[INFO] Execute statement succeed.
+
+Flink SQL> CREATE TABLE cdc_starrocks_sink (
+    > id INT,
+    > name STRING,
+    > dr TINYINT
+    > ) WITH (
+    >  'connector' = 'starrocks-inlong',
+    >  'fenodes' = 'localhost:8030',
+    >  'username' = 'username',
+    >  'password' = 'password',
+    >  'sink.multiple.enable' = 'true',
+    >  'sink.multiple.format' = 'canal-json',
+    >  'sink.multiple.database-pattern' = '${database}',
+    >  'sink.multiple.table-pattern' = 'StarRocks_${table}'
+    > );
+[INFO] Execute statement succeed.
+
+Flink SQL> insert into cdc_starrocks_sink select * from cdc_mysql_source /*+ OPTIONS('server-id'='5402') */;
+[INFO] Submitting SQL update statement to the cluster...
+[INFO] SQL update statement has been successfully submitted to the cluster:
+Job ID: 30feaa0ede92h6b6e25ea0cfda26df5e
+```
+
+### InLong Dashboard 用法
+
+TODO: 将在未来支持此功能。
+
+### InLong Manager Client 用法
+
+TODO: 将在未来支持此功能。
+
+## StarRocks Load 节点参数
+
+| 参数                               | 是否必选  | 默认值            | 数据类型  | 描述     |
+| --------------------------------- | ------- | ----------------- | ------- | ------- |
+| connector                         | 必选     | 无                | string  | 指定使用哪个 connector ,合法值为 `starrocks-inlong` |
+| jdbc-url                          | 必选     | 无                | string  | 用于在 StarRocks 中执行查询 |                  
+| load-url                          | 必选     | 无                | string  | 格式为 fe_ip:http_port;fe_ip:http_port 用分号(;)隔开。用于向 StarRocks 批量写入数据。|                                                 
+| database-name                     | 必选     | 无                | string  | StarRocks 的数据库名 |
+| table-name                        | 必选     | 无                | string  | StarRocks 的表名 |
+| username                          | 必选     | 无                | string  | StarRocks 连接的用户名 |
+| password                          | 必选     | 无                | string  | StarRocks 连接的口令 |
+| sink.semantic                     | 可选     | at-least-once    | string  | 可选值为 at-least-once 或 exactly-once (仅在 checkpoint 时刷新数据,`sink.buffer-flush.*` 等参数将不再工作) |
+| sink.version                      | 可选     | AUTO             | string  | exectly-once语义的实现版本,只有 connector 在1.2.4及以上的版本时才可用。如果填 V2,则使用 StarRocks 的 stream load 事务接口需要 2.4 及以上的 StarRocks 版本。如果填 V1,则使用 stream load 非事务接口。如果填 AUTO,则 connector 根据 StarRocks 是否支持事务的特性来自动选择 stream load 的事务接口。 |
+| sink.buffer-flush.max-bytes       | 可选     | 94371840(90M)    | string  | 批量刷新缓存数据的大小阈值,范围:[64MB, 10GB] |
+| sink.buffer-flush.max-rows        | 可选     | 500000           | string  | 批量刷新缓存数据的行数阈值,范围:[64,000, 5000,000] |
+| sink.buffer-flush.interval-ms     | 可选     | 300000           | string  | 批量刷新缓存数据的时间间隔,范围:[1000ms, 3600000ms] |
+| sink.max-retries                  | 可选     | 3                | string  | Stream load 请求的最大重试次数,范围:[0, 10] |
+| sink.connect.timeout-ms           | 可选     | 1000             | string  | 连接到指定的 load-url 的超时时间,单位:毫秒,范围:[100, 60000] |
+| sink.properties.format            | 可选     | CSV              | string  | 导入到 StarRocks 的数据文件格式,可选的值为:CSV 和 JSON 。默认为: CSV |
+| sink.properties.*                 | 可选     | 无                | string  | Stream load 的属性,例如:'sink.properties.columns' = 'k1, k2, k3'。从 StarRocks 2.4 开始,flink-connector-starrocks 支持 Primary Key 模式下的数据部分更新。 |
+| sink.properties.ignore_json_size  | 可选     | false            | string  |  忽略 json 数据的批量大小限制(100MB) | 
+| sink.multiple.enable              | 可选     | false            | boolean | 决定是否开始多表(整库)写入特性,默认为 `false` 。当 `sink.multiple.enable` 为 `true` 时,也需要设置 `sink.multiple.format`、 `sink.multiple.database-pattern` 和 `sink.multiple.table-pattern` |
+| sink.multiple.format              | 可选     | 无               | string   | 多表(整库)写入的数据格式,它表示 connector 之间流转的原始二进制数据的实际格式,目前支持 `canal-json` 和 `debezium-json` 。可以查看 [kafka -- Dynamic Topic Extraction](https://github.com/apache/inlong-website/blob/master/docs/data_node/load_node/kafka.md)获取更多信息。  |
+| sink.multiple.database-pattern    | 可选     | 无               | string   | 从原始二进制数据中提取数据库名,仅在多表(整库)同步场景中使用。 | 
+| sink.multiple.table-pattern       | 可选     | 无               | string   | 从原始二进制数据中提取表名,仅在多表(整库)同步场景中使用。 |
+| inlong.metric.labels | 可选 | (none) | String | inlong metric 的标签值,该值的构成为 groupId=`{groupId}`&streamId=`{streamId}`&nodeId=`{nodeId}`。|
+| sink.multiple.schema-update.policy | 可选 | (none) | string | 往 StarRocks 表同步数据时,如果 StarRocks 表不存在或字段长度超过限制,StarRocks 服务器会抛出异常。<br /><br /> 当该属性设置为 `THROW_WITH_STOP`,异常会向上抛给 Flink 框架。Flink 框架会自动重启任务,尝试恢复。<br /><br /> 当该属性设置为 `STOP_PARTIAL` 时,StarRocks connector 会忽略该表的写入,新数据不再往该表写入,其它表则正常同步。<br /><br /> 当该属性设置为 `LOG_WITH_IGNORE` 时,异常会打印到日志中,不会向上抛出。后续新数据到来时,继续尝试往该表写入。 |
+| dirty.ignore | 可选 | (none)| boolean | 往 StarRocks 表同步数据时,如果遇到错误和异常,通过该变量可以控制是否忽略脏数据。如果设置为 `false` ,则忽略脏数据,不归档。如果为 `true` ,则根据其它的 `dirty.side-output.*` 的配置决定如何归档数据。 |
+| dirty.side-output.connector | 可选 | (none)| string | 支持 `s3` 和 `log` 两种配置。当配置为 `log` 时,仅打印日志,不归档数据。当配置为 `s3` 时,可以将数据归档到亚马逊 S3 或腾讯云 COS 存储。 |
+| dirty.side-output.s3.bucket | 可选 | (none)| string | S3 或 COS 的桶名称 |
+| dirty.side-output.s3.endpoint | 可选 | (none)| string | S3 或 COS 的 endpoint 地址 |
+| dirty.side-output.s3.key | 可选 | (none)| string | S3 或 COS 的 key  |
+| dirty.side-output.s3.region | 可选 | (none)| string | S3 或 COS 的区域 |
+| dirty.side-output.line-delimiter | 可选 | (none)| string | 脏数据的行分隔符 |
+| dirty.side-output.field-delimiter | 可选 | (none)| string | 脏数据的字段分隔符 |
+| dirty.side-output.s3.secret-key-id | 可选 | (none)| string | S3 或 COS 的 secret key |
+| dirty.side-output.s3.access-key-id | 可选 | (none)| string | S3 或 COS 的 access key |
+| dirty.side-output.format | 可选 | (none)| string | 脏数据归档的格式,支持 `json` 和 `csv` |
+| dirty.side-output.log-tag | 可选 | (none)| string | 脏数据的 tag 。通过该变量区分每条脏数据归属于 StarRocks 的哪个库表。 |
+| dirty.identifier | 可选 | (none)| string | 归档后的文件名 |
+| dirty.side-output.labels | 可选 | (none)| string | 归档后的每条数据包括标签和业务数据两部分。标签在前面,业务数据在后面。 |
+
+## 数据类型映射
+
+| Flink类型   | StarRocks类型   |
+| ---------- | -------------- |
+| BOOLEAN    | BOOLEAN        |
+| TINYINT    | TINYINT        |
+| SMALLINT   | SMALLINT       |
+| INTEGER    | INTEGER        |
+| BIGINT     | BIGINT         |
+| FLOAT      | FLOAT          |
+| DOUBLE     | DOUBLE         |
+| DECIMAL    | DECIMAL        |
+| BINARY     | INT            |
+| CHAR       | JSON / STRING  |
+| VARCHAR    | JSON / STRING  |
+| STRING     | JSON / STRING  |
+| DATE       | DATE           |
+| TIMESTAMP_WITHOUT_TIME_ZONE(N) | DATETIME |
+| TIMESTAMP_WITH_LOCAL_TIME_ZONE(N) | DATETIME |
+| ARRAY&lt;T&gt;   | ARRAY&lt;T&gt;       |
+| MAP&lt;KT,VT&gt; | JSON / JSON STRING |
+| ROW&lt;arg T...&gt; | JSON / JSON STRING |
+
+查看 [flink-connector-starrocks](https://github.com/StarRocks/starrocks-connector-for-apache-flink/blob/main/README.md) 获取更多信息。
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/tdsql-postgresql.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/tdsql-postgresql.md
new file mode 100644
index 0000000000..650e7907dd
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/data_node/load_node/tdsql-postgresql.md
@@ -0,0 +1,116 @@
+---
+title: TDSQL-PostgreSQL
+sidebar_position: 15
+---
+
+import {siteVariables} from '../../version';
+
+## 概览
+
+`TDSQL-PostgreSQL Load` 节点支持将数据写入 TDSQL-PostgreSQL 数据库。 本文档介绍如何设置 TDSQL-PostgreSQL Load 节点以对 TDSQL-PostgreSQL 数据库运行 SQL 查询。
+
+## 支持的版本
+
+| Load 节点                | Driver | Group Id | Artifact Id | JAR |                                                                                                                                                                                                                                                                                                                                                                                       
+|--------------------------|--------|----------|-------------|-----|
+| [TDSQL-PostgreSQL](./tdsql-postgresql.md) | PostgreSQL  | org.postgresql | postgresql | [下载](https://jdbc.postgresql.org/download.html) |
+
+## 依赖
+
+为了设置 TDSQL-PostgreSQL Load 节点, 下面提供了使用构建自动化工具(例如 Maven 或 SBT)和带有 Sort Connector JAR 包的 SQL 客户端的两个项目的依赖关系信息。
+
+### Maven 依赖
+
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>sort-connector-jdbc</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+## 如何创建 TDSQL-PostgreSQL Load 节点
+
+### SQL API 用法
+
+```sql
+
+-- MySQL Extract 节点
+CREATE TABLE `mysql_extract_table`(
+  PRIMARY KEY (`id`) NOT ENFORCED,
+  `id` BIGINT,
+  `name` STRING,
+  `age` INT
+) WITH (
+  'connector' = 'mysql-cdc-inlong',
+  'url' = 'jdbc:mysql://localhost:3306/read',
+  'username' = 'inlong',
+  'password' = 'inlong',
+  'table-name' = 'user'
+)
+
+-- TDSQL-PostgreSQL Load 节点
+CREATE TABLE `tdsql_postgresql_load_table`(
+  PRIMARY KEY (`id`) NOT ENFORCED,
+  `id` BIGINT,
+  `name` STRING,
+  `age` INT
+) WITH (
+  'connector' = 'jdbc-inlong',
+  'url' = 'jdbc:postgresql://localhost:5432/write',
+  'username' = 'inlong',
+  'password' = 'inlong',
+  'table-name' = 'public.user'
+)
+
+-- 写数据到 TDSQL-PostgreSQL
+INSERT INTO tdsql_postgresql_load_table 
+SELECT id, name , age FROM mysql_extract_table;  
+
+```
+
+### InLong Dashboard 用法
+
+TODO: 将在未来支持此功能。
+
+### InLong Manager Client 用法
+
+TODO: 将在未来支持此功能。
+
+## TDSQL-PostgreSQL Load 节点参数
+
+| 参数 | 是否必选 | 默认值 | 数据类型 | 描述 |
+|---------|----------|---------|------|------------|
+| connector | 必选 | (none) | String | 指定使用什么类型的连接器,这里应该是 'jdbc-inlong'。 |
+| url | 必选 | (none) | String | JDBC 数据库 url。 |
+| table-name | 必选 | (none) | String | 连接到 JDBC 表的名称。 |
+| driver | 可选 | (none) | String | 用于连接到此 URL 的 JDBC 驱动类名,如果不设置,将自动从 URL 中推导。 |
+| username | 可选 | (none) | String | JDBC 用户名。如果指定了 'username' 和 'password' 中的任一参数,则两者必须都被指定。 |
+| password | 可选 | (none) | String | JDBC 密码。 |
+| connection.max-retry-timeout | 可选 | 60s | Duration | 最大重试超时时间,以秒为单位且不应该小于 1 秒。 |
+| sink.buffer-flush.max-rows | 可选 | 100 | Integer | flush 前缓存记录的最大值,可以设置为 '0' 来禁用它。 |
+| sink.buffer-flush.interval | 可选 | 1s | Duration | flush 间隔时间,超过该时间后异步线程将 flush 数据。可以设置为 '0' 来禁用它。注意, 为了完全异步地处理缓存的 flush 事件,可以将 'sink.buffer-flush.max-rows' 设置为 '0' 并配置适当的 flush 时间间隔。 |
+| sink.max-retries | 可选 | 3 | Integer | 写入记录到数据库失败后的最大重试次数。 |
+| sink.parallelism | 可选 | (none) | Integer | 用于定义 JDBC sink 算子的并行度。默认情况下,并行度是由框架决定:使用与上游链式算子相同的并行度。 |
+| sink.ignore.changelog | 可选 | false | Boolean |  忽略所有 RowKind 类型的变更日志,将它们当作 INSERT 的数据来采集。 |
+| inlong.metric.labels | 可选 | (none) | String | inlong metric 的标签值,该值的构成为groupId=`{groupId}`&streamId=`{streamId}`&nodeId=`{nodeId}`。|
+
+## 数据类型映射
+
+| TDSQL-PostgreSQL 类型 | Flink SQL 类型 |
+|-----------------|----------------|
+|                 | TINYINT        |
+| SMALLINT <br/> INT2 <br/> SMALLSERIAL <br/> SERIAL2 | SMALLINT |
+| INTEGER <br/> SERIAL | INT |
+| BIGINT <br/> BIGSERIAL | BIGINT |
+| | DECIMAL(20, 0) |
+| REAL <br/> FLOAT4 | FLOAT |
+| FLOAT8 <br/> DOUBLE PRECISION| DOUBLE |
+| NUMERIC(p, s) <br/> DECIMAL(p, s) | DECIMAL(p, s) |
+| BOOLEAN | BOOLEAN |
+| DATE | DATE |
+| TIME [(p)] [WITHOUT TIMEZONE] | TIME [(p)] [WITHOUT TIMEZONE] |
+| TIMESTAMP [(p)] [WITHOUT TIMEZONE | TIMESTAMP [(p)] [WITHOUT TIMEZONE] |
+| CHAR(n) <br/> CHARACTER(n) <br/> VARCHAR(n) <br/> CHARACTER VARYING(n) <br/> TEXT | STRING |
+| BYTEA | BYTES |
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/bare_metal.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/bare_metal.md
new file mode 100644
index 0000000000..9dbc039399
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/bare_metal.md
@@ -0,0 +1,36 @@
+---
+title: Bare Metal 部署
+sidebar_position: 4
+---
+
+## 环境要求
+- MySQL 5.7+ or PostgreSQL
+- [Apache Flink 1.13.5](https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/deployment/overview/)
+
+## 准备消息队列
+InLong 当前支持以下消息队列,根据使用情况**选择其一**即可。
+- [InLong TubeMQ](modules/tubemq/quick_start.md)
+- [Apache Pulsar 2.8.x](https://pulsar.apache.org/docs/en/2.8.1/standalone/)
+
+## 下载安装包
+可以从 [下载页面](https://inlong.apache.org/download) 获取二进制包,或参考 [如何编译](quick_start/how_to_build.md) 编译需要的版本。
+
+## 标准架构
+标准架构下,你需要部署所有 InLong 组件。
+
+### 安装
+| 顺序     | 组件                        | 第三方依赖                     | 部署指引                                                                                                                                        | 说明  |
+|--------|---------------------------|---------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|-----|
+| 1      | inlong-audit              | MySQL 或者 Elasticsearch    | [InLong Audit](modules/audit/quick_start.md)                                                                                                |     |
+| 2      | inlong-manager            | MySQL                     | [InLong Manager](modules/manager/quick_start.md)                                                                                            |     |
+| 3      | inlong-dataproxy          | 无                         | [InLong DataProxy](modules/dataproxy/quick_start.md)                                                                                        |     |
+| 4      | inlong-agent              | 无                         | [InLong Agent](modules/agent/quick_start.md)                                                                                                |     |
+| 5      | inlong-dashboard          | Nginx 或者 Docker           | [InLong Dashboard](modules/dashboard/quick_start.md)                                                                                        |     |
+| 6      | inlong-sort-connectors    | Apache Flink              | 解压 [apache-inlong-[version]-sort-connectors.tar.gz](https://inlong.apache.org/zh-CN/download/) 然后将 connectors jar 放到 `inlong-sort/connectors` 目录。 |     |
+
+### 创建数据流
+InLong 集群部署成功后,你可以参考[Dashboard 使用指引](user_guide/dashboard_usage.md)创建一个数据流开始使用。
+
+## 轻量化架构
+### 安装
+轻量化架构只需要 InLong Sort 组件, 拥有简单、灵活,适合小规模数据的特点。你可以参考[部署指引](modules/sort/quick_start.md)进行安装和使用
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/docker.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/docker.md
new file mode 100644
index 0000000000..5d7b1753aa
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/docker.md
@@ -0,0 +1,57 @@
+---
+title: Docker 部署
+sidebar_position: 2
+---
+
+通过 Docker Compose 部署 InLong,这种部署方式只适用于开发与调试,不适用于生产环境。
+
+:::note
+Docker Compose 部署了`标准架构`所需要的所有组件,使用 [Apache Pulsar](https://pulsar.apache.org/docs/concepts-overview) 作为消息队列服务。
+:::
+
+## 环境要求
+- [Docker](https://docs.docker.com/engine/install/) 19.03.1+
+- [Docker Compose 2.4+](https://docs.docker.com/compose/install/other/#on-linux)
+
+## 下载
+你可以从 [下载页面](https://inlong.apache.org/zh-CN/download/) 获取 `apache-inlong-[version]-bin.tar.gz`,或者参考 [How to Build](quick_start/how_to_build.md) 编译。
+
+## 部署
+启动所有组件:
+```
+cd docker/docker-compose
+docker-compose up -d
+```
+
+## 集群初始化
+当所有容器都成功启动后,可以访问 InLong Dashboard 地址`http://localhost`,并使用以下默认账号登录:
+```
+User: admin
+Password: inlong
+```
+
+### 创建集群标签
+页面点击 [集群管理]->[标签管理]->[新建],指定集群标签名称和负责人:
+![](img/create_cluster_tag.png)
+
+:::caution
+由于各个组件默认上报集群标签为 `default_cluster`,请勿使用其它名称。
+:::
+
+### 注册 Pulsar 集群
+页面点击 [集群管理]->[集群管理]->[新建集群],注册 Pulsar 集群:
+![](img/create_pulsar_cluster.png)
+
+:::note
+集群标签选择刚创建的 `default_cluster`,docker 部署的 Pulsar 集群:
+
+Service URL 为 `pulsar://pulsar:6650`,Admin URL 为 `http://pulsar:8080`。
+:::
+
+## 使用
+创建数据流可以参考 [Pulsar Example](quick_start/pulsar_example.md).
+
+## 销毁
+```
+docker-compose down
+```
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/img/create_cluster_tag.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/img/create_cluster_tag.png
new file mode 100644
index 0000000000..8dc5f2d417
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/img/create_cluster_tag.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/img/create_kafka_cluster.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/img/create_kafka_cluster.png
new file mode 100644
index 0000000000..c42677ce6a
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/img/create_kafka_cluster.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/img/create_pulsar_cluster.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/img/create_pulsar_cluster.png
new file mode 100644
index 0000000000..881162522b
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/img/create_pulsar_cluster.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/k8s.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/k8s.md
new file mode 100644
index 0000000000..0ee7061b60
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/k8s.md
@@ -0,0 +1,197 @@
+---
+title: Kubernetes 部署
+sidebar_position: 3
+---
+
+## 准备条件
+
+- Kubernetes 1.10+
+- Helm 3.0+
+- [InLong Helm Chart](https://github.com/apache/inlong/tree/master/docker/kubernetes)
+- [Flink 1.13.5](https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/try-flink/local_installation/)
+- [Apache Pulsar 2.8.x](https://pulsar.apache.org/docs/en/2.8.1/standalone/)
+- A dynamic provisioner for the PersistentVolumes(`production environment`)
+
+## 使用
+
+### 配置
+- 配置 `values.yaml` 中 `external.pulsar` 关于 Apache Pulsar 集群信息
+- 配置 `values.yaml` 中 `external.flink` 关于 Apache Flink 集群信息
+
+### 安装
+
+如果不存在名为 `inlong` 的命名空间,可通过以下命令创建:
+```shell
+kubectl create namespace inlong
+```
+
+在 [docker/kubernetes](https://github.com/apache/inlong/tree/master/docker/kubernetes) 目录下安装 chart:
+```shell
+helm upgrade inlong --install -n inlong ./
+```
+
+### 进入 InLong Dashboard
+
+如果 [values.yaml](https://github.com/apache/inlong/blob/master/docker/kubernetes/values.yaml) 中的 `ingress.enabled` 字段值是 `true`,
+则直接在浏览器中访问 `http://${ingress.host}/dashboard` 即可,否则,如果 `dashboard.service.type` 字段值设置为 `ClusterIP`,则需要执行以下命令进行端口转发:
+```shell
+export DASHBOARD_POD_NAME=$(kubectl get pods -l "component=dashboard" -o jsonpath="{.items[0].metadata.name}" -n inlong)
+export DASHBOARD_CONTAINER_PORT=$(kubectl get pod $DASHBOARD_POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}" -n inlong)
+kubectl port-forward $DASHBOARD_POD_NAME 80:$DASHBOARD_CONTAINER_PORT --address='0.0.0.0' -n inlong
+```
+
+之后就可以访问 [http://127.0.0.1:80](http://127.0.0.1:80) 进入 InLong Dashboard 了,默认登录账号为:
+```
+User: admin
+Password: inlong
+```
+
+:::note
+如果出现 `unable to do port forwarding: socat not found` 的错误,则首先需要安装 `socat`
+:::
+
+如果 `dashboard.service.type` 字段值设置为 `NodePort`,则需要执行以下命令:
+```shell
+export DASHBOARD_NODE_IP=$(kubectl get nodes -o jsonpath="{.items[0].status.addresses[0].address}" -n inlong)
+export DASHBOARD_NODE_PORT=$(kubectl get svc inlong-dashboard -o jsonpath="{.spec.ports[0].nodePort}" -n inlong)
+```
+
+之后就可以访问 `http://$DASHBOARD_NODE_IP:$DASHBOARD_NODE_PORT` 进入 InLong Dashboard 了。
+
+如果 `dashboard.service.type` 字段值设置为 `LoadBalancer`,则需要执行以下命令:
+```shell
+export DASHBOARD_SERVICE_IP=$(kubectl get svc inlong-dashboard --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}"  -n inlong)
+```
+
+之后就可以访问 `http://$DASHBOARD_SERVICE_IP:30080` 进入 InLong Dashboard 了。
+
+:::note
+这将花费一些时间,可以运行 `kubectl get svc inlong-dashboard -n inlong -w` 命令来查看其状态
+:::
+
+默认的用户名是 `admin`,默认密码是 `inlong`,你可以通过它们进入 InLong Dashboard。
+
+### 配置
+配置项在 [values.yaml](https://github.com/apache/inlong/blob/master/docker/kubernetes/values.yaml) 文件中,下表展示了所有可配置项及其默认值:
+
+|                                    Parameter                                     |     Default      |                                                                         Description                                                                          | 
+|:--------------------------------------------------------------------------------:|:----------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------:|
+|                                    `timezone`                                    | `Asia/Shanghai`  |                                                       World time and date for cities in all time zones                                                       |
+|                               `images.pullPolicy`                                |  `IfNotPresent`  |                                                 Image pull policy. One of `Always`, `Never`, `IfNotPresent`                                                  |
+|                         `images.<component>.repository`                          |                  |                                                          Docker image repository for the component                                                           |
+|                             `images.<component>.tag`                             |     `latest`     |                                                              Docker image tag for the component                                                              |
+|                             `<component>.component`                              |                  |                                                                        Component name                                                                        |
+|                              `<component>.replicas`                              |       `1`        |                                                Replicas is the desired number of replicas of a given Template                                                |
+|                        `<component>.podManagementPolicy`                         |  `OrderedReady`  |                PodManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down                 |
+|                            `<component>.annotations`                             |       `{}`       |                                 The `annotations` field can be used to attach arbitrary non-identifying metadata to objects                                  |
+|                            `<component>.tolerations`                             |       `[]`       |                     Tolerations are applied to pods, and allow (but do not require) the pods to schedule onto nodes with matching taints                     |
+|                            `<component>.nodeSelector`                            |       `{}`       |                 You can add the `nodeSelector` field to your Pod specification and specify the node labels you want the target node to have                  |
+|                              `<component>.affinity`                              |       `{}`       |        Node affinity is conceptually similar to nodeSelector, allowing you to constrain which nodes your Pod can be scheduled on based on node labels        |
+|                   `<component>.terminationGracePeriodSeconds`                    |       `30`       |                                              Optional duration in seconds the pod needs to terminate gracefully                                              |
+|                             `<component>.resources`                              |       `{}`       |                                                Optionally specify how much of each resource a container needs                                                |
+|                              `<component>.port(s)`                               |                  |                                                            The port(s) for each component service                                                            |
+|                                `<component>.env`                                 |       `{}`       |                                                      Environment variables for each component container                                                      |
+|       <code>\<component\>.probe.\<liveness&#124;readiness\>.enabled</code>       |      `true`      |                                                         Turn on and off liveness or readiness probe                                                          |
+|  <code>\<component\>.probe.\<liveness&#124;readiness\>.failureThreshold</code>   |       `10`       |                                                         Minimum consecutive successes for the probe                                                          |
+| <code>\<component\>.probe.\<liveness&#124;readiness\>.initialDelaySeconds</code> |       `10`       |                                                             Delay before the probe is initiated                                                              |
+|    <code>\<component\>.probe.\<liveness&#124;readiness\>.periodSeconds</code>    |       `30`       |                                                                How often to perform the probe                                                                |
+|                            `<component>.volumes.name`                            |                  |                                                                         Volume name                                                                          |
+|                            `<component>.volumes.size`                            |      `10Gi`      |                                                                         Volume size                                                                          |
+|                        `<component>.service.annotations`                         |       `{}`       |                                        The `annotations` field may need to be set when service.type is `LoadBalancer`                                        |
+|                            `<component>.service.type`                            |   `ClusterIP`    |             The `type` field determines how the service is exposed. Valid options are `ClusterIP`, `NodePort`, `LoadBalancer` and `ExternalName`             |
+|                         `<component>.service.clusterIP`                          |      `nil`       |                                  ClusterIP is the IP address of the service and is usually assigned randomly by the master                                   |
+|                          `<component>.service.nodePort`                          |      `nil`       |                              NodePort is the port on each node on which this service is exposed when service type is `NodePort`                              |
+|                       `<component>.service.loadBalancerIP`                       |      `nil`       |                            LoadBalancer will get created with the IP specified in this field when service type is `LoadBalancer`                             |
+|                        `<component>.service.externalName`                        |      `nil`       | ExternalName is the external reference that kubedns or equivalent will return as a CNAME record for this service, requires service type to be `ExternalName` |
+|                        `<component>.service.externalIPs`                         |       `[]`       |                        ExternalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service                        |
+|                             `external.mysql.enabled`                             |     `false`      |                                         If not exists external MySQL, InLong will use the internal MySQL by default                                          |
+|                            `external.mysql.hostname`                             |   `localhost`    |                                                                   External MySQL hostname                                                                    |
+|                              `external.mysql.port`                               |      `3306`      |                                                                     External MySQL port                                                                      |
+|                            `external.mysql.username`                             |      `root`      |                                                                   External MySQL username                                                                    |
+|                            `external.mysql.password`                             |    `password`    |                                                                   External MySQL password                                                                    |
+|                           `external.pulsar.serviceUrl`                           | `localhost:6650` |                                                                 External Pulsar service URL                                                                  |
+|                            `external.pulsar.adminUrl`                            | `localhost:8080` |                                                                  External Pulsar admin URL                                                                   |
+
+> 可选的组件有:`agent`、`audit`、`dashboard`、`dataproxy`、`manager`、`tubemq-manager`、`tubemq-master`、`tubemq-broker`、`zookeeper` 和 `mysql`。
+
+### 卸载
+
+通过以下命令卸载 chart:
+
+```shell
+helm uninstall inlong -n inlong
+```
+
+上述命令会删除除与 chart 关联的 `PVC` 之外的所有 Kubernetes 组件。
+
+如果不再使用 `PVC`,可通过下列命令删除,它将会删除所有数据。
+
+```shell
+kubectl delete pvc -n inlong --all
+```
+
+> 注意:删除 PVC 也会删除所有数据。在做之前请小心。
+
+## 开发
+
+在开发前需要有一个装有 [helm](https://helm.sh) 的 Kubernetes 集群。
+但是没有也没有关系,推荐使用 [kind](https://github.com/kubernetes-sigs/kind) ,
+它能够在 Docker 容器中运行一个本地的 Kubernetes 集群,因此,只需花费很少的时间即可启动和停止 kubernetes 节点。
+
+### kind 快速开始
+
+你可以按照 [快速开始](https://kind.sigs.k8s.io/docs/user/quick-start) 章节中的指示安装 kind。
+安装好 kind 后,你可以通过 [kind.yml](https://github.com/apache/inlong/tree/master/.github/kind.yml) 配置文件来创建一个 Kubernetes 集群。
+
+```shell
+kind create cluster --config kind.yml
+```
+
+可以通过 `--image` 指定具体的 Docker 镜像 —— `kind create cluster --image=....`。
+使用不同的镜像可以改变集群的 kubernetes 版本。
+要找到适合当前版本的镜像,你可以查看 [发行说明](https://github.com/kubernetes-sigs/kind/releases) 。
+
+之后,你可以通过以下命令与集群进行交互:
+
+```shell
+kubectl cluster-info --context kind-inlong-cluster
+```
+
+现在,你已经拥有了一个可以进行本地开发的 Kubernetes 集群!
+
+### 安装 Helm
+
+请按照 [安装指引](https://helm.sh/zh/docs/intro/install) 进行安装。
+
+### 安装 chart
+
+通过以下命令创建命名空间并安装 chart:
+
+```shell
+kubectl create namespace inlong
+helm upgrade inlong --install -n inlong ./
+```
+
+这将花费一段时间,通过以下命令查看所有 pod 是否能够正常启动:
+
+```shell
+watch kubectl get pods -n inlong -o wide
+```
+
+### 开发与调试
+
+按照 [模板调试指引](https://helm.sh/zh/docs/chart_template_guide/debugging) 来调试你所开发的 chart。
+
+除此以外,你可以通过以下命令保存渲染的模板:
+
+```shell
+helm template ./ --output-dir ./result
+```
+
+之后,你可以在 `result` 文件夹下检查渲染后的模板。
+
+## 故障排除
+
+我们已尽最大努力使这些 chart 尽可能正确,但偶尔也会出现我们无法控制的情况。
+我们已经收集了用于解决常见问题的提示和技巧。
+请在提出 [issue](https://github.com/apache/inlong/issues/new/choose) 之前先检查这些内容,并随时欢迎向我们提出 [Pull Request](https://github.com/apache/inlong/compare) !
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/standalone.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/standalone.md
new file mode 100644
index 0000000000..1f2308d0b4
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/deployment/standalone.md
@@ -0,0 +1,89 @@
+---
+title: 单机部署
+sidebar_position: 1
+---
+## 环境要求
+- MySQL 5.7+
+- [Flink 1.13.5](https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/try-flink/local_installation/)
+- [Docker](https://docs.docker.com/engine/install/) 19.03.1+
+
+## 准备消息队列
+InLong 当前支持以下消息队列,根据使用情况**选择其一**即可。
+- [InLong TubeMQ](modules/tubemq/quick_start.md)
+- [Apache Pulsar 2.8.x](https://pulsar.apache.org/docs/2.8.x/getting-started-home/)
+- [Apache Kafka 2.x](https://kafka.apache.org/quickstart)
+
+## 下载安装包
+可以从 [下载页面](https://inlong.apache.org/download) 获取二进制包,或参考 [如何编译](quick_start/how_to_build.md) 编译需要的版本。
+
+:::note
+解压 `apache-inlong-[version]-bin.tar.gz` 和 `apache-inlong-[version]-sort-connectors.tar.gz`,并确保 `inlong-sort/connectors/` 目录包含 `sort-connector-[type]-[version].jar`。
+:::
+
+## DB 依赖
+- 如果后端连接 MySQL 数据库,请下载 [mysql-connector-java-8.0.27.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.27/mysql-connector-java-8.0.27.jar), 并将其放入以下目录:
+```bash
+inlong-agent/lib/
+inlong-audit/lib/
+inlong-manager/lib/
+inlong-tubemq-manager/lib/
+```
+
+- 如果后端连接 PostgreSQL 数据库,不需要引入额外依赖。
+
+## 配置
+在`conf/inlong.conf`文件中根据实际情况配置参数,主要包括:
+```shell
+# 本地机器 IP
+local_ip=
+# 消息队列服务: pulsar 或者 kafka
+mq_type=pulsar
+# 数据库配置,MySQL 或者 PostgreSQL
+spring_datasource_hostname=
+spring_datasource_port=3306
+spring_datasource_username=root
+spring_datasource_password=inlong
+# Flink REST server 地址
+flink_rest_address=
+# Flink REST server 端口
+flink_rest_port=8081
+```
+
+## 启动
+```shell
+bin/inlong-daemon start standalone
+```
+
+## 集群初始化
+当所有容器都成功启动后,可以访问 InLong Dashboard 地址`http://localhost`,并使用以下默认账号登录:
+```
+User: admin
+Password: inlong
+```
+
+### 创建集群标签
+页面点击 [集群管理]->[标签管理]->[新建],指定集群标签名称和负责人:
+![](img/create_cluster_tag.png)
+
+:::caution
+由于各个组件默认上报集群标签为 `default_cluster`,请勿使用其它名称。
+:::
+
+### 注册 MQ 集群
+
+- 选择 1 : Apache Pulsar
+页面点击 [集群管理]->[集群管理]->[新建集群],注册 Pulsar 集群:
+![](img/create_pulsar_cluster.png)
+
+- 选择 2 : Apache Kafka
+页面点击 [集群管理]->[集群管理]->[新建集群],注册 Kafka 集群:
+![](img/create_kafka_cluster.png)
+
+:::note
+集群标签选择刚创建的 `default_cluster`,然后配置 MQ 集群信息。
+:::
+
+## 使用
+创建数据流可以参考 [Pulsar Example](quick_start/pulsar_example.md).
+
+
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/basic_concept.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/basic_concept.md
new file mode 100644
index 0000000000..2f7e1733d2
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/basic_concept.md
@@ -0,0 +1,20 @@
+---
+title: 基本概念
+sidebar_position: 1
+---
+
+| Name        | Description                                                  | Other                                         |
+|-------------|--------------------------------------------------------------|-----------------------------------------------|
+| Standard    | 标准架构,包含 InLong Agent、Manager、MQ、Sort、Dashboard 等所有 InLong 组件 | 适合海量数据、大规模生产环境                                |
+| Lightweight | 轻量化架构,只包含 InLong Sort 一个组件,也可以搭配 Manager,Dashboard 一起使用      | 轻量化架构简单、灵活,适合小规模数据                            |
+| Group       | 数据流组,包含多个数据流,一个 Group 代表一个数据业务单元                             | Group 有 ID、Name 等属性                           |
+| Stream      | 数据流,一个数据流有具体的数据源、数据格式和数据流向                                   | Stream 有 ID、Name、数据字段等属性                      |
+| Node        | 数据节点,包括 `Extract Node` 和 `Load Node`,分别代表数据源类型和数据流向目标类型      |                                               |
+| InLongMsg   | InLong 数据格式,如果从消息队列中直接消费,需要先进行 `InLongMsg` 解析                |                                               |
+| Cluster     | 集群,每个组件都可以构成单一集群。                                            | 包含集群名、标签,每个组件必要信息等                            |
+| Tag         | 标签,不同组件的集群可以使用相同标签,代表一组数据流执行单元                               | 目前标签只适用于集群                                    |
+| Agent       | 标准架构使用 Agent 进行数据采集,Agent 代表不同类型的采集能力                        | 包含文件 Agent、SQL Agent、Binlog Agent 等           |
+| DataProxy   | 将接收到的数据转发到不同的消息队列                                            | 支持数据发送阻塞和落盘重发                                 |
+| Sort        | 数据流分拣                                                        | 主要有基于 Flink 的 sort-flink,sort-standalone 本地分拣 |
+| TubeMQ      | InLong 自带的消息队列服务                                             | 也可以叫 Tube,拥有低成本、高性能特性                         |
+| Pulsar      | 即 [Apache Pulsar](https://pulsar.apache.org/),高性能、高一致性消息队列服务 |                                               |
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/how_to_extend_data_node_for_manager.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/how_to_extend_data_node_for_manager.md
new file mode 100644
index 0000000000..7b07d0e935
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/how_to_extend_data_node_for_manager.md
@@ -0,0 +1,27 @@
+---
+title: Manager 插件
+sidebar_position: 6
+---
+
+## 总览
+
+Inlong 设计初衷即是为了在不同数据源之间创建数据流,截止目前,Inlong 已经支持多种常用数据源的读取和写入,如 **MySQL**, **Apache Kafka**, **ClickHouse** 等,
+详细内容可参考 [数据节点](data_node/extract_node/overview.md)。 InLong 的每种数据节点,支持通过 Manager 提供统一的管理,以简化用户的使用。
+本文介绍通过 Manager 如何扩展一个新的数据节点,实现提供服务。
+
+## 扩展 Extract Node
+ 
+- 首先需要在 Sort 组件内支持该数据源,详情参考 [Sort 插件](design_and_concept/how_to_extend_data_node_for_sort.md)
+- 在枚举类`org.apache.inlong.common.enums.TaskTypeEnum`中增加对应的枚举
+- 在常量类`org.apache.inlong.manager.common.consts.SourceType`中同样增加对应常量
+- 在`org.apache.inlong.manager.common.pojo.source`路径下创建文件夹,创建对应实体类
+- 在`org.apache.inlong.manager.service.source`路径下,创建对应工具类
+- 支持数据源到**ExtractNode**的转换函数,参考 `org.apache.inlong.manager.pojo.sort.util.ExtractNodeUtils`
+
+## 扩展 Load Node
+
+- 首先需要在 Sort 组件内支持该数据源,详情参考 [Sort 插件](design_and_concept/how_to_extend_data_node_for_sort.md)
+- 在常量类`org.apache.inlong.manager.common.consts.SinkType`中增加对应常量
+- 在`org.apache.inlong.manager.common.pojo.sink`路径下创建文件夹, 创建对应实体类
+- 在`org.apache.inlong.manager.service.sink`路径下创建对应工具类
+- 支持数据源到**LoadNode**的转换函数,参考代码 `org.apache.inlong.manager.pojo.sort.util.LoadNodeUtils`
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/how_to_extend_data_node_for_sort.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/how_to_extend_data_node_for_sort.md
new file mode 100644
index 0000000000..470c504db0
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/how_to_extend_data_node_for_sort.md
@@ -0,0 +1,222 @@
+---
+title: Sort 插件
+sidebar_position: 4
+---
+
+## 总览
+
+InLong Sort 是一个基于 Apache Flink SQL 的 ETL 服务。Flink SQL 强大的表达能力带来的高可扩展性、灵活性,基本上 Flink SQL 支持的语意,InLong Sort 都支持。
+当 Flink SQL 内置的函数不满足需求时,还可通过 UDF 来扩展。这对于曾经使用过 SQL 尤其是 Flink SQL 的开发者非常友好。
+
+本文介绍如何在 InLong Sort 中扩展一个新的 source(在 InLong 中抽象为 Extract Node)或一个新的 sink(在InLong中抽象为 Load Node )。
+InLong Sort 架构的 UML 对象关系图如下:
+
+![sort_uml](img/sort_uml.png)
+
+其中各个组件的概念为:
+
+| **名称**          | **描述**                                                   |
+| ----------------- | --------------------------------------------------------- |
+| Group             | 数据流组,包含多个数据流,一个 Group 代表一个数据接入             |
+| Stream            | 数据流,一个数据流有具体的流向                                 |
+| GroupInfo         | Sort 中对数据流向的封装,一个 GroupInfo 可包含多个 DataFlowInfo |
+| StreamInfo        | Sort 中数据流向的抽象,包含该数据流的各种来源、转换、去向等        |
+| Node              | 数据同步中数据源、数据转换、数据去向的抽象                       |
+| ExtractNode       | 数据同步的来源端抽象                                         |
+| TransformNode     | 数据同步的转换过程抽象                                       |
+| LoadNode          | 数据同步的去向端抽象                                         |
+| NodeRelationShip  | 数据同步中各个节点关系抽象                                    |
+| FieldRelationShip | 数据同步中上下游节点字段间关系的抽象                            |
+| FieldInfo         | 节点字段                                                   |
+| MetaFieldInfo     | 节点 Meta 字段                                             |
+| Function          | 转换函数的抽象                                              |
+| FunctionParam     | 函数的入参抽象                                              |
+| ConstantParam     | 常量参数                                                   |
+
+扩展 Extract Node 或 Load Node 需要做的工作是:
+
+- 继承 Node 类(例如 MyExtractNode),构建具体的 extract 或 load 使用逻辑;
+- 在具体的 Node 类(例如 MyExtractNode)中,指定对应 Flink connector;
+- 在具体的 ETL 实现逻辑中使用具体的 Node 类(例如 MyExtractNode)。
+
+其中第二步中可以使用已有的 Flink Connector,或者用户自己扩展,如何扩展 Flink Connector 请参考 Flink 官方文档[DataStream Connectors ](https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/connectors/datastream/overview/#datastream-connectors).
+
+## 扩展 Extract Node
+
+扩展一个 ExtractNode 分为三个步骤:
+
+**第一步**:继承 ExtractNode 类,类的位置在:
+```bash
+inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/node/ExtractNode.java
+```
+在实现的 ExtractNode 中指定 connector;
+
+```Java
+// 继承 ExtractNode 类,实现具体的类,例如 MongoExtractNode
+@EqualsAndHashCode(callSuper = true)
+@JsonTypeName("MongoExtract")
+@Data
+public class MongoExtractNode extends ExtractNode implements Serializable {
+    @JsonInclude(Include.NON_NULL)
+    @JsonProperty("primaryKey")
+    private String primaryKey;
+    ...
+
+    @JsonCreator
+    public MongoExtractNode(@JsonProperty("id") String id, ...) { ... }
+
+    @Override
+    public Map<String, String> tableOptions() {
+        Map<String, String> options = super.tableOptions();
+      	// 配置指定的 connector,这里指定的是 mongodb-cdc
+        options.put("connector", "mongodb-cdc");
+        ...
+        return options;
+    }
+}
+```
+
+**第二步**:在 ExtractNode 和 Node 中的 JsonSubTypes 添加该 Extract
+
+```java
+// 在 ExtractNode 和 Node 的 JsonSubTypes 中添加字段
+...
+@JsonSubTypes({
+        @JsonSubTypes.Type(value = MongoExtractNode.class, name = "mongoExtract")
+})
+...
+public abstract class ExtractNode implements Node{...}
+
+...
+@JsonSubTypes({
+        @JsonSubTypes.Type(value = MongoExtractNode.class, name = "mongoExtract")
+})
+public interface Node {...}
+```
+
+**第三步**:扩展 Sort Connector,查看此(`inlong-sort/sort-connectors/mongodb-cdc`)目录下是否已经存在对应的 connector。如果没有,则需要参考 Flink 官方文档 [DataStream Connectors ](https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/connectors/datastream/overview/#datastream-connectors) 来扩展,
+调用已有的 Flink-connector(例如`inlong-sort/sort-connectors/mongodb-cdc`)或自行实现相关的 connector 均可。
+
+## 扩展 Load Node
+
+扩展一个 LoadNode 分为三个步骤:
+
+**第一步**:继承 LoadNode 类,类的位置在:
+```bash
+inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/node/LoadNode.java
+```
+在实现的LoadNode 中指定 connector;
+
+```java
+// 继承 LoadNode 类,实现具体的类,例如 KafkaLoadNode
+@EqualsAndHashCode(callSuper = true)
+@JsonTypeName("kafkaLoad")
+@Data
+@NoArgsConstructor
+public class KafkaLoadNode extends LoadNode implements Serializable {
+    @Nonnull
+    @JsonProperty("topic")
+    private String topic;
+    ...
+
+    @JsonCreator
+    public KafkaLoadNode(@Nonnull @JsonProperty("topic") String topic, ...) {...}
+
+    // 根据不同的条件配置使用不同的 connector
+    @Override
+    public Map<String, String> tableOptions() {
+        ...
+        if (format instanceof JsonFormat || format instanceof AvroFormat || format instanceof CsvFormat) {
+            if (StringUtils.isEmpty(this.primaryKey)) {
+                // kafka connector
+                options.put("connector", "kafka");
+                options.putAll(format.generateOptions(false));
+            } else {
+                // upsert-kafka connector
+                options.put("connector", "upsert-kafka");
+                options.putAll(format.generateOptions(true));
+            }
+        } else if (format instanceof CanalJsonFormat || format instanceof DebeziumJsonFormat) {
+            // kafka-inlong connector
+            options.put("connector", "kafka-inlong");
+            options.putAll(format.generateOptions(false));
+        } else {
+            throw new IllegalArgumentException("kafka load Node format is IllegalArgument");
+        }
+        return options;
+    }
+}
+```
+
+**第二步**:在 LoadNode 和 Node 中的 JsonSubTypes 添加该 Load
+
+```java
+// 在 LoadNode 和 Node 的 JsonSubTypes 中添加字段
+...
+@JsonSubTypes({
+        @JsonSubTypes.Type(value = KafkaLoadNode.class, name = "kafkaLoad")
+})
+...
+public abstract class LoadNode implements Node{...}
+
+...
+@JsonSubTypes({
+        @JsonSubTypes.Type(value = KafkaLoadNode.class, name = "kafkaLoad")
+})
+public interface Node {...}
+```
+
+**第三步**:扩展 Sort Connector,Kafka 的 sort connector 在 `inlong-sort/sort-connectors/kafka` 目录下。
+
+## 集成到 Entrance
+
+将 Extract 和 Load 集成到 InLong Sort 主流程中,需要构建总览小节中提到的语意:Group、Stream、Node 等。
+InLong Sort 的入口类在:
+```bash
+inlong-sort/sort-core/src/main/java/org/apache/inlong/sort/Entrance.java
+```
+
+Extract 和 Load 如何集成至 InLong Sort,可参考下面的 UT,首先构建对应的 ExtractNode、LoadNode,再构建 NodeRelation、StreamInfo、GroupInfo,最后通过 FlinkSqlParser 执行。
+
+```java
+public class MongoExtractToKafkaLoad extends AbstractTestBase {
+
+    // 构建 MongoExtractNode
+    private MongoExtractNode buildMongoNode() {
+        List<FieldInfo> fields = Arrays.asList(new FieldInfo("name", new StringFormatInfo()), ...);
+        return new MongoExtractNode(..., fields, ...);
+    }
+
+    // 构建 KafkaLoadNode
+    private KafkaLoadNode buildAllMigrateKafkaNode() {
+        List<FieldInfo> fields = Arrays.asList(new FieldInfo("name", new StringFormatInfo()), ...);
+        List<FieldRelation> relations = Arrays.asList(new FieldRelation(new FieldInfo("name", new StringFormatInfo()), ...), ...);
+        CsvFormat csvFormat = new CsvFormat();
+        return new KafkaLoadNode(..., fields, relations, csvFormat, ...);
+    }
+
+    // 构建 NodeRelation
+    private NodeRelation buildNodeRelation(List<Node> inputs, List<Node> outputs) {
+        List<String> inputIds = inputs.stream().map(Node::getId).collect(Collectors.toList());
+        List<String> outputIds = outputs.stream().map(Node::getId).collect(Collectors.toList());
+        return new NodeRelation(inputIds, outputIds);
+    }
+
+    // 测试主流程 MongoDB to Kafka
+    @Test
+    public void testMongoDbToKafka() throws Exception {
+        EnvironmentSettings settings = EnvironmentSettings. ... .build();
+        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
+      	...
+        StreamTableEnvironment tableEnv = StreamTableEnvironment.create(env, settings);
+        Node inputNode = buildMongoNode();
+        Node outputNode = buildAllMigrateKafkaNode();
+        StreamInfo streamInfo = new StreamInfo("1", Arrays.asList(inputNode, outputNode), ...);
+        GroupInfo groupInfo = new GroupInfo("1", Collections.singletonList(streamInfo));
+        FlinkSqlParser parser = FlinkSqlParser.getInstance(tableEnv, groupInfo);
+        ParseResult result = parser.parse();
+        Assert.assertTrue(result.tryExecute());
+    }
+}
+```
+
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/how_to_write_plugin_agent.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/how_to_write_plugin_agent.md
new file mode 100644
index 0000000000..c714dcb3e2
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/how_to_write_plugin_agent.md
@@ -0,0 +1,219 @@
+---
+title: Agent 插件
+sidebar_position: 3
+---
+
+## 总览
+
+在 Standard Architecture 中,我们可以通过 InLong Agent 来采集各种类型的数据源。InLong Agent 支持以插件的方式扩展新的采集类型,本文将指导开发者如何自定义新的 Agent 采集插件。
+
+## 概念和模型
+
+InLong Agent 是一个数据采集框架,采用 `Job` + `Task` 架构模型,将数据源读取和写入抽象成为 Reader/Sink 插件。
+
+- `Job`: `Job`是 Agent 用以描述从一个源头到一个目的端的同步作业,是 Agent 数据同步的最小业务单元。比如:读取一个文件目录下的所有文件
+- `Task`: `Task`是把`Job`拆分得到的最小执行单元。比如:文件夹下有多个文件需要被读取,那么一个 job 会被拆分成为多个 task ,每个 task 读取对应的文件
+
+一个 Task 包含以下组件:
+
+- Reader:数据采集模块,负责采集数据源的数据,将数据发送给 Channel。
+- Sink: 数据写入模块,负责不断向 Channel 取数据,并将数据写入到目的端。
+- Channel:连接 Reader 和 Sink,作为两者的数据传输通道,并起到了数据的写入读取监控作用。
+
+当扩展一个 Agent 插件时,需要开发特定的 Source、Reader 以及 Sink,数据如果需要持久化到本地磁盘,使用持久化 Channel ,如果否则使用内存 Channel
+
+## 流程图示
+
+上述介绍的 Job/Task/Reader/Sink/Channel 概念可以用下图表示:
+
+<div align="center">
+
+![](img/Agent_Flow.png)
+</div>
+
+- 用户提交 Job(通过 manager),Job 中定义了需要使用的 Source, Channel, Sink(通过类的全限定名定义)
+- 框架启动 Job,通过反射机制创建出 Source
+- 框架启动 Source,并调用 Source 的 Split 接口,生成一个或者多个 Task
+- 生成一个 Task 时,同时生成 Reader(一种类型的 Source 会生成对应的 reader),用户配置的 Channel 以及用户配置的 Sink
+- Task 开始执行,Reader 开始读取数据到 Channel,Sink 从 Channel 中取数进行发送
+- Job 和 Task 执行时所需要的所有信息都封装在 JobProfile 中
+
+## 开发流程
+
+- 首先开发 Source , 实现 Split 逻辑,返回 Reader 列表
+- 开发对应的 Reader ,实现读取数据并写入到 Channel 的逻辑
+- 开发对应的 Sink , 实现从 Channel 中取数并写入到指定 Sink 中的逻辑
+
+## 接口
+
+下面将介绍开发一个 Agent 插件需要知道的类与接口。
+
+### Reader
+```java
+private class ReaderImpl implements Reader {
+
+    private int count = 0;
+
+    @Override
+    public Message read() {
+        count += 1;
+        return new DefaultMessage("".getBytes(StandardCharsets.UTF_8));
+    }
+
+    @Override
+    public boolean isFinished() {
+        return count > 99999;
+    }
+
+    @Override
+    public String getReadSource() {
+        return null;
+    }
+
+    @Override
+    public void setReadTimeout(long mill) {
+
+    }
+}
+```
+
+`Reader` 接口功能如下:
+- `read`: 被单个 Task 调用,调用后返回读取的一条消息,Agent 内部的消息使用 Message 封装
+- `isFinished`: 判断是否读取完成,举例:如果是 SQL 任务,则判断是否读取完了 ResultSet 中的所有内容,如果是文件任务,则判断超过用户设置的等待时间后是否还有数据写入
+- `getReadSource`: 获取采集源,举例:如果是文件任务,则返回当前读取的文件名
+- `setReadTimeout`: 设置读取超时时间
+
+### Sink
+
+```java
+public interface Sink extends Stage {
+
+    /**
+     * Write data into data center
+     *
+     * @param message - message
+     */
+    void write(Message message);
+
+    /**
+     * set source file name where the message is generated
+     * @param sourceName
+     */
+    void setSourceName(String sourceName);
+
+    /**
+     * every sink should include a message filter to filter out stream id
+     */
+    MessageFilter initMessageFilter(JobProfile jobConf);
+}
+
+```
+
+`Sink` 接口功能如下:
+- `write`: 被单个 Task 调用,从 Task 中的 Channel 读取一条消息,并写入到特定的存储介质中,以 PulsarSink 为例,则需要通过 PulsarSender 发送到 Pulsar
+- `setSourceName`: 设置数据源名称,如果是文件,则是文件名
+- `initMessageFilter`: 初始化 MessageFilter , 用户可以在Job配置文件中通过设置 agent.message.filter.classname 来创建一个消息过滤器来过滤每一条消息,详情可以参考 MessageFilter 接口
+
+
+### Source
+
+```java
+/**
+ * Source can be split into multiple reader.
+ */
+public interface Source {
+
+    /**
+     * Split source into a list of readers.
+     *
+     * @param conf job conf
+     * @return - list of reader
+     */
+    List<Reader> split(JobProfile conf);
+}
+
+```
+
+`Source`接口功能如下:
+- `split`: 被单个 Job 调用,产生多个 Reader,举例:一个读取文件任务,匹配文件夹内的多个文件,在 job 启动时,会指定 TextFileSource 作为 Source 入口,
+  调用 split 函数后,TextFileSource 会检测用户设置的文件夹内有多少符合路径匹配表达式的路径,并生成 TextFileReader 读取
+  
+
+### Job
+
+```java
+public class xxJob {
+    
+  private String username;
+  private String password;
+  private String hostname;
+  private String port;
+  private String database;
+  // ...
+  
+  public static class xxJobConfig {
+
+    private String username;
+    private String password;
+    private String hostname;
+    private String port;
+    private String database;
+    // ...
+  }
+}
+
+```
+
+- `config` 中的字段来自 manager,需要与 manager 字段保持一致,在任务配置时,将其转换成对应的 job
+
+
+## 任务配置
+
+代码写好了,有没有想过框架是怎么找到插件的入口类的?框架是如何加载插件的呢?
+
+在提交任务时,会发现任务中定义了插件的相关信息,包括入口类。例如:
+
+```json
+{
+"job": {
+"name": "fileAgentTest",
+"source": "org.apache.inlong.agent.plugin.sources.TextFileSource",
+"sink": "org.apache.inlong.agent.plugin.sinks.ProxySink",
+"channel": "org.apache.inlong.agent.plugin.channel.MemoryChannel"
+}
+}
+```
+
+- `source`: Source 类的全限定名称,框架通过反射插件入口类的实例。
+- `sink`: Sink 类的全限定名称,框架通过反射插件入口类的实例。
+- `channel`: 使用的 Channel 类名,框架通过反射插件入口类的实例。
+
+## Message
+
+跟一般的`生产者-消费者`模式一样,`Reader`插件和`Sink`插件之间也是通过`channel`来实现数据的传输的。
+`channel`可以是内存的,也可能是持久化的,插件不必关心。插件通过`RecordSender`往`channel`写入数据,通过`RecordReceiver`从`channel`读取数据。
+
+`channel`中的一条数据为一个`Message`的对象,`Message`中包含一个字节数组以及一个Map表示的属性数据
+
+`Message`有如下方法:
+
+```java
+public interface Message {
+
+    /**
+     * Data content of message.
+     *
+     * @return bytes body
+     */
+    byte[] getBody();
+
+    /**
+     * Data attribute of message
+     *
+     * @return map header
+     */
+    Map<String, String> getHeader();
+}
+```
+
+开发人员可以根据该接口拓展定制化的 Message ,比如 ProxyMessage 中,就包含了 InLongGroupId, InLongStreamId 等属性
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/how_to_write_plugin_dashboard.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/how_to_write_plugin_dashboard.md
new file mode 100644
index 0000000000..eb17aa09da
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/how_to_write_plugin_dashboard.md
@@ -0,0 +1,99 @@
+---
+title: Dashboard 插件
+sidebar_position: 5
+---
+
+## 总览
+
+本文面向 InLong Dashboard 插件开发人员,尝试尽可能全面地阐述开发一个 Dashboard 插件所经过的历程,帮助开发者快速新增一个 Plugin,让插件开发变得简单。
+InLong Dashboard 本身作为前端控制台,采用 React 框架构建。
+
+## 插件基础
+
+### 设计概要
+
+这是 InLong Dashboard 插件的设计概要图,我们将插件作为一个单独的层级,由各个页面使用不同的插件,进行消费。Data 与 View 是系统提供的抽象类,而插件就是一个个的派生类。
+
+![Dashboard_Plugin](img/dashboard_plugin.png)
+
+### 目录结构
+
+```sh
+|
+|- defaults: InLong 社区提供的默认公共插件
+|- extends: 私有化部署时的扩展插件,作为内部插件,不投放到社区
+|- common: 插件的公共设计,例如 `BasicInfo` 的设计
+```
+
+### 插件数据类
+
+我们提供两种基本数据类,每一个插件都只能实现其中的一种,从而实现数据模型。同时,在基本数据类中,均提供一个 `@I18n`,可用于描述字段。
+
+- DataStatic 静态数据类
+- DataWithBackend 与后台通信的数据类
+
+### 插件视图类
+
+在视图上,我们提供两种基本视图类,每一个插件可实现其中的一种或多种,从而实现视图模型。
+
+- RenderRow,在该类中提供 `@FieldDecorator` 用于描述行数据视图
+- RenderList,在该类中提供 `@ColumnDecorator` 用于描述列数据视图
+
+### 基本示例
+
+下面是一个基本示例,在该插件中,实现了与 backend 通信的一个类,包含3个字段(username, password, format)。其中,`BasicInfo` 来源于各自不同的基础类型类。
+
+```ts
+import { DataWithBackend } from '@/metas/DataWithBackend';
+import { RenderRow } from '@/metas/RenderRow';
+import { RenderList } from '@/metas/RenderList';
+import { BasicInfo } from '../common/BasicInfo';
+
+const { I18n } = DataWithBackend;
+const { FieldDecorator } = RenderRow;
+const { ColumnDecorator } = RenderList;
+
+export default class Example extends BasicInfo implements DataWithBackend, RenderRow, RenderList {
+  @FieldDecorator({
+    type: 'input',
+    rules: [{ required: true }],
+  })
+  @I18n('meta.Sinks.Username')
+  username: string;
+
+  @FieldDecorator({
+    type: 'password',
+    rules: [{ required: true }],
+  })
+  @I18n('meta.Sinks.Password')
+  password: string;
+
+  @FieldDecorator({
+    type: 'radio',
+    initialValue: 'TextFile',
+    rules: [{ required: true }],
+    props: {
+      options: [
+        {
+          label: 'TextFile',
+          value: 'TextFile',
+        },
+        {
+          label: 'SequenceFile',
+          value: 'SequenceFile',
+        },
+      ],
+    },
+  })
+  @I18n('meta.Sinks.Example.Format')
+  format: string;
+}
+```
+
+## 扩展 ExtractNode
+
+在 `inlong-dashboard/src/metas/sources/defaults` 目录下,新建一个 `Example.ts` 文件,作为我们新建的一个插件,同时在当前目录的 `index.ts` 文件内部进行导出(可参考已有的写法),这样便完成了新增一种名为 `Example` 的 ExtractNode。
+
+## 扩展 LoadNode
+
+在 `inlong-dashboard/src/metas/sinks/defaults` 目录下,新建一个 `Example.ts` 文件,作为我们新建的一个插件,同时在当前目录的 `index.ts` 文件内部进行导出(可参考已有的写法),这样便完成了新增一种名为 `Example` 的 LoadNode。
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/how_to_write_plugin_dataproxy.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/how_to_write_plugin_dataproxy.md
new file mode 100644
index 0000000000..6cdc32766d
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/how_to_write_plugin_dataproxy.md
@@ -0,0 +1,85 @@
+---
+title: DataProxy 插件
+sidebar_position: 7
+---
+
+## 总览
+
+DataProxy 实现了统一抽象 MQ (Message Queue) Sink 模型,支持在标准 MessageQueueZoneSink 下方便灵活添加不同类型的 MQ 流向,默认支持 Apache Pulsar、Apache Kafka 和 InLong TubeMQ。本文将指导开发者如何扩展支持新的 MQ 类型。
+
+## 概念和模型
+
+DataProxy 是基于 Apache Flume 的数据接收和流转框架,采用 `Source` + `Channel` + `Sink` 架构模型,本文重点关注 Sink 部分。
+
+- `MessageQueueZoneSink`: DataProxy 的标准 MQ Sink,所有类型消息队列统一在此 Sink 下扩展和支持
+- `MessageQueueHandler`: 具体某类 MQ 的连接、数据发送、关闭的处理接口,默认使用 PulsarHandler 实现
+- `EventHandler`: 消息打包器接口,可用于发送下游 MQ 之前转换 Header/Body 协议, 默认透传
+
+当扩展新的 MQ 类型时,需要开发至少实现 MessageQueueHandler 作为插件,如果需要转换数据协议,可以同时扩展 EventHandler 做相应的处理。MessageQueueHandler 和 EventHandler 作为元数据配置由 Manager 下发,达到灵活部署扩展的效果。 
+
+
+## 数据流图示
+
+上述相关模块和接口在数据流转过程中的关系可以用下图表示:
+![](img/dataproxy_mq_sink.png)
+
+## 开发流程
+
+以扩展 Kafka 类型 MQ 和 发送 ProtoBuffer 消息为例
+- 首先开发 MessageQueueHandler 的子类插件 KafKaHandler, 实现 init / star t /stop / send 接口逻辑
+- 按需要实现 EventHandler 接口 parseHeader / parseBody 插件逻辑, 如 ProtoBufferEventHandler
+
+## 接口
+
+### MessageQueueHandler
+```java
+private class KafkaHandler implements MessageQueueHandler {
+
+    private EventHandler handler;
+    
+    @Override
+    public void init(CacheClusterConfig config, MessageQueueZoneSinkContext sinkContext) {
+        // 初始化配置和EventHandler
+    }
+    
+    @Override
+    public void start() {
+        // 创建 Kafka Producer
+    }
+
+    @Override
+    public void stop() {
+       // 关闭 Kafka Producer
+    }
+
+  @Override
+    public boolean send(BatchPackProfile event) {
+        // 处理并发送
+    }
+}
+```
+
+### EventHandler
+```java
+public class ProtoBufferEventHandler implements EventHandler {
+
+    @Override
+    public Map<String, String> parseHeader(IdTopicConfig idConfig, BatchPackProfile profile, String nodeId,
+            INLONG_COMPRESSED_TYPE compressType) {
+        // 处理、转换消息头部
+    }
+
+    @Override
+    public byte[] parseBody(IdTopicConfig idConfig, BatchPackProfile profile, INLONG_COMPRESSED_TYPE compressType)
+            throws IOException {
+        // 处理、转换消息体为pb
+    }
+}
+```
+(完整示例参考 Inlong 代码库 org.apache.inlong.dataproxy.sink.mq.kafka.KafkaHandler 实现)
+
+## 插件配置
+
+### dataproxy.conf
+
+Sink 部分配置参考 [Sink 配置示例](modules/dataproxy/configuration.md)
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/img/Agent_Flow.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/img/Agent_Flow.png
new file mode 100644
index 0000000000..208e7298d9
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/img/Agent_Flow.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/img/dashboard_plugin.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/img/dashboard_plugin.png
new file mode 100644
index 0000000000..9a6fac90fc
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/img/dashboard_plugin.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/img/dataproxy_mq_sink.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/img/dataproxy_mq_sink.png
new file mode 100644
index 0000000000..7d44fd79d0
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/img/dataproxy_mq_sink.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/img/format_and_flink.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/img/format_and_flink.png
new file mode 100644
index 0000000000..7d49580263
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/img/format_and_flink.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/img/sort_uml.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/img/sort_uml.png
new file mode 100644
index 0000000000..35c964cac2
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/img/sort_uml.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/img/the_format_in_inlong.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/img/the_format_in_inlong.png
new file mode 100644
index 0000000000..dac80d2466
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/img/the_format_in_inlong.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/the_format_in_inlong.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/the_format_in_inlong.md
new file mode 100644
index 0000000000..228901cbd2
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/design_and_concept/the_format_in_inlong.md
@@ -0,0 +1,100 @@
+---
+title: Format
+sidebar_position: 2
+---
+
+## 什么是 Format?
+
+![](img/format_and_flink.png)
+
+如上图所示, Flink SQL 在读写数据时,均采用 Row 的形式,其内部为 Object 数组 `Object[]`,数组中每个元素代表了一个 Flink 表的字段。
+字段的类型、名称、精度等信息,通过 `Schema` 来标示。
+
+Flink 的 Format 提供了两种接口:SerializationSchema 和 DeserializationSchema。
+
+- 当 Flink 往 MQ 写数据时,需要把 `Flink Row` 序列化为 `key-value` / `csv` / `Json` 等 Format,
+  这时调用了 `SerializationSchema#serialize` 方法,数据会序列化成 `Byte[]`,写入到 `MQ`。
+- 当 Flink 读取 MQ 的数据时,该过程则相反:从 MQ 读取数据,数据格式为 `byte[]`,反序列化为`Format`,再转换为 `Flink row`。
+
+> 详情请查看代码 [`inlong-sort/sort-formats`](https://github.com/apache/inlong/tree/release-1.5.0/inlong-sort/sort-formats)
+
+## InLong 中的 Format
+
+![](img/the_format_in_inlong.png)
+
+InLong 作为一站式的数据集成平台,将 MQ(图中 Cache 部分)作为传输通道,同时实现 DataProxy 与 Sort 的解耦,扩展性会更强:
+
+- DataProxy 上报数据时,需要将数据序列化成对应的格式(`SerializationSchema#serialize`)。
+- Sort 接收到数据,将 MQ 的数据反序列化(`DeserializationSchema#deserialize`)成 `Flink Row` ,通过 Flink SQL 写入到对应的存储。
+
+## 有哪些 Format?
+
+目前,InLong-Sort 提供了 CSV/KeyValue/JSON,以及通过 InLongMsg 封装的格式。
+
+### CSV
+
+```xml
+<dependency>
+<groupId>org.apache.inlong</groupId>
+<artifactId>sort-format-csv</artifactId>
+<version>${inlong.version}</version>
+</dependency>
+```
+
+`org.apache.inlong.sort.formats.kv.KvFormatFactory`
+
+| Option                    | Type    | Required | Default value            | 高级属性 | Remark                                                                                                                                 |
+|---------------------------|---------|----------|--------------------------|------|----------------------------------------------------------------------------------------------------------------------------------------|
+| `format.delimiter`        | char    | Y        | `,`                      | N    |                                                                                                                                        |
+| `format.escape-character` | char    | N        | disabled                 | Y    |                                                                                                                                        |
+| `format.quote-character`  | char    | N        | disabled                 | Y    |                                                                                                                                        |
+| `format.null-literal`     | String  | N        | disabled                 | Y    |                                                                                                                                        |
+| `format.charset`          | String  | Y        | "UTF-8"                  | N    |                                                                                                                                        |
+| `format.ignore-errors`    | Boolean | Y        | true                     | N    |                                                                                                                                        |
+| `format.derive_schema`    | Boolean | N        | 如果未定义 Format Schema,则为必需。 | Y    | 从表的 Schema 中派生 Format Schema 。 这允许只定义一次schema 信息。 <br/> format 的名称、类型和字段顺序由表的 schema 决定。 <br/>如果时间属性不是字段,则忽略它们。 <br/> “from” 定义被解释为 format 中的字段重命名。 |
+
+### Key-Value
+
+```xml
+<dependency>
+<groupId>org.apache.inlong</groupId>
+<artifactId>sort-format-kv</artifactId>
+<version>${inlong.version}</version>
+</dependency>
+```
+
+`org.apache.inlong.sort.formats.csv.CsvFormatFactory`
+
+| Option                    | Type    | Required | Default value                            | 高级属性 | Remark                                                                                                                                 |
+|---------------------------|---------|----------|------------------------------------------|------|----------------------------------------------------------------------------------------------------------------------------------------|
+| `format.entry-delimiter`  | char    | N        | '&'                                      | N    |                                                                                                                                        |
+| `format.kv-delimiter`     | char    | N        | '='                                      | N    |                                                                                                                                        |
+| `format.escape-character` | char    | N        | disabled                                 | Y    |                                                                                                                                        |
+| `format.quote-character`  | char    | N        | disabled                                 | Y    |                                                                                                                                        |
+| `format.null-literal`     | char    | N        | disabled                                 | Y    |                                                                                                                                        |
+| `format.charset`          | String  | Y        | "UTF-8"                                  | N    |                                                                                                                                        |
+| `format.ignore-errors`    | Boolean | Y        | true                                     | N    |                                                                                                                                        |
+| `format.derive_schema`    | Boolean | N        | Required if no format schema is defined. | Y    | 从表的 Schema 中派生 Format Schema 。 这允许只定义一次schema信息。 <br/> format 的名称、类型和字段顺序由表的 schema 决定。 <br/>如果时间属性不是字段,则忽略它们。 <br/> “from” 定义被解释为 format 中的字段重命名。 |
+
+### JSON
+
+```xml
+<dependency>
+<groupId>org.apache.flink</groupId>
+<artifactId>flink-json</artifactId>
+<version>${flink.version}</version>
+</dependency>
+```
+
+`org.apache.flink.formats.json.JsonFormatFactory`
+
+`org.apache.flink.formats.json.JsonOptions`
+
+| Option                           | Type    | Required | Default value | 高级属性 | Remark                                                                                                                                                                    |
+|----------------------------------|---------|----------|---------------|------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `ignore-parse-errors`            | Boolean | N        | false         | N    | 可选标志以跳过具有解析错误而不是失败的字段和行; <br/>如果出现错误,字段设置为 null,默认情况下为 false。                                                                                                             |
+| `map-null-key.mode`              | String  | N        | "FAIL"        | Y    | 可选标志,用于在序列化map数据的空键时控制处理模式。<br/><br/>选项 DROP 将删除map数据的空键条目。<br/>选项 LITERAL 将使用 'map-null-key.literal' 作为 key 关键字。                                                           |
+| `map-null-key.literal`           | String  | N        | "null"        | Y    | 当“map-null-key.mode”为 LITERAL 时,用于为空键指定字符串文字的可选标志。                                                                                                                        |
+| `encode.decimal-as-plain-number` | Boolean | N        | false         | Y    | 可选标志,用于指定是否将所有小数编码为普通数字而不是科学记数法,默认情况下为 false。                                                                                                                             |
+| `timestamp-format.standard`      | String  | N        | "SQL"         | Y    | 用于指定时间戳格式的可选标志,默认为 SQL。<br/>选项 ISO-8601 将以“yyyy-MM-ddTHH:mm:ss.s{precision}” 格式解析输入时间戳,并以相同格式输出时间戳。 <br/>选项 SQL 将以“yyyy-MM-dd HH:mm:ss.s{precision}”格式解析输入时间戳,并以相同格式输出时间戳。 |
+| `encode.decimal-as-plain-number` | Boolean | N        | false         | Y    | 可选标志,用于指定是否将所有小数编码为普通数字而不是可能的科学记数法,默认情况下为 `false`。                                      |
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/development/img/inlong_plugin.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/development/img/inlong_plugin.png
new file mode 100644
index 0000000000..10c1e93005
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/development/img/inlong_plugin.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/development/img/plugin_location.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/development/img/plugin_location.png
new file mode 100644
index 0000000000..e07d7b3b4a
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/development/img/plugin_location.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/development/img/plugin_log.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/development/img/plugin_log.png
new file mode 100644
index 0000000000..29ee2148d1
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/development/img/plugin_log.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/development/inlong_manager_plugin.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/development/inlong_manager_plugin.md
new file mode 100644
index 0000000000..f8e56bc86d
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/development/inlong_manager_plugin.md
@@ -0,0 +1,85 @@
+---
+title: Manager 自定义插件
+sidebar_position: 3
+---
+## 总览
+
+本文面向 InLong-Manager 插件开发人员, 尝试尽可能全面地阐述开发一个 Manager 插件所经过的历程,力求消除开发者的困惑,让插件开发变得简单。
+
+## 开发之前
+
+- Inlong 作为一个流式数据同步框架,采用 Group + Stream 的构建方式。
+- Inlong Group 可包含多个 Inlong Stream, 每个 Inlong Stream 负责一条独立的数据同步链路。
+- Inlong Group 负责任务所需的物理资源的定义及初始化,这些物理资源主要包括数据同步所需的中间件集群及 Sort 函数;该 Group 下所有的 Stream 共享这些资源。
+- Inlong Manager 通过 **CreateGroupWorkflowDefinition** 这个工作流创建对应的 Inlong Group 并初始化所有的物理资源, 每个工作流包括数个相互独立的 Service Task。当这个工作流被创建并执行时, 麾下的 Service Task 按照预先定义的顺序依次执行。
+- Service Task 采用**监听者模式**——也被称作**发布-订阅模式**构建, 每一个独立的 task 会注册一个或多个 Listener (监听器). Listener 接受工作流上下文信息并执行相关的逻辑。
+- 作为开发人员, 你需要开发原生 Listener 以实现自定义的操作逻辑。
+
+## 流程图示
+
+- Inlong Manager 插件机制如下图所示:
+
+  ![](img/inlong_plugin.png)
+
+- 如图所示,插件需要被放置在安装路径之下, 当 Inlong Manager 进程启动时,会自动寻找插件编译的 jar 包并加载其中的代码。
+
+![](img/plugin_location.png)
+
+- 作为开发人员,当你看到下图所示的日志时,可以确认插件已经加载成功了:
+
+![](img/plugin_log.png)
+
+## 参考 Demo
+
+- 为方便开发人员理解. 我们在 Inlong Manager 目录下增加了 ***manager-plugins** , 开发人员可参考 **FlinkSortProcessPlugin** 进行自己的插件开发; 或者按照如下的案例开发插件;
+
+```java
+public class EmptyProcessPlugin implements ProcessPlugin {
+
+    @Override
+    public Map<DataSourceOperateListener, EventSelector> createSourceOperateListeners() {
+        return new LinkedHashMap<>();
+    }
+
+    @Override
+    public Map<QueueOperateListener, EventSelector> createQueueOperateListeners() {
+        return new LinkedHashMap<>();
+    }
+
+    @Override
+    public Map<SortOperateListener, EventSelector> createSortOperateListeners() {
+        return ProcessPlugin.super.createSortOperateListeners();
+    }
+
+    @Override
+    public Map<SinkOperateListener, EventSelector> createSinkOperateListeners() {
+        return ProcessPlugin.super.createSinkOperateListeners();
+    }
+
+}
+```
+
+- **DataSourceOperateListener**,**QueueOperateListener**,**SortOperateListener**,**SinkOperateListener** 是 **TaskEventListener** 的子类, 分别负责源数据端,消息队列,sort 函数,目标数据端的初始化工作。 与 Listener 绑定的**EventSelector**决定该 Listener 是否在运行时被激活。
+
+```java
+public interface EventSelector {
+
+    boolean accept(WorkflowContext context);
+
+}
+```
+
+- 完成插件的开发工作后, 你需要编写对应的**Yaml**格式的插件定义文件, 将其放置在工程目录 resources/META-INF 下。
+
+```yaml
+name: example
+description: example for manager plugin
+javaVersion: 1.8
+pluginClass: org.apache.inlong.manager.plugin.EmptyProcessPlugin
+```
+- 如果你不确定怎样开发一个可用的 Listener ,请参考`org.apache.inlong.manager.service.workflow.listener.GroupTaskListenerFactory`中原生 Listener 的逻辑。
+
+## 写在最后
+
+我们在 Inlong Manager 中提供插件化机制,希望可以方便开发人员在 Inlong 现有的框架下定制化开发自己的功能。
+诚然,当前的插件机制还很不完善,我们会持续致力于功能的改进,也欢迎您的加入。
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/development/inlong_manager_shiro_plugin.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/development/inlong_manager_shiro_plugin.md
new file mode 100644
index 0000000000..9badc964da
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/development/inlong_manager_shiro_plugin.md
@@ -0,0 +1,56 @@
+---
+title: 自定义认证
+sidebar_position: 2
+---
+
+import {siteVariables} from '../version';
+
+## 总览
+Inlong Manager中使用了Apache Shiro框架实现了认证和授权等功能,Manager已经集成好了默认的实现逻辑,如果您想在Inlong Manager中实现自定义的基于Shiro的认证和授权功能,您可以按照如下的说明,进行相关功能的插件化开发。
+
+## 依赖
+- 增加maven 依赖
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>manager-common</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+## 编码
+- 实现其中关于Shiro相关模块的接口
+```java
+org.apache.inlong.manager.common.auth.InlongShiro
+
+public interface InlongShiro {
+
+    WebSecurityManager getWebSecurityManager();
+
+    AuthorizingRealm getShiroRealm();
+
+    WebSessionManager getWebSessionManager();
+
+    CredentialsMatcher getCredentialsMatcher();
+
+    ShiroFilterFactoryBean getShiroFilter(SecurityManager securityManager);
+
+    AuthorizationAttributeSourceAdvisor getAuthorizationAttributeSourceAdvisor(SecurityManager securityManager);
+
+}
+```
+
+- 实现*InlongShiro*接口,并在"@ConditionalOnProperty"指定配置
+```java
+@ConditionalOnProperty(name = "type", prefix = "inlong.auth", havingValue = "Custom")
+@Component
+public class InlongShiroImpl implements InlongShiro {
+   //todo
+}
+```
+
+- 修改manager-web module下application.properties文件中配置
+```java
+inlong.auth.type=Custom
+```
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/development/inlong_msg.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/development/inlong_msg.md
new file mode 100644
index 0000000000..5a0df85a5d
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/development/inlong_msg.md
@@ -0,0 +1,50 @@
+---
+title: 解析 InLongMsg
+sidebar_position: 1
+---
+
+import {siteVariables} from '../version';
+
+## 总览
+如果直接从消息队列(InLong TubeMQ 或Pulsar)消费数据,需要先对`InLongMsg` 进行解析。可通过以下方式可以解析出源数据。
+
+## 解析
+- 增加maven 依赖
+<pre><code parentName="pre">
+{`<dependency>
+    <groupId>org.apache.inlong</groupId>
+    <artifactId>inlong-common</artifactId>
+    <version>${siteVariables.inLongVersion}</version>
+</dependency>
+`}
+</code></pre>
+
+- 增加解析逻辑
+```java
+public static List<byte[]> parserInLongMsg(byte[] bytes) {
+    List<byte[]> originalContentByteList = new ArrayList<>();
+    InLongMsg inLongMsg = InLongMsg.parseFrom(bytes);
+    Set<String> attrs = inLongMsg.getAttrs();
+    if (CollectionUtils.isEmpty(attrs)) {
+        return originalContentByteList;
+    }
+    for (String attr : attrs) {
+        if (attr == null) {
+            continue;
+        }
+        Iterator<byte[]> iterator = inLongMsg.getIterator(attr);
+        if (iterator == null) {
+            continue;
+        }
+        while (iterator.hasNext()) {
+            byte[] bodyBytes = iterator.next();
+            if (bodyBytes == null || bodyBytes.length == 0) {
+                continue;
+            }
+            // agent 发送的原始用户数据
+            originalContentByteList.add(bodyBytes);
+        }
+    }
+    return originalContentByteList;
+}
+```
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/introduction.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/introduction.md
new file mode 100644
index 0000000000..f966b9fea0
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/introduction.md
@@ -0,0 +1,96 @@
+---
+title: 简介
+sidebar_position: 1
+---
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+> InLong(应龙),中国神话故事里的神兽,引流入海,借喻 InLong 系统提供数据集成能力。
+
+## 关于 InLong
+[Apache InLong(应龙)](https://inlong.apache.org)是一站式的海量数据集成框架,提供自动、安全、可靠和高性能的数据传输能力,方便业务构建基于流式的数据分析、建模和应用。
+InLong 项目原名 TubeMQ ,专注于高性能、低成本的消息队列服务。为了进一步释放 TubeMQ 周边的生态能力,我们将项目升级为 InLong,专注打造一站式海量数据集成框架。
+Apache InLong 依托 10 万亿级别的数据接入和处理能力,整合了数据采集、汇聚、存储、分拣数据处理全流程,拥有简单易用、灵活扩展、稳定可靠等特性。
+该项目最初于 2019 年 11 月由腾讯大数据团队捐献到 Apache 孵化器,2022 年 6 月正式毕业成为 Apache 顶级项目。目前 InLong 正广泛应用于广告、支付、社交、游戏、人工智能等各个行业领域,为多领域客户提供高效化便捷化服务。
+
+## 特性
+- 简单易用
+
+  基于SaaS模式对外服务,用户只需要按主题发布和订阅数据即可完成数据的上报,传输和分发工作
+
+- 稳定可靠
+
+  系统源于实际的线上系统,服务上十万亿级的高性能及上千亿级的高可靠数据数据流量,系统稳定可靠
+
+- 功能完善
+
+  支持各种类型的数据接入方式,多种不同类型的MQ集成,以及基于配置规则的实时数据ETL和数据分拣落地,并支持以可插拔方式扩展系统能力
+
+- 服务集成
+
+  支持统一的系统监控、告警,以及细粒度的数据指标呈现,对于管道的运行情况,以数据主题为核心的数据运营情况,汇总在统一的数据指标平台,并支持通过业务设置的告警信息进行异常告警提醒
+
+- 灵活扩展
+
+  全链条上的各个模块基于协议以可插拔方式组成服务,业务可根据自身需要进行组件替换和功能扩展
+
+## 架构
+<Tabs
+defaultValue="standard"
+values={[
+{label: '标准', value: 'standard'},
+{label: '轻量化', value: 'lightweight'},
+]}>
+<TabItem value="standard"> 标准架构:包含 InLong Agent、Manager、MQ、Sort、Dashboard 等所有 InLong 组件,适合海量数据、大规模生产环境。
+<img src="/img/inlong-structure-zh.png" align="center" alt="Apache InLong"/>
+</TabItem>
+<TabItem value="lightweight"> 轻量化架构:只包含 InLong Sort 一个组件,也可以搭配 Manager,Dashboard 一起使用。轻量化架构简单、灵活,适合小规模数据。
+<img src="/img/inlong-structure-light.png" align="center" style={{objectFit: 'cover', height: '460px', width: '860px'}} alt="Apache InLong"/>
+</TabItem>
+</Tabs>
+
+## 模块
+Apache InLong 服务于数据采集到落地的整个生命周期,按数据的不同阶段提供不同的处理模块,主要包括:
+
+- **inlong-agent**,数据采集服务,包括文件采集、DB 采集等。
+- **inlong-dataproxy**,一个基于 Flume-ng 的 Proxy 组件,支持数据发送阻塞和落盘重发,拥有将接收到的数据转发到不同 MQ(消息队列)的能力。
+- **inlong-tubemq**,腾讯自研的消息队列服务,专注于大数据场景下海量数据的高性能存储和传输,在海量实践和低成本方面有着良好的核心优势。
+- **inlong-sort**,对从不同的 MQ 消费到的数据进行 ETL 处理,然后汇聚并写入 Hive、ClickHouse、Hbase、Iceberg、Hudi 等存储系统。
+- **inlong-manager**,提供完整的数据服务管控能力,包括元数据、任务流、权限,OpenAPI 等。
+- **inlong-dashboard**,用于管理数据接入的前端页面,简化整个 InLong 管控平台的使用。
+- **inlong-audit**,对 InLong 系统的 Agent、DataProxy、Sort 模块的入流量、出流量进行实时审计对账。
+
+## 已支持数据节点(更新中)
+| Type         | Name              | Version                      | Architecture          |
+|--------------|-------------------|------------------------------|-----------------------|
+| Extract Node | Auto Push         | None                         | Standard              |
+|              | File              | None                         | Standard              |
+|              | Kafka             | 2.x                          | Lightweight, Standard |
+|              | MySQL             | 5.6, 5.7, 8.0.x              | Lightweight, Standard |
+|              | MongoDB           | >= 3.6                       | Lightweight, Standard |
+|              | MQTT              | >= 3.1                       | Standard              |
+|              | Oracle            | 11,12,19                     | Lightweight           |
+|              | PostgreSQL        | 9.6, 10, 11, 12              | Lightweight, Standard |
+|              | Pulsar            | 2.8.x                        | Lightweight           |
+|              | Redis             | 2.6.x                        | Standard              |
+|              | SQLServer         | 2012, 2014, 2016, 2017, 2019 | Lightweight, Standard |
+| Load Node    | Auto Consumption  | None                         | Standard              |
+|              | Hive              | 1.x, 2.x, 3.x                | Lightweight, Standard |
+|              | Iceberg           | 0.12.x                       | Lightweight, Standard |
+|              | Hudi              | 0.12.x                       | Lightweight, Standard |
+|              | ClickHouse        | 20.7+                        | Lightweight, Standard |
+|              | Kafka             | 2.x                          | Lightweight, Standard |
+|              | HBase             | 2.2.x                        | Lightweight, Standard |
+|              | PostgreSQL        | 9.6, 10, 11, 12              | Lightweight, Standard |
+|              | Oracle            | 11, 12, 19                   | Lightweight, Standard |
+|              | MySQL             | 5.6, 5.7, 8.0.x              | Lightweight, Standard |
+|              | TDSQL-PostgreSQL  | 10.17                        | Lightweight, Standard |
+|              | Greenplum         | 4.x, 5.x, 6.x                | Lightweight, Standard |
+|              | Elasticsearch     | 6.x, 7.x                     | Lightweight, Standard |
+|              | SQLServer         | 2012, 2014, 2016, 2017, 2019 | Lightweight, Standard |
+|              | Doris             | >= 0.13                      | Lightweight, Standard |
+|              | StarRocks         | >= 2.0                       | Lightweight, Standard |
+|              | HDFS              | 2.x, 3.x                     | Lightweight, Standard |
+
+
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/agent/configure.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/agent/configure.md
new file mode 100644
index 0000000000..1a1bb35c67
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/agent/configure.md
@@ -0,0 +1,70 @@
+---
+title: 参数配置
+sidebar_position: 3
+---
+
+## 概览
+
+Agent 相关参数均在配置文件 `agent.properties` 中设置。
+
+## 通用设置
+
+| 参数                         | 描述                                        | 默认值                                                | 备注                                                   |
+|----------------------------|---------------------------------------------|-------------------------------------------------------|--------------------------------------------------------|
+| thread.pool.await.time     | 异常发生或关闭 Agent 时,线程等待的最大时间(秒)  | 30                                                    |                                                        |
+| agent.local.ip             | Agent 进程的本机 IP                           | 127.0.0.1                                             |                                                        |
+| agent.enable.oom.exit      | 发生 OutOfMemory 异常时,是否自动退出 Agent 进程 | false                                                 |                                                        |
+| agent.custom.fixed.ip      | 定制化 Agent IP                              | `blank`                                               | 如果 `agent.local.ip` 和`agent.custom.fixed.ip` 都设置,优先使用后者 |
+| agent.fetchCenter.interval | 从 InLong-Manager 拉取采集任务的单位周期(秒)   | 30                                                    |                                                        |
+| agent.fetcher.classname    | 从 InLong-Manager 拉取采集任务的实现类         | org.apache.inlong.agent.plugin.fetcher.ManagerFetcher | 用于支持 Fetcher 的可插拔化功能                             |
+| channel.memory.capacity    | 内存 Channel 中的最大消息条数                  | 5000                                                  |                                                         |
+
+## 本地缓存数据(用于 agent 重启后的任务恢复)设置
+
+| 参数                       | 描述               | 默认值  | 备注                                        |
+|---------------------------|--------------------|-------|---------------------------------------------|
+| agent.localStore.readonly | 本地缓存文件是否只读  | false  |                                            |
+| agent.http.enable         | 是否开启 HTTP 服务  | true   | 如果开启,会启动一个 HTTP 服务器,支持通过 HTTP 方式来获取采集任务 |
+| agent.http.port           | HTTP 服务端口号     | 8008   |                                            |
+
+## Job 和 JobManager 相关设置
+
+| 参数                       | 描述                      | 默认值 | 备注 |
+|--------------------------|----------------------------|------|-----|
+| job.monitor.interval     | Job 指标监控的单位周期(秒)   | 5    |     |
+| job.finish.checkInterval | 检查任务是否完成的单位周期(秒  | 6    |     |
+| job.number.limit         | Agent 能同时采集的最大任务个数 | 15   |     |
+
+## Task 和 TaskManager 相关配置
+
+| 参数                     | 描述                            | 默认值 | 备注 |
+|------------------------|----------------------------------|-------|-----|
+| task.retry.maxCapacity | 最大可重试 Task 个数               | 10000 |     |
+| task.monitor.interval  | Task 指标监控的单位周期(秒)        | 6     |     |
+| task.maxRetry.time     | 单个 Task 最大可重试次数            | 3     |     |
+| task.push.maxSecond    | 向 Channel 写数据的最大等待时间(秒) | 2     |     |
+| task.pull.maxSecond    | 从 Channel 读数据的最大等待时间(秒) | 2     |     |
+
+## InLong-Manager 配置
+
+| 参数                           | 描述                      | 默认值       | 备注                                  |
+|------------------------------|----------------------------|-----------|----------------------------------------|
+| agent.manager.vip.http.host  | InLong-Manager 服务的地址    | 127.0.0.1 |                                        |
+| agent.manager.vip.http.port  | InLong-Manager 服务的端口号  | 8083      |                                        |
+| agent.manager.auth.secretId  | InLong-Manager 的认证ID     | `blank`   | 如果 InLong-Manager 没有开启认证服务,这个参数无需设置 |
+| agent.manager.auth.secretKey | InLong-Manager 的认证密钥   | `blank`   |                                         |
+
+## 指标服务配置
+
+| 参数                                  | 描述                            | 默认值                                                         | 备注                      |
+|--------------------------------------|---------------------------------|---------------------------------------------------------------|-------------------------|
+| metricDomains.Agent.domainListeners  | 指标监听的类,通过该类名反射开启服务  | org.apache.inlong.agent.metrics.AgentPrometheusMetricListener | 支持多种方式,不同实现类用空格分割 |
+| metricDomains.Agent.snapshotInterval | 周期性上报指标的时隙(毫秒)         | 60000                                                         |                         |
+| agent.prometheus.exporter.port       | 如果使用 Prometheus 上报,设置端口号 | 9080                                                         |                         |
+
+## 审计服务配置
+
+| 参数           | 描述                    | 默认值            | 备注  |
+|--------------|--------------------------|------------------|-----|
+| audit.enable | 是否开启 InLong-Audit 服务 | true             |     |
+| audit.proxys | InLong-Audit 服务的地址    | 127.0.0.1:10081 |     |
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/agent/img/architecture.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/agent/img/architecture.png
new file mode 100644
index 0000000000..1138fe1b62
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/agent/img/architecture.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/agent/metrics.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/agent/metrics.md
new file mode 100644
index 0000000000..65d21ce8b3
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/agent/metrics.md
@@ -0,0 +1,61 @@
+---
+title: 监控指标
+sidebar_position: 3
+---
+
+## JMX 配置
+```properties
+# JMX监听类是AgentJmxMetricListener
+agent.domainListeners=org.apache.inlong.agent.metrics.AgentJmxMetricListener
+```
+
+## Prometheus 配置 
+```properties
+# Prometheus监听类是AgentPrometheusMetricListener
+agent.domainListeners=org.apache.inlong.agent.metrics.AgentPrometheusMetricListener
+# 默认端口为9080
+agent.prometheus.exporter.port=9080
+```
+
+## 自定义配置
+如果用户想通过其他监控指标能力,可以继承`org.apache.inlong.agent.metrics.AgentMetricBaseListener`类并实现,
+最后在 `agent.properties` 文件中配置 `agent.domainListeners` 属性。
+
+## 附录:指标项
+
+### AgentTaskMetric
+|  属性名称   | 说明  |
+|  ----  | ----  |
+| runningTasks  | 当前正在执行的任务 |
+| retryingTasks  | 当前正在重试的任务 |
+| fatalTasks  | 当前失败的任务总数 |
+
+### JobMetrics
+|  属性名称   | 说明  |
+|  ----  | ----  |
+| runningJobs  | 当前正在运行的job总数 |
+| fatalJobs  | 当前失败的job总数 |
+
+### PluginMetric
+|  属性名称   | 说明  |
+|  ----  | ----  |
+| readNum  | 读取的条数 |
+| sendNum  | 发送的条数 |
+| sendFailedNum  | 发送失败条数 |
+| readFailedNum  | 读取失败条数 |
+| readSuccessNum  | 读取成功条数 |
+| sendSuccessNum  | 发送成功条数 |
+
+### SourceMetric
+
+| 属性名称                   | 类型    | 说明                |
+|----------------------------|---------|-------------------|
+| agent_source_count_success | Counter | source 读取成功次数 |
+| agent_source_count_fail    | Counter | source 读取失败次数 |
+
+### SinkMetric
+
+| 属性名称                 | 类型    | 说明              |
+|--------------------------|---------|-----------------|
+| agent_sink_count_success | Counter | sink 写入成功次数 |
+| agent_sink_count_fail    | Counter | sink 写入失败次数 |
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/agent/overview.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/agent/overview.md
new file mode 100644
index 0000000000..6cd8fb5431
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/agent/overview.md
@@ -0,0 +1,53 @@
+---
+title: 总览
+sidebar_position: 1
+---
+
+InLong Agent 是一个支持多种数据源类型的收集工具,致力于实现包括 File、Sql、Binlog、Metrics 等多种异构数据源之间稳定高效的数据采集功能。
+
+## 设计理念
+为了解决数据源多样性问题,InLong-agent 将多种数据源抽象成统一的source概念,并抽象出sink来对数据进行写入。当需要接入一个新的数据源的时候,只需要配置好数据源的格式与读取参数便能跟做到高效读取。
+
+## InLong-Agent 架构介绍
+![](img/architecture.png)
+
+InLong Agent本身作为数据采集框架,采用channel + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,纳入到整个框架中。
+
+- Reader:Reader为数据采集模块,负责采集数据源的数据,将数据发送给channel。
+- Writer: Writer为数据写入模块,负责不断向channel取数据,并将数据写入到目的端。
+- Channel:Channel用于连接reader和writer,作为两者的数据传输通道,并起到了数据的写入读取监控作用
+
+
+## InLong-Agent 采集分类
+### 文件
+文件采集包含如下功能:
+用户配置的路径监听,能够监听出创建的文件信息
+目录正则过滤,支持YYYYMMDD+正则表达式的路径配置
+断点重传,InLong-Agent重启时,能够支持自动从上次读取位置重新读取,保证不重读不漏读。\
+
+#### 文件采集参数
+| 参数                           | 是否必须  | 默认值         | 类型    | 描述                                                  |
+| ----------------------------- | -------- | ------------- | ------ | ------------------------------------------------------------ |
+| pattern                       | required | (none)        | String | 文件正则匹配,例如: /root/[*].log      |
+| timeOffset                    | optional | (none)        | String | 文件偏移匹配针对文件文件名称为: *** YYYYMMDDHH *** YYYY 表示年, MM 表示月, DD 表示天,  HH 表示小时, *** 表示任意的字符;'1m' 表示一分钟以后, '-1m' 表示一分钟以前, '1h' 一小时以后, '-1h' 一小时以前, '1d' 一天以后, '-1d' 一天以前。|
+| collectType                   | optional |  FULL         | String | "FULL" 目录下所有匹配的文件, "INCREMENT" 任务启动后匹配新增的文件。                      |
+| lineEndPattern                | optional | '\n'          | String | 文件行结束正则匹配。 |
+| contentCollectType            | optional |  FULL         | String | 文件内容采集方式全量"FULL"、增量"INCREMENT" 。|
+| envList                       | optional | (none)        | String | 文件采集携带环境信息,例如在容器环境下: kubernetes 。           |
+| dataContentStyle              | optional | (none)        | String | 采集后数据输出方式, Json 格式设置为 json ; CSV 格式设置分割类型: `,` &#124; `:`            |
+| dataSeparator                 | optional | (none)        | String | 文件数据原始列分割方式。           |
+| monitorStatus                 | optional | (none)        | Integer| 文件监控开关 1 开启 、 0 关闭。场景:在批量采集是设置为 0,实时数据采集时 1。 |
+| monitorInterval               | optional | (none)        | Long   | 文件监控探测频率,毫秒/单位 |
+| monitorExpire                 | optional | (none)        | Long   | 文件监控探测过期时间,毫秒/单位 |
+
+
+### Sql
+这类数据是指通过SQL执行的方式
+SQL正则分解,转化成多条SQL语句
+分别执行SQL,拉取数据集,拉取过程需要注意对mysql本身的影响
+执行周期,这种一般是定时执行
+
+### Binlog
+这类采集通过配置mysql slave的方式,读取binlog,并还原数据
+需要注意binlog读取的时候多线程解析,多线程解析的数据需要打上顺序标签
+代码基于老版本的dbsync,主要的修改是将tdbus-sender的发送改为推送到agent-channel的方式做融合
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/agent/quick_start.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/agent/quick_start.md
new file mode 100644
index 0000000000..72c0a02270
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/agent/quick_start.md
@@ -0,0 +1,28 @@
+---
+title: 安装部署
+sidebar_position: 2
+---
+安装文件在 `inlong-agent` 目录。
+
+## 配置
+Agent 需要从 Manager 拉取配置,配置conf/agent.properties如下:
+```ini
+# replace by agent IP
+agent.local.ip=127.0.0.1
+agent.http.port=8008
+# manager IP
+agent.manager.vip.http.host=127.0.0.1
+# manager port
+agent.manager.vip.http.port=8083
+# audit proxy address
+audit.proxys=127.0.0.1:10081
+```
+
+## 依赖
+- 如果后端连接 MySQL 数据库,请下载 [mysql-connector-java-8.0.27.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.27/mysql-connector-java-8.0.27.jar), 并将其放入 `lib/` 目录。
+- 如果后端连接 PostgreSQL 数据库,不需要引入额外依赖。
+
+## 启动
+```bash
+bash +x bin/agent.sh start
+```
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/configure.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/configure.md
new file mode 100644
index 0000000000..560580f4a2
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/configure.md
@@ -0,0 +1,88 @@
+---
+title: 参数配置 
+sidebar_position: 3
+---
+
+## 概览
+
+审计代理服务 audit-proxy 在 `audit-proxy-{tube|pulsar|kafka}.conf`中设置。 审计存储服务 audit-store 在 `application.properties`中设置。
+
+## 审计代理层 audit-proxy source-channel-sink 管道配置(audit-proxy-{tube|pulsar|kafka}.conf)
+
+### 通用设置
+
+| 参数                         | 描述                                        | 默认值                                                | 备注                                                   |
+|----------------------------|---------------------------------------------|-------------------------------------------------------|--------------------------------------------------------|
+| agent1.sources     | source类型  |    tcp-source                                            |                                                        |
+| agent1.channels            | 使用的channel                         | ch-msg1                                             |                                                        |
+| agent1.sinks      | 使用的sink | pulsar-sink-msg1                                            |                                                        |
+|
+
+### sources 相关设置
+
+| 参数                       | 描述               | 默认值  | 备注                                        |
+|---------------------------|--------------------|-------|---------------------------------------------|
+| agent1.sources.tcp-source.channels | 定义source中使用到的channel  | ch-msg1  |                                            |
+| agent1.sources.tcp-source.host | 服务ip  | 0.0.0.0  |                                            |
+| agent1.sources.tcp-source.port         | 监听端口  | 10081   | |
+
+### channel 相关配置
+
+| 参数                       | 描述                      | 默认值 | 备注 |
+|--------------------------|----------------------------|------|-----|
+| agent1.channels.ch-msg1.type     | memory channel类型   | memory    |     |
+| agent1.channels.ch-msg2.type  | file channel类型  | file   |     |
+
+### sink 相关配置
+
+| 参数                     | 描述                            | 默认值 | 备注 |
+|------------------------|----------------------------------|-------|-----|
+| agent1.sinks.pulsar-sink-msg1.channel | sink的上游channel名称               | ch-msg1 |     |
+| agent1.sinks.pulsar-sink-msg1.type  | sink类实现        | org.apache.inlong.audit.sink.PulsarSink     |     |
+| agent1.sinks.pulsar-sink-msg1.pulsar_server_url    | pulsar集群broker节点            | pulsar://localhost:6650     |     |
+| agent1.sinks.pulsar-sink-msg1.topic    | pulsar集群topic | persistent://public/default/inlong-audit     |     |
+| agent1.sinks.pulsar-sink-msg1.enable_token_auth    | 是否需要安全认证 | false     |     |
+| agent1.sinks.pulsar-sink-msg1.auth_token    | pulsar认证token | 空     |     |
+
+## 审计存储服务 audit-store 配置 `application.properties`
+
+### MQ配置
+
+| 参数                         | 描述                                        | 默认值                                                | 备注                                                   |
+|----------------------------|---------------------------------------------|-------------------------------------------------------|--------------------------------------------------------|
+| audit.config.proxy.type     | MQ类型  |    pulsar                                            |                                                        |
+| audit.pulsar.server.url           | pulsar的集群地址                         | pulsar://127.0.0.1:6650                                             |                                                        |
+| audit.pulsar.topic      | pulsar topic | persistent://public/default/inlong-audit                                            |                                                        |
+| audit.pulsar.consumer.sub.name      | 订阅组 | inlong-audit-subscription                                           |                                                        |
+| audit.pulsar.enable.auth      | 是否需要安全认证 | false                                            |                                                        |
+| audit.pulsar.token      | 认证token |                                            |                                                        |
+
+### DB 相关设置
+
+| 参数                       | 描述               | 默认值  | 备注                                        |
+|---------------------------|--------------------|-------|---------------------------------------------|
+| spring.datasource.druid.driver-class-name | 设置Driver类型  | com.mysql.cj.jdbc.Driver  |                                            |
+| spring.datasource.druid.url| jdbc的URL | jdbc:mysql://127.0.0.1:3306/apache_inlong_audit?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2b8&rewriteBatchedStatements=true&allowMultiQueries=true&zeroDateTimeBehavior=CONVERT_TO_NULL&allowPublicKeyRetrieval=true |                                            |
+| spring.datasource.druid.username         | 账号名  | root   | |
+| spring.datasource.druid.password         | 密码  | inlong   | |
+
+### ElasticSearch 配置
+
+| 参数                       | 描述                      | 默认值 | 备注 |
+|--------------------------|----------------------------|------|-----|
+| elasticsearch.host     | 集群地址   | 127.0.0.1    |     |
+| elasticsearch.port  | 集群端口  | 9200   |     |
+| elasticsearch.authEnable  | 是否认证  | false   |     |
+| elasticsearch.username  | 账号名  | elastic   |     |
+| elasticsearch.password  | 密码  | inlong   |     |
+| elasticsearch.indexDeleteDay  | 索引保存时间,天  | 5   |     |
+| elasticsearch.auditIdSet | 允许写入的审计ID列表  | 1,2   |     |
+
+### clickhouse 相关配置
+
+| 参数                       | 描述               | 默认值  | 备注                                        |
+|---------------------------|--------------------|-------|---------------------------------------------|
+| clickhouse.driver | 设置Driver类型  | ru.yandex.clickhouse.ClickHouseDriver  |                                            |
+| clickhouse.url| clickhouse的URL | jdbc:clickhouse://127.0.0.1:8123/default |                                            |
+| clickhouse.username         | 账号名  | default   | |
+| clickhouse.password         | 密码  | default   | |
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_api.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_api.png
new file mode 100644
index 0000000000..240f1d3daf
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_api.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_architecture.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_architecture.png
new file mode 100644
index 0000000000..d11d35767c
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_architecture.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_mysql.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_mysql.png
new file mode 100644
index 0000000000..5ccd355236
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_mysql.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_proxy.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_proxy.png
new file mode 100644
index 0000000000..faf160ce64
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_proxy.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_sdk.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_sdk.png
new file mode 100644
index 0000000000..243403daa8
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_sdk.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_sdk_disaster_recovery.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_sdk_disaster_recovery.png
new file mode 100644
index 0000000000..e07f7ca3e6
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_sdk_disaster_recovery.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_ui.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_ui.png
new file mode 100644
index 0000000000..4de5f2e889
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/audit_ui.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/elasticsearch_index.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/elasticsearch_index.png
new file mode 100644
index 0000000000..a93f2a17bb
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/elasticsearch_index.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/elasticsearch_overview.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/elasticsearch_overview.png
new file mode 100644
index 0000000000..e472566ba8
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/elasticsearch_overview.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/elasticsearch_write.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/elasticsearch_write.png
new file mode 100644
index 0000000000..0fefe47677
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/img/elasticsearch_write.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/overview.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/overview.md
new file mode 100644
index 0000000000..312d2dbb11
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/overview.md
@@ -0,0 +1,221 @@
+---
+title: 总览
+sidebar_position: 1
+---
+
+InLong审计是独立于InLong的一个子系统,对InLong系统的Agent、DataProxy、Sort模块的入流量、出流量进行实时审计对账。
+对账的粒度有分钟、小时、天三种粒度。
+
+审计对账以日志上报时间为统一的口径,参与审计的各个服务将按照相同的日志时间进行实时对账。通过审计对账,我们可以清晰的了解InLong
+各个模块的传输情况,以及数据流是否有丢失或者重复
+
+## 架构
+![](img/audit_architecture.png)
+1. 审计SDK嵌套在需要审计的服务,对服务进行审计,将审计结果发送到审计接入层。
+2. 审计接入层将审计数据写到 MQ(Pulsar、Kafka 或者 TubeMQ)。
+3. 分发服务消费 MQ 的审计数据,将审计数据写到 MySQL、Elasticsearch、ClickHouse。
+4. 接口层将 MySQL、Elasticsearch、ClickHouse 的数据进行封装。
+5. 应用场景主要包括报表展示、审计对账等等。
+
+## 审计维度
+| | | || | | | | | |
+| ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- |
+| 机器ip |  容器ID | 线程ID | 日志时间(分钟) | 审计ID | inlong_group_id | inlong_stream_id | 条数 | 大小 | 传输时延(ms) |
+
+## 审计项ID
+每个模块的接收与发送分别为一个独立的审计项ID
+
+|Inlong服务模块 |审计ID |
+|----|----|
+|Inlong api接收成功	|1 |
+|Inlong api发送成功	|2|
+|Inlong agent接收成功	|3|
+|Inlong agent发送成功	|4|
+|Inlong DataProxy接收成功	|5|
+|Inlong DataProxy发送成功	|6|
+|Inlong分发服务1接收成功	|7|
+|Inlong分发服务1发送成功	|8|
+|Inlong分发服务2接收成功	|9|
+|Inlong分发服务2发送成功	|10|
+
+## 数据传输协议
+sdk、接入层、分发层之间的传输协议为Protocol Buffers
+```markdown
+syntax = "proto3";
+
+package org.apache.inlong.audit.protocol;
+
+message BaseCommand {
+    enum Type {
+        PING          = 0;
+        PONG          = 1;
+        AUDITREQUEST  = 2;
+        AUDITREPLY    = 3;
+    }
+    Type type                            = 1;
+    optional AuditRequest audit_request  = 2;
+    optional AuditReply audit_reply      = 3;
+    optional Ping ping                   = 4;
+    optional Pong pong                   = 5;
+}
+
+message Ping {
+}
+
+message Pong {
+}
+
+message AuditRequest {
+  AuditMessageHeader msg_header = 1;   //包头
+  repeated AuditMessageBody msg_body = 2;   //包体
+}
+
+message AuditMessageHeader {
+  string ip = 1;            //sdk客户端ip
+  string docker_id = 2;     //sdk所在容器ID
+  string thread_id = 3;     //sdk所在的线程ID
+  uint64 sdk_ts = 4;        //sdk上报时间
+  uint64 packet_id = 5;     //sdk上报的包ID
+}
+
+message AuditMessageBody {
+  uint64 log_ts = 1;    //日志时间
+  string inlong_group_id= 2;   //inlong_group_id
+  string inlong_stream_id= 3; //inlong_stream_id
+  string audit_id = 4;   //审计ID
+  uint64 count = 5;     //条数
+  uint64 size = 6;      //大小
+  int64  delay = 7;      //总传输延时
+}
+
+message AuditReply {
+  enum RSP_CODE {
+    SUCCESS  = 0;  //成功
+    FAILED   = 1;   //失败
+    DISASTER = 2; //容灾
+  }
+  RSP_CODE rsp_code = 1;   //服务端返回码
+  optional string message = 2;
+}
+```
+## 审计SDK实现细节
+### 目标
+***1.支持本地容灾***  
+***2.数据唯一性***  
+***3.减少异常重启导致的数据丢失***  
+
+### 主要逻辑图
+![](img/audit_sdk.png)  
+1.sdk对外提供add接口,参数为:audit_id, inlong_group_id,inlong_stream_id,条数,大小 
+2.sdk以日志时间+audit_id+inlong_group_id+inlong_stream_id为key,进行实时统计  
+3.满足发送周期或者业务程序主动触发,SDK将统计结果进行PB协议组包,发送审计接入层  
+4.如果(4)发送失败,则放入失败队列,下个周期继续发送  
+5.当失败队列大于阈值时,通过本地文件进行容灾  
+
+### 服务发现
+审计sdk与接入层之间的名字发现,支持插件化,包括域名、vip等
+
+### 容灾逻辑
+![](img/audit_sdk_disaster_recovery.png)   
+1.sdk发送接入层失败时,会放入失败队列  
+2.失败队列达到阈值时,将写到本地容灾文件  
+3.本地容灾文件达到阈值时,将淘汰旧数据(按时间淘汰)  
+
+## 接入层实现细节
+### 目标
+***1.高可靠***
+***2.at least once***
+
+### 主要逻辑
+![](img/audit_proxy.png)
+1.接入层收到sdk发送的包之后,写消息队列  
+2.写消息队列成功之后,则对sdk返回成功  
+3.消息队列的数据协议为PB协议  
+4.写消息队列的ack设置成-1或者all  
+
+## Elasticsearch分发实现
+### 目标
+***1.高实时性(分钟级)***  
+***2.可运营每天百亿级别的审计数据***  
+***3.可去重***  
+
+### 主要逻辑图
+![](img/elasticsearch_overview.png)
+1.分发服务AuditDds实时消费消息  
+2.根据审计数据中的审计ID,将数据路由到对应的Elasticsearch集群  
+3.每个审计ID对应一个Elasticsearch索引  
+
+### 索引设计
+#### 索引名  
+索引名由日期+审计项ID组成,如20211019_1,20211019_2  
+#### 索引字段格式
+
+|字段               |类型        |说明 |
+|----               |----       |----|
+|audit_id	        |keyword    |审计ID |
+|inlong_group_id	|keyword    |inlong_group_id |
+|inlong_stream_id	|keyword    |inlong_stream_id |
+|docker_id	        |keyword    |sdk所在容器ID |
+|thread_id	        |keyword    |线程ID |
+|packet_id	        |keyword    |sdk上报的包ID |
+|ip	                |keyword    |机器IP |
+|log_ts	            |keyword    |日志时间 |
+|sdk_ts	            |long       |审计SDK上报时间 |
+|count	            |long       |日志条数 |
+|size	            |long       |日志大小 |
+|delay	            |long       |日志传输时间,等于当前机器时间减去日志时间 |
+
+#### 索引的存储周期
+按天存储,存储周期动态可配置
+
+## Elasticsearch写入设计
+### inlong_group_id、inlong_stream_id、审计ID与Elasticsearch索引的关系
+![](img/elasticsearch_index.png)
+系统设计与服务实现上inlong_group_id、inlong_stream_id、审计ID与Elasticsearch索引为1:N的关系  
+
+### 写入路由策略
+![](img/elasticsearch_write.png)
+使用inlong_group_id、inlong_stream_id路由到Elasticsearch分片,保证相同的inlong_group_id、inlong_stream_id存储在相同的分片
+将相同的inlong_group_id、inlong_stream_id写到同一个分片,查询以及聚合的时候,只需要处理一个分片,能够大大提高性能  
+
+### 可选按doc_id去重
+Elasticsearch实时去重比较耗资源,此功能通过配置可选。
+
+### 使用bulk批量方式
+使用bulk写入,每批5000条,提高Elasticsearch集群的写入性能
+
+## MySQL分发实现
+### 目标
+***1.高实时性(分钟级)***   
+***2.部署简单***  
+***3.可去重***
+
+### 主要逻辑图
+![](img/audit_mysql.png)
+MySQL分发支持根据审计ID分发到不同的MySQL实例,支持水平扩展。
+
+### 使用介绍
+  1.当业务的审计规模比较小,小于千万级/天时,就可以考虑采用MySQL作为审计的存储。因为MySQL的部署相对Elasticsearch要简单的多, 资源成本也会少很多。   
+  2.如果审计数据规模很大,MySQL支撑不了时,就可以考虑采用Elasticsearch作为存储,毕竟单个Elasticsearch集群能够支持百亿级别的审计数据,也支持水平扩容。
+  
+## ClickHouse分发实现
+### 目标
+***1.高实时性(分钟级)***   
+***2.部署简单***  
+***3.可去重***
+
+### 主要逻辑图
+ClickHouse分发支持根据审计ID分发到不同的ClickHouse实例,支持水平扩展。
+
+### 使用介绍
+  1.ClickHouse集群支持百亿级审计数据,也支持水平扩容,同时支持SQL方式访问审计数据,资源成本和ElasticSearch差不多。
+  
+## 审计使用接口设计
+### 主要逻辑图
+![](img/audit_api.png)
+审计接口层通过SQL查MySQL/ClickHouse或者restful查Elasticsearch。接口具体怎么查哪一种存储,取决使用了哪一种存储
+
+### UI 界面展示
+### 主要逻辑图
+![](img/audit_ui.png)
+前端页面通过接口层,拉取各个模块的审计数据,进行展示
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/quick_start.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/quick_start.md
new file mode 100644
index 0000000000..51cb3165e4
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/audit/quick_start.md
@@ -0,0 +1,103 @@
+---
+title: 安装部署
+---
+
+所有的安装文件都在 `inlong-audit` 目录下,如果使用 MySQL 存储审计数据,需要先通过`sql/apache_inlong_audit.sql`初始化数据库。
+```shell
+# 初始化 database
+mysql -uDB_USER -pDB_PASSWD < sql/apache_inlong_audit.sql
+```
+
+如果使用 ClickHouse 存储审计数据,需要先通过`sql/apache_inlong_audit_clickhouse.sql`初始化数据库。
+```shell
+# 初始化 database
+clickhouse client -u DB_USER --password DB_PASSWD < sql/apache_inlong_audit_clickhouse.sql
+```
+  
+## 依赖
+- 如果后端连接 MySQL 数据库,请下载 [mysql-connector-java-8.0.27.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.27/mysql-connector-java-8.0.27.jar), 并将其放入 `lib/` 目录。
+- 如果后端连接 PostgreSQL 数据库,不需要引入额外依赖。
+
+## Audit Proxy
+### 配置消息队列
+消息队列服务目前可以使用 Apache Pulsar、Apache Kafka 或者 InLong TubeMQ:
+
+- 若使用 Pulsar,配置文件 `conf/audit-proxy-pulsar.conf`,修改下列配置中的 Pulsar Topic 信息。
+
+```Shell
+agent1.sinks.pulsar-sink-msg1.topic = persistent://public/default/inlong-audit
+agent1.sinks.pulsar-sink-msg2.topic = persistent://public/default/inlong-audit
+```
+
+- 若使用 TubeMQ,配置文件 `conf/audit-proxy-tube.conf`,修改下列配置中的 TubeMQ Topic 信息。
+```Shell
+agent1.sinks.tube-sink-msg1.topic = inlong-audit
+agent1.sinks.tube-sink-msg2.topic = inlong-audit
+```
+
+- 若使用 Kafka,配置文件 `conf/audit-proxy-kafka.conf`,修改下列配置中的 Kafka Topic 信息。
+
+```Shell
+agent1.sinks.kafka-sink-msg1.topic = inlong-audit
+agent1.sinks.kafka-sink-msg2.topic = inlong-audit
+```
+
+### 启动
+```Shell
+# 默认使用 pulsar 作为消息队列,加载 audit-proxy-pulsar.conf 配置文件
+bash +x ./bin/proxy-start.sh [pulsar|tube|kafka]
+```
+
+## Audit Store
+### 配置
+配置文件 `conf/application.properties`
+
+```Shell
+# proxy.type: pulsar / tube / kafka
+audit.config.proxy.type=pulsar
+
+# store.server: mysql / elasticsearch 
+audit.config.store.mode=mysql
+
+# manger config
+manager.hosts=127.0.0.1:8083
+proxy.cluster.tag=default_cluster
+
+# audit pulsar config (optional)
+audit.pulsar.topic=persistent://public/default/inlong-audit
+audit.pulsar.consumer.sub.name=sub-audit
+
+# audit tube config (optional)
+audit.tube.topic=inlong-audit
+audit.tube.consumer.group.name=inlong-audit-consumer
+
+# kafka config (optional)
+audit.kafka.topic=inlong-audit
+audit.kafka.consumer.name=inlong-audit-consumer
+audit.kafka.group.id=audit-consumer-group
+
+# mysql config
+spring.datasource.druid.url=jdbc:mysql://127.0.0.1:3306/apache_inlong_audit?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2b8&rewriteBatchedStatements=true&allowMultiQueries=true&zeroDateTimeBehavior=CONVERT_TO_NULL
+spring.datasource.druid.username=root
+spring.datasource.druid.password=inlong
+
+# es config (optional)
+elasticsearch.host=127.0.0.1
+elasticsearch.port=9200
+
+# clickhouse config (optional)
+clickhouse.url=jdbc:clickhouse://127.0.0.1:8123/default
+clickhouse.username=default
+clickhouse.password=default
+```
+
+### 依赖
+- 如果后端连接 MySQL 数据库,请下载 [mysql-connector-java-8.0.27.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.26/mysql-connector-java-8.0.27.jar), 并将其放入 `lib/` 目录。
+- 如果后端连接 PostgreSQL 数据库,不需要引入额外依赖。
+
+### 启动
+```Shell
+bash +x ./bin/store-start.sh
+```
+
+Audit Proxy 默认监听端口为 `10081`。
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/dashboard/overview.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/dashboard/overview.md
new file mode 100644
index 0000000000..9234e8e039
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/dashboard/overview.md
@@ -0,0 +1,47 @@
+---
+title: 概览
+sidebar_position: 1
+---
+
+Dashboard 是 [Apache InLong](https://github.com/apache/inlong)的管控端。
+
+## 开发指引
+
+确认 `nodejs >= 12.0` 已经安装。
+
+在新创建的项目中,您可以运行一些内置命令:
+
+如果没有安装 `node_modules`,你应该首先运行 `npm install` 或 `yarn install`。
+
+使用 `npm run dev` 或 `yarn dev` 在开发模式下运行应用程序。
+
+如果服务器运行成功,浏览器将打开 [http://localhost:5173](http://localhost:5173) 在浏览器中查看。
+
+如果您进行编辑,页面将重新加载。
+您还将在控制台中看到任何 lint 错误。
+
+web服务器的启动依赖于后端服务 `manger api` 接口。
+
+您应该先启动后端服务器,然后将 `/inlong-dashboard/vite.config.ts` 中的变量`target` 设置为api服务的地址。
+
+### 测试
+
+运行 `npm test` 或 `yarn test`
+
+在交互式观察模式下启动测试运行器。
+有关更多信息,请参阅有关 [运行测试](https://create-react-app.dev/docs/running-tests/) 的部分。
+
+### 构建
+
+首先保证项目已运行过 `npm install` 或 `yarn install` 安装了 `node_modules`。
+
+运行 `npm run build` 或 `yarn build`。
+
+将用于生产的应用程序构建到构建文件夹。
+在构建后的生产模式下可以获得较好的页面性能。
+
+构建后代码被压缩,文件名包括哈希值。
+您的应用程序已准备好部署!
+
+有关详细信息,请参阅有关 [deployment](https://create-react-app.dev/docs/deployment/) 的部分。
+
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/dashboard/quick_start.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/dashboard/quick_start.md
new file mode 100644
index 0000000000..14d00bcdec
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/dashboard/quick_start.md
@@ -0,0 +1,32 @@
+---
+title: 安装部署
+sidebar_position: 2
+---
+
+## 选择 1:Docker 部署
+### 准备镜像
+从仓库拉起最新镜像:
+```
+docker pull inlong/dashboard:latest
+```
+
+### 运行
+```
+# MANAGER_API_ADDRESS 环境变量 使用inlong-manager 部署地址替换
+docker run -d --name dashboard -e MANAGER_API_ADDRESS=127.0.0.1:8083 -p 80:80 inlong/dashboard
+```
+
+## 选择 2:Nginx 部署
+例如,修改 `inlong-dashboard` 安装路径和 Manager 服务地址。
+```
+server {
+listen       80;
+listen       [::]:80;
+server_name  _;
+root         ${dashboard_installed_path};
+# API prefix of InlongManager
+location /inlong/manager {
+proxy_pass      http://{manager_api_address};
+}
+}
+```
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/dataproxy/configuration.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/dataproxy/configuration.md
new file mode 100644
index 0000000000..8178828e45
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/dataproxy/configuration.md
@@ -0,0 +1,190 @@
+---
+title: 参数配置
+sidebar_position: 3
+---
+
+## 基本配置( common.properties )
+
+| 参数                                                      | 描述                          | 默认值                                  | 备注                                                                             |
+|---------------------------------------------------------|-----------------------------|--------------------------------------|--------------------------------------------------------------------------------|
+| manager.hosts                                           | Manager 服务器 IP 和端口列表        | 127.0.0.1:8083                      | 不允许为空,格式按照 {ip1:port1}[,{ip2:port2}][,{ip3:port3}] 格式进行配置                      |
+| manager.auth.secretId                                   | 登录所需帐号                      | 无                                    | 允许为空不填写                                                                        |
+| manager.auth.secretKey                                  | 登录所需密码                      | 无                                    | 允许为空不填写                                                                        |
+| proxy.cluster.tag                                       | dataproxy 所处的集群 Tag 名       | default_cluster                      | 一个集群 Tag 里可以包含多个 dataproxy、MQ 的集群                                              |
+| proxy.cluster.name                                      | dataproxy 所处的集群名            | default_dataproxy                    | 用于区分不同的环境                                                                      |
+| proxy.cluster.inCharges                                 | dataproxy 所处的集群负责人          | admin                                |                                                                                |
+| configCheckInterval                                     | conf 目录的配置文件检查及加载间隔(单位 ms ) | 10000                          |                                                                                |
+| metricDomains                                           | JMX 域名                      | DataProxy                             | 通过该配置值获取如下 “metricDomains.${metricDomains}.xxx” 的配置项                           |
+| metricDomains.DataProxy.domainListeners                 | 指标监听的类,通过该类名反射开启服务          | org.apache.inlong.dataproxy.metrics.prometheus.PrometheusMetricListener    | 如果存在多个指标监听类配置,通过空格、回车,或换行符进行分隔                                                 |
+| metricDomains.DataProxy.snapshotInterval                | 周期性上报指标的时隙(单位 ms )          | 60000                             |                                                                                |
+| prometheusHttpPort                                      | 使用 Prometheus 上报时设置的端口号     | 9081                               |                                                                                |
+| audit.enable                                            | 是否开启数据上报 InLong-Audit 服务    | true                                |                                                                                |
+| audit.proxys                                            | InLong-Audit 服务的地址          | 127.0.0.1:10081                      | 格式按照 {ip1:port1}[ {ip2:port2}][ {ip3:port3}] 进行配置,不同 ip:port 间通过空格、回车,或换行符进行分隔 |
+
+
+## 日志输出配置( log4j2.xml )
+DataProxy 采用的是 Log4j2 输出日志,相关配置基于 Log4j2 进行设置,本配置只提及常用设置项:
+
+| 参数                      | 描述                    | 默认值   | 备注              |
+|-------------------------|-----------------------|-------|-----------------|
+| basePath      | 日志文件的存储路径             | ${sys:dataproxy.log.path}    |                 |
+| every_file_size      | 每个日志文件的大小,单位字节        | 1G    |                 |
+| output_log_level | 日志输出级别                | DEBUG | 线上使用时建议设置为 INFO |
+| rolling_max    | 同类型日志同一目录下可存放的数量      | 50    |                 |
+| debug_max    | DEBUG 类型日志同一目录下可存放的数量 | 7     |                 |
+| info_max    | INFO 类型日志同一目录下可存放的数量  | 7     |                 |
+| warn_max    | WARN 类型日志同一目录下可存放的数量  | 7     |                 |
+| error_max    | ERROR 类型日志同一目录下可存放的数量 | 7     |                 |
+
+
+## 其他自动更新配置
+DataProxy 启动并成功链接到 Manager 后,会自动从 Manager 同步运行配置,并定期更新,如下部分配置不可修改
+
+| 配置文件名            | 描述                         |  备注             |
+|------------------|----------------------------|-----------------|
+| mq_cluster.properties         | MQ 集群配置                    |     |
+| topics.properties  | groupId 到 MQ 的 Topic 的映射配置 |     |
+| weight.properties | 系统负载权重配置                   |  |
+
+
+
+## source-channel-sink 管道配置(dataproxy-{tube|pulsar}.conf)
+
+DataProxy 支持配置化的 source-channel-sink,配置方式与 flume 的配置文件结构一致,修改该配置文件时要按照 Apache flume 的配置文件定义来进行修改。配置文件放在 dataproxy-{tube|pulsar}.conf 文件中,目前支持 dataproxy-pulsar.conf 和 dataproxy-tube.conf 两种,用于区分不同的中间件类型,具体类型可以在启动时指定,默认(未指定时)使用 dataproxy-pulsar.conf 作为配置文件。 如下是针对该配置文件的示例:
+
+- Source 配置示例:
+
+```shell
+agent1.sources.tcp-source.channels = ch-msg1 ch-msg2 ch-msg3 ch-more1 ch-more2 ch-more3 ch-msg5 ch-msg6 ch-msg7 ch-msg8 ch-msg9 ch-msg10 ch-transfer ch-back
+定义source中使用到的channel,注意此source下面的配置如果有使用到channel,均需要在此注释
+
+agent1.sources.tcp-source.type = org.apache.flume.source.SimpleTcpSource
+tcp解析类型定义,这里提供类名用于实例化,SimpleTcpSource主要是初始化配置并启动端口监听
+
+agent1.sources.tcp-source.msg-factory-name = org.apache.flume.source.ServerMessageFactory
+用于构造消息解析的handler,并设置read stream handler和write stream handler
+
+agent1.sources.tcp-source.host = 0.0.0.0    
+tcp ip绑定监听,默认绑定所有网卡
+
+agent1.sources.tcp-source.port = 46801
+tcp 端口绑定,默认绑定46801端口
+
+agent1.sources.tcp-source.highWaterMark=2621440 
+netty概念,设置netty高水位值
+
+agent1.sources.tcp-source.max-msg-length = 524288
+限制单个包大小,这里如果传输的是压缩包,则是压缩包大小,限制512KB
+
+agent1.sources.tcp-source.topic = test_token
+默认topic值,如果groupId和topic的映射关系找不到,则发送到此topic中
+
+agent1.sources.tcp-source.attr = m=9
+默认m值设置,这里的m值是inlong内部TdMsg协议的版本
+
+agent1.sources.tcp-source.connections = 5000
+并发连接上线,超过上限值时会对新连接做断链处理
+
+agent1.sources.tcp-source.max-threads = 64
+netty线程池工作线程上限,一般推荐选择cpu的两倍
+
+agent1.sources.tcp-source.receiveBufferSize = 524288
+netty server tcp调优参数
+
+agent1.sources.tcp-source.sendBufferSize = 524288
+netty server tcp调优参数
+
+agent1.sources.tcp-source.custom-cp = true
+是否使用自研的channel process,自研channel process可在主channel阻塞时,选择备用channel发送
+
+agent1.sources.tcp-source.selector.type = org.apache.flume.channel.FailoverChannelSelector
+这个channel selector就是自研的channel selector,和官网的差别不大,主要是有channel主从选择逻辑
+
+agent1.sources.tcp-source.selector.master = ch-msg5 ch-msg6 ch-msg7 ch-msg8 ch-msg9
+指定master channel,这些channel会被优先选择用于数据推送。那些不在master、transfer、fileMetric、slaMetric配置项里的channel,但在
+channels里面有定义的channel,统归为slave channel,当master channel都被占满时,就会选择使用slave channel,slave channel一般建议使用file channel类型
+
+agent1.sources.tcp-source.selector.transfer = ch-msg5 ch-msg6 ch-msg7 ch-msg8 ch-msg9
+指定transfer channel,承接transfer类型的数据,这里的transfer一般是指推送到非tube集群的数据,仅做转发,这里预留出来供后续功能使用
+
+agent1.sources.tcp-source.selector.fileMetric = ch-back
+指定fileMetric channel,用于接收agent上报的指标数据
+```
+
+- Channel 配置示例,memory channel:
+
+```shell
+agent1.channels.ch-more1.type = memory
+memory channel类型
+
+agent1.channels.ch-more1.capacity = 10000000
+memory channel 队列大小,可缓存最大消息条数
+
+agent1.channels.ch-more1.keep-alive = 0
+
+agent1.channels.ch-more1.transactionCapacity = 20
+原子操作时批量处理最大条数,memory channel使用时需要用到加锁,因此会有批处理流程增加效率
+```
+
+- Channel 配置示例,file channel:
+
+```shell
+agent1.channels.ch-msg5.type = file
+file channel类型
+
+agent1.channels.ch-msg5.capacity = 100000000
+file channel最大可缓存消息条数
+
+agent1.channels.ch-msg5.maxFileSize = 1073741824
+file channel文件最大上限,字节数
+
+agent1.channels.ch-msg5.minimumRequiredSpace = 1073741824
+file channel所在磁盘最小可用空间,设置此值可以防止磁盘写满
+
+agent1.channels.ch-msg5.checkpointDir = /data/work/file/ch-msg5/check
+file channel checkpoint路径
+
+agent1.channels.ch-msg5.dataDirs = /data/work/file/ch-msg5/data
+file channel数据路径
+
+agent1.channels.ch-msg5.fsyncPerTransaction = false
+是否对每个原子操作做同步磁盘,建议改false,否则会对性能有影响
+
+agent1.channels.ch-msg5.fsyncInterval = 5
+数据从内存flush到磁盘的时间间隔,单位秒
+```
+
+- Sink 配置示例:
+
+```shell
+agent1.sinks.mq-sink-msg1.channel = ch-msg1
+sink的上游channel名称
+
+agent1.sinks.mq-sink-msg1.type = org.apache.inlong.dataproxy.sink.mq.MessageQueueZoneSink
+sink类实现,此处为统一MQ模型Sink
+
+agent1.sinks.mq-sink-msg1.maxThreads = 2
+最大发送线程数
+
+agent1.sinks.mq-sink-msg1.dispatchTimeout = 2000
+Dispatch队列超时时间
+
+agent1.sinks.mq-sink-msg1.dispatchMaxPackCount = 256
+Dispatch队列最大包数量
+
+agent1.sinks.mq-sink-msg1.dispatchMaxPackSize = 3276800
+Dispatch队列最大包Size
+
+agent1.sinks.mq-sink-msg1.maxBufferQueueSize=131072
+Dispatch队列最大长度
+
+agent1.sinks.mq-sink-msg1.processInterval=100
+重试发送间隔
+
+agent1.sinks.mq-sink-msg1.reloadInterval=60000
+配置重新加载时间间隔
+
+agent1.sinks.mq-sink-msg1.producer.compressionType=SNAPPY
+数据压缩算法
+```
+    
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/dataproxy/img/architecture.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/dataproxy/img/architecture.png
new file mode 100644
index 0000000000..bc4602614a
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/dataproxy/img/architecture.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/dataproxy/overview.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/dataproxy/overview.md
new file mode 100644
index 0000000000..539f96d2fe
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/dataproxy/overview.md
@@ -0,0 +1,79 @@
+---
+title: 总览
+sidebar_position: 1
+---
+
+InLong DataProxy 主要有连接收敛、路由、数据压缩和协议转换等作用。DataProxy 充当了 InLong 采集端到消息队列的桥梁,
+当 DataProxy 从 Manager 模块拉取数据流元数据后,数据流和消息队列 Topic 名称对应关系也就确定了。当 DataProxy 收到消息时,会首先发送到 Memory Channel 中进行压缩,
+并使用本地的 Producer 往后端 Cache 层(即消息队列)发送数据。当消息队列异常出现发送失败时,DataProxy 会将消息缓存到 Disk Channel,也就是本地磁盘中。 
+InLong DataProxy 整体架构基于 Apache Flume,扩展了 Source 层和 Sink 层,并对容灾转发做了优化处理,提升了系统的稳定性。
+    
+## 架构
+
+![](img/architecture.png)
+
+- Source层开启端口监听,通过netty server实现。解码之后的数据发到channel层
+- channel层有一个selector,用于选择走哪种类型的channel,如果memory最终满了,会对数据做落地处理
+- channel层的数据会通过sink层做转发,这里主要是将数据转为TDMsg1的格式,并推送到cache层(这里用的比较多的是tube)
+
+
+## 监控指标配置
+
+  DataProxy提供了JMX方式的监控指标Listener能力,用户可以实现MetricListener接口,注册后可以定期接收监控指标,用户选择将指标上报自定义的监控系统。Source和Sink模块可以通过将指标数据统计到org.apache.inlong.commons.config.metrics.MetricItemSet的子类中,并注册到MBeanServer。用户自定义的MetricListener通过JMX方式收集指标数据并上报到外部监控系统
+
+  用户能在配置文件common.propetiese增加如下配置,例如:
+
+```shell
+metricDomains=DataProxy
+metricDomains.DataProxy.domainListeners=org.apache.inlong.dataproxy.metrics.prometheus.PrometheusMetricListener
+metricDomains.DataProxy.snapshotInterval=60000
+```
+
+- 统一的JMX域名:DataProxy,并定义在参数metricDomains下;自定义的Source、Sink等组件也可以上报到不同的JMX域名。
+- 对一个JMX域名的监控指标MetricListener可以配置在metricDomains.$domainName.domainListeners参数里,可以配置多个,用空格分隔类名。
+- 这些监控指标MetricListener需要实现接口:org.apache.inlong.dataproxy.metrics.MetricListener。
+- 快照参数:metricDomains.$domainName.snapshotInterval,定义拉取一次监控指标数据的间隔时间,参数单位是毫秒。
+
+org.apache.inlong.dataproxy.metrics.MetricListener接口的方法原型:
+```java  
+public void snapshot(String domain, List<MetricItemValue> itemValues);
+```
+
+监控指标项的MetricItemValue.dimensions有这些维度(DataProxyMetricItem的这些字段通过注解Annotation "@Dimension"定义):
+
+|  property   | description  |
+|  ----  | ----  |
+|  clusterId |  DataProxy集群ID |  
+|  sourceId|  DataProxy的Source组件名 |  
+|  sourceDataId|  DataProxy的Source组件数据流ID,如果Source是一个TCPSource,那么这个ID会是一个端口号 |  
+|  inlongGroupId|  Inlong数据ID |  
+|  inlongStreamId|  Inlong数据流ID |  
+|  sinkId|  DataProxy的Sink组件名 |  
+|  sinkDataId|  DataProxy的Sink组件数据流ID,如果Sink是一个Pulsar发送组件,这个ID会是一个Topic名。 |
+
+监控指标项的MetricItemValue.metrics有这些指标(DataProxyMetricItem的这些字段通过注解Annotation "@CountMetric"定义):
+
+|  property   | description  |
+|  ----  | ----  |
+|  readSuccessCount |  接收成功条数 |  
+|  readSuccessSize |  接收成功大小,单位:byte |  
+|  readFailCount |  接收失败条数 |  
+|  readFailSize |  接收失败大小,单位:byte |  
+|  sendCount |  发送条数 |  
+|  sendSize |  发送大小,单位:byte |  
+|  sendSuccessCount |  发送成功条数 |  
+|  sendSuccessSize |  发送成功大小,单位:byte |  
+|  sendFailCount |  发送失败条数 |  
+|  sendFailSize |  发送失败大小,单位:byte |  
+|  sinkDuration |  发送成功回调时间和发送开始时间的时间差,用于评估目标集群的处理时延和健康状况,单位:毫秒 |  
+|  nodeDuration |  发送成功回调时间和接收成功时间的时间差,用于评估DataProxy内部处理耗时和健康状况,单位:毫秒 |  
+|  wholeDuration |  发送成功回调时间和事件生成时间的时间差,单位:毫秒 |
+
+监控指标已经注册到MBeanServer,用户可以在DataProxy的启动参数中增加如下类似JMX定义(端口和鉴权根据情况进行调整),实现监控指标从远端采集。
+```shell
+	-Dcom.sun.management.jmxremote
+	-Djava.rmi.server.hostname=127.0.0.1
+	-Dcom.sun.management.jmxremote.port=9999
+	-Dcom.sun.management.jmxremote.authenticate=false
+	-Dcom.sun.management.jmxremote.ssl=false
+```
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/dataproxy/quick_start.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/dataproxy/quick_start.md
new file mode 100644
index 0000000000..87d422601a
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/dataproxy/quick_start.md
@@ -0,0 +1,31 @@
+---
+title: 安装部署
+sidebar_position: 2
+---
+
+所有的安装文件都在 `inlong-dataproxy` 目录下。
+
+## 配置
+### 配置 Manager 和 Audit 地址
+配置文件:`conf/common.properties`:
+```
+# local IP
+proxy.local.ip=127.0.0.1
+# manager 地址
+manager.hosts=127.0.0.1:8083
+# audit proxy 地址
+audit.proxys=127.0.0.1:10081
+```
+
+## 启动
+```
+# 如果使用 Pulsar 或 Kafka 来缓存数据
+bash +x bin/dataproxy-start.sh
+# 如果使用 InLong TubeMQ 来缓存数据
+# bash +x bin/dataproxy-start.sh tubemq
+```
+
+## 检查
+```
+telnet 127.0.0.1 46801
+```
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/configure.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/configure.md
new file mode 100644
index 0000000000..4a244f2411
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/configure.md
@@ -0,0 +1,85 @@
+---
+title: 参数配置
+sidebar_position: 3
+---
+
+## 基本配置
+
+- application.properties
+
+| 参数                                                     | 值                                    | 默认值                                  | 注释                                           |
+|--------------------------------------------------------|--------------------------------------|--------------------------------------|----------------------------------------------|
+| server.host                                            | 服务器地址                                | 127.0.0.1                            |                                              |
+| server.port                                            | 服务器端口号                               | 8083                                 |                                              |
+| default.admin.user                                     | 登录所需用户名                              | admin                                |                                              |
+| default.admin.password                                 | 登录所需密码                               | inlong                               |                                              |
+| server.servlet.context-path                            | 项目路径                                 |                                      | 构成 url 的一部分                                  |
+| spring.application.name                                | 服务名称                                 |                                      |                                              |
+| spring.profiles.active                                 | dev/prod/test                        | dev                                  | 用于区分不同的环境                                    |
+| spring.mvc.pathmatch.matching-strategy                 | ANT_PATH_MATCHER/PATH_PATTERN_PARSER | ANT_PATH_MATCHER                     | MVC 的路径匹配策略                                  |
+| spring.jackson.serialization.write-dates-as-timestamps | true/false                           | true                                 | 是否将 date 转化为时间戳                              |
+| spring.jackson.date-format                             | 日期格式                                 | yyyy-MM-dd HH:mm:ss                  |                                              |
+| spring.jackson.time-zone                               | 默认时区                                 | GMT+8                                |                                              |
+| mybatis.mapper-locations                               | mapper 文件所在路径                        | classpath:mappers/*.xml              |                                              |
+| mybatis.type-aliases-package                           | 实体类所在路径                              | org.apache.inlong.manager.dao.entity |                                              |
+| mybatis.configuration.map-underscore-to-camel-case     | true/false                           | true                                 | 是否将带有下划线的表字段映射为驼峰类型的实体类属性                    |
+| pagehelper.helperDialect                               | 数据库类型                                | mysql                                | 用于指定分页的数据库类型                                 |
+| pagehelper.reasonable                                  | true/false                           | false                                | 分页是否合理化                                      |
+| pagehelper.params                                      | 支持的参数配置                              |                                      | 用于支持参数配置,例如 pagehelper.params=count=countSql |
+| common.http-client.maxTotal                            | 总连接数                                 | 20                                   | 同时间正在使用的最大连接数                                |
+| common.http-client.defaultMaxPerRoute                  | 同一 host:port 同时间正在使用的最大连接数           | 2                                    | 每个路由默认连接数,某一个/每服务每次能并行接收的请求数量                |
+| common.http-client.validateAfterInactivity             | 连接不活跃后的校验时间                          |                                      | 从连接池获取连接时,应验证连接处于非活动状态后多长时间                  |
+| common.http-client.connectionTimeout                   | 建立连接超时时间                             |                                      | 以毫秒为单位                                       |
+| common.http-client.readTimeout                         | 传输数据超时时间                             |                                      | 以毫秒为单位                                       |
+| common.http-client.connectionRequestTimeout            | 获取连接超时时间                             |                                      | 以毫秒为单位                                       |
+| inlong.auth.type                                       | 自定义认证配置                              | default                              |                                              |
+| inlong.encrypt.version                                 | 加密版本                                 | 1                                    |                                              |
+| inlong.encrypt.key.value1                              |                                      |                                      |                                              |
+| openapi.auth.enabled                                   | true/false                           | false                                | 是否开启 openApi 认证                              |
+
+## 日志配置
+
+- application-dev.properties, application-prod.properties, application-test.properties
+
+| 参数                               | 值               | 默认值  | 注释                                                     |
+|----------------------------------|-----------------|------|--------------------------------------------------------|
+| logging.level.{effective_area}   | info/warn/error | info | effective_area 是日志级别的有效面积,root 代表整个项目。它还可以设置为某个包的全限定类名 |
+
+## 数据库配置
+
+- application-dev.properties, application-prod.properties, application-test.properties
+
+| 参数                                                 | 值                | 默认值                                                                                                                                                                     | 注释                                                          |
+|----------------------------------------------------|------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------|
+| spring.datasource.druid.url                        | 数据库的地址           | jdbc:mysql://127.0.0.1:3306/apache_inlong_manager?useSSL=false&allowPublicKeyRetrieval=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true&serverTimezone=GMT%2b8 |                                                             |
+| spring.datasource.druid.username                   | 数据库的用户名          | root                                                                                                                                                                    |                                                             |
+| spring.datasource.druid.password                   | 数据库的密码           | inlong                                                                                                                                                                  |                                                             |
+| spring.datasource.druid.driver-class-name          | 数据库驱动类名          | com.mysql.cj.jdbc.Driver                                                                                                                                                |                                                             |
+| spring.datasource.druid.validationQuery            | sql 语句           | SELECT 'x'                                                                                                                                                              | 系统启动时通过该sql语句验证数据库是否可用                                      |
+| spring.datasource.druid.initialSize                | 数据库连接池初始化大小      | 20                                                                                                                                                                      |                                                             |
+| spring.datasource.druid.minIdle                    | 数据库连接池最小大小       | 20                                                                                                                                                                      |                                                             |
+| spring.datasource.druid.maxActive                  | 数据库连接池最大大小       | 300                                                                                                                                                                     |                                                             |
+| spring.datasource.druid.maxWait                    | 获取连接时最大等待时间      | 600000                                                                                                                                                                  | 以毫秒为单位                                                      |
+| spring.datasource.druid.minEvictableIdleTimeMillis | 连接保持空闲而不被驱逐的最长时间 | 3600000                                                                                                                                                                 | 以毫秒为单位                                                      |
+| spring.datasource.druid.testWhileIdle              | true/false       | true                                                                                                                                                                    | 是否启用空闲连接检测,以便回收                                             |
+| spring.datasource.druid.testOnBorrow               | true/false       | false                                                                                                                                                                   | 从连接池获取连接时,是否检测连接可用性,开启会对性能造成一定影响                            |
+| spring.datasource.druid.testOnReturn               | true/false       | false                                                                                                                                                                   | 释放连接到连接池时,是否检测连接可用性,开启会对性能造成一定影响                            |
+| spring.datasource.druid.filters                    | stat,wall,log4j  | stat,wall                                                                                                                                                               | 监控统计用的 filter:stat 日志用的 filter:log4j 防止 sql 注入的 filter:wall |
+| spring.datasource.druid.connectionProperties       | 数据库连接属性          | druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000                                                                                                                  | 通过 connectProperties 属性来打开 mergeSql 功能;慢 SQL 记录             |
+
+## 审计配置
+
+- application-dev.properties, application-prod.properties, application-test.properties
+
+| 参数                      | 值                              | 默认值                                                  | 注释                                                  |
+|-------------------------|--------------------------------|------------------------------------------------------|-----------------------------------------------------|
+| audit.query.source      | MYSQL/ELASTICSEARCH/CLICKHOUSE | MYSQL                                                | 决定要查询的数据源的审计信息,当前仅支持 MYSQL,ELASTICSEARCH,CLICKHOUSE |
+| es.index.search.hostname | Elasticsearch 的主机地址            | 127.0.0.1                                            | 主机地址如果存在多个使用逗号分隔开,比如 'host1,host2'                  |
+| es.index.search.port    | Elasticsearch 端口号              | 9200                                                 |                                                     |
+| es.auth.enable          | true/false                     | false                                                | 是否支持认证                                              |
+| es.auth.user            | Elasticsearch 用户名              | admin                                                |                                                     |
+| es.auth.password        | Elasticsearch 密码               | inlong                                               |                                                     |
+| audit.ck.jdbcUrl        | ClickHouse 地址                  | jdbc:clickhouse://127.0.0.1:8123/apache_inlong_audit |                                                     |
+| audit.ck.username       | ClickHouse 用户名                 | default                                              |                                                     |
+| audit.ck.password       | ClickHouse 密码                  |                                                      |                                                     |
+
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/create_cluster_tag.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/create_cluster_tag.png
new file mode 100644
index 0000000000..8dc5f2d417
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/create_cluster_tag.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/datamodel.jpg b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/datamodel.jpg
new file mode 100644
index 0000000000..7d0b57820d
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/datamodel.jpg differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/inlong-manager.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/inlong-manager.png
new file mode 100644
index 0000000000..3db49377ef
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/inlong-manager.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/interactive.jpg b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/interactive.jpg
new file mode 100644
index 0000000000..7238d00880
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/interactive.jpg differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/kafka_cluster_save.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/kafka_cluster_save.png
new file mode 100644
index 0000000000..c42677ce6a
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/kafka_cluster_save.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/pulsar_cluster_save.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/pulsar_cluster_save.png
new file mode 100644
index 0000000000..c692b6b76b
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/pulsar_cluster_save.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/tube_cluster_save.png b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/tube_cluster_save.png
new file mode 100644
index 0000000000..32007f0d65
Binary files /dev/null and b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/img/tube_cluster_save.png differ
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/overview.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/overview.md
new file mode 100644
index 0000000000..eb02c40e64
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/overview.md
@@ -0,0 +1,37 @@
+---
+title: 总览
+sidebar_position: 1
+---
+
+## 1 InLong Manager 介绍
+
+- 目标定位:Apache InLong 定位为一站式海量数据集成框架,提供大数据从采集 -> 传输 -> 分拣 -> 落地的技术能力。
+
+- 平台价值:用户可以通过平台中的管理、配置平台完成任务的配置、管理以及指标的监控,同时通过平台提供的插件化扩展能力,按需实现自定义的扩展。
+
+- InLong Manager 是 Apache InLong 项目的统一管理平台,平台提供各基础配置(如数据流配置、消费配置、集群管理等)的维护入口,用户可创建数据采集任务、查看指标数据等。 
+
+## 2 Architecture
+
+![](img/inlong-manager.png)
+
+## 3 模块分工
+
+| 模块 | 职责 |
+| :-----| :---- |
+| manager-common | 模块公共代码,如异常定义、工具类、枚举等 |
+| manager-dao | 数据库操作 |
+| manager-service | 业务逻辑层 |
+| manager-workflow | 工作流服务 |
+| manager-plugins | Sort 插件服务 |
+| manager-web | 前端交互接口层 |
+| manager-client | 客户端服务 |
+| manager-client-examples | 客户端使用示例 |
+| manager-client-tools | 客户端命令行工具 |
+
+## 4 系统使用流程
+
+![](img/interactive.jpg)
+
+## 5 数据模型
+![](img/datamodel.jpg)
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/quick_start.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/quick_start.md
new file mode 100644
index 0000000000..8a78806c53
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/manager/quick_start.md
@@ -0,0 +1,124 @@
+---
+title: 安装部署
+sidebar_position: 2
+---
+
+## 环境准备
+
+- 安装并启动 MySQL 5.7+
+- 初始化数据库
+  `inlong-manager` 目录下有 `sql/apache_inlong_manager.sql`文件,通过下述命令加载此文件,完成表结构及基础数据的初始化:
+
+  ```shell
+  # 通过用户名和密码,创建DB和表:
+  mysql -uDB_USER -pDB_PASSWD < sql/apache_inlong_manager.sql
+  ```
+
+## 添加依赖
+- 下载 Sort [Connector Binary file](https://inlong.apache.org/download/main), 并解压放入`inlong-sort/connectors`目录。
+- 如果使用 MySQL 数据库,请下载 [mysql-connector-java-8.0.27.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.27/mysql-connector-java-8.0.27.jar),将其放入 `lib/` 目录。
+- 如果使用 PostgreSQL 数据库,则无需额外下载依赖包。
+
+## 修改配置
+
+前往 `inlong-manager` 目录,修改 `conf/application.properties` 文件:
+
+```properties
+# manager 服务的端口号
+server.port=8083
+
+# 默认使用的配置文件为 dev
+spring.profiles.active=dev
+```
+
+上面指定了 dev 配置,接下来修改 `conf/application-dev.properties` 文件:
+> 如果指定了 test 或 prod,则修改对应的 application-xxx.properties 文件。 
+
+```properties
+spring.datasource.druid.url=jdbc:mysql://127.0.0.1:3306/apache_inlong_manager?useSSL=false&allowPublicKeyRetrieval=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true&serverTimezone=GMT%2b8
+spring.datasource.druid.username=root
+spring.datasource.druid.password=inlong
+```
+
+## 配置 Flink 插件
+
+InLong Manager 可启动 Sort 任务进行数据的消费和落地,需要先配置 Flink 环境信息。配置文件为 `plugins/flink-sort-plugin.properties`。
+
+```properties
+# Flink host split by coma if more than one host, such as 'host1,host2'
+flink.rest.address=127.0.0.1
+# Flink port
+flink.rest.port=8081
+# Flink job manager port
+flink.jobmanager.port=6123
+# InLong Audit Proxy Address
+metrics.audit.proxy.hosts=127.0.0.1:10081
+```
+
+## 启动服务
+
+```shell
+bash +x bin/startup.sh
+```
+
+## 集群初始化
+当所有容器都成功启动后,可以访问 InLong Dashboard 地址`http://localhost`,并使用以下默认账号登录:
+```
+User: admin
+Password: inlong
+```
+
+### 创建集群标签
+页面点击 [集群管理]->[标签管理]->[新建],指定集群标签名称和负责人:
+![](img/create_cluster_tag.png)
+
+:::caution
+由于各个组件默认上报集群标签为 `default_cluster`,请勿使用其它名称。
+:::
+
+### 注册 MQ 集群
+只用注册你选择的 MQ 类型集群。
+
+- 选择 1:注册 Pulsar 集群
+页面点击 [集群管理]->[集群管理]->[新建集群],注册 Pulsar 集群:
+![](img/pulsar_cluster_save.png)
+
+- 选择 2:注册 TubeMQ 集群
+页面点击 [集群管理]->[集群管理]->[新建集群],注册 TubeMQ 集群:
+![](img/tube_cluster_save.png)
+
+- 选择 3:注册 Kafka 集群
+页面点击 [集群管理]->[集群管理]->[新建集群],注册 Kafka 集群:
+![](img/kafka_cluster_save.png)
+
+:::note
+集群标签选择刚创建的 `default_cluster`,然后配置 MQ 集群信息。
+:::
+
+## (可选) 开启OpenAPI认证
+
+### 开启认证
+Manager 提供 OpenAPI 安全访问认证,默认关闭。如需开启,在 `conf/application.properties` 打开:
+
+```properties
+# Manager OpenAPI 安全认证开关
+openapi.auth.enabled=true
+```
+
+### 配置认证
+相关组件需配置由 Manager 分配的认证 secret id 和 secret key,例如 (建议使用新分配的替代默认值):
+
+`Agent` conf 目录下 `agent.properties`:
+```properties
+agent.manager.auth.secretId=admin
+agent.manager.auth.secretKey=87haw3VYTPqK5fK0
+```
+
+`Dataproxy` conf 目录下 `common.properties`:
+```properties
+manager.auth.secretId=admin
+manager.auth.secretKey=87haw3VYTPqK5fK0
+```
+
+### 创建认证Key
+管理员可以登录应龙 Dashboard 管理端来创建 secret id 和 secret key: **系统管理->用户管理->新建账号**.
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/sort-standalone/elasticsearch_example.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/sort-standalone/elasticsearch_example.md
new file mode 100644
index 0000000000..7276bfa61a
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.6.0/modules/sort-standalone/elasticsearch_example.md
@@ -0,0 +1,196 @@
+---
+title: Elasticsearch 示例
+sidebar_position: 4
+---
+## 准备安装文件
+安装文件在`inlong-sort-standalone/sort-standalone-dist/target/`目录下,文件名是apache-inlong-sort-standalone-${project.version}-bin.tar.gz。
+
+## 准备修改配置文件
+首先,解压压缩包apache-inlong-sort-standalone-${project.version}-bin.tar.gz,然后从目录"conf/es/"下拷贝3个文件到目录"conf/"。
+
+- conf/common.properties,所有组件的基本配置参数
+- conf/SortClusterConfig.conf,所有Sort任务的sink配置。, sink configuration of all sort tasks.
+- conf/sid_es_v3.conf,一个Sort任务的数据源配置,文件名和配置文件SortClusterConfig.conf中的Sort任务名一致,如果SortClusterConfig.conf中配置了多个Sort任务,那么会有多个Sort任务的数据源配置。
+
+### conf/common.properties配置样例
+
+```
+clusterId=esv3-sz-sz1
+nodeId=nodeId
+metricDomains=Sort
+metricDomains.Sort.domainListeners=org.apache.inlong.sort.standalone.metrics.prometheus.PrometheusMetricListener
+metricDomains.Sort.snapshotInterval=60000
+sortChannel.type=org.apache.inlong.sort.standalone.channel.BufferQueueChannel
+sortSink.type=org.apache.inlong.sort.standalone.sink.elasticsearch.EsSink
+sortSource.type=org.apache.inlong.sort.standalone.source.sortsdk.SortSdkSource
+
+sortClusterConfig.type=file
+sortClusterConfig.file=SortClusterConfig.conf
+sortSourceConfig.QueryConsumeConfigType=file
+#sortTaskId.conf
+
+#sortClusterConfig.type=manager
+#sortSourceConfig.QueryConsumeConfigType=manager
+#managerUrlLoaderType=org.apache.inlong.sort.standalone.config.loader.CommonPropertiesManagerUrlLoader
+#sortClusterConfig.managerUrl=http://${manager_ip:port}/api/inlong/manager/openapi/sort/getClusterConfig
+#sortSourceConfig.managerUrl=http://${manager_ip:port}/api/inlong/manager/openapi/sort/getSortSource
+```
+
+### conf/SortClusterConfig.conf配置样例
+
+```
+{
+	"clusterName": "esv3-gz-gz1",
+	"sortTasks": [{
+		"name": "sid_es_v3",
+		"type": "ES",
+		"idParams": [{
+			"indexNamePattern": "inlong0fc00000046_{yyyyMMdd}",
+			"contentOffset": "0",
+			"inlongGroupId": "atta",
+			"fieldOffset": "2",
+			"fieldNames": "ftime extinfo t1 t2 t3 t4",
+			"inlongStreamId": "0fc00000046",
+			"separator": "|"
+		}],
+		"sinkParams": {
+			"httpHosts": "11.187.135.221:9200",
+			"password": "yingyan@ES",
+			"auditSetName": "es-rmrv7g7a",
+			"bulkSizeMb": "10",
+			"flushInterval": "60",
+			"keywordMaxLength": "32767",
+			"bulkAction": "4000",
+			"concurrentRequests": "5",
+			"maxConnect": "10",
+			"isUseIndexId": "false",
+			"username": "elastic"
+		}
+	}]
+}
+```
+
+### conf/sid_es_v3.conf配置样例
+
+```
+{
+	"sortClusterName": "esv3-gz-gz1",
+	"sortTaskId": "sid_es_v3",
+	"cacheZones": {
+		"pc_atta6th_sz1": {
+			"zoneName": "pc_atta6th_sz1",
+			"serviceUrl": "http://9.139.53.86:8080",
+			"authentication": "eyJrZXlJZCI6InB1bHNhci04MnhhN24zZWs1ZHciLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJwdWxzYXItODJ4YTduM2VrNWR3X2FkbWluIn0.D5H_j8UQk8KYWHw_mzq2HmR393SnbL5Gz7JYCANBPnI",
+			"topics": [{
+				"topic": "pulsar-82xa7n3ek5dw/atta/atta_topic_1",
+				"partitionCnt": 10,
+				"topicProperties": {}
+			}],
+			"cacheZoneProperties": {},
+			"zoneType": "pulsar"
+		}
+	}
+}
+```
+
+## conf/common.properties配置参数
+
+|  参数名 | 是否必须  | 默认值  |描述   |
+| ------------ | ------------ | ------------ | ------------ |
+|clusterId   | Y | NA  |  用来唯一标识一个inlong-sort-standalone集群 |
+|nodeId   | N | 本机IP  |  当前节点ID |
+|metricDomains | N | Sort | 指标汇总域名 |
+|metricDomains.Sort.domainListeners | N | org.apache.inlong.sort.standalone.metrics.prometheus.PrometheusMetricListener | 指标汇总监听器类名列表,空格分隔 |
+|metricDomains.Sort.snapshotInterval | N | 60000 | 订阅tube的重试超时时间,单位为ms |
+|prometheusHttpPort | N | 8080 | org.apache.inlong.sort.standalone.metrics.prometheus.PrometheusMetricListener的参数,Prometheus的HttpServer端口 |
+|sortChannel.type   | N | org.apache.inlong.sort.standalone.channel.BufferQueueChannel  |  Channel类型  |
+|sortSink.type   | Y | NA | Sink类名,不同的分发类型使用不同的Sink类  |
+|sortSource.type   | N | org.apache.inlong.sort.standalone.source.sortsdk.SortSdkSource  | Source类名  |
+|sortClusterConfig.type   | N | manager  | 集群配置数据的加载来源,有三种方式:[文件,Manager,自定义类]。 |
+|sortClusterConfig.file   | N | SortClusterConfig.conf  | 当集群配置数据加载来源是file时,在类路径下的配置文件名 |
+|sortClusterConfig.managerUrl   | N  | NA  | 集群配置数据加载来源是manager时,这里定义InlongManager的URL<br/>比如:http://${manager ip:port}/api/inlong/manager/openapi/sort/standalone/getClusterConfig  |
+|sortSourceConfig.QueryConsumeConfigType   | N | manager  | Sort任务配置数据的加载来源,有三种方式:[文件,Manager,自定义类]。 <br/>如果加载路径是file的话,Sort任务配置文件是在类路径里,文件名的格式:${sortTaskId}.conf。 |
+|sortSourceConfig.managerUrl   | N  | NA  | Sort任务配置数据加载来源是manager时,这里定义InlongManager的URL<br/>比如::http://${manager ip:port}/api/inlong/manager/openapi/sort/standalone/getSortSource |
+
+## SortClusterConfig.conf配置参数
+
+- 可以从ClassPath的SortClusterConfig.conf源文件读取,但不支持实时更新
+- 可以从Inlong Manager的HTTP接口获取配置,支持实时更新
+
+|  参数名 | 是否必须  |类型 | 默认值  |描述   |
+| ------------ | ------------ | ------------ | ------------ | ------------ |
+|clusterName   | Y |String | NA  |  用来唯一标识一个inlong-sort-standalone集群 |
+|sortTasks   | Y  | JsonArray&lt;SortTaskConfig&gt; |NA  | Sort任务列表  |
+
+### SortTaskConfig配置参数
+
+|  参数名 | 是否必须  | 默认值  |描述   |
+| ------------ | ------------ | ------------ | ------------ |
+|name   | Y | NA  |  Sort任务名 |
+|type   | Y  | NA  | Sort任务类型,如:HIVE("hive"), TUBE("tube"), KAFKA("kafka"), PULSAR("pulsar"), ELASTICSEARCH("elasticsearch"), UNKNOWN("n")  |
+|idParams   | Y  | NA  | Inlong数据流参数列表  |
+|sinkParams   | Y  | NA  | Sort任务参数  |
+
+### Sort-Elasticsearch任务的idParams配置参数
+
+|  参数名 | 是否必须  | 默认值  |描述   |
+| ------------ | ------------ | ------------ | ------------ |
+|inlongGroupId   | Y | NA  |  inlongGroupId |
+|inlongStreamId   | Y  | NA  | inlongStreamId  |
+|separator   | Y  | NA  | 分隔符  |
+|fieldNames   | Y  | NA  | Elasticsearch的Index字段列表,用空格分隔  |
+|indexNamePattern   | Y  | NA  | Index的名字模板,支持三种日期时间格式变量:{yyyyMMdd},{yyyyMMddHH},{yyyyMMddHHmm}  |
+|contentOffset   | Y  | NA  | 源数据的有效字段开始偏移,从0开始  |
+|fieldOffset   | Y  | NA  | Elasticsearch的Index字段列表的开始偏移  |
+
+### Sort-Elasticsearch任务的sinkParams配置参数
+
+|  参数名 | 是否必须  | 默认值  |描述   |
+| ------------ | ------------ | ------------ | ------------ |
+|httpHosts   | Y | NA  |  Elasticsearch的Host的IP端口|
+|username   | Y  | NA  | Elasticsearch用户名  |
+|password   | Y  | NA  | Elasticsearch密码 |
+|isUseIndexId   | N  | false  | 是否创建IndexId,影响Index分片分布  |
+|bulkSizeMb   | N  | 10  | 单Bulk的最大大小,单位MB |
+|flushInterval   | N  | 60  | 刷盘间隔,单位是秒  |
+|keywordMaxLength   | N  | 32767  | 单个keyword最大长度,单位是字节 |
+|bulkAction   | N  | 4000  | 单个Bulk的最大IndexRequest数 |
+|maxConnect   | N  | 10  | 最大HTTP连接数 |
+|concurrentRequests   | N  | 5  | 单个HTTP连接的最大等待请求数 |
+
+## Sort-Elasticsearch任务的sid_es_v3.conf配置参数
+
+- 文件名格式:Sort任务名+".conf"。
+- 可以从ClassPath的SortClusterConfig.conf源文件读取,但不支持实时更新。
+- 可以从Inlong Manager的HTTP接口获取配置,支持实时更新。
+
+### sid_es_v3.conf配置参数
+
+|  参数名 | 是否必须  |类型 | 默认值  |描述   |
+| ------------ | ------------ | ------------ | ------------ | ------------ |
+|sortClusterName   | Y |String | NA  |  用来唯一标识一个inlong-sort-standalone集群 |
+|sortTaskId   | Y  | String |NA  | Sort任务名  |
+|cacheZones   | Y  | JsonObject&lt;String, JsonObject&gt; |NA  | 缓存层集群列表,格式:Map&lt;cacheClusterName, CacheCluster&gt;  |
+
+### CacheCluster配置参数
+
... 22291 lines suppressed ...