You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2019/09/19 09:22:16 UTC

[pulsar] branch asf-site updated: Updated site at revision 0bc9dab

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

mmerli pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new f87c668  Updated site at revision 0bc9dab
f87c668 is described below

commit f87c6687994fac088086aa316b19df1d5ea6e697
Author: jenkins <bu...@apache.org>
AuthorDate: Thu Sep 19 09:22:07 2019 +0000

    Updated site at revision 0bc9dab
---
 content/docs/en/next/io-cdc-debezium.html          | 252 +++++++++-------
 content/docs/en/next/io-cdc-debezium/index.html    | 252 +++++++++-------
 content/docs/en/next/io-connectors.html            |   2 +-
 content/docs/en/next/io-connectors/index.html      |   2 +-
 content/docs/en/next/io-flume-source.html          |  90 ++++++
 content/docs/en/next/io-flume-source/index.html    |  90 ++++++
 content/docs/fr/next/io-cdc-debezium.html          | 327 ++++++++++++---------
 content/docs/fr/next/io-cdc-debezium/index.html    | 327 ++++++++++++---------
 content/docs/fr/next/io-connectors.html            |   2 +-
 content/docs/fr/next/io-connectors/index.html      |   2 +-
 content/docs/fr/next/io-flume-source.html          |  87 ++++++
 content/docs/fr/next/io-flume-source/index.html    |  87 ++++++
 content/docs/ja/next/io-cdc-debezium.html          | 327 ++++++++++++---------
 content/docs/ja/next/io-cdc-debezium/index.html    | 327 ++++++++++++---------
 content/docs/ja/next/io-connectors.html            |   2 +-
 content/docs/ja/next/io-connectors/index.html      |   2 +-
 content/docs/ja/next/io-flume-source.html          |  87 ++++++
 content/docs/ja/next/io-flume-source/index.html    |  87 ++++++
 content/docs/next/io-flume-source.html             |  13 +
 content/docs/next/io-flume-source/index.html       |  13 +
 content/docs/zh-CN/next/io-cdc-debezium.html       | 327 ++++++++++++---------
 content/docs/zh-CN/next/io-cdc-debezium/index.html | 327 ++++++++++++---------
 content/docs/zh-CN/next/io-connectors.html         |   2 +-
 content/docs/zh-CN/next/io-connectors/index.html   |   2 +-
 content/docs/zh-CN/next/io-flume-source.html       |  87 ++++++
 content/docs/zh-CN/next/io-flume-source/index.html |  87 ++++++
 content/sitemap.xml                                |   2 +-
 content/swagger/2.5.0-SNAPSHOT/swagger.json        |  22 +-
 .../swagger/2.5.0-SNAPSHOT/swaggerfunctions.json   |  38 +--
 content/swagger/master/swagger.json                |  22 +-
 content/swagger/master/swaggerfunctions.json       |  38 +--
 31 files changed, 2195 insertions(+), 1137 deletions(-)

diff --git a/content/docs/en/next/io-cdc-debezium.html b/content/docs/en/next/io-cdc-debezium.html
index 6c86847..ce9c32d 100644
--- a/content/docs/en/next/io-cdc-debezium.html
+++ b/content/docs/en/next/io-cdc-debezium.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>CDC Debezium Connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="### Source Configuration Options"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="CDC Debezium Connector · Apache [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Debezium Connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Debezium source connector pulls messages from MySQL or PostgreSQL to Pulsar topics."/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="en"/><meta property= [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -18,34 +18,38 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/io-cdc-debezium.md" target="_ [...]
-<p>The Configuration is mostly related to Debezium task config, besides this we should provides the service URL of Pulsar cluster, and topic names that used to store offset and history.</p>
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/io-cdc-debezium.md" target="_ [...]
+<p>This guide explains how to congifure and use Debezium source connector.</p>
+<h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>The configuration of Debezium source connector has the following parameters.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>Required</th><th>Default</th><th>Description</th></tr>
 </thead>
 <tbody>
-<tr><td><code>task.class</code></td><td><code>true</code></td><td><code>null</code></td><td>A source task class that implemented in Debezium.</td></tr>
-<tr><td><code>database.hostname</code></td><td><code>true</code></td><td><code>null</code></td><td>The address of the Database server.</td></tr>
-<tr><td><code>database.port</code></td><td><code>true</code></td><td><code>null</code></td><td>The port number of the Database server..</td></tr>
-<tr><td><code>database.user</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the Database user that has the required privileges.</td></tr>
-<tr><td><code>database.password</code></td><td><code>true</code></td><td><code>null</code></td><td>The password for the Database user that has the required privileges.</td></tr>
-<tr><td><code>database.server.id</code></td><td><code>true</code></td><td><code>null</code></td><td>The connector’s identifier that must be unique within the Database cluster and similar to Database’s server-id configuration property.</td></tr>
-<tr><td><code>database.server.name</code></td><td><code>true</code></td><td><code>null</code></td><td>The logical name of the Database server/cluster, which forms a namespace and is used in all the names of the Kafka topics to which the connector writes, the Kafka Connect schema names, and the namespaces of the corresponding Avro schema when the Avro Connector is used.</td></tr>
-<tr><td><code>database.whitelist</code></td><td><code>false</code></td><td><code>null</code></td><td>A list of all databases hosted by this server that this connector will monitor. This is optional, and there are other properties for listing the databases and tables to include or exclude from monitoring.</td></tr>
-<tr><td><code>key.converter</code></td><td><code>true</code></td><td><code>null</code></td><td>The converter provided by Kafka Connect to convert record key.</td></tr>
-<tr><td><code>value.converter</code></td><td><code>true</code></td><td><code>null</code></td><td>The converter provided by Kafka Connect to convert record value.</td></tr>
-<tr><td><code>database.history</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the database history class name.</td></tr>
-<tr><td><code>database.history.pulsar.topic</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the database history topic where the connector will write and recover DDL statements. This topic is for internal use only and should not be used by consumers.</td></tr>
-<tr><td><code>database.history.pulsar.service.url</code></td><td><code>true</code></td><td><code>null</code></td><td>Pulsar cluster service url for history topic.</td></tr>
-<tr><td><code>pulsar.service.url</code></td><td><code>true</code></td><td><code>null</code></td><td>Pulsar cluster service url.</td></tr>
-<tr><td><code>offset.storage.topic</code></td><td><code>true</code></td><td><code>null</code></td><td>Record the last committed offsets that the connector successfully completed.</td></tr>
+<tr><td><code>task.class</code></td><td>true</td><td>null</td><td>A source task class that implemented in Debezium.</td></tr>
+<tr><td><code>database.hostname</code></td><td>true</td><td>null</td><td>The address of a database server.</td></tr>
+<tr><td><code>database.port</code></td><td>true</td><td>null</td><td>The port number of a database server.</td></tr>
+<tr><td><code>database.user</code></td><td>true</td><td>null</td><td>The name of a database user that has the required privileges.</td></tr>
+<tr><td><code>database.password</code></td><td>true</td><td>null</td><td>The password for a database user that has the required privileges.</td></tr>
+<tr><td><code>database.server.id</code></td><td>true</td><td>null</td><td>The connector’s identifier that must be unique within a database cluster and similar to the database’s server-id configuration property.</td></tr>
+<tr><td><code>database.server.name</code></td><td>true</td><td>null</td><td>The logical name of a database server/cluster, which forms a namespace and it is used in all the names of Kafka topics to which the connector writes, the Kafka Connect schema names, and the namespaces of the corresponding Avro schema when the Avro Connector is used.</td></tr>
+<tr><td><code>database.whitelist</code></td><td>false</td><td>null</td><td>A list of all databases hosted by this server which is monitored by the  connector.<br/><br/> This is optional, and there are other properties for listing databases and tables to include or exclude from monitoring.</td></tr>
+<tr><td><code>key.converter</code></td><td>true</td><td>null</td><td>The converter provided by Kafka Connect to convert record key.</td></tr>
+<tr><td><code>value.converter</code></td><td>true</td><td>null</td><td>The converter provided by Kafka Connect to convert record value.</td></tr>
+<tr><td><code>database.history</code></td><td>true</td><td>null</td><td>The name of the database history class.</td></tr>
+<tr><td><code>database.history.pulsar.topic</code></td><td>true</td><td>null</td><td>The name of the database history topic where the connector writes and recovers DDL statements. <br/><br/><strong>Note: this topic is for internal use only and should not be used by consumers.</strong></td></tr>
+<tr><td><code>database.history.pulsar.service.url</code></td><td>true</td><td>null</td><td>Pulsar cluster service URL for history topic.</td></tr>
+<tr><td><code>pulsar.service.url</code></td><td>true</td><td>null</td><td>Pulsar cluster service URL.</td></tr>
+<tr><td><code>offset.storage.topic</code></td><td>true</td><td>null</td><td>Record the last committed offsets that the connector successfully completes.</td></tr>
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="example-of-mysql"></a><a href="#example-of-mysql" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p>We need to create a configuration file before using the Pulsar Debezium connector.</p>
-<h3><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
-<p>Here is a JSON configuration example:</p>
+<p>You need to create a configuration file before using the Pulsar Debezium connector.</p>
+<h3><a class="anchor" aria-hidden="true" id="configuration-1"></a><a href="#configuration-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
+<p>You can use one of the following methods to create a configuration file.</p>
+<ul>
+<li><p>JSON</p>
 <pre><code class="hljs css language-json">{
     <span class="hljs-attr">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
     <span class="hljs-attr">"database.port"</span>: <span class="hljs-string">"3306"</span>,
@@ -62,70 +66,97 @@
     <span class="hljs-attr">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>,
     <span class="hljs-attr">"offset.storage.topic"</span>: <span class="hljs-string">"offset-topic"</span>
 }
-</code></pre>
-<p>Optionally, you can create a <code>debezium-mysql-source-config.yaml</code> file, and copy the [contents] (<a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml">https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml</a>) below to the <code>debezium-mysql-source-config.yaml</code> file.</p>
-<pre><code class="hljs css language-$yaml"><span class="hljs-attribute">tenant</span>: <span class="hljs-string">"public"</span>
-<span class="hljs-attribute">namespace</span>: <span class="hljs-string">"default"</span>
-<span class="hljs-attribute">name</span>: <span class="hljs-string">"debezium-mysql-source"</span>
-<span class="hljs-attribute">topicName</span>: <span class="hljs-string">"debezium-mysql-topic"</span>
-<span class="hljs-attribute">archive</span>: <span class="hljs-string">"connectors/pulsar-io-debezium-mysql-2.4.1.nar"</span>
+</code></pre></li>
+<li><p>YAML</p>
+<p>You can create a <code>debezium-mysql-source-config.yaml</code> file and copy the <a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml">contents</a> below to the <code>debezium-mysql-source-config.yaml</code> file.</p>
+<pre><code class="hljs css language-yaml"><span class="hljs-attr">tenant:</span> <span class="hljs-string">"public"</span>
+<span class="hljs-attr">namespace:</span> <span class="hljs-string">"default"</span>
+<span class="hljs-attr">name:</span> <span class="hljs-string">"debezium-mysql-source"</span>
+<span class="hljs-attr">topicName:</span> <span class="hljs-string">"debezium-mysql-topic"</span>
+<span class="hljs-attr">archive:</span> <span class="hljs-string">"connectors/pulsar-io-debezium-mysql-<span class="hljs-template-variable">2.4.1</span>.nar"</span>
+<span class="hljs-attr">parallelism:</span> <span class="hljs-number">1</span>
 
-<span class="hljs-attribute">parallelism</span>: <span class="hljs-number">1</span>
+<span class="hljs-attr">configs:</span>
 
-<span class="hljs-attribute">configs</span>:
-  ## config for mysql, docker <span class="hljs-attribute">image</span>: debezium/<span class="hljs-attribute">example-mysql</span>:<span class="hljs-number">0.8</span>
-  database.<span class="hljs-attribute">hostname</span>: <span class="hljs-string">"localhost"</span>
-  database.<span class="hljs-attribute">port</span>: <span class="hljs-string">"3306"</span>
-  database.<span class="hljs-attribute">user</span>: <span class="hljs-string">"debezium"</span>
-  database.<span class="hljs-attribute">password</span>: <span class="hljs-string">"dbz"</span>
-  database.server.<span class="hljs-attribute">id</span>: <span class="hljs-string">"184054"</span>
-  database.server.<span class="hljs-attribute">name</span>: <span class="hljs-string">"dbserver1"</span>
-  database.<span class="hljs-attribute">whitelist</span>: <span class="hljs-string">"inventory"</span>
+    <span class="hljs-comment">## config for mysql, docker image: debezium/example-mysql:0.8</span>
+    <span class="hljs-string">database.hostname:</span> <span class="hljs-string">"localhost"</span>
+    <span class="hljs-string">database.port:</span> <span class="hljs-string">"3306"</span>
+    <span class="hljs-string">database.user:</span> <span class="hljs-string">"debezium"</span>
+    <span class="hljs-string">database.password:</span> <span class="hljs-string">"dbz"</span>
+    <span class="hljs-string">database.server.id:</span> <span class="hljs-string">"184054"</span>
+    <span class="hljs-string">database.server.name:</span> <span class="hljs-string">"dbserver1"</span>
+    <span class="hljs-string">database.whitelist:</span> <span class="hljs-string">"inventory"</span>
+    <span class="hljs-string">database.history:</span> <span class="hljs-string">"org.apache.pulsar.io.debezium.PulsarDatabaseHistory"</span>
+    <span class="hljs-string">database.history.pulsar.topic:</span> <span class="hljs-string">"history-topic"</span>
+    <span class="hljs-string">database.history.pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
 
-  database.<span class="hljs-attribute">history</span>: <span class="hljs-string">"org.apache.pulsar.io.debezium.PulsarDatabaseHistory"</span>
-  database.history.pulsar.<span class="hljs-attribute">topic</span>: <span class="hljs-string">"history-topic"</span>
-  database.history.pulsar.service.<span class="hljs-attribute">url</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
-  ## KEY_CONVERTER_CLASS_CONFIG, VALUE_CONVERTER_CLASS_CONFIG
-  key.<span class="hljs-attribute">converter</span>: <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span>
-  value.<span class="hljs-attribute">converter</span>: <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span>
-  ## PULSAR_SERVICE_URL_CONFIG
-  pulsar.service.<span class="hljs-attribute">url</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
-  ## OFFSET_STORAGE_TOPIC_CONFIG
-  offset.storage.<span class="hljs-attribute">topic</span>: <span class="hljs-string">"offset-topic"</span>
-</code></pre>
+    <span class="hljs-comment">## KEY_CONVERTER_CLASS_CONFIG, VALUE_CONVERTER_CLASS_CONFIG</span>
+    <span class="hljs-string">key.converter:</span> <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span>
+    <span class="hljs-string">value.converter:</span> <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span>
+
+    <span class="hljs-comment">## PULSAR_SERVICE_URL_CONFIG</span>
+    <span class="hljs-string">pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
+
+    <span class="hljs-comment">## OFFSET_STORAGE_TOPIC_CONFIG</span>
+    <span class="hljs-string">offset.storage.topic:</span> <span class="hljs-string">"offset-topic"</span>
+</code></pre></li>
+</ul>
 <h3><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
-<p>This example shows how to store the data changes of a MySQL table using the configuration file in the example above.</p>
+<p>This example shows how to change the data of a MySQL table using the Pulsar Debezium connector.</p>
 <ol>
-<li><p>Start a MySQL server with an example database, from which Debezium can capture changes.</p>
-<pre><code class="hljs css language-$bash"> docker <span class="hljs-builtin-name">run</span> -it --rm --name mysql -p 3306:3306 -e <span class="hljs-attribute">MYSQL_ROOT_PASSWORD</span>=debezium -e <span class="hljs-attribute">MYSQL_USER</span>=mysqluser -e <span class="hljs-attribute">MYSQL_PASSWORD</span>=mysqlpw debezium/example-mysql:0.8
+<li><p>Start a MySQL server with a database from which Debezium can capture changes.</p>
+<pre><code class="hljs css language-bash">$ docker run -it --rm \
+--name mysql \
+-p 3306:3306 \
+-e MYSQL_ROOT_PASSWORD=debezium \
+-e MYSQL_USER=mysqluser \
+-e MYSQL_PASSWORD=mysqlpw debezium/example-mysql:0.8
 </code></pre></li>
 <li><p>Start a Pulsar service locally in standalone mode.</p>
-<pre><code class="hljs css language-$bash"> <span class="hljs-keyword">bin/pulsar </span>standalone
+<pre><code class="hljs css language-bash">$ bin/pulsar standalone
 </code></pre></li>
-<li><p>Start pulsar debezium connector, with local run mode, and using above yaml config file. Please make sure that the nar file is available as configured in path <code>connectors/pulsar-io-debezium-mysql-2.4.1.nar</code>.</p>
-<pre><code class="hljs css language-$bash"> bin/pulsar-admin <span class="hljs-keyword">source</span> localrun  --<span class="hljs-keyword">source</span>-config-<span class="hljs-keyword">file</span> debezium-mysql-<span class="hljs-keyword">source</span>-config.yaml
-</code></pre>
-<pre><code class="hljs css language-$bash">bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-mysql-{{<span class="hljs-attribute">pulsar</span>:version}}<span class="hljs-variable">.nar</span> --name debezium-mysql-source --destination-topic-name debezium-mysql-topic --tenant public --namespace default --source-config '{"database<span class="hljs-variable">.hostname</span>": "localhost","database<span class="hljs-variable">.port</span>": "3306","database<span class [...]
+<li><p>Start the Pulsar Debezium connector in local run mode using one of the following methods.</p>
+<ul>
+<li><p>Use the <strong>JSON</strong> configuration file as shown previously.</p>
+<p>Make sure the nar file is available at <code>connectors/pulsar-io-debezium-mysql-2.4.1.nar</code>.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">source</span> localrun \
+--archive connectors/pulsar-io-debezium-mysql-2.4.1.nar \
+--name debezium-mysql-source --destination-topic-name debezium-mysql-topic \
+--tenant public \
+--namespace default \
+--<span class="hljs-built_in">source</span>-config <span class="hljs-string">'{"database.hostname": "localhost","database.port": "3306","database.user": "debezium","database.password": "dbz","database.server.id": "184054","database.server.name": "dbserver1","database.whitelist": "inventory","database.history": "org.apache.pulsar.io.debezium.PulsarDatabaseHistory","database.history.pulsar.topic": "history-topic","database.history.pulsar.service.url": "pulsar://127.0.0.1:6650","key.convert [...]
 </code></pre></li>
-<li><p>Subscribe the topic for table <code>inventory.products</code>.</p>
-<pre><code class="hljs"> bin/pulsar-<span class="hljs-keyword">client</span> consume -s <span class="hljs-string">"sub-products"</span> <span class="hljs-keyword">public</span>/<span class="hljs-keyword">default</span>/dbserver1.inventory.products -n <span class="hljs-number">0</span>
+<li><p>Use the <strong>YAML</strong> configuration file as shown previously.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">source</span> localrun \
+--<span class="hljs-built_in">source</span>-config-file debezium-mysql-source-config.yaml
 </code></pre></li>
-<li><p>start a MySQL cli docker connector, and use it we could change to the table <code>products</code> in MySQL server.</p>
-<pre><code class="hljs css language-$bash"><span class="hljs-variable">$docker</span> <span class="hljs-keyword">run</span> -it --<span class="hljs-keyword">rm</span> --name mysqlterm --link mysql --<span class="hljs-keyword">rm</span> mysql:5.7 <span class="hljs-keyword">sh</span> -c 'exec mysql -<span class="hljs-keyword">h</span><span class="hljs-string">"$MYSQL_PORT_3306_TCP_ADDR"</span> -P<span class="hljs-string">"$MYSQL_PORT_3306_TCP_PORT"</span> -uroot -p<span class="hljs-string" [...]
+</ul></li>
+<li><p>Subscribe the topic <em>sub-products</em> for the table <em>inventory.products</em>.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-client consume -s <span class="hljs-string">"sub-products"</span> public/default/dbserver1.inventory.products -n 0
 </code></pre></li>
-<li><p>This command will pop out MySQL cli, in this cli, we could do a change in table products, use commands below to change the name of 2 items in table products:</p>
+<li><p>Start a MySQL client in docker.</p>
+<pre><code class="hljs css language-bash">$ docker run -it --rm \
+--name mysqlterm \
+--link mysql \
+--rm mysql:5.7 sh \
+-c <span class="hljs-string">'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'</span>
+</code></pre></li>
+<li><p>A MySQL client pops out.</p>
+<p>Use the following commands to change the data of the table <em>products</em>.</p>
 <pre><code class="hljs">mysql&gt; use inventory;
 mysql&gt; <span class="hljs-keyword">show</span> <span class="hljs-keyword">tables</span>;
-mysql&gt; <span class="hljs-keyword">SELECT</span> * <span class="hljs-keyword">FROM</span>  products ;
+mysql&gt; <span class="hljs-keyword">SELECT</span> * <span class="hljs-keyword">FROM</span>  products;
 mysql&gt; <span class="hljs-keyword">UPDATE</span> products <span class="hljs-keyword">SET</span> <span class="hljs-type">name</span>=<span class="hljs-string">'1111111111'</span> <span class="hljs-keyword">WHERE</span> id=<span class="hljs-number">101</span>;
 mysql&gt; <span class="hljs-keyword">UPDATE</span> products <span class="hljs-keyword">SET</span> <span class="hljs-type">name</span>=<span class="hljs-string">'1111111111'</span> <span class="hljs-keyword">WHERE</span> id=<span class="hljs-number">107</span>;
-</code></pre></li>
+</code></pre>
+<p>In the terminal window of subscribing topic, you can find the data changes have been kept in the <em>sub-products</em> topic.</p></li>
 </ol>
-<p>In above subscribe topic terminal tab, we could find that 2 changes has been kept into products topic.</p>
 <h2><a class="anchor" aria-hidden="true" id="example-of-postgresql"></a><a href="#example-of-postgresql" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
-<p>We need to create a configuration file before using the Pulsar Debezium connector.</p>
-<h3><a class="anchor" aria-hidden="true" id="configuration-1"></a><a href="#configuration-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
-<p>Here is a JSON configuration example:</p>
+<p>You need to create a configuration file before using the Pulsar Debezium connector.</p>
+<h3><a class="anchor" aria-hidden="true" id="configuration-2"></a><a href="#configuration-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
+<p>You can use one of the following methods to create a configuration file.</p>
+<ul>
+<li><p>JSON</p>
 <pre><code class="hljs css language-json">{
     <span class="hljs-attr">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
     <span class="hljs-attr">"database.port"</span>: <span class="hljs-string">"5432"</span>,
@@ -136,52 +167,66 @@ mysql&gt; <span class="hljs-keyword">UPDATE</span> products <span class="hljs-ke
     <span class="hljs-attr">"schema.whitelist"</span>: <span class="hljs-string">"inventory"</span>,
     <span class="hljs-attr">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
 }
-</code></pre>
-<p>Optionally, you can create a <code>debezium-postgres-source-config.yaml</code> file, and copy the [contents] (<a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/postgres/src/main/resources/debezium-postgres-source-config.yaml">https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/postgres/src/main/resources/debezium-postgres-source-config.yaml</a>) below to the<code>debezium-postgres-source-config.yaml</code> file.</p>
+</code></pre></li>
+<li><p>YAML</p>
+<p>You can create a <code>debezium-postgres-source-config.yaml</code> file and copy the <a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/postgres/src/main/resources/debezium-postgres-source-config.yaml">contents</a> below to the <code>debezium-postgres-source-config.yaml</code> file.</p>
 <pre><code class="hljs css language-yaml"><span class="hljs-attr">tenant:</span> <span class="hljs-string">"public"</span>
 <span class="hljs-attr">namespace:</span> <span class="hljs-string">"default"</span>
 <span class="hljs-attr">name:</span> <span class="hljs-string">"debezium-postgres-source"</span>
 <span class="hljs-attr">topicName:</span> <span class="hljs-string">"debezium-postgres-topic"</span>
 <span class="hljs-attr">archive:</span> <span class="hljs-string">"connectors/pulsar-io-debezium-postgres-<span class="hljs-template-variable">2.4.1</span>.nar"</span>
-
 <span class="hljs-attr">parallelism:</span> <span class="hljs-number">1</span>
 
 <span class="hljs-attr">configs:</span>
-  <span class="hljs-comment">## config for pg, docker image: debezium/example-postgress:0.8</span>
-  <span class="hljs-string">database.hostname:</span> <span class="hljs-string">"localhost"</span>
-  <span class="hljs-string">database.port:</span> <span class="hljs-string">"5432"</span>
-  <span class="hljs-string">database.user:</span> <span class="hljs-string">"postgres"</span>
-  <span class="hljs-string">database.password:</span> <span class="hljs-string">"postgres"</span>
-  <span class="hljs-string">database.dbname:</span> <span class="hljs-string">"postgres"</span>
-  <span class="hljs-string">database.server.name:</span> <span class="hljs-string">"dbserver1"</span>
-  <span class="hljs-string">schema.whitelist:</span> <span class="hljs-string">"inventory"</span>
 
-  <span class="hljs-comment">## PULSAR_SERVICE_URL_CONFIG</span>
-  <span class="hljs-string">pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
-</code></pre>
+    <span class="hljs-comment">## config for pg, docker image: debezium/example-postgress:0.8</span>
+    <span class="hljs-string">database.hostname:</span> <span class="hljs-string">"localhost"</span>
+    <span class="hljs-string">database.port:</span> <span class="hljs-string">"5432"</span>
+    <span class="hljs-string">database.user:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.password:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.dbname:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.server.name:</span> <span class="hljs-string">"dbserver1"</span>
+    <span class="hljs-string">schema.whitelist:</span> <span class="hljs-string">"inventory"</span>
+
+    <span class="hljs-comment">## PULSAR_SERVICE_URL_CONFIG</span>
+    <span class="hljs-string">pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
+</code></pre></li>
+</ul>
 <h3><a class="anchor" aria-hidden="true" id="usage-1"></a><a href="#usage-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<p>This example shows how to store the data changes of a PostgreSQL table using the configuration file in the example above.</p>
+<p>This example shows how to change the data of a PostgreSQL table using the Pulsar Debezium connector.</p>
 <ol>
-<li><p>Start a PostgreSQL server with an example database, from which Debezium can capture changes.</p>
-<pre><code class="hljs css language-$bash">docker pull debezium/example-postgres:<span class="hljs-number">0.8</span>
-docker run -d -it --rm --name pulsar-postgresql -p <span class="hljs-number">5432</span>:<span class="hljs-number">5432</span>  debezium/example-postgres:<span class="hljs-number">0.8</span>
+<li><p>Start a PostgreSQL server with a database from which Debezium can capture changes.</p>
+<pre><code class="hljs css language-bash">$ docker pull debezium/example-postgres:0.8
+$ docker run -d -it --rm --name pulsar-postgresql -p 5432:5432  debezium/example-postgres:0.8
 </code></pre></li>
 <li><p>Start a Pulsar service locally in standalone mode.</p>
-<pre><code class="hljs css language-$bash"> <span class="hljs-keyword">bin/pulsar </span>standalone
+<pre><code class="hljs css language-bash">$ bin/pulsar standalone
 </code></pre></li>
-<li><p>Start the Pulsar Debezium connector in local run mode and use the JSON or YAML configuration file in the example above. Make sure the nar file is available at <code>connectors/pulsar-io-debezium-postgres-2.4.1.nar</code>.</p>
-<pre><code class="hljs css language-$bash">bin/pulsar-admin <span class="hljs-keyword">source</span> localrun  --<span class="hljs-keyword">source</span>-config-<span class="hljs-keyword">file</span> debezium-postgres-<span class="hljs-keyword">source</span>-config.yaml
+<li><p>Start the Pulsar Debezium connector in local run mode using one of the following methods.</p>
+<ul>
+<li><p>Use the <strong>JSON</strong> configuration file as shown previously.</p>
+<p>Make sure the nar file is available at <code>connectors/pulsar-io-debezium-postgres-2.4.1.nar</code>.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">source</span> localrun \
+--archive connectors/pulsar-io-debezium-postgres-2.4.1.nar \
+--name debezium-postgres-source \
+--destination-topic-name debezium-postgres-topic \
+--tenant public \
+--namespace default \
+--<span class="hljs-built_in">source</span>-config <span class="hljs-string">'{"database.hostname": "localhost","database.port": "5432","database.user": "postgres","database.password": "postgres","database.dbname": "postgres","database.server.name": "dbserver1","schema.whitelist": "inventory","pulsar.service.url": "pulsar://127.0.0.1:6650"}'</span>
 </code></pre></li>
-</ol>
-<p>Optionally, start Pulsar Debezium connector in local run mode and use the JSON config file in the example above.</p>
-<pre><code class="hljs">```$bash
-bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-postgres-2.4.1.nar --name debezium-postgres-source --destination-topic-name debezium-postgres-topic --tenant public --namespace default --source-config '{&quot;database.hostname&quot;: &quot;localhost&quot;,&quot;database.port&quot;: &quot;5432&quot;,&quot;database.user&quot;: &quot;postgres&quot;,&quot;database.password&quot;: &quot;postgres&quot;,&quot;database.dbname&quot;: &quot;postgres&quot;,&quot;database.ser [...]
-```
-</code></pre>
-<ol start="4">
-<li><p>PostgreSQL CLI appears after this command is executed. Use the commands below to update the <code>products</code> table.</p>
-<pre><code class="hljs css language-bash">docker <span class="hljs-built_in">exec</span> -it pulsar-postgresql /bin/bash
-</code></pre>
+<li><p>Use the <strong>YAML</strong> configuration file as shown previously.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">source</span> localrun  \
+--<span class="hljs-built_in">source</span>-config-file debezium-postgres-source-config.yaml
+</code></pre></li>
+</ul></li>
+<li><p>Subscribe the topic <em>sub-products</em> for the <em>inventory.products</em> table.</p>
+<pre><code class="hljs">$ bin/pulsar-<span class="hljs-keyword">client</span> consume -s <span class="hljs-string">"sub-products"</span> <span class="hljs-keyword">public</span>/<span class="hljs-keyword">default</span>/dbserver1.inventory.products -n <span class="hljs-number">0</span>
+</code></pre></li>
+<li><p>Start a PostgreSQL client in docker.</p>
+<pre><code class="hljs css language-bash">$ docker <span class="hljs-built_in">exec</span> -it pulsar-postgresql /bin/bash
+</code></pre></li>
+<li><p>A MySQL client pops out.</p>
+<p>Use the following commands to change the data of the table <em>products</em>.</p>
 <pre><code class="hljs">psql -U postgres postgres
 postgres=<span class="hljs-comment"># \c postgres;</span>
 You are now connected to database <span class="hljs-string">"postgres"</span> as user <span class="hljs-string">"postgres"</span>.
@@ -203,16 +248,13 @@ postgres=<span class="hljs-comment"># select * from products;</span>
 
 postgres=# UPDATE products SET name='1111111111' WHERE id=107;
 UPDATE 1
-</span></code></pre></li>
-<li><p>Subscribe the topic for the <code>inventory.products</code> table.</p>
-<pre><code class="hljs">bin/pulsar-<span class="hljs-keyword">client</span> consume -s <span class="hljs-string">"sub-products"</span> <span class="hljs-keyword">public</span>/<span class="hljs-keyword">default</span>/dbserver1.inventory.products -n <span class="hljs-number">0</span>
-</code></pre>
-<p>At this time, you will receive the following information:</p>
+</span></code></pre>
+<p>In the terminal window of subscribing topic, you can receive the following messages.</p>
 <pre><code class="hljs css language-bash">----- got message -----
 {<span class="hljs-string">"schema"</span>:{<span class="hljs-string">"type"</span>:<span class="hljs-string">"struct"</span>,<span class="hljs-string">"fields"</span>:[{<span class="hljs-string">"type"</span>:<span class="hljs-string">"int32"</span>,<span class="hljs-string">"optional"</span>:<span class="hljs-literal">false</span>,<span class="hljs-string">"field"</span>:<span class="hljs-string">"id"</span>}],<span class="hljs-string">"optional"</span>:<span class="hljs-literal">false [...]
 </code></pre></li>
 </ol>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#example-of-mysql">Example of MySQL</a><ul class="toc-headings"><li><a href="#configuration">Configuration</a></li><li><a href="#usage">Usage</a></li></ul></li><li><a href="#example-of-postgresql">Example of PostgreSQL</a><ul class="toc-headings"><li><a href="#configuration-1">Configuration</a></li><li><a href="#usage-1">Usage</a></li></ul></li></ul></nav [...]
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configuration</a></li><li><a href="#example-of-mysql">Example of MySQL</a><ul class="toc-headings"><li><a href="#configuration-1">Configuration</a></li><li><a href="#usage">Usage</a></li></ul></li><li><a href="#example-of-postgresql">Example of PostgreSQL</a><ul class="toc-headings"><li><a href="#configuration-2">Configuration</a></li><li> [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/en/next/io-cdc-debezium/index.html b/content/docs/en/next/io-cdc-debezium/index.html
index 6c86847..ce9c32d 100644
--- a/content/docs/en/next/io-cdc-debezium/index.html
+++ b/content/docs/en/next/io-cdc-debezium/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>CDC Debezium Connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="### Source Configuration Options"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="CDC Debezium Connector · Apache [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Debezium Connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Debezium source connector pulls messages from MySQL or PostgreSQL to Pulsar topics."/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="en"/><meta property= [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -18,34 +18,38 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/io-cdc-debezium.md" target="_ [...]
-<p>The Configuration is mostly related to Debezium task config, besides this we should provides the service URL of Pulsar cluster, and topic names that used to store offset and history.</p>
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/io-cdc-debezium.md" target="_ [...]
+<p>This guide explains how to congifure and use Debezium source connector.</p>
+<h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>The configuration of Debezium source connector has the following parameters.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>Required</th><th>Default</th><th>Description</th></tr>
 </thead>
 <tbody>
-<tr><td><code>task.class</code></td><td><code>true</code></td><td><code>null</code></td><td>A source task class that implemented in Debezium.</td></tr>
-<tr><td><code>database.hostname</code></td><td><code>true</code></td><td><code>null</code></td><td>The address of the Database server.</td></tr>
-<tr><td><code>database.port</code></td><td><code>true</code></td><td><code>null</code></td><td>The port number of the Database server..</td></tr>
-<tr><td><code>database.user</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the Database user that has the required privileges.</td></tr>
-<tr><td><code>database.password</code></td><td><code>true</code></td><td><code>null</code></td><td>The password for the Database user that has the required privileges.</td></tr>
-<tr><td><code>database.server.id</code></td><td><code>true</code></td><td><code>null</code></td><td>The connector’s identifier that must be unique within the Database cluster and similar to Database’s server-id configuration property.</td></tr>
-<tr><td><code>database.server.name</code></td><td><code>true</code></td><td><code>null</code></td><td>The logical name of the Database server/cluster, which forms a namespace and is used in all the names of the Kafka topics to which the connector writes, the Kafka Connect schema names, and the namespaces of the corresponding Avro schema when the Avro Connector is used.</td></tr>
-<tr><td><code>database.whitelist</code></td><td><code>false</code></td><td><code>null</code></td><td>A list of all databases hosted by this server that this connector will monitor. This is optional, and there are other properties for listing the databases and tables to include or exclude from monitoring.</td></tr>
-<tr><td><code>key.converter</code></td><td><code>true</code></td><td><code>null</code></td><td>The converter provided by Kafka Connect to convert record key.</td></tr>
-<tr><td><code>value.converter</code></td><td><code>true</code></td><td><code>null</code></td><td>The converter provided by Kafka Connect to convert record value.</td></tr>
-<tr><td><code>database.history</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the database history class name.</td></tr>
-<tr><td><code>database.history.pulsar.topic</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the database history topic where the connector will write and recover DDL statements. This topic is for internal use only and should not be used by consumers.</td></tr>
-<tr><td><code>database.history.pulsar.service.url</code></td><td><code>true</code></td><td><code>null</code></td><td>Pulsar cluster service url for history topic.</td></tr>
-<tr><td><code>pulsar.service.url</code></td><td><code>true</code></td><td><code>null</code></td><td>Pulsar cluster service url.</td></tr>
-<tr><td><code>offset.storage.topic</code></td><td><code>true</code></td><td><code>null</code></td><td>Record the last committed offsets that the connector successfully completed.</td></tr>
+<tr><td><code>task.class</code></td><td>true</td><td>null</td><td>A source task class that implemented in Debezium.</td></tr>
+<tr><td><code>database.hostname</code></td><td>true</td><td>null</td><td>The address of a database server.</td></tr>
+<tr><td><code>database.port</code></td><td>true</td><td>null</td><td>The port number of a database server.</td></tr>
+<tr><td><code>database.user</code></td><td>true</td><td>null</td><td>The name of a database user that has the required privileges.</td></tr>
+<tr><td><code>database.password</code></td><td>true</td><td>null</td><td>The password for a database user that has the required privileges.</td></tr>
+<tr><td><code>database.server.id</code></td><td>true</td><td>null</td><td>The connector’s identifier that must be unique within a database cluster and similar to the database’s server-id configuration property.</td></tr>
+<tr><td><code>database.server.name</code></td><td>true</td><td>null</td><td>The logical name of a database server/cluster, which forms a namespace and it is used in all the names of Kafka topics to which the connector writes, the Kafka Connect schema names, and the namespaces of the corresponding Avro schema when the Avro Connector is used.</td></tr>
+<tr><td><code>database.whitelist</code></td><td>false</td><td>null</td><td>A list of all databases hosted by this server which is monitored by the  connector.<br/><br/> This is optional, and there are other properties for listing databases and tables to include or exclude from monitoring.</td></tr>
+<tr><td><code>key.converter</code></td><td>true</td><td>null</td><td>The converter provided by Kafka Connect to convert record key.</td></tr>
+<tr><td><code>value.converter</code></td><td>true</td><td>null</td><td>The converter provided by Kafka Connect to convert record value.</td></tr>
+<tr><td><code>database.history</code></td><td>true</td><td>null</td><td>The name of the database history class.</td></tr>
+<tr><td><code>database.history.pulsar.topic</code></td><td>true</td><td>null</td><td>The name of the database history topic where the connector writes and recovers DDL statements. <br/><br/><strong>Note: this topic is for internal use only and should not be used by consumers.</strong></td></tr>
+<tr><td><code>database.history.pulsar.service.url</code></td><td>true</td><td>null</td><td>Pulsar cluster service URL for history topic.</td></tr>
+<tr><td><code>pulsar.service.url</code></td><td>true</td><td>null</td><td>Pulsar cluster service URL.</td></tr>
+<tr><td><code>offset.storage.topic</code></td><td>true</td><td>null</td><td>Record the last committed offsets that the connector successfully completes.</td></tr>
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="example-of-mysql"></a><a href="#example-of-mysql" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p>We need to create a configuration file before using the Pulsar Debezium connector.</p>
-<h3><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
-<p>Here is a JSON configuration example:</p>
+<p>You need to create a configuration file before using the Pulsar Debezium connector.</p>
+<h3><a class="anchor" aria-hidden="true" id="configuration-1"></a><a href="#configuration-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
+<p>You can use one of the following methods to create a configuration file.</p>
+<ul>
+<li><p>JSON</p>
 <pre><code class="hljs css language-json">{
     <span class="hljs-attr">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
     <span class="hljs-attr">"database.port"</span>: <span class="hljs-string">"3306"</span>,
@@ -62,70 +66,97 @@
     <span class="hljs-attr">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>,
     <span class="hljs-attr">"offset.storage.topic"</span>: <span class="hljs-string">"offset-topic"</span>
 }
-</code></pre>
-<p>Optionally, you can create a <code>debezium-mysql-source-config.yaml</code> file, and copy the [contents] (<a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml">https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml</a>) below to the <code>debezium-mysql-source-config.yaml</code> file.</p>
-<pre><code class="hljs css language-$yaml"><span class="hljs-attribute">tenant</span>: <span class="hljs-string">"public"</span>
-<span class="hljs-attribute">namespace</span>: <span class="hljs-string">"default"</span>
-<span class="hljs-attribute">name</span>: <span class="hljs-string">"debezium-mysql-source"</span>
-<span class="hljs-attribute">topicName</span>: <span class="hljs-string">"debezium-mysql-topic"</span>
-<span class="hljs-attribute">archive</span>: <span class="hljs-string">"connectors/pulsar-io-debezium-mysql-2.4.1.nar"</span>
+</code></pre></li>
+<li><p>YAML</p>
+<p>You can create a <code>debezium-mysql-source-config.yaml</code> file and copy the <a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml">contents</a> below to the <code>debezium-mysql-source-config.yaml</code> file.</p>
+<pre><code class="hljs css language-yaml"><span class="hljs-attr">tenant:</span> <span class="hljs-string">"public"</span>
+<span class="hljs-attr">namespace:</span> <span class="hljs-string">"default"</span>
+<span class="hljs-attr">name:</span> <span class="hljs-string">"debezium-mysql-source"</span>
+<span class="hljs-attr">topicName:</span> <span class="hljs-string">"debezium-mysql-topic"</span>
+<span class="hljs-attr">archive:</span> <span class="hljs-string">"connectors/pulsar-io-debezium-mysql-<span class="hljs-template-variable">2.4.1</span>.nar"</span>
+<span class="hljs-attr">parallelism:</span> <span class="hljs-number">1</span>
 
-<span class="hljs-attribute">parallelism</span>: <span class="hljs-number">1</span>
+<span class="hljs-attr">configs:</span>
 
-<span class="hljs-attribute">configs</span>:
-  ## config for mysql, docker <span class="hljs-attribute">image</span>: debezium/<span class="hljs-attribute">example-mysql</span>:<span class="hljs-number">0.8</span>
-  database.<span class="hljs-attribute">hostname</span>: <span class="hljs-string">"localhost"</span>
-  database.<span class="hljs-attribute">port</span>: <span class="hljs-string">"3306"</span>
-  database.<span class="hljs-attribute">user</span>: <span class="hljs-string">"debezium"</span>
-  database.<span class="hljs-attribute">password</span>: <span class="hljs-string">"dbz"</span>
-  database.server.<span class="hljs-attribute">id</span>: <span class="hljs-string">"184054"</span>
-  database.server.<span class="hljs-attribute">name</span>: <span class="hljs-string">"dbserver1"</span>
-  database.<span class="hljs-attribute">whitelist</span>: <span class="hljs-string">"inventory"</span>
+    <span class="hljs-comment">## config for mysql, docker image: debezium/example-mysql:0.8</span>
+    <span class="hljs-string">database.hostname:</span> <span class="hljs-string">"localhost"</span>
+    <span class="hljs-string">database.port:</span> <span class="hljs-string">"3306"</span>
+    <span class="hljs-string">database.user:</span> <span class="hljs-string">"debezium"</span>
+    <span class="hljs-string">database.password:</span> <span class="hljs-string">"dbz"</span>
+    <span class="hljs-string">database.server.id:</span> <span class="hljs-string">"184054"</span>
+    <span class="hljs-string">database.server.name:</span> <span class="hljs-string">"dbserver1"</span>
+    <span class="hljs-string">database.whitelist:</span> <span class="hljs-string">"inventory"</span>
+    <span class="hljs-string">database.history:</span> <span class="hljs-string">"org.apache.pulsar.io.debezium.PulsarDatabaseHistory"</span>
+    <span class="hljs-string">database.history.pulsar.topic:</span> <span class="hljs-string">"history-topic"</span>
+    <span class="hljs-string">database.history.pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
 
-  database.<span class="hljs-attribute">history</span>: <span class="hljs-string">"org.apache.pulsar.io.debezium.PulsarDatabaseHistory"</span>
-  database.history.pulsar.<span class="hljs-attribute">topic</span>: <span class="hljs-string">"history-topic"</span>
-  database.history.pulsar.service.<span class="hljs-attribute">url</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
-  ## KEY_CONVERTER_CLASS_CONFIG, VALUE_CONVERTER_CLASS_CONFIG
-  key.<span class="hljs-attribute">converter</span>: <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span>
-  value.<span class="hljs-attribute">converter</span>: <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span>
-  ## PULSAR_SERVICE_URL_CONFIG
-  pulsar.service.<span class="hljs-attribute">url</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
-  ## OFFSET_STORAGE_TOPIC_CONFIG
-  offset.storage.<span class="hljs-attribute">topic</span>: <span class="hljs-string">"offset-topic"</span>
-</code></pre>
+    <span class="hljs-comment">## KEY_CONVERTER_CLASS_CONFIG, VALUE_CONVERTER_CLASS_CONFIG</span>
+    <span class="hljs-string">key.converter:</span> <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span>
+    <span class="hljs-string">value.converter:</span> <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span>
+
+    <span class="hljs-comment">## PULSAR_SERVICE_URL_CONFIG</span>
+    <span class="hljs-string">pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
+
+    <span class="hljs-comment">## OFFSET_STORAGE_TOPIC_CONFIG</span>
+    <span class="hljs-string">offset.storage.topic:</span> <span class="hljs-string">"offset-topic"</span>
+</code></pre></li>
+</ul>
 <h3><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
-<p>This example shows how to store the data changes of a MySQL table using the configuration file in the example above.</p>
+<p>This example shows how to change the data of a MySQL table using the Pulsar Debezium connector.</p>
 <ol>
-<li><p>Start a MySQL server with an example database, from which Debezium can capture changes.</p>
-<pre><code class="hljs css language-$bash"> docker <span class="hljs-builtin-name">run</span> -it --rm --name mysql -p 3306:3306 -e <span class="hljs-attribute">MYSQL_ROOT_PASSWORD</span>=debezium -e <span class="hljs-attribute">MYSQL_USER</span>=mysqluser -e <span class="hljs-attribute">MYSQL_PASSWORD</span>=mysqlpw debezium/example-mysql:0.8
+<li><p>Start a MySQL server with a database from which Debezium can capture changes.</p>
+<pre><code class="hljs css language-bash">$ docker run -it --rm \
+--name mysql \
+-p 3306:3306 \
+-e MYSQL_ROOT_PASSWORD=debezium \
+-e MYSQL_USER=mysqluser \
+-e MYSQL_PASSWORD=mysqlpw debezium/example-mysql:0.8
 </code></pre></li>
 <li><p>Start a Pulsar service locally in standalone mode.</p>
-<pre><code class="hljs css language-$bash"> <span class="hljs-keyword">bin/pulsar </span>standalone
+<pre><code class="hljs css language-bash">$ bin/pulsar standalone
 </code></pre></li>
-<li><p>Start pulsar debezium connector, with local run mode, and using above yaml config file. Please make sure that the nar file is available as configured in path <code>connectors/pulsar-io-debezium-mysql-2.4.1.nar</code>.</p>
-<pre><code class="hljs css language-$bash"> bin/pulsar-admin <span class="hljs-keyword">source</span> localrun  --<span class="hljs-keyword">source</span>-config-<span class="hljs-keyword">file</span> debezium-mysql-<span class="hljs-keyword">source</span>-config.yaml
-</code></pre>
-<pre><code class="hljs css language-$bash">bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-mysql-{{<span class="hljs-attribute">pulsar</span>:version}}<span class="hljs-variable">.nar</span> --name debezium-mysql-source --destination-topic-name debezium-mysql-topic --tenant public --namespace default --source-config '{"database<span class="hljs-variable">.hostname</span>": "localhost","database<span class="hljs-variable">.port</span>": "3306","database<span class [...]
+<li><p>Start the Pulsar Debezium connector in local run mode using one of the following methods.</p>
+<ul>
+<li><p>Use the <strong>JSON</strong> configuration file as shown previously.</p>
+<p>Make sure the nar file is available at <code>connectors/pulsar-io-debezium-mysql-2.4.1.nar</code>.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">source</span> localrun \
+--archive connectors/pulsar-io-debezium-mysql-2.4.1.nar \
+--name debezium-mysql-source --destination-topic-name debezium-mysql-topic \
+--tenant public \
+--namespace default \
+--<span class="hljs-built_in">source</span>-config <span class="hljs-string">'{"database.hostname": "localhost","database.port": "3306","database.user": "debezium","database.password": "dbz","database.server.id": "184054","database.server.name": "dbserver1","database.whitelist": "inventory","database.history": "org.apache.pulsar.io.debezium.PulsarDatabaseHistory","database.history.pulsar.topic": "history-topic","database.history.pulsar.service.url": "pulsar://127.0.0.1:6650","key.convert [...]
 </code></pre></li>
-<li><p>Subscribe the topic for table <code>inventory.products</code>.</p>
-<pre><code class="hljs"> bin/pulsar-<span class="hljs-keyword">client</span> consume -s <span class="hljs-string">"sub-products"</span> <span class="hljs-keyword">public</span>/<span class="hljs-keyword">default</span>/dbserver1.inventory.products -n <span class="hljs-number">0</span>
+<li><p>Use the <strong>YAML</strong> configuration file as shown previously.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">source</span> localrun \
+--<span class="hljs-built_in">source</span>-config-file debezium-mysql-source-config.yaml
 </code></pre></li>
-<li><p>start a MySQL cli docker connector, and use it we could change to the table <code>products</code> in MySQL server.</p>
-<pre><code class="hljs css language-$bash"><span class="hljs-variable">$docker</span> <span class="hljs-keyword">run</span> -it --<span class="hljs-keyword">rm</span> --name mysqlterm --link mysql --<span class="hljs-keyword">rm</span> mysql:5.7 <span class="hljs-keyword">sh</span> -c 'exec mysql -<span class="hljs-keyword">h</span><span class="hljs-string">"$MYSQL_PORT_3306_TCP_ADDR"</span> -P<span class="hljs-string">"$MYSQL_PORT_3306_TCP_PORT"</span> -uroot -p<span class="hljs-string" [...]
+</ul></li>
+<li><p>Subscribe the topic <em>sub-products</em> for the table <em>inventory.products</em>.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-client consume -s <span class="hljs-string">"sub-products"</span> public/default/dbserver1.inventory.products -n 0
 </code></pre></li>
-<li><p>This command will pop out MySQL cli, in this cli, we could do a change in table products, use commands below to change the name of 2 items in table products:</p>
+<li><p>Start a MySQL client in docker.</p>
+<pre><code class="hljs css language-bash">$ docker run -it --rm \
+--name mysqlterm \
+--link mysql \
+--rm mysql:5.7 sh \
+-c <span class="hljs-string">'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'</span>
+</code></pre></li>
+<li><p>A MySQL client pops out.</p>
+<p>Use the following commands to change the data of the table <em>products</em>.</p>
 <pre><code class="hljs">mysql&gt; use inventory;
 mysql&gt; <span class="hljs-keyword">show</span> <span class="hljs-keyword">tables</span>;
-mysql&gt; <span class="hljs-keyword">SELECT</span> * <span class="hljs-keyword">FROM</span>  products ;
+mysql&gt; <span class="hljs-keyword">SELECT</span> * <span class="hljs-keyword">FROM</span>  products;
 mysql&gt; <span class="hljs-keyword">UPDATE</span> products <span class="hljs-keyword">SET</span> <span class="hljs-type">name</span>=<span class="hljs-string">'1111111111'</span> <span class="hljs-keyword">WHERE</span> id=<span class="hljs-number">101</span>;
 mysql&gt; <span class="hljs-keyword">UPDATE</span> products <span class="hljs-keyword">SET</span> <span class="hljs-type">name</span>=<span class="hljs-string">'1111111111'</span> <span class="hljs-keyword">WHERE</span> id=<span class="hljs-number">107</span>;
-</code></pre></li>
+</code></pre>
+<p>In the terminal window of subscribing topic, you can find the data changes have been kept in the <em>sub-products</em> topic.</p></li>
 </ol>
-<p>In above subscribe topic terminal tab, we could find that 2 changes has been kept into products topic.</p>
 <h2><a class="anchor" aria-hidden="true" id="example-of-postgresql"></a><a href="#example-of-postgresql" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
-<p>We need to create a configuration file before using the Pulsar Debezium connector.</p>
-<h3><a class="anchor" aria-hidden="true" id="configuration-1"></a><a href="#configuration-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
-<p>Here is a JSON configuration example:</p>
+<p>You need to create a configuration file before using the Pulsar Debezium connector.</p>
+<h3><a class="anchor" aria-hidden="true" id="configuration-2"></a><a href="#configuration-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
+<p>You can use one of the following methods to create a configuration file.</p>
+<ul>
+<li><p>JSON</p>
 <pre><code class="hljs css language-json">{
     <span class="hljs-attr">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
     <span class="hljs-attr">"database.port"</span>: <span class="hljs-string">"5432"</span>,
@@ -136,52 +167,66 @@ mysql&gt; <span class="hljs-keyword">UPDATE</span> products <span class="hljs-ke
     <span class="hljs-attr">"schema.whitelist"</span>: <span class="hljs-string">"inventory"</span>,
     <span class="hljs-attr">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
 }
-</code></pre>
-<p>Optionally, you can create a <code>debezium-postgres-source-config.yaml</code> file, and copy the [contents] (<a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/postgres/src/main/resources/debezium-postgres-source-config.yaml">https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/postgres/src/main/resources/debezium-postgres-source-config.yaml</a>) below to the<code>debezium-postgres-source-config.yaml</code> file.</p>
+</code></pre></li>
+<li><p>YAML</p>
+<p>You can create a <code>debezium-postgres-source-config.yaml</code> file and copy the <a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/postgres/src/main/resources/debezium-postgres-source-config.yaml">contents</a> below to the <code>debezium-postgres-source-config.yaml</code> file.</p>
 <pre><code class="hljs css language-yaml"><span class="hljs-attr">tenant:</span> <span class="hljs-string">"public"</span>
 <span class="hljs-attr">namespace:</span> <span class="hljs-string">"default"</span>
 <span class="hljs-attr">name:</span> <span class="hljs-string">"debezium-postgres-source"</span>
 <span class="hljs-attr">topicName:</span> <span class="hljs-string">"debezium-postgres-topic"</span>
 <span class="hljs-attr">archive:</span> <span class="hljs-string">"connectors/pulsar-io-debezium-postgres-<span class="hljs-template-variable">2.4.1</span>.nar"</span>
-
 <span class="hljs-attr">parallelism:</span> <span class="hljs-number">1</span>
 
 <span class="hljs-attr">configs:</span>
-  <span class="hljs-comment">## config for pg, docker image: debezium/example-postgress:0.8</span>
-  <span class="hljs-string">database.hostname:</span> <span class="hljs-string">"localhost"</span>
-  <span class="hljs-string">database.port:</span> <span class="hljs-string">"5432"</span>
-  <span class="hljs-string">database.user:</span> <span class="hljs-string">"postgres"</span>
-  <span class="hljs-string">database.password:</span> <span class="hljs-string">"postgres"</span>
-  <span class="hljs-string">database.dbname:</span> <span class="hljs-string">"postgres"</span>
-  <span class="hljs-string">database.server.name:</span> <span class="hljs-string">"dbserver1"</span>
-  <span class="hljs-string">schema.whitelist:</span> <span class="hljs-string">"inventory"</span>
 
-  <span class="hljs-comment">## PULSAR_SERVICE_URL_CONFIG</span>
-  <span class="hljs-string">pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
-</code></pre>
+    <span class="hljs-comment">## config for pg, docker image: debezium/example-postgress:0.8</span>
+    <span class="hljs-string">database.hostname:</span> <span class="hljs-string">"localhost"</span>
+    <span class="hljs-string">database.port:</span> <span class="hljs-string">"5432"</span>
+    <span class="hljs-string">database.user:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.password:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.dbname:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.server.name:</span> <span class="hljs-string">"dbserver1"</span>
+    <span class="hljs-string">schema.whitelist:</span> <span class="hljs-string">"inventory"</span>
+
+    <span class="hljs-comment">## PULSAR_SERVICE_URL_CONFIG</span>
+    <span class="hljs-string">pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
+</code></pre></li>
+</ul>
 <h3><a class="anchor" aria-hidden="true" id="usage-1"></a><a href="#usage-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<p>This example shows how to store the data changes of a PostgreSQL table using the configuration file in the example above.</p>
+<p>This example shows how to change the data of a PostgreSQL table using the Pulsar Debezium connector.</p>
 <ol>
-<li><p>Start a PostgreSQL server with an example database, from which Debezium can capture changes.</p>
-<pre><code class="hljs css language-$bash">docker pull debezium/example-postgres:<span class="hljs-number">0.8</span>
-docker run -d -it --rm --name pulsar-postgresql -p <span class="hljs-number">5432</span>:<span class="hljs-number">5432</span>  debezium/example-postgres:<span class="hljs-number">0.8</span>
+<li><p>Start a PostgreSQL server with a database from which Debezium can capture changes.</p>
+<pre><code class="hljs css language-bash">$ docker pull debezium/example-postgres:0.8
+$ docker run -d -it --rm --name pulsar-postgresql -p 5432:5432  debezium/example-postgres:0.8
 </code></pre></li>
 <li><p>Start a Pulsar service locally in standalone mode.</p>
-<pre><code class="hljs css language-$bash"> <span class="hljs-keyword">bin/pulsar </span>standalone
+<pre><code class="hljs css language-bash">$ bin/pulsar standalone
 </code></pre></li>
-<li><p>Start the Pulsar Debezium connector in local run mode and use the JSON or YAML configuration file in the example above. Make sure the nar file is available at <code>connectors/pulsar-io-debezium-postgres-2.4.1.nar</code>.</p>
-<pre><code class="hljs css language-$bash">bin/pulsar-admin <span class="hljs-keyword">source</span> localrun  --<span class="hljs-keyword">source</span>-config-<span class="hljs-keyword">file</span> debezium-postgres-<span class="hljs-keyword">source</span>-config.yaml
+<li><p>Start the Pulsar Debezium connector in local run mode using one of the following methods.</p>
+<ul>
+<li><p>Use the <strong>JSON</strong> configuration file as shown previously.</p>
+<p>Make sure the nar file is available at <code>connectors/pulsar-io-debezium-postgres-2.4.1.nar</code>.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">source</span> localrun \
+--archive connectors/pulsar-io-debezium-postgres-2.4.1.nar \
+--name debezium-postgres-source \
+--destination-topic-name debezium-postgres-topic \
+--tenant public \
+--namespace default \
+--<span class="hljs-built_in">source</span>-config <span class="hljs-string">'{"database.hostname": "localhost","database.port": "5432","database.user": "postgres","database.password": "postgres","database.dbname": "postgres","database.server.name": "dbserver1","schema.whitelist": "inventory","pulsar.service.url": "pulsar://127.0.0.1:6650"}'</span>
 </code></pre></li>
-</ol>
-<p>Optionally, start Pulsar Debezium connector in local run mode and use the JSON config file in the example above.</p>
-<pre><code class="hljs">```$bash
-bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-postgres-2.4.1.nar --name debezium-postgres-source --destination-topic-name debezium-postgres-topic --tenant public --namespace default --source-config '{&quot;database.hostname&quot;: &quot;localhost&quot;,&quot;database.port&quot;: &quot;5432&quot;,&quot;database.user&quot;: &quot;postgres&quot;,&quot;database.password&quot;: &quot;postgres&quot;,&quot;database.dbname&quot;: &quot;postgres&quot;,&quot;database.ser [...]
-```
-</code></pre>
-<ol start="4">
-<li><p>PostgreSQL CLI appears after this command is executed. Use the commands below to update the <code>products</code> table.</p>
-<pre><code class="hljs css language-bash">docker <span class="hljs-built_in">exec</span> -it pulsar-postgresql /bin/bash
-</code></pre>
+<li><p>Use the <strong>YAML</strong> configuration file as shown previously.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">source</span> localrun  \
+--<span class="hljs-built_in">source</span>-config-file debezium-postgres-source-config.yaml
+</code></pre></li>
+</ul></li>
+<li><p>Subscribe the topic <em>sub-products</em> for the <em>inventory.products</em> table.</p>
+<pre><code class="hljs">$ bin/pulsar-<span class="hljs-keyword">client</span> consume -s <span class="hljs-string">"sub-products"</span> <span class="hljs-keyword">public</span>/<span class="hljs-keyword">default</span>/dbserver1.inventory.products -n <span class="hljs-number">0</span>
+</code></pre></li>
+<li><p>Start a PostgreSQL client in docker.</p>
+<pre><code class="hljs css language-bash">$ docker <span class="hljs-built_in">exec</span> -it pulsar-postgresql /bin/bash
+</code></pre></li>
+<li><p>A MySQL client pops out.</p>
+<p>Use the following commands to change the data of the table <em>products</em>.</p>
 <pre><code class="hljs">psql -U postgres postgres
 postgres=<span class="hljs-comment"># \c postgres;</span>
 You are now connected to database <span class="hljs-string">"postgres"</span> as user <span class="hljs-string">"postgres"</span>.
@@ -203,16 +248,13 @@ postgres=<span class="hljs-comment"># select * from products;</span>
 
 postgres=# UPDATE products SET name='1111111111' WHERE id=107;
 UPDATE 1
-</span></code></pre></li>
-<li><p>Subscribe the topic for the <code>inventory.products</code> table.</p>
-<pre><code class="hljs">bin/pulsar-<span class="hljs-keyword">client</span> consume -s <span class="hljs-string">"sub-products"</span> <span class="hljs-keyword">public</span>/<span class="hljs-keyword">default</span>/dbserver1.inventory.products -n <span class="hljs-number">0</span>
-</code></pre>
-<p>At this time, you will receive the following information:</p>
+</span></code></pre>
+<p>In the terminal window of subscribing topic, you can receive the following messages.</p>
 <pre><code class="hljs css language-bash">----- got message -----
 {<span class="hljs-string">"schema"</span>:{<span class="hljs-string">"type"</span>:<span class="hljs-string">"struct"</span>,<span class="hljs-string">"fields"</span>:[{<span class="hljs-string">"type"</span>:<span class="hljs-string">"int32"</span>,<span class="hljs-string">"optional"</span>:<span class="hljs-literal">false</span>,<span class="hljs-string">"field"</span>:<span class="hljs-string">"id"</span>}],<span class="hljs-string">"optional"</span>:<span class="hljs-literal">false [...]
 </code></pre></li>
 </ol>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#example-of-mysql">Example of MySQL</a><ul class="toc-headings"><li><a href="#configuration">Configuration</a></li><li><a href="#usage">Usage</a></li></ul></li><li><a href="#example-of-postgresql">Example of PostgreSQL</a><ul class="toc-headings"><li><a href="#configuration-1">Configuration</a></li><li><a href="#usage-1">Usage</a></li></ul></li></ul></nav [...]
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configuration</a></li><li><a href="#example-of-mysql">Example of MySQL</a><ul class="toc-headings"><li><a href="#configuration-1">Configuration</a></li><li><a href="#usage">Usage</a></li></ul></li><li><a href="#example-of-postgresql">Example of PostgreSQL</a><ul class="toc-headings"><li><a href="#configuration-2">Configuration</a></li><li> [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/en/next/io-connectors.html b/content/docs/en/next/io-connectors.html
index 78e2e90..bfee6cf 100644
--- a/content/docs/en/next/io-connectors.html
+++ b/content/docs/en/next/io-connectors.html
@@ -84,7 +84,7 @@
 <li><p><a href="/docs/en/next/io-cdc-debezium">Debezium MySQL source connector</a></p></li>
 <li><p><a href="io-postgresql-debezium.md">Debezium PostgreSQL source Connector</a></p></li>
 <li><p><a href="/docs/en/next/io-file">File source connector</a></p></li>
-<li><p><a href="io-flume-source.md">Flume source connector</a></p></li>
+<li><p><a href="/docs/en/next/io-flume-source">Flume source connector</a></p></li>
 <li><p><a href="/docs/en/next/io-twitter">Twitter firehose source connector</a></p></li>
 <li><p><a href="/docs/en/next/io-kafka">Kafka source connector</a></p></li>
 <li><p><a href="io-kafka-connect.md">Kafka-connect-adaptor source connector</a></p></li>
diff --git a/content/docs/en/next/io-connectors/index.html b/content/docs/en/next/io-connectors/index.html
index 78e2e90..bfee6cf 100644
--- a/content/docs/en/next/io-connectors/index.html
+++ b/content/docs/en/next/io-connectors/index.html
@@ -84,7 +84,7 @@
 <li><p><a href="/docs/en/next/io-cdc-debezium">Debezium MySQL source connector</a></p></li>
 <li><p><a href="io-postgresql-debezium.md">Debezium PostgreSQL source Connector</a></p></li>
 <li><p><a href="/docs/en/next/io-file">File source connector</a></p></li>
-<li><p><a href="io-flume-source.md">Flume source connector</a></p></li>
+<li><p><a href="/docs/en/next/io-flume-source">Flume source connector</a></p></li>
 <li><p><a href="/docs/en/next/io-twitter">Twitter firehose source connector</a></p></li>
 <li><p><a href="/docs/en/next/io-kafka">Kafka source connector</a></p></li>
 <li><p><a href="io-kafka-connect.md">Kafka-connect-adaptor source connector</a></p></li>
diff --git a/content/docs/en/next/io-flume-source.html b/content/docs/en/next/io-flume-source.html
new file mode 100644
index 0000000..f7e7bd8
--- /dev/null
+++ b/content/docs/en/next/io-flume-source.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Flume source connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Flume source connector pulls messages from logs to Pulsar topics."/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="en"/><meta property="og:title" con [...]
+              (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+              (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+              m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+              })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+              ga('create', 'UA-102219959-1', 'auto');
+              ga('send', 'pageview');
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sid [...]
+        const languagesMenuItem = document.getElementById("languages-menu");
+        const languagesDropDown = document.getElementById("languages-dropdown");
+        languagesMenuItem.addEventListener("click", function(event) {
+          event.preventDefault();
+
+          if (languagesDropDown.className == "hide") {
+            languagesDropDown.className = "visible";
+          } else {
+            languagesDropDown.className = "hide";
+          }
+        });
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/io-flume-source.md" target="_ [...]
+<h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>The configuration of Flume source connector has the following parameters.</p>
+<h3><a class="anchor" aria-hidden="true" id="parameter"></a><a href="#parameter" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
+<table>
+<thead>
+<tr><th>Name</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td><code>name</code></td><td>String</td><td>true</td><td>&quot;&quot; (empty string)</td><td>Name of the agent</td></tr>
+<tr><td><code>confFile</code></td><td>String</td><td>true</td><td>&quot;&quot; (empty string)</td><td>Configuration file</td></tr>
+<tr><td><code>noReloadConf</code></td><td>Boolean</td><td>false</td><td>false</td><td>Whether to reload configuration file if changed</td></tr>
+<tr><td><code>zkConnString</code></td><td>String</td><td>true</td><td>&quot;&quot; (empty string)</td><td>ZooKeeper connection</td></tr>
+<tr><td><code>zkBasePath</code></td><td>String</td><td>true</td><td>&quot;&quot; (empty string)</td><td>Base path in ZooKeeper for agent configuration</td></tr>
+</tbody>
+</table>
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configuration</a><ul class="toc-headings"><li><a href="#parameter">Parameter</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apache Software Found [...]
+      const community = document.querySelector("a[href='#community']").parentNode;
+      const communityMenu =
+        '<li>' +
+        '<a id="community-menu" href="#">Community <span style="font-size: 0.75em">&nbsp;▼</span></a>' +
+        '<div id="community-dropdown" class="hide">' +
+          '<ul id="community-dropdown-items">' +
+            '<li><a href="/en/contact">Contact</a></li>' +
+            '<li><a href="/en/contributing">Contributing</a></li>' +
+            '<li><a href="/en/events">Events</a></li>' +
+            '<li><a href="https://twitter.com/Apache_Pulsar" target="_blank">Twitter &#x2750</a></li>' +
+            '<li><a href="https://github.com/apache/pulsar/wiki" target="_blank">Wiki &#x2750</a></li>' +
+            '<li><a href="https://github.com/apache/pulsar/issues" target="_blank">Issue tracking &#x2750</a></li>' +
+            '<li>&nbsp;</li>' +
+            '<li><a href="/en/resources">Resources</a></li>' +
+            '<li><a href="/en/team">Team</a></li>' +
+            '<li><a href="/en/powered-by">Powered By</a></li>' +
+          '</ul>' +
+        '</div>' +
+        '</li>';
+
+      community.innerHTML = communityMenu;
+
+      const communityMenuItem = document.getElementById("community-menu");
+      const communityDropDown = document.getElementById("community-dropdown");
+      communityMenuItem.addEventListener("click", function(event) {
+        event.preventDefault();
+
+        if (communityDropDown.className == 'hide') {
+          communityDropDown.className = 'visible';
+        } else {
+          communityDropDown.className = 'hide';
+        }
+      });
+    </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>window.twttr=(function(d,s, id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src='https://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js, fjs);t._e = [];t.ready = function(f) {t._e.push(f);};return t;}(document, 'script', 'twitter-wjs'));</script><script>
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:next"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/docs/en/next/io-flume-source/index.html b/content/docs/en/next/io-flume-source/index.html
new file mode 100644
index 0000000..f7e7bd8
--- /dev/null
+++ b/content/docs/en/next/io-flume-source/index.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Flume source connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Flume source connector pulls messages from logs to Pulsar topics."/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="en"/><meta property="og:title" con [...]
+              (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+              (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+              m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+              })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+              ga('create', 'UA-102219959-1', 'auto');
+              ga('send', 'pageview');
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sid [...]
+        const languagesMenuItem = document.getElementById("languages-menu");
+        const languagesDropDown = document.getElementById("languages-dropdown");
+        languagesMenuItem.addEventListener("click", function(event) {
+          event.preventDefault();
+
+          if (languagesDropDown.className == "hide") {
+            languagesDropDown.className = "visible";
+          } else {
+            languagesDropDown.className = "hide";
+          }
+        });
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/io-flume-source.md" target="_ [...]
+<h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>The configuration of Flume source connector has the following parameters.</p>
+<h3><a class="anchor" aria-hidden="true" id="parameter"></a><a href="#parameter" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
+<table>
+<thead>
+<tr><th>Name</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td><code>name</code></td><td>String</td><td>true</td><td>&quot;&quot; (empty string)</td><td>Name of the agent</td></tr>
+<tr><td><code>confFile</code></td><td>String</td><td>true</td><td>&quot;&quot; (empty string)</td><td>Configuration file</td></tr>
+<tr><td><code>noReloadConf</code></td><td>Boolean</td><td>false</td><td>false</td><td>Whether to reload configuration file if changed</td></tr>
+<tr><td><code>zkConnString</code></td><td>String</td><td>true</td><td>&quot;&quot; (empty string)</td><td>ZooKeeper connection</td></tr>
+<tr><td><code>zkBasePath</code></td><td>String</td><td>true</td><td>&quot;&quot; (empty string)</td><td>Base path in ZooKeeper for agent configuration</td></tr>
+</tbody>
+</table>
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configuration</a><ul class="toc-headings"><li><a href="#parameter">Parameter</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apache Software Found [...]
+      const community = document.querySelector("a[href='#community']").parentNode;
+      const communityMenu =
+        '<li>' +
+        '<a id="community-menu" href="#">Community <span style="font-size: 0.75em">&nbsp;▼</span></a>' +
+        '<div id="community-dropdown" class="hide">' +
+          '<ul id="community-dropdown-items">' +
+            '<li><a href="/en/contact">Contact</a></li>' +
+            '<li><a href="/en/contributing">Contributing</a></li>' +
+            '<li><a href="/en/events">Events</a></li>' +
+            '<li><a href="https://twitter.com/Apache_Pulsar" target="_blank">Twitter &#x2750</a></li>' +
+            '<li><a href="https://github.com/apache/pulsar/wiki" target="_blank">Wiki &#x2750</a></li>' +
+            '<li><a href="https://github.com/apache/pulsar/issues" target="_blank">Issue tracking &#x2750</a></li>' +
+            '<li>&nbsp;</li>' +
+            '<li><a href="/en/resources">Resources</a></li>' +
+            '<li><a href="/en/team">Team</a></li>' +
+            '<li><a href="/en/powered-by">Powered By</a></li>' +
+          '</ul>' +
+        '</div>' +
+        '</li>';
+
+      community.innerHTML = communityMenu;
+
+      const communityMenuItem = document.getElementById("community-menu");
+      const communityDropDown = document.getElementById("community-dropdown");
+      communityMenuItem.addEventListener("click", function(event) {
+        event.preventDefault();
+
+        if (communityDropDown.className == 'hide') {
+          communityDropDown.className = 'visible';
+        } else {
+          communityDropDown.className = 'hide';
+        }
+      });
+    </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>window.twttr=(function(d,s, id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src='https://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js, fjs);t._e = [];t.ready = function(f) {t._e.push(f);};return t;}(document, 'script', 'twitter-wjs'));</script><script>
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:next"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/docs/fr/next/io-cdc-debezium.html b/content/docs/fr/next/io-cdc-debezium.html
index 8a788c5..7b69727 100644
--- a/content/docs/fr/next/io-cdc-debezium.html
+++ b/content/docs/fr/next/io-cdc-debezium.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>CDC Debezium Connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="### Source Configuration Options"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="fr"/><meta property="og:title" content="CDC Debezium Connector · Apache [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Debezium Connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Debezium source connector pulls messages from MySQL or PostgreSQL to Pulsar topics."/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="fr"/><meta property= [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -18,34 +18,40 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Transla [...]
-<p>The Configuration is mostly related to Debezium task config, besides this we should provides the service URL of Pulsar cluster, and topic names that used to store offset and history.</p>
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Transla [...]
+<p>This guide explains how to congifure and use Debezium source connector.</p>
+<h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>The configuration of Debezium source connector has the following parameters.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>Required</th><th>Default</th><th>Description</th></tr>
 </thead>
 <tbody>
-<tr><td><code>task.class</code></td><td><code>true</code></td><td><code>null</code></td><td>A source task class that implemented in Debezium.</td></tr>
-<tr><td><code>database.hostname</code></td><td><code>true</code></td><td><code>null</code></td><td>The address of the Database server.</td></tr>
-<tr><td><code>database.port</code></td><td><code>true</code></td><td><code>null</code></td><td>The port number of the Database server..</td></tr>
-<tr><td><code>database.user</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the Database user that has the required privileges.</td></tr>
-<tr><td><code>database.password</code></td><td><code>true</code></td><td><code>null</code></td><td>The password for the Database user that has the required privileges.</td></tr>
-<tr><td><code>database.server.id</code></td><td><code>true</code></td><td><code>null</code></td><td>The connector’s identifier that must be unique within the Database cluster and similar to Database’s server-id configuration property.</td></tr>
-<tr><td><code>database.server.name</code></td><td><code>true</code></td><td><code>null</code></td><td>The logical name of the Database server/cluster, which forms a namespace and is used in all the names of the Kafka topics to which the connector writes, the Kafka Connect schema names, and the namespaces of the corresponding Avro schema when the Avro Connector is used.</td></tr>
-<tr><td><code>database.whitelist</code></td><td><code>false</code></td><td><code>null</code></td><td>A list of all databases hosted by this server that this connector will monitor. This is optional, and there are other properties for listing the databases and tables to include or exclude from monitoring.</td></tr>
-<tr><td><code>key.converter</code></td><td><code>true</code></td><td><code>null</code></td><td>The converter provided by Kafka Connect to convert record key.</td></tr>
-<tr><td><code>value.converter</code></td><td><code>true</code></td><td><code>null</code></td><td>The converter provided by Kafka Connect to convert record value.</td></tr>
-<tr><td><code>database.history</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the database history class name.</td></tr>
-<tr><td><code>database.history.pulsar.topic</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the database history topic where the connector will write and recover DDL statements. This topic is for internal use only and should not be used by consumers.</td></tr>
-<tr><td><code>database.history.pulsar.service.url</code></td><td><code>true</code></td><td><code>null</code></td><td>Pulsar cluster service url for history topic.</td></tr>
-<tr><td><code>pulsar.service.url</code></td><td><code>true</code></td><td><code>null</code></td><td>Pulsar cluster service url.</td></tr>
-<tr><td><code>offset.storage.topic</code></td><td><code>true</code></td><td><code>null</code></td><td>Record the last committed offsets that the connector successfully completed.</td></tr>
+<tr><td><code>task.class</code></td><td>true</td><td>null</td><td>A source task class that implemented in Debezium.</td></tr>
+<tr><td><code>database.hostname</code></td><td>true</td><td>null</td><td>The address of a database server.</td></tr>
+<tr><td><code>database.port</code></td><td>true</td><td>null</td><td>The port number of a database server.</td></tr>
+<tr><td><code>database.user</code></td><td>true</td><td>null</td><td>The name of a database user that has the required privileges.</td></tr>
+<tr><td><code>database.password</code></td><td>true</td><td>null</td><td>The password for a database user that has the required privileges.</td></tr>
+<tr><td><code>database.server.id</code></td><td>true</td><td>null</td><td>The connector’s identifier that must be unique within a database cluster and similar to the database’s server-id configuration property.</td></tr>
+<tr><td><code>database.server.name</code></td><td>true</td><td>null</td><td>The logical name of a database server/cluster, which forms a namespace and it is used in all the names of Kafka topics to which the connector writes, the Kafka Connect schema names, and the namespaces of the corresponding Avro schema when the Avro Connector is used.</td></tr>
+<tr><td><code>database.whitelist</code></td><td>false</td><td>null</td><td>A list of all databases hosted by this server which is monitored by the connector.</td></tr>
 </tbody>
 </table>
+<p>This is optional, and there are other properties for listing databases and tables to include or exclude from monitoring.                                                           |
+| <code>key.converter</code>                       | true     | null    | The converter provided by Kafka Connect to convert record key.                                                                                                                                                                                                             |
+| <code>value.converter</code>                     | true     | null    | The converter provided by Kafka Connect to convert record value.                                                                                                                                                                                                           |
+| <code>database.history</code>                    | true     | null    | The name of the database history class.                                                                                                                                                                                                                                    |
+| <code>database.history.pulsar.topic</code>       | true     | null    | The name of the database history topic where the connector writes and recovers DDL statements.</p>
+<p><strong>Note: this topic is for internal use only and should not be used by consumers.</strong>                                                                                    |
+| <code>database.history.pulsar.service.url</code> | true     | null    | Pulsar cluster service URL for history topic.                                                                                                                                                                                                                              |
+| <code>pulsar.service.url</code>                  | true     | null    | Pulsar cluster service URL.                                                                                                                                                                                                                                                |
+| <code>offset.storage.topic</code>                | true     | null    | Record the last committed offsets that the connector successfully completes.                                                                                                                                                                                               |</p>
 <h2><a class="anchor" aria-hidden="true" id="example-of-mysql"></a><a href="#example-of-mysql" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p>We need to create a configuration file before using the Pulsar Debezium connector.</p>
-<h3><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
-<p>Here is a JSON configuration example:</p>
+<p>You need to create a configuration file before using the Pulsar Debezium connector.</p>
+<h3><a class="anchor" aria-hidden="true" id="configuration-1"></a><a href="#configuration-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
+<p>You can use one of the following methods to create a configuration file.</p>
+<ul>
+<li><p>JSON</p>
 <pre><code class="hljs css language-json">{
     <span class="hljs-attr">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
     <span class="hljs-attr">"database.port"</span>: <span class="hljs-string">"3306"</span>,
@@ -62,137 +68,175 @@
     <span class="hljs-attr">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>,
     <span class="hljs-attr">"offset.storage.topic"</span>: <span class="hljs-string">"offset-topic"</span>
 }
-</code></pre>
-<p>Optionally, you can create a <code>debezium-mysql-source-config.yaml</code> file, and copy the [contents] (<a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml">https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml</a>) below to the <code>debezium-mysql-source-config.yaml</code> file.</p>
-<pre><code class="hljs css language-$yaml tenant: &quot;public&quot; namespace: &quot;default&quot; name: &quot;debezium-mysql-source&quot; topicName: &quot;debezium-mysql-topic&quot; archive: &quot;connectors/pulsar-io-debezium-mysql-2.4.1.nar&quot;">
-<span class="hljs-attribute">parallelism</span>: 1
+</code></pre></li>
+<li><p>YAML</p>
+<p>You can create a <code>debezium-mysql-source-config.yaml</code> file and copy the <a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml">contents</a> below to the <code>debezium-mysql-source-config.yaml</code> file.</p>
+<pre><code class="hljs css language-yaml"><span class="hljs-attr">tenant:</span> <span class="hljs-string">"public"</span>
+<span class="hljs-attr">namespace:</span> <span class="hljs-string">"default"</span>
+<span class="hljs-attr">name:</span> <span class="hljs-string">"debezium-mysql-source"</span>
+<span class="hljs-attr">topicName:</span> <span class="hljs-string">"debezium-mysql-topic"</span>
+<span class="hljs-attr">archive:</span> <span class="hljs-string">"connectors/pulsar-io-debezium-mysql-<span class="hljs-template-variable">2.4.1</span>.nar"</span>
+<span class="hljs-attr">parallelism:</span> <span class="hljs-number">1</span>
 
-<span class="stata">configs: ## config <span class="hljs-keyword">for</span> mysql, docker image: debezium/example-mysql:0.8 database.hostname: <span class="hljs-string">"localhost"</span> database.port: <span class="hljs-string">"3306"</span> database.user: <span class="hljs-string">"debezium"</span> database.password: <span class="hljs-string">"dbz"</span> database.server.id: <span class="hljs-string">"184054"</span> database.server.name: <span class="hljs-string">"dbserver1"</span> da [...]
+<span class="hljs-attr">configs:</span>
 
-database.history: <span class="hljs-string">"org.apache.pulsar.io.debezium.PulsarDatabaseHistory"</span> database.history.pulsar.topic: <span class="hljs-string">"history-topic"</span> database.history.pulsar.service.url: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span> ## KEY_CONVERTER_CLASS_CONFIG, VALUE_CONVERTER_CLASS_CONFIG key.converter: <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span> value.converter: <span class="hljs-string">"org.apache.ka [...]
+    <span class="hljs-comment">## config for mysql, docker image: debezium/example-mysql:0.8</span>
+    <span class="hljs-string">database.hostname:</span> <span class="hljs-string">"localhost"</span>
+    <span class="hljs-string">database.port:</span> <span class="hljs-string">"3306"</span>
+    <span class="hljs-string">database.user:</span> <span class="hljs-string">"debezium"</span>
+    <span class="hljs-string">database.password:</span> <span class="hljs-string">"dbz"</span>
+    <span class="hljs-string">database.server.id:</span> <span class="hljs-string">"184054"</span>
+    <span class="hljs-string">database.server.name:</span> <span class="hljs-string">"dbserver1"</span>
+    <span class="hljs-string">database.whitelist:</span> <span class="hljs-string">"inventory"</span>
+    <span class="hljs-string">database.history:</span> <span class="hljs-string">"org.apache.pulsar.io.debezium.PulsarDatabaseHistory"</span>
+    <span class="hljs-string">database.history.pulsar.topic:</span> <span class="hljs-string">"history-topic"</span>
+    <span class="hljs-string">database.history.pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
 
-    &lt;<span class="hljs-keyword">br</span> /&gt;### Usage
-    
-    This example shows how to store the data changes of a MySQL <span class="hljs-keyword">table</span> using the configuration <span class="hljs-keyword">file</span> <span class="hljs-keyword">in</span> the example above.
-    
-    1. Start a MySQL server with <span class="hljs-keyword">an</span> example database, from <span class="hljs-keyword">which</span> Debezium can <span class="hljs-keyword">capture</span> changes.
-    
-        ```<span class="hljs-variable">$bash</span>
-         docker <span class="hljs-keyword">run</span> -it --<span class="hljs-keyword">rm</span> --name mysql -p 3306:3306 -<span class="hljs-keyword">e</span> MYSQL_ROOT_PASSWORD=debezium -<span class="hljs-keyword">e</span> MYSQL_USER=mysqluser -<span class="hljs-keyword">e</span> MYSQL_PASSWORD=mysqlpw debezium/example-mysql:0.8
-        ```
-    
-    2. Start a Pulsar service locally <span class="hljs-keyword">in</span> standalone mode.
-    
-        ```<span class="hljs-variable">$bash</span>
-         bin/pulsar standalone
-        ```
-    
-    3. Start pulsar debezium connector, with <span class="hljs-keyword">local</span> <span class="hljs-keyword">run</span> mode, and using above yaml config <span class="hljs-keyword">file</span>. Please make sure that the nar <span class="hljs-keyword">file</span> is available <span class="hljs-keyword">as</span> configured <span class="hljs-keyword">in</span> path `connectors/pulsar-io-debezium-mysql-{{pulsar:<span class="hljs-keyword">version</span>}}.nar`.
-    
-        ```<span class="hljs-variable">$bash</span>
-         bin/pulsar-admin source localrun  --source-config-<span class="hljs-keyword">file</span> debezium-mysql-source-config.yaml
-        ```
-    
-        ```<span class="hljs-variable">$bash</span>
-        bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-mysql-{{pulsar:<span class="hljs-keyword">version</span>}}.nar --name debezium-mysql-source --destination-topic-name debezium-mysql-topic --tenant public --namespace default --source-config '{<span class="hljs-string">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,<span class="hljs-string">"database.port"</span>: <span class="hljs-string">"3306"</span>,<span class="hljs-string">"dat [...]
-        ```
-    
-    4. Subscribe the topic <span class="hljs-keyword">for</span> <span class="hljs-keyword">table</span> `inventory.products`.
-    
-        ```
-         bin/pulsar-client consume -s <span class="hljs-string">"sub-products"</span> public/default/dbserver1.inventory.products -<span class="hljs-keyword">n</span> 0
-        ```
-    
-    5. start a MySQL <span class="hljs-keyword">cli</span> docker connector, and <span class="hljs-keyword">use</span> it we could change to the <span class="hljs-keyword">table</span> `products` <span class="hljs-keyword">in</span> MySQL server.
-    
-        ```<span class="hljs-variable">$bash</span>
-        <span class="hljs-variable">$docker</span> <span class="hljs-keyword">run</span> -it --<span class="hljs-keyword">rm</span> --name mysqlterm --link mysql --<span class="hljs-keyword">rm</span> mysql:5.7 <span class="hljs-keyword">sh</span> -c 'exec mysql -<span class="hljs-keyword">h</span><span class="hljs-string">"$MYSQL_PORT_3306_TCP_ADDR"</span> -P<span class="hljs-string">"$MYSQL_PORT_3306_TCP_PORT"</span> -uroot -p<span class="hljs-string">"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"</span>'
-        ```
-    
-    6. This command will pop <span class="hljs-keyword">out</span> MySQL <span class="hljs-keyword">cli</span>, <span class="hljs-keyword">in</span> this <span class="hljs-keyword">cli</span>, we could <span class="hljs-keyword">do</span> a change <span class="hljs-keyword">in</span> <span class="hljs-keyword">table</span> products, <span class="hljs-keyword">use</span> commands below to change the name of 2 items <span class="hljs-keyword">in</span> <span class="hljs-keyword">table</spa [...]
-    
-        ```
-        mysql&amp;gt; <span class="hljs-keyword">use</span> inventory;
-        mysql&amp;gt; show tables;
-        mysql&amp;gt; SELECT * FROM  products ;
-        mysql&amp;gt; <span class="hljs-keyword">UPDATE</span> products <span class="hljs-keyword">SET</span> name='1111111111' WHERE id=101;
-        mysql&amp;gt; <span class="hljs-keyword">UPDATE</span> products <span class="hljs-keyword">SET</span> name='1111111111' WHERE id=107;
-        ```
-    
-     <span class="hljs-keyword">In</span> above subscribe topic terminal <span class="hljs-keyword">tab</span>, we could find that 2 changes has been kept into products topic.
-    
-    ## Example of PostgreSQL
-    
-    We need to create a configuration <span class="hljs-keyword">file</span> before using the Pulsar Debezium connector.
-    
-    ### Configuration
-    
-    
-    Here is a JSON configuration example:
-    
-    ```json
-    {
-        <span class="hljs-string">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
-        <span class="hljs-string">"database.port"</span>: <span class="hljs-string">"5432"</span>,
-        <span class="hljs-string">"database.user"</span>: <span class="hljs-string">"postgres"</span>,
-        <span class="hljs-string">"database.password"</span>: <span class="hljs-string">"postgres"</span>,
-        <span class="hljs-string">"database.dbname"</span>: <span class="hljs-string">"postgres"</span>,
-        <span class="hljs-string">"database.server.name"</span>: <span class="hljs-string">"dbserver1"</span>,
-        <span class="hljs-string">"schema.whitelist"</span>: <span class="hljs-string">"inventory"</span>,
-        <span class="hljs-string">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
-    }
-    
+    <span class="hljs-comment">## KEY_CONVERTER_CLASS_CONFIG, VALUE_CONVERTER_CLASS_CONFIG</span>
+    <span class="hljs-string">key.converter:</span> <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span>
+    <span class="hljs-string">value.converter:</span> <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span>
 
-Optionally, you can create a `debezium-postgres-source-config.yaml` <span class="hljs-keyword">file</span>, and <span class="hljs-keyword">copy</span> the \[contents\] (https:<span class="hljs-comment">//github.com/apache/pulsar/blob/master/pulsar-io/debezium/postgres/src/main/resources/debezium-postgres-source-config.yaml) below to the`debezium-postgres-source-config.yaml` file.</span>
+    <span class="hljs-comment">## PULSAR_SERVICE_URL_CONFIG</span>
+    <span class="hljs-string">pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
 
-```yaml
-tenant: <span class="hljs-string">"public"</span>
-namespace: <span class="hljs-string">"default"</span>
-name: <span class="hljs-string">"debezium-postgres-source"</span>
-topicName: <span class="hljs-string">"debezium-postgres-topic"</span>
-archive: <span class="hljs-string">"connectors/pulsar-io-debezium-postgres-2.4.1.nar"</span>
+    <span class="hljs-comment">## OFFSET_STORAGE_TOPIC_CONFIG</span>
+    <span class="hljs-string">offset.storage.topic:</span> <span class="hljs-string">"offset-topic"</span>
+</code></pre></li>
+</ul>
+<h3><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
+<p>This example shows how to change the data of a MySQL table using the Pulsar Debezium connector.</p>
+<ol>
+<li><p>Start a MySQL server with a database from which Debezium can capture changes.</p>
+<pre><code class="hljs css language-bash">$ docker run -it --rm \
+--name mysql \
+-p 3306:3306 \
+-e MYSQL_ROOT_PASSWORD=debezium \
+-e MYSQL_USER=mysqluser \
+-e MYSQL_PASSWORD=mysqlpw debezium/example-mysql:0.8
+</code></pre></li>
+<li><p>Start a Pulsar service locally in standalone mode.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar standalone
+</code></pre></li>
+<li><p>Start the Pulsar Debezium connector in local run mode using one of the following methods.</p>
+<ul>
+<li><p>Use the <strong>JSON</strong> configuration file as shown previously.</p>
+<p>Make sure the nar file is available at <code>connectors/pulsar-io-debezium-mysql-2.4.1.nar</code>.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">source</span> localrun \
+--archive connectors/pulsar-io-debezium-mysql-2.4.1.nar \
+--name debezium-mysql-source --destination-topic-name debezium-mysql-topic \
+--tenant public \
+--namespace default \
+--<span class="hljs-built_in">source</span>-config <span class="hljs-string">'{"database.hostname": "localhost","database.port": "3306","database.user": "debezium","database.password": "dbz","database.server.id": "184054","database.server.name": "dbserver1","database.whitelist": "inventory","database.history": "org.apache.pulsar.io.debezium.PulsarDatabaseHistory","database.history.pulsar.topic": "history-topic","database.history.pulsar.service.url": "pulsar://127.0.0.1:6650","key.convert [...]
+</code></pre>
+<ul>
+<li>Use the <strong>YAML</strong> configuration file as shown previously.</li>
+</ul>
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">source</span> localrun \
+--<span class="hljs-built_in">source</span>-config-file debezium-mysql-source-config.yaml
+</code></pre></li>
+</ul></li>
+<li><p>Subscribe the topic <em>sub-products</em> for the table <em>inventory.products</em>.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-client consume -s <span class="hljs-string">"sub-products"</span> public/default/dbserver1.inventory.products -n 0
+</code></pre></li>
+<li><p>Start a MySQL client in docker.</p>
+<pre><code class="hljs css language-bash">$ docker run -it --rm \
+--name mysqlterm \
+--link mysql \
+--rm mysql:5.7 sh \
+-c <span class="hljs-string">'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'</span>
+</code></pre></li>
+<li><p>A MySQL client pops out.</p>
+<p>Use the following commands to change the data of the table <em>products</em>.</p>
+<pre><code class="hljs"> mysql&gt; use inventory;
+ mysql&gt; show tables;
+ mysql&gt; SELECT * FROM  products;
+ mysql&gt; UPDATE products SET name='1111111111' WHERE id=101;
+ mysql&gt; UPDATE products SET name='1111111111' WHERE id=107;
+</code></pre>
+<p>In the terminal window of subscribing topic, you can find the data changes have been kept in the <em>sub-products</em> topic.</p></li>
+</ol>
+<h2><a class="anchor" aria-hidden="true" id="example-of-postgresql"></a><a href="#example-of-postgresql" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
+<p>You need to create a configuration file before using the Pulsar Debezium connector.</p>
+<h3><a class="anchor" aria-hidden="true" id="configuration-2"></a><a href="#configuration-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
+<p>You can use one of the following methods to create a configuration file.</p>
+<ul>
+<li><p>JSON</p>
+<pre><code class="hljs css language-json">{
+    <span class="hljs-attr">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
+    <span class="hljs-attr">"database.port"</span>: <span class="hljs-string">"5432"</span>,
+    <span class="hljs-attr">"database.user"</span>: <span class="hljs-string">"postgres"</span>,
+    <span class="hljs-attr">"database.password"</span>: <span class="hljs-string">"postgres"</span>,
+    <span class="hljs-attr">"database.dbname"</span>: <span class="hljs-string">"postgres"</span>,
+    <span class="hljs-attr">"database.server.name"</span>: <span class="hljs-string">"dbserver1"</span>,
+    <span class="hljs-attr">"schema.whitelist"</span>: <span class="hljs-string">"inventory"</span>,
+    <span class="hljs-attr">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
+}
+</code></pre></li>
+<li><p>YAML</p>
+<p>You can create a <code>debezium-postgres-source-config.yaml</code> file and copy the <a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/postgres/src/main/resources/debezium-postgres-source-config.yaml">contents</a> below to the <code>debezium-postgres-source-config.yaml</code> file.</p>
+<pre><code class="hljs css language-yaml"><span class="hljs-attr">tenant:</span> <span class="hljs-string">"public"</span>
+<span class="hljs-attr">namespace:</span> <span class="hljs-string">"default"</span>
+<span class="hljs-attr">name:</span> <span class="hljs-string">"debezium-postgres-source"</span>
+<span class="hljs-attr">topicName:</span> <span class="hljs-string">"debezium-postgres-topic"</span>
+<span class="hljs-attr">archive:</span> <span class="hljs-string">"connectors/pulsar-io-debezium-postgres-<span class="hljs-template-variable">2.4.1</span>.nar"</span>
+<span class="hljs-attr">parallelism:</span> <span class="hljs-number">1</span>
 
-parallelism: 1
+<span class="hljs-attr">configs:</span>
 
-configs:
-  ## config <span class="hljs-keyword">for</span> pg, docker image: debezium/example-postgress:0.8
-  database.hostname: <span class="hljs-string">"localhost"</span>
-  database.port: <span class="hljs-string">"5432"</span>
-  database.user: <span class="hljs-string">"postgres"</span>
-  database.password: <span class="hljs-string">"postgres"</span>
-  database.dbname: <span class="hljs-string">"postgres"</span>
-  database.server.name: <span class="hljs-string">"dbserver1"</span>
-  schema.whitelist: <span class="hljs-string">"inventory"</span>
+    <span class="hljs-comment">## config for pg, docker image: debezium/example-postgress:0.8</span>
+    <span class="hljs-string">database.hostname:</span> <span class="hljs-string">"localhost"</span>
+    <span class="hljs-string">database.port:</span> <span class="hljs-string">"5432"</span>
+    <span class="hljs-string">database.user:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.password:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.dbname:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.server.name:</span> <span class="hljs-string">"dbserver1"</span>
+    <span class="hljs-string">schema.whitelist:</span> <span class="hljs-string">"inventory"</span>
 
-  ## PULSAR_SERVICE_URL_CONFIG
-  pulsar.service.url: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
-</span></code></pre>
-<h3><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
-<p>This example shows how to store the data changes of a PostgreSQL table using the configuration file in the example above.</p>
+    <span class="hljs-comment">## PULSAR_SERVICE_URL_CONFIG</span>
+    <span class="hljs-string">pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
+</code></pre></li>
+</ul>
+<h3><a class="anchor" aria-hidden="true" id="usage-1"></a><a href="#usage-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
+<p>This example shows how to change the data of a PostgreSQL table using the Pulsar Debezium connector.</p>
 <ol>
-<li><p>Start a PostgreSQL server with an example database, from which Debezium can capture changes.</p>
-<pre><code class="hljs"> $bash
- docker pull debezium/example-postgres:0.8
- docker run -d -it --rm --name pulsar-postgresql -p 5432:5432  debezium/example-postgres:0.8
+<li><p>Start a PostgreSQL server with a database from which Debezium can capture changes.</p>
+<pre><code class="hljs css language-bash">$ docker pull debezium/example-postgres:0.8
+$ docker run -d -it --rm --name pulsar-postgresql -p 5432:5432  debezium/example-postgres:0.8
 </code></pre></li>
 <li><p>Start a Pulsar service locally in standalone mode.</p>
-<pre><code class="hljs"> $bash
-  bin/pulsar standalone
-</code></pre></li>
-<li><p>Start the Pulsar Debezium connector in local run mode and use the JSON or YAML configuration file in the example above. Make sure the nar file is available at <code>connectors/pulsar-io-debezium-postgres-2.4.1.nar</code>.</p>
-<pre><code class="hljs"> $bash
- bin/pulsar-admin source localrun  --source-config-file debezium-postgres-source-config.yaml
+<pre><code class="hljs css language-bash">$ bin/pulsar standalone
 </code></pre></li>
+<li><p>Start the Pulsar Debezium connector in local run mode using one of the following methods.</p></li>
 </ol>
-<p>Optionally, start Pulsar Debezium connector in local run mode and use the JSON config file in the example above.</p>
-<pre><code class="hljs">```$bash
-bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-postgres-2.4.1.nar --name debezium-postgres-source --destination-topic-name debezium-postgres-topic --tenant public --namespace default --source-config '{&quot;database.hostname&quot;: &quot;localhost&quot;,&quot;database.port&quot;: &quot;5432&quot;,&quot;database.user&quot;: &quot;postgres&quot;,&quot;database.password&quot;: &quot;postgres&quot;,&quot;database.dbname&quot;: &quot;postgres&quot;,&quot;database.ser [...]
-```
-</code></pre>
+<ul>
+<li><p>Use the <strong>JSON</strong> configuration file as shown previously.</p>
+<p>Make sure the nar file is available at <code>connectors/pulsar-io-debezium-postgres-2.4.1.nar</code>.</p>
+<pre><code class="hljs">  ```bash
+  $ bin/pulsar-admin source localrun \
+  --archive connectors/pulsar-io-debezium-postgres-2.4.1.nar \
+  --name debezium-postgres-source \
+  --destination-topic-name debezium-postgres-topic \
+  --tenant public \
+  --namespace default \
+  --source-config '{&quot;database.hostname&quot;: &quot;localhost&quot;,&quot;database.port&quot;: &quot;5432&quot;,&quot;database.user&quot;: &quot;postgres&quot;,&quot;database.password&quot;: &quot;postgres&quot;,&quot;database.dbname&quot;: &quot;postgres&quot;,&quot;database.server.name&quot;: &quot;dbserver1&quot;,&quot;schema.whitelist&quot;: &quot;inventory&quot;,&quot;pulsar.service.url&quot;: &quot;pulsar://127.0.0.1:6650&quot;}'
+  ```
+</code></pre></li>
+<li><p>Use the <strong>YAML</strong> configuration file as shown previously.</p>
+<pre><code class="hljs">  ```bash
+  $ bin/pulsar-admin source localrun  \
+  --source-config-file debezium-postgres-source-config.yaml
+  ```
+</code></pre></li>
+</ul>
 <ol start="4">
-<li><p>PostgreSQL CLI appears after this command is executed. Use the commands below to update the <code>products</code> table.</p>
-<pre><code class="hljs css language-bash">docker <span class="hljs-built_in">exec</span> -it pulsar-postgresql /bin/bash
-</code></pre>
+<li><p>Subscribe the topic <em>sub-products</em> for the <em>inventory.products</em> table.</p>
+<pre><code class="hljs"> $ bin/pulsar-client consume -s &quot;sub-products&quot; public/default/dbserver1.inventory.products -n 0
+</code></pre></li>
+<li><p>Start a PostgreSQL client in docker.</p>
+<pre><code class="hljs css language-bash">$ docker <span class="hljs-built_in">exec</span> -it pulsar-postgresql /bin/bash
+</code></pre></li>
+<li><p>A MySQL client pops out.</p>
+<p>Use the following commands to change the data of the table <em>products</em>.</p>
 <pre><code class="hljs"> psql -U postgres postgres
  postgres=# \c postgres;
  You are now connected to database &quot;postgres&quot; as user &quot;postgres&quot;.
@@ -214,16 +258,13 @@ bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-postgre
  
  postgres=# UPDATE products SET name='1111111111' WHERE id=107;
  UPDATE 1
-</code></pre></li>
-<li><p>Subscribe the topic for the <code>inventory.products</code> table.</p>
-<pre><code class="hljs"> bin/pulsar-client consume -s &quot;sub-products&quot; public/default/dbserver1.inventory.products -n 0
 </code></pre>
-<p>At this time, you will receive the following information:</p>
+<p>In the terminal window of subscribing topic, you can receive the following messages.</p>
 <pre><code class="hljs css language-bash">----- got message -----
 {<span class="hljs-string">"schema"</span>:{<span class="hljs-string">"type"</span>:<span class="hljs-string">"struct"</span>,<span class="hljs-string">"fields"</span>:[{<span class="hljs-string">"type"</span>:<span class="hljs-string">"int32"</span>,<span class="hljs-string">"optional"</span>:<span class="hljs-literal">false</span>,<span class="hljs-string">"field"</span>:<span class="hljs-string">"id"</span>}],<span class="hljs-string">"optional"</span>:<span class="hljs-literal">false [...]
 </code></pre></li>
 </ol>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#example-of-mysql">Example of MySQL</a><ul class="toc-headings"><li><a href="#configuration">Configuration</a></li><li><a href="#usage">Usage</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather [...]
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configuration</a></li><li><a href="#example-of-mysql">Example of MySQL</a><ul class="toc-headings"><li><a href="#configuration-1">Configuration</a></li><li><a href="#usage">Usage</a></li></ul></li><li><a href="#example-of-postgresql">Example of PostgreSQL</a><ul class="toc-headings"><li><a href="#configuration-2">Configuration</a></li><li> [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/next/io-cdc-debezium/index.html b/content/docs/fr/next/io-cdc-debezium/index.html
index 8a788c5..7b69727 100644
--- a/content/docs/fr/next/io-cdc-debezium/index.html
+++ b/content/docs/fr/next/io-cdc-debezium/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>CDC Debezium Connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="### Source Configuration Options"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="fr"/><meta property="og:title" content="CDC Debezium Connector · Apache [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Debezium Connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Debezium source connector pulls messages from MySQL or PostgreSQL to Pulsar topics."/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="fr"/><meta property= [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -18,34 +18,40 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Transla [...]
-<p>The Configuration is mostly related to Debezium task config, besides this we should provides the service URL of Pulsar cluster, and topic names that used to store offset and history.</p>
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Transla [...]
+<p>This guide explains how to congifure and use Debezium source connector.</p>
+<h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>The configuration of Debezium source connector has the following parameters.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>Required</th><th>Default</th><th>Description</th></tr>
 </thead>
 <tbody>
-<tr><td><code>task.class</code></td><td><code>true</code></td><td><code>null</code></td><td>A source task class that implemented in Debezium.</td></tr>
-<tr><td><code>database.hostname</code></td><td><code>true</code></td><td><code>null</code></td><td>The address of the Database server.</td></tr>
-<tr><td><code>database.port</code></td><td><code>true</code></td><td><code>null</code></td><td>The port number of the Database server..</td></tr>
-<tr><td><code>database.user</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the Database user that has the required privileges.</td></tr>
-<tr><td><code>database.password</code></td><td><code>true</code></td><td><code>null</code></td><td>The password for the Database user that has the required privileges.</td></tr>
-<tr><td><code>database.server.id</code></td><td><code>true</code></td><td><code>null</code></td><td>The connector’s identifier that must be unique within the Database cluster and similar to Database’s server-id configuration property.</td></tr>
-<tr><td><code>database.server.name</code></td><td><code>true</code></td><td><code>null</code></td><td>The logical name of the Database server/cluster, which forms a namespace and is used in all the names of the Kafka topics to which the connector writes, the Kafka Connect schema names, and the namespaces of the corresponding Avro schema when the Avro Connector is used.</td></tr>
-<tr><td><code>database.whitelist</code></td><td><code>false</code></td><td><code>null</code></td><td>A list of all databases hosted by this server that this connector will monitor. This is optional, and there are other properties for listing the databases and tables to include or exclude from monitoring.</td></tr>
-<tr><td><code>key.converter</code></td><td><code>true</code></td><td><code>null</code></td><td>The converter provided by Kafka Connect to convert record key.</td></tr>
-<tr><td><code>value.converter</code></td><td><code>true</code></td><td><code>null</code></td><td>The converter provided by Kafka Connect to convert record value.</td></tr>
-<tr><td><code>database.history</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the database history class name.</td></tr>
-<tr><td><code>database.history.pulsar.topic</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the database history topic where the connector will write and recover DDL statements. This topic is for internal use only and should not be used by consumers.</td></tr>
-<tr><td><code>database.history.pulsar.service.url</code></td><td><code>true</code></td><td><code>null</code></td><td>Pulsar cluster service url for history topic.</td></tr>
-<tr><td><code>pulsar.service.url</code></td><td><code>true</code></td><td><code>null</code></td><td>Pulsar cluster service url.</td></tr>
-<tr><td><code>offset.storage.topic</code></td><td><code>true</code></td><td><code>null</code></td><td>Record the last committed offsets that the connector successfully completed.</td></tr>
+<tr><td><code>task.class</code></td><td>true</td><td>null</td><td>A source task class that implemented in Debezium.</td></tr>
+<tr><td><code>database.hostname</code></td><td>true</td><td>null</td><td>The address of a database server.</td></tr>
+<tr><td><code>database.port</code></td><td>true</td><td>null</td><td>The port number of a database server.</td></tr>
+<tr><td><code>database.user</code></td><td>true</td><td>null</td><td>The name of a database user that has the required privileges.</td></tr>
+<tr><td><code>database.password</code></td><td>true</td><td>null</td><td>The password for a database user that has the required privileges.</td></tr>
+<tr><td><code>database.server.id</code></td><td>true</td><td>null</td><td>The connector’s identifier that must be unique within a database cluster and similar to the database’s server-id configuration property.</td></tr>
+<tr><td><code>database.server.name</code></td><td>true</td><td>null</td><td>The logical name of a database server/cluster, which forms a namespace and it is used in all the names of Kafka topics to which the connector writes, the Kafka Connect schema names, and the namespaces of the corresponding Avro schema when the Avro Connector is used.</td></tr>
+<tr><td><code>database.whitelist</code></td><td>false</td><td>null</td><td>A list of all databases hosted by this server which is monitored by the connector.</td></tr>
 </tbody>
 </table>
+<p>This is optional, and there are other properties for listing databases and tables to include or exclude from monitoring.                                                           |
+| <code>key.converter</code>                       | true     | null    | The converter provided by Kafka Connect to convert record key.                                                                                                                                                                                                             |
+| <code>value.converter</code>                     | true     | null    | The converter provided by Kafka Connect to convert record value.                                                                                                                                                                                                           |
+| <code>database.history</code>                    | true     | null    | The name of the database history class.                                                                                                                                                                                                                                    |
+| <code>database.history.pulsar.topic</code>       | true     | null    | The name of the database history topic where the connector writes and recovers DDL statements.</p>
+<p><strong>Note: this topic is for internal use only and should not be used by consumers.</strong>                                                                                    |
+| <code>database.history.pulsar.service.url</code> | true     | null    | Pulsar cluster service URL for history topic.                                                                                                                                                                                                                              |
+| <code>pulsar.service.url</code>                  | true     | null    | Pulsar cluster service URL.                                                                                                                                                                                                                                                |
+| <code>offset.storage.topic</code>                | true     | null    | Record the last committed offsets that the connector successfully completes.                                                                                                                                                                                               |</p>
 <h2><a class="anchor" aria-hidden="true" id="example-of-mysql"></a><a href="#example-of-mysql" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p>We need to create a configuration file before using the Pulsar Debezium connector.</p>
-<h3><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
-<p>Here is a JSON configuration example:</p>
+<p>You need to create a configuration file before using the Pulsar Debezium connector.</p>
+<h3><a class="anchor" aria-hidden="true" id="configuration-1"></a><a href="#configuration-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
+<p>You can use one of the following methods to create a configuration file.</p>
+<ul>
+<li><p>JSON</p>
 <pre><code class="hljs css language-json">{
     <span class="hljs-attr">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
     <span class="hljs-attr">"database.port"</span>: <span class="hljs-string">"3306"</span>,
@@ -62,137 +68,175 @@
     <span class="hljs-attr">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>,
     <span class="hljs-attr">"offset.storage.topic"</span>: <span class="hljs-string">"offset-topic"</span>
 }
-</code></pre>
-<p>Optionally, you can create a <code>debezium-mysql-source-config.yaml</code> file, and copy the [contents] (<a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml">https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml</a>) below to the <code>debezium-mysql-source-config.yaml</code> file.</p>
-<pre><code class="hljs css language-$yaml tenant: &quot;public&quot; namespace: &quot;default&quot; name: &quot;debezium-mysql-source&quot; topicName: &quot;debezium-mysql-topic&quot; archive: &quot;connectors/pulsar-io-debezium-mysql-2.4.1.nar&quot;">
-<span class="hljs-attribute">parallelism</span>: 1
+</code></pre></li>
+<li><p>YAML</p>
+<p>You can create a <code>debezium-mysql-source-config.yaml</code> file and copy the <a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml">contents</a> below to the <code>debezium-mysql-source-config.yaml</code> file.</p>
+<pre><code class="hljs css language-yaml"><span class="hljs-attr">tenant:</span> <span class="hljs-string">"public"</span>
+<span class="hljs-attr">namespace:</span> <span class="hljs-string">"default"</span>
+<span class="hljs-attr">name:</span> <span class="hljs-string">"debezium-mysql-source"</span>
+<span class="hljs-attr">topicName:</span> <span class="hljs-string">"debezium-mysql-topic"</span>
+<span class="hljs-attr">archive:</span> <span class="hljs-string">"connectors/pulsar-io-debezium-mysql-<span class="hljs-template-variable">2.4.1</span>.nar"</span>
+<span class="hljs-attr">parallelism:</span> <span class="hljs-number">1</span>
 
-<span class="stata">configs: ## config <span class="hljs-keyword">for</span> mysql, docker image: debezium/example-mysql:0.8 database.hostname: <span class="hljs-string">"localhost"</span> database.port: <span class="hljs-string">"3306"</span> database.user: <span class="hljs-string">"debezium"</span> database.password: <span class="hljs-string">"dbz"</span> database.server.id: <span class="hljs-string">"184054"</span> database.server.name: <span class="hljs-string">"dbserver1"</span> da [...]
+<span class="hljs-attr">configs:</span>
 
-database.history: <span class="hljs-string">"org.apache.pulsar.io.debezium.PulsarDatabaseHistory"</span> database.history.pulsar.topic: <span class="hljs-string">"history-topic"</span> database.history.pulsar.service.url: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span> ## KEY_CONVERTER_CLASS_CONFIG, VALUE_CONVERTER_CLASS_CONFIG key.converter: <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span> value.converter: <span class="hljs-string">"org.apache.ka [...]
+    <span class="hljs-comment">## config for mysql, docker image: debezium/example-mysql:0.8</span>
+    <span class="hljs-string">database.hostname:</span> <span class="hljs-string">"localhost"</span>
+    <span class="hljs-string">database.port:</span> <span class="hljs-string">"3306"</span>
+    <span class="hljs-string">database.user:</span> <span class="hljs-string">"debezium"</span>
+    <span class="hljs-string">database.password:</span> <span class="hljs-string">"dbz"</span>
+    <span class="hljs-string">database.server.id:</span> <span class="hljs-string">"184054"</span>
+    <span class="hljs-string">database.server.name:</span> <span class="hljs-string">"dbserver1"</span>
+    <span class="hljs-string">database.whitelist:</span> <span class="hljs-string">"inventory"</span>
+    <span class="hljs-string">database.history:</span> <span class="hljs-string">"org.apache.pulsar.io.debezium.PulsarDatabaseHistory"</span>
+    <span class="hljs-string">database.history.pulsar.topic:</span> <span class="hljs-string">"history-topic"</span>
+    <span class="hljs-string">database.history.pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
 
-    &lt;<span class="hljs-keyword">br</span> /&gt;### Usage
-    
-    This example shows how to store the data changes of a MySQL <span class="hljs-keyword">table</span> using the configuration <span class="hljs-keyword">file</span> <span class="hljs-keyword">in</span> the example above.
-    
-    1. Start a MySQL server with <span class="hljs-keyword">an</span> example database, from <span class="hljs-keyword">which</span> Debezium can <span class="hljs-keyword">capture</span> changes.
-    
-        ```<span class="hljs-variable">$bash</span>
-         docker <span class="hljs-keyword">run</span> -it --<span class="hljs-keyword">rm</span> --name mysql -p 3306:3306 -<span class="hljs-keyword">e</span> MYSQL_ROOT_PASSWORD=debezium -<span class="hljs-keyword">e</span> MYSQL_USER=mysqluser -<span class="hljs-keyword">e</span> MYSQL_PASSWORD=mysqlpw debezium/example-mysql:0.8
-        ```
-    
-    2. Start a Pulsar service locally <span class="hljs-keyword">in</span> standalone mode.
-    
-        ```<span class="hljs-variable">$bash</span>
-         bin/pulsar standalone
-        ```
-    
-    3. Start pulsar debezium connector, with <span class="hljs-keyword">local</span> <span class="hljs-keyword">run</span> mode, and using above yaml config <span class="hljs-keyword">file</span>. Please make sure that the nar <span class="hljs-keyword">file</span> is available <span class="hljs-keyword">as</span> configured <span class="hljs-keyword">in</span> path `connectors/pulsar-io-debezium-mysql-{{pulsar:<span class="hljs-keyword">version</span>}}.nar`.
-    
-        ```<span class="hljs-variable">$bash</span>
-         bin/pulsar-admin source localrun  --source-config-<span class="hljs-keyword">file</span> debezium-mysql-source-config.yaml
-        ```
-    
-        ```<span class="hljs-variable">$bash</span>
-        bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-mysql-{{pulsar:<span class="hljs-keyword">version</span>}}.nar --name debezium-mysql-source --destination-topic-name debezium-mysql-topic --tenant public --namespace default --source-config '{<span class="hljs-string">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,<span class="hljs-string">"database.port"</span>: <span class="hljs-string">"3306"</span>,<span class="hljs-string">"dat [...]
-        ```
-    
-    4. Subscribe the topic <span class="hljs-keyword">for</span> <span class="hljs-keyword">table</span> `inventory.products`.
-    
-        ```
-         bin/pulsar-client consume -s <span class="hljs-string">"sub-products"</span> public/default/dbserver1.inventory.products -<span class="hljs-keyword">n</span> 0
-        ```
-    
-    5. start a MySQL <span class="hljs-keyword">cli</span> docker connector, and <span class="hljs-keyword">use</span> it we could change to the <span class="hljs-keyword">table</span> `products` <span class="hljs-keyword">in</span> MySQL server.
-    
-        ```<span class="hljs-variable">$bash</span>
-        <span class="hljs-variable">$docker</span> <span class="hljs-keyword">run</span> -it --<span class="hljs-keyword">rm</span> --name mysqlterm --link mysql --<span class="hljs-keyword">rm</span> mysql:5.7 <span class="hljs-keyword">sh</span> -c 'exec mysql -<span class="hljs-keyword">h</span><span class="hljs-string">"$MYSQL_PORT_3306_TCP_ADDR"</span> -P<span class="hljs-string">"$MYSQL_PORT_3306_TCP_PORT"</span> -uroot -p<span class="hljs-string">"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"</span>'
-        ```
-    
-    6. This command will pop <span class="hljs-keyword">out</span> MySQL <span class="hljs-keyword">cli</span>, <span class="hljs-keyword">in</span> this <span class="hljs-keyword">cli</span>, we could <span class="hljs-keyword">do</span> a change <span class="hljs-keyword">in</span> <span class="hljs-keyword">table</span> products, <span class="hljs-keyword">use</span> commands below to change the name of 2 items <span class="hljs-keyword">in</span> <span class="hljs-keyword">table</spa [...]
-    
-        ```
-        mysql&amp;gt; <span class="hljs-keyword">use</span> inventory;
-        mysql&amp;gt; show tables;
-        mysql&amp;gt; SELECT * FROM  products ;
-        mysql&amp;gt; <span class="hljs-keyword">UPDATE</span> products <span class="hljs-keyword">SET</span> name='1111111111' WHERE id=101;
-        mysql&amp;gt; <span class="hljs-keyword">UPDATE</span> products <span class="hljs-keyword">SET</span> name='1111111111' WHERE id=107;
-        ```
-    
-     <span class="hljs-keyword">In</span> above subscribe topic terminal <span class="hljs-keyword">tab</span>, we could find that 2 changes has been kept into products topic.
-    
-    ## Example of PostgreSQL
-    
-    We need to create a configuration <span class="hljs-keyword">file</span> before using the Pulsar Debezium connector.
-    
-    ### Configuration
-    
-    
-    Here is a JSON configuration example:
-    
-    ```json
-    {
-        <span class="hljs-string">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
-        <span class="hljs-string">"database.port"</span>: <span class="hljs-string">"5432"</span>,
-        <span class="hljs-string">"database.user"</span>: <span class="hljs-string">"postgres"</span>,
-        <span class="hljs-string">"database.password"</span>: <span class="hljs-string">"postgres"</span>,
-        <span class="hljs-string">"database.dbname"</span>: <span class="hljs-string">"postgres"</span>,
-        <span class="hljs-string">"database.server.name"</span>: <span class="hljs-string">"dbserver1"</span>,
-        <span class="hljs-string">"schema.whitelist"</span>: <span class="hljs-string">"inventory"</span>,
-        <span class="hljs-string">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
-    }
-    
+    <span class="hljs-comment">## KEY_CONVERTER_CLASS_CONFIG, VALUE_CONVERTER_CLASS_CONFIG</span>
+    <span class="hljs-string">key.converter:</span> <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span>
+    <span class="hljs-string">value.converter:</span> <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span>
 
-Optionally, you can create a `debezium-postgres-source-config.yaml` <span class="hljs-keyword">file</span>, and <span class="hljs-keyword">copy</span> the \[contents\] (https:<span class="hljs-comment">//github.com/apache/pulsar/blob/master/pulsar-io/debezium/postgres/src/main/resources/debezium-postgres-source-config.yaml) below to the`debezium-postgres-source-config.yaml` file.</span>
+    <span class="hljs-comment">## PULSAR_SERVICE_URL_CONFIG</span>
+    <span class="hljs-string">pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
 
-```yaml
-tenant: <span class="hljs-string">"public"</span>
-namespace: <span class="hljs-string">"default"</span>
-name: <span class="hljs-string">"debezium-postgres-source"</span>
-topicName: <span class="hljs-string">"debezium-postgres-topic"</span>
-archive: <span class="hljs-string">"connectors/pulsar-io-debezium-postgres-2.4.1.nar"</span>
+    <span class="hljs-comment">## OFFSET_STORAGE_TOPIC_CONFIG</span>
+    <span class="hljs-string">offset.storage.topic:</span> <span class="hljs-string">"offset-topic"</span>
+</code></pre></li>
+</ul>
+<h3><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
+<p>This example shows how to change the data of a MySQL table using the Pulsar Debezium connector.</p>
+<ol>
+<li><p>Start a MySQL server with a database from which Debezium can capture changes.</p>
+<pre><code class="hljs css language-bash">$ docker run -it --rm \
+--name mysql \
+-p 3306:3306 \
+-e MYSQL_ROOT_PASSWORD=debezium \
+-e MYSQL_USER=mysqluser \
+-e MYSQL_PASSWORD=mysqlpw debezium/example-mysql:0.8
+</code></pre></li>
+<li><p>Start a Pulsar service locally in standalone mode.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar standalone
+</code></pre></li>
+<li><p>Start the Pulsar Debezium connector in local run mode using one of the following methods.</p>
+<ul>
+<li><p>Use the <strong>JSON</strong> configuration file as shown previously.</p>
+<p>Make sure the nar file is available at <code>connectors/pulsar-io-debezium-mysql-2.4.1.nar</code>.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">source</span> localrun \
+--archive connectors/pulsar-io-debezium-mysql-2.4.1.nar \
+--name debezium-mysql-source --destination-topic-name debezium-mysql-topic \
+--tenant public \
+--namespace default \
+--<span class="hljs-built_in">source</span>-config <span class="hljs-string">'{"database.hostname": "localhost","database.port": "3306","database.user": "debezium","database.password": "dbz","database.server.id": "184054","database.server.name": "dbserver1","database.whitelist": "inventory","database.history": "org.apache.pulsar.io.debezium.PulsarDatabaseHistory","database.history.pulsar.topic": "history-topic","database.history.pulsar.service.url": "pulsar://127.0.0.1:6650","key.convert [...]
+</code></pre>
+<ul>
+<li>Use the <strong>YAML</strong> configuration file as shown previously.</li>
+</ul>
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">source</span> localrun \
+--<span class="hljs-built_in">source</span>-config-file debezium-mysql-source-config.yaml
+</code></pre></li>
+</ul></li>
+<li><p>Subscribe the topic <em>sub-products</em> for the table <em>inventory.products</em>.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-client consume -s <span class="hljs-string">"sub-products"</span> public/default/dbserver1.inventory.products -n 0
+</code></pre></li>
+<li><p>Start a MySQL client in docker.</p>
+<pre><code class="hljs css language-bash">$ docker run -it --rm \
+--name mysqlterm \
+--link mysql \
+--rm mysql:5.7 sh \
+-c <span class="hljs-string">'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'</span>
+</code></pre></li>
+<li><p>A MySQL client pops out.</p>
+<p>Use the following commands to change the data of the table <em>products</em>.</p>
+<pre><code class="hljs"> mysql&gt; use inventory;
+ mysql&gt; show tables;
+ mysql&gt; SELECT * FROM  products;
+ mysql&gt; UPDATE products SET name='1111111111' WHERE id=101;
+ mysql&gt; UPDATE products SET name='1111111111' WHERE id=107;
+</code></pre>
+<p>In the terminal window of subscribing topic, you can find the data changes have been kept in the <em>sub-products</em> topic.</p></li>
+</ol>
+<h2><a class="anchor" aria-hidden="true" id="example-of-postgresql"></a><a href="#example-of-postgresql" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
+<p>You need to create a configuration file before using the Pulsar Debezium connector.</p>
+<h3><a class="anchor" aria-hidden="true" id="configuration-2"></a><a href="#configuration-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
+<p>You can use one of the following methods to create a configuration file.</p>
+<ul>
+<li><p>JSON</p>
+<pre><code class="hljs css language-json">{
+    <span class="hljs-attr">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
+    <span class="hljs-attr">"database.port"</span>: <span class="hljs-string">"5432"</span>,
+    <span class="hljs-attr">"database.user"</span>: <span class="hljs-string">"postgres"</span>,
+    <span class="hljs-attr">"database.password"</span>: <span class="hljs-string">"postgres"</span>,
+    <span class="hljs-attr">"database.dbname"</span>: <span class="hljs-string">"postgres"</span>,
+    <span class="hljs-attr">"database.server.name"</span>: <span class="hljs-string">"dbserver1"</span>,
+    <span class="hljs-attr">"schema.whitelist"</span>: <span class="hljs-string">"inventory"</span>,
+    <span class="hljs-attr">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
+}
+</code></pre></li>
+<li><p>YAML</p>
+<p>You can create a <code>debezium-postgres-source-config.yaml</code> file and copy the <a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/postgres/src/main/resources/debezium-postgres-source-config.yaml">contents</a> below to the <code>debezium-postgres-source-config.yaml</code> file.</p>
+<pre><code class="hljs css language-yaml"><span class="hljs-attr">tenant:</span> <span class="hljs-string">"public"</span>
+<span class="hljs-attr">namespace:</span> <span class="hljs-string">"default"</span>
+<span class="hljs-attr">name:</span> <span class="hljs-string">"debezium-postgres-source"</span>
+<span class="hljs-attr">topicName:</span> <span class="hljs-string">"debezium-postgres-topic"</span>
+<span class="hljs-attr">archive:</span> <span class="hljs-string">"connectors/pulsar-io-debezium-postgres-<span class="hljs-template-variable">2.4.1</span>.nar"</span>
+<span class="hljs-attr">parallelism:</span> <span class="hljs-number">1</span>
 
-parallelism: 1
+<span class="hljs-attr">configs:</span>
 
-configs:
-  ## config <span class="hljs-keyword">for</span> pg, docker image: debezium/example-postgress:0.8
-  database.hostname: <span class="hljs-string">"localhost"</span>
-  database.port: <span class="hljs-string">"5432"</span>
-  database.user: <span class="hljs-string">"postgres"</span>
-  database.password: <span class="hljs-string">"postgres"</span>
-  database.dbname: <span class="hljs-string">"postgres"</span>
-  database.server.name: <span class="hljs-string">"dbserver1"</span>
-  schema.whitelist: <span class="hljs-string">"inventory"</span>
+    <span class="hljs-comment">## config for pg, docker image: debezium/example-postgress:0.8</span>
+    <span class="hljs-string">database.hostname:</span> <span class="hljs-string">"localhost"</span>
+    <span class="hljs-string">database.port:</span> <span class="hljs-string">"5432"</span>
+    <span class="hljs-string">database.user:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.password:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.dbname:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.server.name:</span> <span class="hljs-string">"dbserver1"</span>
+    <span class="hljs-string">schema.whitelist:</span> <span class="hljs-string">"inventory"</span>
 
-  ## PULSAR_SERVICE_URL_CONFIG
-  pulsar.service.url: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
-</span></code></pre>
-<h3><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
-<p>This example shows how to store the data changes of a PostgreSQL table using the configuration file in the example above.</p>
+    <span class="hljs-comment">## PULSAR_SERVICE_URL_CONFIG</span>
+    <span class="hljs-string">pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
+</code></pre></li>
+</ul>
+<h3><a class="anchor" aria-hidden="true" id="usage-1"></a><a href="#usage-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
+<p>This example shows how to change the data of a PostgreSQL table using the Pulsar Debezium connector.</p>
 <ol>
-<li><p>Start a PostgreSQL server with an example database, from which Debezium can capture changes.</p>
-<pre><code class="hljs"> $bash
- docker pull debezium/example-postgres:0.8
- docker run -d -it --rm --name pulsar-postgresql -p 5432:5432  debezium/example-postgres:0.8
+<li><p>Start a PostgreSQL server with a database from which Debezium can capture changes.</p>
+<pre><code class="hljs css language-bash">$ docker pull debezium/example-postgres:0.8
+$ docker run -d -it --rm --name pulsar-postgresql -p 5432:5432  debezium/example-postgres:0.8
 </code></pre></li>
 <li><p>Start a Pulsar service locally in standalone mode.</p>
-<pre><code class="hljs"> $bash
-  bin/pulsar standalone
-</code></pre></li>
-<li><p>Start the Pulsar Debezium connector in local run mode and use the JSON or YAML configuration file in the example above. Make sure the nar file is available at <code>connectors/pulsar-io-debezium-postgres-2.4.1.nar</code>.</p>
-<pre><code class="hljs"> $bash
- bin/pulsar-admin source localrun  --source-config-file debezium-postgres-source-config.yaml
+<pre><code class="hljs css language-bash">$ bin/pulsar standalone
 </code></pre></li>
+<li><p>Start the Pulsar Debezium connector in local run mode using one of the following methods.</p></li>
 </ol>
-<p>Optionally, start Pulsar Debezium connector in local run mode and use the JSON config file in the example above.</p>
-<pre><code class="hljs">```$bash
-bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-postgres-2.4.1.nar --name debezium-postgres-source --destination-topic-name debezium-postgres-topic --tenant public --namespace default --source-config '{&quot;database.hostname&quot;: &quot;localhost&quot;,&quot;database.port&quot;: &quot;5432&quot;,&quot;database.user&quot;: &quot;postgres&quot;,&quot;database.password&quot;: &quot;postgres&quot;,&quot;database.dbname&quot;: &quot;postgres&quot;,&quot;database.ser [...]
-```
-</code></pre>
+<ul>
+<li><p>Use the <strong>JSON</strong> configuration file as shown previously.</p>
+<p>Make sure the nar file is available at <code>connectors/pulsar-io-debezium-postgres-2.4.1.nar</code>.</p>
+<pre><code class="hljs">  ```bash
+  $ bin/pulsar-admin source localrun \
+  --archive connectors/pulsar-io-debezium-postgres-2.4.1.nar \
+  --name debezium-postgres-source \
+  --destination-topic-name debezium-postgres-topic \
+  --tenant public \
+  --namespace default \
+  --source-config '{&quot;database.hostname&quot;: &quot;localhost&quot;,&quot;database.port&quot;: &quot;5432&quot;,&quot;database.user&quot;: &quot;postgres&quot;,&quot;database.password&quot;: &quot;postgres&quot;,&quot;database.dbname&quot;: &quot;postgres&quot;,&quot;database.server.name&quot;: &quot;dbserver1&quot;,&quot;schema.whitelist&quot;: &quot;inventory&quot;,&quot;pulsar.service.url&quot;: &quot;pulsar://127.0.0.1:6650&quot;}'
+  ```
+</code></pre></li>
+<li><p>Use the <strong>YAML</strong> configuration file as shown previously.</p>
+<pre><code class="hljs">  ```bash
+  $ bin/pulsar-admin source localrun  \
+  --source-config-file debezium-postgres-source-config.yaml
+  ```
+</code></pre></li>
+</ul>
 <ol start="4">
-<li><p>PostgreSQL CLI appears after this command is executed. Use the commands below to update the <code>products</code> table.</p>
-<pre><code class="hljs css language-bash">docker <span class="hljs-built_in">exec</span> -it pulsar-postgresql /bin/bash
-</code></pre>
+<li><p>Subscribe the topic <em>sub-products</em> for the <em>inventory.products</em> table.</p>
+<pre><code class="hljs"> $ bin/pulsar-client consume -s &quot;sub-products&quot; public/default/dbserver1.inventory.products -n 0
+</code></pre></li>
+<li><p>Start a PostgreSQL client in docker.</p>
+<pre><code class="hljs css language-bash">$ docker <span class="hljs-built_in">exec</span> -it pulsar-postgresql /bin/bash
+</code></pre></li>
+<li><p>A MySQL client pops out.</p>
+<p>Use the following commands to change the data of the table <em>products</em>.</p>
 <pre><code class="hljs"> psql -U postgres postgres
  postgres=# \c postgres;
  You are now connected to database &quot;postgres&quot; as user &quot;postgres&quot;.
@@ -214,16 +258,13 @@ bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-postgre
  
  postgres=# UPDATE products SET name='1111111111' WHERE id=107;
  UPDATE 1
-</code></pre></li>
-<li><p>Subscribe the topic for the <code>inventory.products</code> table.</p>
-<pre><code class="hljs"> bin/pulsar-client consume -s &quot;sub-products&quot; public/default/dbserver1.inventory.products -n 0
 </code></pre>
-<p>At this time, you will receive the following information:</p>
+<p>In the terminal window of subscribing topic, you can receive the following messages.</p>
 <pre><code class="hljs css language-bash">----- got message -----
 {<span class="hljs-string">"schema"</span>:{<span class="hljs-string">"type"</span>:<span class="hljs-string">"struct"</span>,<span class="hljs-string">"fields"</span>:[{<span class="hljs-string">"type"</span>:<span class="hljs-string">"int32"</span>,<span class="hljs-string">"optional"</span>:<span class="hljs-literal">false</span>,<span class="hljs-string">"field"</span>:<span class="hljs-string">"id"</span>}],<span class="hljs-string">"optional"</span>:<span class="hljs-literal">false [...]
 </code></pre></li>
 </ol>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#example-of-mysql">Example of MySQL</a><ul class="toc-headings"><li><a href="#configuration">Configuration</a></li><li><a href="#usage">Usage</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather [...]
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configuration</a></li><li><a href="#example-of-mysql">Example of MySQL</a><ul class="toc-headings"><li><a href="#configuration-1">Configuration</a></li><li><a href="#usage">Usage</a></li></ul></li><li><a href="#example-of-postgresql">Example of PostgreSQL</a><ul class="toc-headings"><li><a href="#configuration-2">Configuration</a></li><li> [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/next/io-connectors.html b/content/docs/fr/next/io-connectors.html
index 4a6f7a8..c17a1bf 100644
--- a/content/docs/fr/next/io-connectors.html
+++ b/content/docs/fr/next/io-connectors.html
@@ -84,7 +84,7 @@
 <li><p><a href="/docs/fr/next/io-cdc-debezium">Debezium MySQL source connector</a></p></li>
 <li><p><a href="io-postgresql-debezium.md">Debezium PostgreSQL source Connector</a></p></li>
 <li><p><a href="/docs/fr/next/io-file">File source connector</a></p></li>
-<li><p><a href="io-flume-source.md">Flume source connector</a></p></li>
+<li><p><a href="/docs/fr/next/io-flume-source">Flume source connector</a></p></li>
 <li><p><a href="/docs/fr/next/io-twitter">Twitter firehose source connector</a></p></li>
 <li><p><a href="/docs/fr/next/io-kafka">Kafka source connector</a></p></li>
 <li><p><a href="io-kafka-connect.md">Kafka-connect-adaptor source connector</a></p></li>
diff --git a/content/docs/fr/next/io-connectors/index.html b/content/docs/fr/next/io-connectors/index.html
index 4a6f7a8..c17a1bf 100644
--- a/content/docs/fr/next/io-connectors/index.html
+++ b/content/docs/fr/next/io-connectors/index.html
@@ -84,7 +84,7 @@
 <li><p><a href="/docs/fr/next/io-cdc-debezium">Debezium MySQL source connector</a></p></li>
 <li><p><a href="io-postgresql-debezium.md">Debezium PostgreSQL source Connector</a></p></li>
 <li><p><a href="/docs/fr/next/io-file">File source connector</a></p></li>
-<li><p><a href="io-flume-source.md">Flume source connector</a></p></li>
+<li><p><a href="/docs/fr/next/io-flume-source">Flume source connector</a></p></li>
 <li><p><a href="/docs/fr/next/io-twitter">Twitter firehose source connector</a></p></li>
 <li><p><a href="/docs/fr/next/io-kafka">Kafka source connector</a></p></li>
 <li><p><a href="io-kafka-connect.md">Kafka-connect-adaptor source connector</a></p></li>
diff --git a/content/docs/fr/next/io-flume-source.html b/content/docs/fr/next/io-flume-source.html
new file mode 100644
index 0000000..225c230
--- /dev/null
+++ b/content/docs/fr/next/io-flume-source.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Flume source connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Flume source connector pulls messages from logs to Pulsar topics."/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="fr"/><meta property="og:title" con [...]
+              (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+              (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+              m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+              })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+              ga('create', 'UA-102219959-1', 'auto');
+              ga('send', 'pageview');
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sid [...]
+        const languagesMenuItem = document.getElementById("languages-menu");
+        const languagesDropDown = document.getElementById("languages-dropdown");
+        languagesMenuItem.addEventListener("click", function(event) {
+          event.preventDefault();
+
+          if (languagesDropDown.className == "hide") {
+            languagesDropDown.className = "visible";
+          } else {
+            languagesDropDown.className = "hide";
+          }
+        });
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Transla [...]
+<h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>The configuration of Flume source connector has the following parameters.</p>
+<h3><a class="anchor" aria-hidden="true" id="parameter"></a><a href="#parameter" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
+<table>
+<thead>
+<tr><th>Name</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td></td><td></td><td></td><td></td><td></td></tr>
+</tbody>
+</table>
+<p><code>name</code>|String|true|&quot;&quot; (empty string)|Name of the agent <code>confFile</code>|String|true|&quot;&quot; (empty string)|Configuration file <code>noReloadConf</code>|Boolean|false|false|Whether to reload configuration file if changed <code>zkConnString</code>|String|true|&quot;&quot; (empty string)|ZooKeeper connection <code>zkBasePath</code>|String|true|&quot;&quot; (empty string)|Base path in ZooKeeper for agent configuration</p>
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configuration</a><ul class="toc-headings"><li><a href="#parameter">Parameter</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apache Software Found [...]
+      const community = document.querySelector("a[href='#community']").parentNode;
+      const communityMenu =
+        '<li>' +
+        '<a id="community-menu" href="#">Community <span style="font-size: 0.75em">&nbsp;▼</span></a>' +
+        '<div id="community-dropdown" class="hide">' +
+          '<ul id="community-dropdown-items">' +
+            '<li><a href="/fr/contact">Contact</a></li>' +
+            '<li><a href="/fr/contributing">Contributing</a></li>' +
+            '<li><a href="/fr/events">Events</a></li>' +
+            '<li><a href="https://twitter.com/Apache_Pulsar" target="_blank">Twitter &#x2750</a></li>' +
+            '<li><a href="https://github.com/apache/pulsar/wiki" target="_blank">Wiki &#x2750</a></li>' +
+            '<li><a href="https://github.com/apache/pulsar/issues" target="_blank">Issue tracking &#x2750</a></li>' +
+            '<li>&nbsp;</li>' +
+            '<li><a href="/fr/resources">Resources</a></li>' +
+            '<li><a href="/fr/team">Team</a></li>' +
+            '<li><a href="/fr/powered-by">Powered By</a></li>' +
+          '</ul>' +
+        '</div>' +
+        '</li>';
+
+      community.innerHTML = communityMenu;
+
+      const communityMenuItem = document.getElementById("community-menu");
+      const communityDropDown = document.getElementById("community-dropdown");
+      communityMenuItem.addEventListener("click", function(event) {
+        event.preventDefault();
+
+        if (communityDropDown.className == 'hide') {
+          communityDropDown.className = 'visible';
+        } else {
+          communityDropDown.className = 'hide';
+        }
+      });
+    </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>window.twttr=(function(d,s, id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src='https://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js, fjs);t._e = [];t.ready = function(f) {t._e.push(f);};return t;}(document, 'script', 'twitter-wjs'));</script><script>
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:fr","version:next"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/docs/fr/next/io-flume-source/index.html b/content/docs/fr/next/io-flume-source/index.html
new file mode 100644
index 0000000..225c230
--- /dev/null
+++ b/content/docs/fr/next/io-flume-source/index.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Flume source connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Flume source connector pulls messages from logs to Pulsar topics."/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="fr"/><meta property="og:title" con [...]
+              (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+              (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+              m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+              })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+              ga('create', 'UA-102219959-1', 'auto');
+              ga('send', 'pageview');
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sid [...]
+        const languagesMenuItem = document.getElementById("languages-menu");
+        const languagesDropDown = document.getElementById("languages-dropdown");
+        languagesMenuItem.addEventListener("click", function(event) {
+          event.preventDefault();
+
+          if (languagesDropDown.className == "hide") {
+            languagesDropDown.className = "visible";
+          } else {
+            languagesDropDown.className = "hide";
+          }
+        });
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/fr" target="_blank" rel="noreferrer noopener">Transla [...]
+<h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>The configuration of Flume source connector has the following parameters.</p>
+<h3><a class="anchor" aria-hidden="true" id="parameter"></a><a href="#parameter" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
+<table>
+<thead>
+<tr><th>Name</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td></td><td></td><td></td><td></td><td></td></tr>
+</tbody>
+</table>
+<p><code>name</code>|String|true|&quot;&quot; (empty string)|Name of the agent <code>confFile</code>|String|true|&quot;&quot; (empty string)|Configuration file <code>noReloadConf</code>|Boolean|false|false|Whether to reload configuration file if changed <code>zkConnString</code>|String|true|&quot;&quot; (empty string)|ZooKeeper connection <code>zkBasePath</code>|String|true|&quot;&quot; (empty string)|Base path in ZooKeeper for agent configuration</p>
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configuration</a><ul class="toc-headings"><li><a href="#parameter">Parameter</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apache Software Found [...]
+      const community = document.querySelector("a[href='#community']").parentNode;
+      const communityMenu =
+        '<li>' +
+        '<a id="community-menu" href="#">Community <span style="font-size: 0.75em">&nbsp;▼</span></a>' +
+        '<div id="community-dropdown" class="hide">' +
+          '<ul id="community-dropdown-items">' +
+            '<li><a href="/fr/contact">Contact</a></li>' +
+            '<li><a href="/fr/contributing">Contributing</a></li>' +
+            '<li><a href="/fr/events">Events</a></li>' +
+            '<li><a href="https://twitter.com/Apache_Pulsar" target="_blank">Twitter &#x2750</a></li>' +
+            '<li><a href="https://github.com/apache/pulsar/wiki" target="_blank">Wiki &#x2750</a></li>' +
+            '<li><a href="https://github.com/apache/pulsar/issues" target="_blank">Issue tracking &#x2750</a></li>' +
+            '<li>&nbsp;</li>' +
+            '<li><a href="/fr/resources">Resources</a></li>' +
+            '<li><a href="/fr/team">Team</a></li>' +
+            '<li><a href="/fr/powered-by">Powered By</a></li>' +
+          '</ul>' +
+        '</div>' +
+        '</li>';
+
+      community.innerHTML = communityMenu;
+
+      const communityMenuItem = document.getElementById("community-menu");
+      const communityDropDown = document.getElementById("community-dropdown");
+      communityMenuItem.addEventListener("click", function(event) {
+        event.preventDefault();
+
+        if (communityDropDown.className == 'hide') {
+          communityDropDown.className = 'visible';
+        } else {
+          communityDropDown.className = 'hide';
+        }
+      });
+    </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>window.twttr=(function(d,s, id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src='https://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js, fjs);t._e = [];t.ready = function(f) {t._e.push(f);};return t;}(document, 'script', 'twitter-wjs'));</script><script>
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:fr","version:next"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/docs/ja/next/io-cdc-debezium.html b/content/docs/ja/next/io-cdc-debezium.html
index d782f2b..58057ca 100644
--- a/content/docs/ja/next/io-cdc-debezium.html
+++ b/content/docs/ja/next/io-cdc-debezium.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>CDC Debezium Connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="### Source Configuration Options"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="ja"/><meta property="og:title" content="CDC Debezium Connector · Apache [...]
+<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Debezium Connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Debezium source connector pulls messages from MySQL or PostgreSQL to Pulsar topics."/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="ja"/><meta property= [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -18,34 +18,40 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Transla [...]
-<p>The Configuration is mostly related to Debezium task config, besides this we should provides the service URL of Pulsar cluster, and topic names that used to store offset and history.</p>
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Transla [...]
+<p>This guide explains how to congifure and use Debezium source connector.</p>
+<h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>The configuration of Debezium source connector has the following parameters.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>Required</th><th>Default</th><th>Description</th></tr>
 </thead>
 <tbody>
-<tr><td><code>task.class</code></td><td><code>true</code></td><td><code>null</code></td><td>A source task class that implemented in Debezium.</td></tr>
-<tr><td><code>database.hostname</code></td><td><code>true</code></td><td><code>null</code></td><td>The address of the Database server.</td></tr>
-<tr><td><code>database.port</code></td><td><code>true</code></td><td><code>null</code></td><td>The port number of the Database server..</td></tr>
-<tr><td><code>database.user</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the Database user that has the required privileges.</td></tr>
-<tr><td><code>database.password</code></td><td><code>true</code></td><td><code>null</code></td><td>The password for the Database user that has the required privileges.</td></tr>
-<tr><td><code>database.server.id</code></td><td><code>true</code></td><td><code>null</code></td><td>The connector’s identifier that must be unique within the Database cluster and similar to Database’s server-id configuration property.</td></tr>
-<tr><td><code>database.server.name</code></td><td><code>true</code></td><td><code>null</code></td><td>The logical name of the Database server/cluster, which forms a namespace and is used in all the names of the Kafka topics to which the connector writes, the Kafka Connect schema names, and the namespaces of the corresponding Avro schema when the Avro Connector is used.</td></tr>
-<tr><td><code>database.whitelist</code></td><td><code>false</code></td><td><code>null</code></td><td>A list of all databases hosted by this server that this connector will monitor. This is optional, and there are other properties for listing the databases and tables to include or exclude from monitoring.</td></tr>
-<tr><td><code>key.converter</code></td><td><code>true</code></td><td><code>null</code></td><td>The converter provided by Kafka Connect to convert record key.</td></tr>
-<tr><td><code>value.converter</code></td><td><code>true</code></td><td><code>null</code></td><td>The converter provided by Kafka Connect to convert record value.</td></tr>
-<tr><td><code>database.history</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the database history class name.</td></tr>
-<tr><td><code>database.history.pulsar.topic</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the database history topic where the connector will write and recover DDL statements. This topic is for internal use only and should not be used by consumers.</td></tr>
-<tr><td><code>database.history.pulsar.service.url</code></td><td><code>true</code></td><td><code>null</code></td><td>Pulsar cluster service url for history topic.</td></tr>
-<tr><td><code>pulsar.service.url</code></td><td><code>true</code></td><td><code>null</code></td><td>Pulsar cluster service url.</td></tr>
-<tr><td><code>offset.storage.topic</code></td><td><code>true</code></td><td><code>null</code></td><td>Record the last committed offsets that the connector successfully completed.</td></tr>
+<tr><td><code>task.class</code></td><td>true</td><td>null</td><td>A source task class that implemented in Debezium.</td></tr>
+<tr><td><code>database.hostname</code></td><td>true</td><td>null</td><td>The address of a database server.</td></tr>
+<tr><td><code>database.port</code></td><td>true</td><td>null</td><td>The port number of a database server.</td></tr>
+<tr><td><code>database.user</code></td><td>true</td><td>null</td><td>The name of a database user that has the required privileges.</td></tr>
+<tr><td><code>database.password</code></td><td>true</td><td>null</td><td>The password for a database user that has the required privileges.</td></tr>
+<tr><td><code>database.server.id</code></td><td>true</td><td>null</td><td>The connector’s identifier that must be unique within a database cluster and similar to the database’s server-id configuration property.</td></tr>
+<tr><td><code>database.server.name</code></td><td>true</td><td>null</td><td>The logical name of a database server/cluster, which forms a namespace and it is used in all the names of Kafka topics to which the connector writes, the Kafka Connect schema names, and the namespaces of the corresponding Avro schema when the Avro Connector is used.</td></tr>
+<tr><td><code>database.whitelist</code></td><td>false</td><td>null</td><td>A list of all databases hosted by this server which is monitored by the connector.</td></tr>
 </tbody>
 </table>
+<p>This is optional, and there are other properties for listing databases and tables to include or exclude from monitoring.                                                           |
+| <code>key.converter</code>                       | true     | null    | The converter provided by Kafka Connect to convert record key.                                                                                                                                                                                                             |
+| <code>value.converter</code>                     | true     | null    | The converter provided by Kafka Connect to convert record value.                                                                                                                                                                                                           |
+| <code>database.history</code>                    | true     | null    | The name of the database history class.                                                                                                                                                                                                                                    |
+| <code>database.history.pulsar.topic</code>       | true     | null    | The name of the database history topic where the connector writes and recovers DDL statements.</p>
+<p><strong>Note: this topic is for internal use only and should not be used by consumers.</strong>                                                                                    |
+| <code>database.history.pulsar.service.url</code> | true     | null    | Pulsar cluster service URL for history topic.                                                                                                                                                                                                                              |
+| <code>pulsar.service.url</code>                  | true     | null    | Pulsar cluster service URL.                                                                                                                                                                                                                                                |
+| <code>offset.storage.topic</code>                | true     | null    | Record the last committed offsets that the connector successfully completes.                                                                                                                                                                                               |</p>
 <h2><a class="anchor" aria-hidden="true" id="example-of-mysql"></a><a href="#example-of-mysql" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p>We need to create a configuration file before using the Pulsar Debezium connector.</p>
-<h3><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
-<p>Here is a JSON configuration example:</p>
+<p>You need to create a configuration file before using the Pulsar Debezium connector.</p>
+<h3><a class="anchor" aria-hidden="true" id="configuration-1"></a><a href="#configuration-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
+<p>You can use one of the following methods to create a configuration file.</p>
+<ul>
+<li><p>JSON</p>
 <pre><code class="hljs css language-json">{
     <span class="hljs-attr">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
     <span class="hljs-attr">"database.port"</span>: <span class="hljs-string">"3306"</span>,
@@ -62,137 +68,175 @@
     <span class="hljs-attr">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>,
     <span class="hljs-attr">"offset.storage.topic"</span>: <span class="hljs-string">"offset-topic"</span>
 }
-</code></pre>
-<p>Optionally, you can create a <code>debezium-mysql-source-config.yaml</code> file, and copy the [contents] (<a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml">https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml</a>) below to the <code>debezium-mysql-source-config.yaml</code> file.</p>
-<pre><code class="hljs css language-$yaml tenant: &quot;public&quot; namespace: &quot;default&quot; name: &quot;debezium-mysql-source&quot; topicName: &quot;debezium-mysql-topic&quot; archive: &quot;connectors/pulsar-io-debezium-mysql-2.4.1.nar&quot;">
-<span class="hljs-attribute">parallelism</span>: 1
+</code></pre></li>
+<li><p>YAML</p>
+<p>You can create a <code>debezium-mysql-source-config.yaml</code> file and copy the <a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml">contents</a> below to the <code>debezium-mysql-source-config.yaml</code> file.</p>
+<pre><code class="hljs css language-yaml"><span class="hljs-attr">tenant:</span> <span class="hljs-string">"public"</span>
+<span class="hljs-attr">namespace:</span> <span class="hljs-string">"default"</span>
+<span class="hljs-attr">name:</span> <span class="hljs-string">"debezium-mysql-source"</span>
+<span class="hljs-attr">topicName:</span> <span class="hljs-string">"debezium-mysql-topic"</span>
+<span class="hljs-attr">archive:</span> <span class="hljs-string">"connectors/pulsar-io-debezium-mysql-<span class="hljs-template-variable">2.4.1</span>.nar"</span>
+<span class="hljs-attr">parallelism:</span> <span class="hljs-number">1</span>
 
-<span class="stata">configs: ## config <span class="hljs-keyword">for</span> mysql, docker image: debezium/example-mysql:0.8 database.hostname: <span class="hljs-string">"localhost"</span> database.port: <span class="hljs-string">"3306"</span> database.user: <span class="hljs-string">"debezium"</span> database.password: <span class="hljs-string">"dbz"</span> database.server.id: <span class="hljs-string">"184054"</span> database.server.name: <span class="hljs-string">"dbserver1"</span> da [...]
+<span class="hljs-attr">configs:</span>
 
-database.history: <span class="hljs-string">"org.apache.pulsar.io.debezium.PulsarDatabaseHistory"</span> database.history.pulsar.topic: <span class="hljs-string">"history-topic"</span> database.history.pulsar.service.url: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span> ## KEY_CONVERTER_CLASS_CONFIG, VALUE_CONVERTER_CLASS_CONFIG key.converter: <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span> value.converter: <span class="hljs-string">"org.apache.ka [...]
+    <span class="hljs-comment">## config for mysql, docker image: debezium/example-mysql:0.8</span>
+    <span class="hljs-string">database.hostname:</span> <span class="hljs-string">"localhost"</span>
+    <span class="hljs-string">database.port:</span> <span class="hljs-string">"3306"</span>
+    <span class="hljs-string">database.user:</span> <span class="hljs-string">"debezium"</span>
+    <span class="hljs-string">database.password:</span> <span class="hljs-string">"dbz"</span>
+    <span class="hljs-string">database.server.id:</span> <span class="hljs-string">"184054"</span>
+    <span class="hljs-string">database.server.name:</span> <span class="hljs-string">"dbserver1"</span>
+    <span class="hljs-string">database.whitelist:</span> <span class="hljs-string">"inventory"</span>
+    <span class="hljs-string">database.history:</span> <span class="hljs-string">"org.apache.pulsar.io.debezium.PulsarDatabaseHistory"</span>
+    <span class="hljs-string">database.history.pulsar.topic:</span> <span class="hljs-string">"history-topic"</span>
+    <span class="hljs-string">database.history.pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
 
-    &lt;<span class="hljs-keyword">br</span> /&gt;### Usage
-    
-    This example shows how to store the data changes of a MySQL <span class="hljs-keyword">table</span> using the configuration <span class="hljs-keyword">file</span> <span class="hljs-keyword">in</span> the example above.
-    
-    1. Start a MySQL server with <span class="hljs-keyword">an</span> example database, from <span class="hljs-keyword">which</span> Debezium can <span class="hljs-keyword">capture</span> changes.
-    
-        ```<span class="hljs-variable">$bash</span>
-         docker <span class="hljs-keyword">run</span> -it --<span class="hljs-keyword">rm</span> --name mysql -p 3306:3306 -<span class="hljs-keyword">e</span> MYSQL_ROOT_PASSWORD=debezium -<span class="hljs-keyword">e</span> MYSQL_USER=mysqluser -<span class="hljs-keyword">e</span> MYSQL_PASSWORD=mysqlpw debezium/example-mysql:0.8
-        ```
-    
-    2. Start a Pulsar service locally <span class="hljs-keyword">in</span> standalone mode.
-    
-        ```<span class="hljs-variable">$bash</span>
-         bin/pulsar standalone
-        ```
-    
-    3. Start pulsar debezium connector, with <span class="hljs-keyword">local</span> <span class="hljs-keyword">run</span> mode, and using above yaml config <span class="hljs-keyword">file</span>. Please make sure that the nar <span class="hljs-keyword">file</span> is available <span class="hljs-keyword">as</span> configured <span class="hljs-keyword">in</span> path `connectors/pulsar-io-debezium-mysql-{{pulsar:<span class="hljs-keyword">version</span>}}.nar`.
-    
-        ```<span class="hljs-variable">$bash</span>
-         bin/pulsar-admin source localrun  --source-config-<span class="hljs-keyword">file</span> debezium-mysql-source-config.yaml
-        ```
-    
-        ```<span class="hljs-variable">$bash</span>
-        bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-mysql-{{pulsar:<span class="hljs-keyword">version</span>}}.nar --name debezium-mysql-source --destination-topic-name debezium-mysql-topic --tenant public --namespace default --source-config '{<span class="hljs-string">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,<span class="hljs-string">"database.port"</span>: <span class="hljs-string">"3306"</span>,<span class="hljs-string">"dat [...]
-        ```
-    
-    4. Subscribe the topic <span class="hljs-keyword">for</span> <span class="hljs-keyword">table</span> `inventory.products`.
-    
-        ```
-         bin/pulsar-client consume -s <span class="hljs-string">"sub-products"</span> public/default/dbserver1.inventory.products -<span class="hljs-keyword">n</span> 0
-        ```
-    
-    5. start a MySQL <span class="hljs-keyword">cli</span> docker connector, and <span class="hljs-keyword">use</span> it we could change to the <span class="hljs-keyword">table</span> `products` <span class="hljs-keyword">in</span> MySQL server.
-    
-        ```<span class="hljs-variable">$bash</span>
-        <span class="hljs-variable">$docker</span> <span class="hljs-keyword">run</span> -it --<span class="hljs-keyword">rm</span> --name mysqlterm --link mysql --<span class="hljs-keyword">rm</span> mysql:5.7 <span class="hljs-keyword">sh</span> -c 'exec mysql -<span class="hljs-keyword">h</span><span class="hljs-string">"$MYSQL_PORT_3306_TCP_ADDR"</span> -P<span class="hljs-string">"$MYSQL_PORT_3306_TCP_PORT"</span> -uroot -p<span class="hljs-string">"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"</span>'
-        ```
-    
-    6. This command will pop <span class="hljs-keyword">out</span> MySQL <span class="hljs-keyword">cli</span>, <span class="hljs-keyword">in</span> this <span class="hljs-keyword">cli</span>, we could <span class="hljs-keyword">do</span> a change <span class="hljs-keyword">in</span> <span class="hljs-keyword">table</span> products, <span class="hljs-keyword">use</span> commands below to change the name of 2 items <span class="hljs-keyword">in</span> <span class="hljs-keyword">table</spa [...]
-    
-        ```
-        mysql&amp;gt; <span class="hljs-keyword">use</span> inventory;
-        mysql&amp;gt; show tables;
-        mysql&amp;gt; SELECT * FROM  products ;
-        mysql&amp;gt; <span class="hljs-keyword">UPDATE</span> products <span class="hljs-keyword">SET</span> name='1111111111' WHERE id=101;
-        mysql&amp;gt; <span class="hljs-keyword">UPDATE</span> products <span class="hljs-keyword">SET</span> name='1111111111' WHERE id=107;
-        ```
-    
-     <span class="hljs-keyword">In</span> above subscribe topic terminal <span class="hljs-keyword">tab</span>, we could find that 2 changes has been kept into products topic.
-    
-    ## Example of PostgreSQL
-    
-    We need to create a configuration <span class="hljs-keyword">file</span> before using the Pulsar Debezium connector.
-    
-    ### Configuration
-    
-    
-    Here is a JSON configuration example:
-    
-    ```json
-    {
-        <span class="hljs-string">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
-        <span class="hljs-string">"database.port"</span>: <span class="hljs-string">"5432"</span>,
-        <span class="hljs-string">"database.user"</span>: <span class="hljs-string">"postgres"</span>,
-        <span class="hljs-string">"database.password"</span>: <span class="hljs-string">"postgres"</span>,
-        <span class="hljs-string">"database.dbname"</span>: <span class="hljs-string">"postgres"</span>,
-        <span class="hljs-string">"database.server.name"</span>: <span class="hljs-string">"dbserver1"</span>,
-        <span class="hljs-string">"schema.whitelist"</span>: <span class="hljs-string">"inventory"</span>,
-        <span class="hljs-string">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
-    }
-    
+    <span class="hljs-comment">## KEY_CONVERTER_CLASS_CONFIG, VALUE_CONVERTER_CLASS_CONFIG</span>
+    <span class="hljs-string">key.converter:</span> <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span>
+    <span class="hljs-string">value.converter:</span> <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span>
 
-Optionally, you can create a `debezium-postgres-source-config.yaml` <span class="hljs-keyword">file</span>, and <span class="hljs-keyword">copy</span> the \[contents\] (https:<span class="hljs-comment">//github.com/apache/pulsar/blob/master/pulsar-io/debezium/postgres/src/main/resources/debezium-postgres-source-config.yaml) below to the`debezium-postgres-source-config.yaml` file.</span>
+    <span class="hljs-comment">## PULSAR_SERVICE_URL_CONFIG</span>
+    <span class="hljs-string">pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
 
-```yaml
-tenant: <span class="hljs-string">"public"</span>
-namespace: <span class="hljs-string">"default"</span>
-name: <span class="hljs-string">"debezium-postgres-source"</span>
-topicName: <span class="hljs-string">"debezium-postgres-topic"</span>
-archive: <span class="hljs-string">"connectors/pulsar-io-debezium-postgres-2.4.1.nar"</span>
+    <span class="hljs-comment">## OFFSET_STORAGE_TOPIC_CONFIG</span>
+    <span class="hljs-string">offset.storage.topic:</span> <span class="hljs-string">"offset-topic"</span>
+</code></pre></li>
+</ul>
+<h3><a class="anchor" aria-hidden="true" id="使い方"></a><a href="#使い方" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.2 [...]
+<p>This example shows how to change the data of a MySQL table using the Pulsar Debezium connector.</p>
+<ol>
+<li><p>Start a MySQL server with a database from which Debezium can capture changes.</p>
+<pre><code class="hljs css language-bash">$ docker run -it --rm \
+--name mysql \
+-p 3306:3306 \
+-e MYSQL_ROOT_PASSWORD=debezium \
+-e MYSQL_USER=mysqluser \
+-e MYSQL_PASSWORD=mysqlpw debezium/example-mysql:0.8
+</code></pre></li>
+<li><p>Start a Pulsar service locally in standalone mode.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar standalone
+</code></pre></li>
+<li><p>Start the Pulsar Debezium connector in local run mode using one of the following methods.</p>
+<ul>
+<li><p>Use the <strong>JSON</strong> configuration file as shown previously.</p>
+<p>Make sure the nar file is available at <code>connectors/pulsar-io-debezium-mysql-2.4.1.nar</code>.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">source</span> localrun \
+--archive connectors/pulsar-io-debezium-mysql-2.4.1.nar \
+--name debezium-mysql-source --destination-topic-name debezium-mysql-topic \
+--tenant public \
+--namespace default \
+--<span class="hljs-built_in">source</span>-config <span class="hljs-string">'{"database.hostname": "localhost","database.port": "3306","database.user": "debezium","database.password": "dbz","database.server.id": "184054","database.server.name": "dbserver1","database.whitelist": "inventory","database.history": "org.apache.pulsar.io.debezium.PulsarDatabaseHistory","database.history.pulsar.topic": "history-topic","database.history.pulsar.service.url": "pulsar://127.0.0.1:6650","key.convert [...]
+</code></pre>
+<ul>
+<li>Use the <strong>YAML</strong> configuration file as shown previously.</li>
+</ul>
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">source</span> localrun \
+--<span class="hljs-built_in">source</span>-config-file debezium-mysql-source-config.yaml
+</code></pre></li>
+</ul></li>
+<li><p>Subscribe the topic <em>sub-products</em> for the table <em>inventory.products</em>.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-client consume -s <span class="hljs-string">"sub-products"</span> public/default/dbserver1.inventory.products -n 0
+</code></pre></li>
+<li><p>Start a MySQL client in docker.</p>
+<pre><code class="hljs css language-bash">$ docker run -it --rm \
+--name mysqlterm \
+--link mysql \
+--rm mysql:5.7 sh \
+-c <span class="hljs-string">'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'</span>
+</code></pre></li>
+<li><p>A MySQL client pops out.</p>
+<p>Use the following commands to change the data of the table <em>products</em>.</p>
+<pre><code class="hljs"> mysql&gt; use inventory;
+ mysql&gt; show tables;
+ mysql&gt; SELECT * FROM  products;
+ mysql&gt; UPDATE products SET name='1111111111' WHERE id=101;
+ mysql&gt; UPDATE products SET name='1111111111' WHERE id=107;
+</code></pre>
+<p>In the terminal window of subscribing topic, you can find the data changes have been kept in the <em>sub-products</em> topic.</p></li>
+</ol>
+<h2><a class="anchor" aria-hidden="true" id="example-of-postgresql"></a><a href="#example-of-postgresql" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
+<p>You need to create a configuration file before using the Pulsar Debezium connector.</p>
+<h3><a class="anchor" aria-hidden="true" id="configuration-2"></a><a href="#configuration-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
+<p>You can use one of the following methods to create a configuration file.</p>
+<ul>
+<li><p>JSON</p>
+<pre><code class="hljs css language-json">{
+    <span class="hljs-attr">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
+    <span class="hljs-attr">"database.port"</span>: <span class="hljs-string">"5432"</span>,
+    <span class="hljs-attr">"database.user"</span>: <span class="hljs-string">"postgres"</span>,
+    <span class="hljs-attr">"database.password"</span>: <span class="hljs-string">"postgres"</span>,
+    <span class="hljs-attr">"database.dbname"</span>: <span class="hljs-string">"postgres"</span>,
+    <span class="hljs-attr">"database.server.name"</span>: <span class="hljs-string">"dbserver1"</span>,
+    <span class="hljs-attr">"schema.whitelist"</span>: <span class="hljs-string">"inventory"</span>,
+    <span class="hljs-attr">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
+}
+</code></pre></li>
+<li><p>YAML</p>
+<p>You can create a <code>debezium-postgres-source-config.yaml</code> file and copy the <a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/postgres/src/main/resources/debezium-postgres-source-config.yaml">contents</a> below to the <code>debezium-postgres-source-config.yaml</code> file.</p>
+<pre><code class="hljs css language-yaml"><span class="hljs-attr">tenant:</span> <span class="hljs-string">"public"</span>
+<span class="hljs-attr">namespace:</span> <span class="hljs-string">"default"</span>
+<span class="hljs-attr">name:</span> <span class="hljs-string">"debezium-postgres-source"</span>
+<span class="hljs-attr">topicName:</span> <span class="hljs-string">"debezium-postgres-topic"</span>
+<span class="hljs-attr">archive:</span> <span class="hljs-string">"connectors/pulsar-io-debezium-postgres-<span class="hljs-template-variable">2.4.1</span>.nar"</span>
+<span class="hljs-attr">parallelism:</span> <span class="hljs-number">1</span>
 
-parallelism: 1
+<span class="hljs-attr">configs:</span>
 
-configs:
-  ## config <span class="hljs-keyword">for</span> pg, docker image: debezium/example-postgress:0.8
-  database.hostname: <span class="hljs-string">"localhost"</span>
-  database.port: <span class="hljs-string">"5432"</span>
-  database.user: <span class="hljs-string">"postgres"</span>
-  database.password: <span class="hljs-string">"postgres"</span>
-  database.dbname: <span class="hljs-string">"postgres"</span>
-  database.server.name: <span class="hljs-string">"dbserver1"</span>
-  schema.whitelist: <span class="hljs-string">"inventory"</span>
+    <span class="hljs-comment">## config for pg, docker image: debezium/example-postgress:0.8</span>
+    <span class="hljs-string">database.hostname:</span> <span class="hljs-string">"localhost"</span>
+    <span class="hljs-string">database.port:</span> <span class="hljs-string">"5432"</span>
+    <span class="hljs-string">database.user:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.password:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.dbname:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.server.name:</span> <span class="hljs-string">"dbserver1"</span>
+    <span class="hljs-string">schema.whitelist:</span> <span class="hljs-string">"inventory"</span>
 
-  ## PULSAR_SERVICE_URL_CONFIG
-  pulsar.service.url: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
-</span></code></pre>
-<h3><a class="anchor" aria-hidden="true" id="使い方"></a><a href="#使い方" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.2 [...]
-<p>This example shows how to store the data changes of a PostgreSQL table using the configuration file in the example above.</p>
+    <span class="hljs-comment">## PULSAR_SERVICE_URL_CONFIG</span>
+    <span class="hljs-string">pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
+</code></pre></li>
+</ul>
+<h3><a class="anchor" aria-hidden="true" id="使い方-1"></a><a href="#使い方-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
+<p>This example shows how to change the data of a PostgreSQL table using the Pulsar Debezium connector.</p>
 <ol>
-<li><p>Start a PostgreSQL server with an example database, from which Debezium can capture changes.</p>
-<pre><code class="hljs"> $bash
- docker pull debezium/example-postgres:0.8
- docker run -d -it --rm --name pulsar-postgresql -p 5432:5432  debezium/example-postgres:0.8
+<li><p>Start a PostgreSQL server with a database from which Debezium can capture changes.</p>
+<pre><code class="hljs css language-bash">$ docker pull debezium/example-postgres:0.8
+$ docker run -d -it --rm --name pulsar-postgresql -p 5432:5432  debezium/example-postgres:0.8
 </code></pre></li>
 <li><p>Start a Pulsar service locally in standalone mode.</p>
-<pre><code class="hljs"> $bash
-  bin/pulsar standalone
-</code></pre></li>
-<li><p>Start the Pulsar Debezium connector in local run mode and use the JSON or YAML configuration file in the example above. Make sure the nar file is available at <code>connectors/pulsar-io-debezium-postgres-2.4.1.nar</code>.</p>
-<pre><code class="hljs"> $bash
- bin/pulsar-admin source localrun  --source-config-file debezium-postgres-source-config.yaml
+<pre><code class="hljs css language-bash">$ bin/pulsar standalone
 </code></pre></li>
+<li><p>Start the Pulsar Debezium connector in local run mode using one of the following methods.</p></li>
 </ol>
-<p>Optionally, start Pulsar Debezium connector in local run mode and use the JSON config file in the example above.</p>
-<pre><code class="hljs">```$bash
-bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-postgres-2.4.1.nar --name debezium-postgres-source --destination-topic-name debezium-postgres-topic --tenant public --namespace default --source-config '{&quot;database.hostname&quot;: &quot;localhost&quot;,&quot;database.port&quot;: &quot;5432&quot;,&quot;database.user&quot;: &quot;postgres&quot;,&quot;database.password&quot;: &quot;postgres&quot;,&quot;database.dbname&quot;: &quot;postgres&quot;,&quot;database.ser [...]
-```
-</code></pre>
+<ul>
+<li><p>Use the <strong>JSON</strong> configuration file as shown previously.</p>
+<p>Make sure the nar file is available at <code>connectors/pulsar-io-debezium-postgres-2.4.1.nar</code>.</p>
+<pre><code class="hljs">  ```bash
+  $ bin/pulsar-admin source localrun \
+  --archive connectors/pulsar-io-debezium-postgres-2.4.1.nar \
+  --name debezium-postgres-source \
+  --destination-topic-name debezium-postgres-topic \
+  --tenant public \
+  --namespace default \
+  --source-config '{&quot;database.hostname&quot;: &quot;localhost&quot;,&quot;database.port&quot;: &quot;5432&quot;,&quot;database.user&quot;: &quot;postgres&quot;,&quot;database.password&quot;: &quot;postgres&quot;,&quot;database.dbname&quot;: &quot;postgres&quot;,&quot;database.server.name&quot;: &quot;dbserver1&quot;,&quot;schema.whitelist&quot;: &quot;inventory&quot;,&quot;pulsar.service.url&quot;: &quot;pulsar://127.0.0.1:6650&quot;}'
+  ```
+</code></pre></li>
+<li><p>Use the <strong>YAML</strong> configuration file as shown previously.</p>
+<pre><code class="hljs">  ```bash
+  $ bin/pulsar-admin source localrun  \
+  --source-config-file debezium-postgres-source-config.yaml
+  ```
+</code></pre></li>
+</ul>
 <ol start="4">
-<li><p>PostgreSQL CLI appears after this command is executed. Use the commands below to update the <code>products</code> table.</p>
-<pre><code class="hljs css language-bash">docker <span class="hljs-built_in">exec</span> -it pulsar-postgresql /bin/bash
-</code></pre>
+<li><p>Subscribe the topic <em>sub-products</em> for the <em>inventory.products</em> table.</p>
+<pre><code class="hljs"> $ bin/pulsar-client consume -s &quot;sub-products&quot; public/default/dbserver1.inventory.products -n 0
+</code></pre></li>
+<li><p>Start a PostgreSQL client in docker.</p>
+<pre><code class="hljs css language-bash">$ docker <span class="hljs-built_in">exec</span> -it pulsar-postgresql /bin/bash
+</code></pre></li>
+<li><p>A MySQL client pops out.</p>
+<p>Use the following commands to change the data of the table <em>products</em>.</p>
 <pre><code class="hljs"> psql -U postgres postgres
  postgres=# \c postgres;
  You are now connected to database &quot;postgres&quot; as user &quot;postgres&quot;.
@@ -214,16 +258,13 @@ bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-postgre
  
  postgres=# UPDATE products SET name='1111111111' WHERE id=107;
  UPDATE 1
-</code></pre></li>
-<li><p>Subscribe the topic for the <code>inventory.products</code> table.</p>
-<pre><code class="hljs"> bin/pulsar-client consume -s &quot;sub-products&quot; public/default/dbserver1.inventory.products -n 0
 </code></pre>
-<p>At this time, you will receive the following information:</p>
+<p>In the terminal window of subscribing topic, you can receive the following messages.</p>
 <pre><code class="hljs css language-bash">----- got message -----
 {<span class="hljs-string">"schema"</span>:{<span class="hljs-string">"type"</span>:<span class="hljs-string">"struct"</span>,<span class="hljs-string">"fields"</span>:[{<span class="hljs-string">"type"</span>:<span class="hljs-string">"int32"</span>,<span class="hljs-string">"optional"</span>:<span class="hljs-literal">false</span>,<span class="hljs-string">"field"</span>:<span class="hljs-string">"id"</span>}],<span class="hljs-string">"optional"</span>:<span class="hljs-literal">false [...]
 </code></pre></li>
 </ol>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#example-of-mysql">Example of MySQL</a><ul class="toc-headings"><li><a href="#configuration">Configuration</a></li><li><a href="#使い方">使い方</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather log [...]
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configuration</a></li><li><a href="#example-of-mysql">Example of MySQL</a><ul class="toc-headings"><li><a href="#configuration-1">Configuration</a></li><li><a href="#使い方">使い方</a></li></ul></li><li><a href="#example-of-postgresql">Example of PostgreSQL</a><ul class="toc-headings"><li><a href="#configuration-2">Configuration</a></li><li><a h [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/ja/next/io-cdc-debezium/index.html b/content/docs/ja/next/io-cdc-debezium/index.html
index d782f2b..58057ca 100644
--- a/content/docs/ja/next/io-cdc-debezium/index.html
+++ b/content/docs/ja/next/io-cdc-debezium/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>CDC Debezium Connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="### Source Configuration Options"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="ja"/><meta property="og:title" content="CDC Debezium Connector · Apache [...]
+<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Debezium Connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Debezium source connector pulls messages from MySQL or PostgreSQL to Pulsar topics."/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="ja"/><meta property= [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -18,34 +18,40 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Transla [...]
-<p>The Configuration is mostly related to Debezium task config, besides this we should provides the service URL of Pulsar cluster, and topic names that used to store offset and history.</p>
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Transla [...]
+<p>This guide explains how to congifure and use Debezium source connector.</p>
+<h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>The configuration of Debezium source connector has the following parameters.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>Required</th><th>Default</th><th>Description</th></tr>
 </thead>
 <tbody>
-<tr><td><code>task.class</code></td><td><code>true</code></td><td><code>null</code></td><td>A source task class that implemented in Debezium.</td></tr>
-<tr><td><code>database.hostname</code></td><td><code>true</code></td><td><code>null</code></td><td>The address of the Database server.</td></tr>
-<tr><td><code>database.port</code></td><td><code>true</code></td><td><code>null</code></td><td>The port number of the Database server..</td></tr>
-<tr><td><code>database.user</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the Database user that has the required privileges.</td></tr>
-<tr><td><code>database.password</code></td><td><code>true</code></td><td><code>null</code></td><td>The password for the Database user that has the required privileges.</td></tr>
-<tr><td><code>database.server.id</code></td><td><code>true</code></td><td><code>null</code></td><td>The connector’s identifier that must be unique within the Database cluster and similar to Database’s server-id configuration property.</td></tr>
-<tr><td><code>database.server.name</code></td><td><code>true</code></td><td><code>null</code></td><td>The logical name of the Database server/cluster, which forms a namespace and is used in all the names of the Kafka topics to which the connector writes, the Kafka Connect schema names, and the namespaces of the corresponding Avro schema when the Avro Connector is used.</td></tr>
-<tr><td><code>database.whitelist</code></td><td><code>false</code></td><td><code>null</code></td><td>A list of all databases hosted by this server that this connector will monitor. This is optional, and there are other properties for listing the databases and tables to include or exclude from monitoring.</td></tr>
-<tr><td><code>key.converter</code></td><td><code>true</code></td><td><code>null</code></td><td>The converter provided by Kafka Connect to convert record key.</td></tr>
-<tr><td><code>value.converter</code></td><td><code>true</code></td><td><code>null</code></td><td>The converter provided by Kafka Connect to convert record value.</td></tr>
-<tr><td><code>database.history</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the database history class name.</td></tr>
-<tr><td><code>database.history.pulsar.topic</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the database history topic where the connector will write and recover DDL statements. This topic is for internal use only and should not be used by consumers.</td></tr>
-<tr><td><code>database.history.pulsar.service.url</code></td><td><code>true</code></td><td><code>null</code></td><td>Pulsar cluster service url for history topic.</td></tr>
-<tr><td><code>pulsar.service.url</code></td><td><code>true</code></td><td><code>null</code></td><td>Pulsar cluster service url.</td></tr>
-<tr><td><code>offset.storage.topic</code></td><td><code>true</code></td><td><code>null</code></td><td>Record the last committed offsets that the connector successfully completed.</td></tr>
+<tr><td><code>task.class</code></td><td>true</td><td>null</td><td>A source task class that implemented in Debezium.</td></tr>
+<tr><td><code>database.hostname</code></td><td>true</td><td>null</td><td>The address of a database server.</td></tr>
+<tr><td><code>database.port</code></td><td>true</td><td>null</td><td>The port number of a database server.</td></tr>
+<tr><td><code>database.user</code></td><td>true</td><td>null</td><td>The name of a database user that has the required privileges.</td></tr>
+<tr><td><code>database.password</code></td><td>true</td><td>null</td><td>The password for a database user that has the required privileges.</td></tr>
+<tr><td><code>database.server.id</code></td><td>true</td><td>null</td><td>The connector’s identifier that must be unique within a database cluster and similar to the database’s server-id configuration property.</td></tr>
+<tr><td><code>database.server.name</code></td><td>true</td><td>null</td><td>The logical name of a database server/cluster, which forms a namespace and it is used in all the names of Kafka topics to which the connector writes, the Kafka Connect schema names, and the namespaces of the corresponding Avro schema when the Avro Connector is used.</td></tr>
+<tr><td><code>database.whitelist</code></td><td>false</td><td>null</td><td>A list of all databases hosted by this server which is monitored by the connector.</td></tr>
 </tbody>
 </table>
+<p>This is optional, and there are other properties for listing databases and tables to include or exclude from monitoring.                                                           |
+| <code>key.converter</code>                       | true     | null    | The converter provided by Kafka Connect to convert record key.                                                                                                                                                                                                             |
+| <code>value.converter</code>                     | true     | null    | The converter provided by Kafka Connect to convert record value.                                                                                                                                                                                                           |
+| <code>database.history</code>                    | true     | null    | The name of the database history class.                                                                                                                                                                                                                                    |
+| <code>database.history.pulsar.topic</code>       | true     | null    | The name of the database history topic where the connector writes and recovers DDL statements.</p>
+<p><strong>Note: this topic is for internal use only and should not be used by consumers.</strong>                                                                                    |
+| <code>database.history.pulsar.service.url</code> | true     | null    | Pulsar cluster service URL for history topic.                                                                                                                                                                                                                              |
+| <code>pulsar.service.url</code>                  | true     | null    | Pulsar cluster service URL.                                                                                                                                                                                                                                                |
+| <code>offset.storage.topic</code>                | true     | null    | Record the last committed offsets that the connector successfully completes.                                                                                                                                                                                               |</p>
 <h2><a class="anchor" aria-hidden="true" id="example-of-mysql"></a><a href="#example-of-mysql" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p>We need to create a configuration file before using the Pulsar Debezium connector.</p>
-<h3><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
-<p>Here is a JSON configuration example:</p>
+<p>You need to create a configuration file before using the Pulsar Debezium connector.</p>
+<h3><a class="anchor" aria-hidden="true" id="configuration-1"></a><a href="#configuration-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
+<p>You can use one of the following methods to create a configuration file.</p>
+<ul>
+<li><p>JSON</p>
 <pre><code class="hljs css language-json">{
     <span class="hljs-attr">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
     <span class="hljs-attr">"database.port"</span>: <span class="hljs-string">"3306"</span>,
@@ -62,137 +68,175 @@
     <span class="hljs-attr">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>,
     <span class="hljs-attr">"offset.storage.topic"</span>: <span class="hljs-string">"offset-topic"</span>
 }
-</code></pre>
-<p>Optionally, you can create a <code>debezium-mysql-source-config.yaml</code> file, and copy the [contents] (<a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml">https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml</a>) below to the <code>debezium-mysql-source-config.yaml</code> file.</p>
-<pre><code class="hljs css language-$yaml tenant: &quot;public&quot; namespace: &quot;default&quot; name: &quot;debezium-mysql-source&quot; topicName: &quot;debezium-mysql-topic&quot; archive: &quot;connectors/pulsar-io-debezium-mysql-2.4.1.nar&quot;">
-<span class="hljs-attribute">parallelism</span>: 1
+</code></pre></li>
+<li><p>YAML</p>
+<p>You can create a <code>debezium-mysql-source-config.yaml</code> file and copy the <a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml">contents</a> below to the <code>debezium-mysql-source-config.yaml</code> file.</p>
+<pre><code class="hljs css language-yaml"><span class="hljs-attr">tenant:</span> <span class="hljs-string">"public"</span>
+<span class="hljs-attr">namespace:</span> <span class="hljs-string">"default"</span>
+<span class="hljs-attr">name:</span> <span class="hljs-string">"debezium-mysql-source"</span>
+<span class="hljs-attr">topicName:</span> <span class="hljs-string">"debezium-mysql-topic"</span>
+<span class="hljs-attr">archive:</span> <span class="hljs-string">"connectors/pulsar-io-debezium-mysql-<span class="hljs-template-variable">2.4.1</span>.nar"</span>
+<span class="hljs-attr">parallelism:</span> <span class="hljs-number">1</span>
 
-<span class="stata">configs: ## config <span class="hljs-keyword">for</span> mysql, docker image: debezium/example-mysql:0.8 database.hostname: <span class="hljs-string">"localhost"</span> database.port: <span class="hljs-string">"3306"</span> database.user: <span class="hljs-string">"debezium"</span> database.password: <span class="hljs-string">"dbz"</span> database.server.id: <span class="hljs-string">"184054"</span> database.server.name: <span class="hljs-string">"dbserver1"</span> da [...]
+<span class="hljs-attr">configs:</span>
 
-database.history: <span class="hljs-string">"org.apache.pulsar.io.debezium.PulsarDatabaseHistory"</span> database.history.pulsar.topic: <span class="hljs-string">"history-topic"</span> database.history.pulsar.service.url: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span> ## KEY_CONVERTER_CLASS_CONFIG, VALUE_CONVERTER_CLASS_CONFIG key.converter: <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span> value.converter: <span class="hljs-string">"org.apache.ka [...]
+    <span class="hljs-comment">## config for mysql, docker image: debezium/example-mysql:0.8</span>
+    <span class="hljs-string">database.hostname:</span> <span class="hljs-string">"localhost"</span>
+    <span class="hljs-string">database.port:</span> <span class="hljs-string">"3306"</span>
+    <span class="hljs-string">database.user:</span> <span class="hljs-string">"debezium"</span>
+    <span class="hljs-string">database.password:</span> <span class="hljs-string">"dbz"</span>
+    <span class="hljs-string">database.server.id:</span> <span class="hljs-string">"184054"</span>
+    <span class="hljs-string">database.server.name:</span> <span class="hljs-string">"dbserver1"</span>
+    <span class="hljs-string">database.whitelist:</span> <span class="hljs-string">"inventory"</span>
+    <span class="hljs-string">database.history:</span> <span class="hljs-string">"org.apache.pulsar.io.debezium.PulsarDatabaseHistory"</span>
+    <span class="hljs-string">database.history.pulsar.topic:</span> <span class="hljs-string">"history-topic"</span>
+    <span class="hljs-string">database.history.pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
 
-    &lt;<span class="hljs-keyword">br</span> /&gt;### Usage
-    
-    This example shows how to store the data changes of a MySQL <span class="hljs-keyword">table</span> using the configuration <span class="hljs-keyword">file</span> <span class="hljs-keyword">in</span> the example above.
-    
-    1. Start a MySQL server with <span class="hljs-keyword">an</span> example database, from <span class="hljs-keyword">which</span> Debezium can <span class="hljs-keyword">capture</span> changes.
-    
-        ```<span class="hljs-variable">$bash</span>
-         docker <span class="hljs-keyword">run</span> -it --<span class="hljs-keyword">rm</span> --name mysql -p 3306:3306 -<span class="hljs-keyword">e</span> MYSQL_ROOT_PASSWORD=debezium -<span class="hljs-keyword">e</span> MYSQL_USER=mysqluser -<span class="hljs-keyword">e</span> MYSQL_PASSWORD=mysqlpw debezium/example-mysql:0.8
-        ```
-    
-    2. Start a Pulsar service locally <span class="hljs-keyword">in</span> standalone mode.
-    
-        ```<span class="hljs-variable">$bash</span>
-         bin/pulsar standalone
-        ```
-    
-    3. Start pulsar debezium connector, with <span class="hljs-keyword">local</span> <span class="hljs-keyword">run</span> mode, and using above yaml config <span class="hljs-keyword">file</span>. Please make sure that the nar <span class="hljs-keyword">file</span> is available <span class="hljs-keyword">as</span> configured <span class="hljs-keyword">in</span> path `connectors/pulsar-io-debezium-mysql-{{pulsar:<span class="hljs-keyword">version</span>}}.nar`.
-    
-        ```<span class="hljs-variable">$bash</span>
-         bin/pulsar-admin source localrun  --source-config-<span class="hljs-keyword">file</span> debezium-mysql-source-config.yaml
-        ```
-    
-        ```<span class="hljs-variable">$bash</span>
-        bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-mysql-{{pulsar:<span class="hljs-keyword">version</span>}}.nar --name debezium-mysql-source --destination-topic-name debezium-mysql-topic --tenant public --namespace default --source-config '{<span class="hljs-string">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,<span class="hljs-string">"database.port"</span>: <span class="hljs-string">"3306"</span>,<span class="hljs-string">"dat [...]
-        ```
-    
-    4. Subscribe the topic <span class="hljs-keyword">for</span> <span class="hljs-keyword">table</span> `inventory.products`.
-    
-        ```
-         bin/pulsar-client consume -s <span class="hljs-string">"sub-products"</span> public/default/dbserver1.inventory.products -<span class="hljs-keyword">n</span> 0
-        ```
-    
-    5. start a MySQL <span class="hljs-keyword">cli</span> docker connector, and <span class="hljs-keyword">use</span> it we could change to the <span class="hljs-keyword">table</span> `products` <span class="hljs-keyword">in</span> MySQL server.
-    
-        ```<span class="hljs-variable">$bash</span>
-        <span class="hljs-variable">$docker</span> <span class="hljs-keyword">run</span> -it --<span class="hljs-keyword">rm</span> --name mysqlterm --link mysql --<span class="hljs-keyword">rm</span> mysql:5.7 <span class="hljs-keyword">sh</span> -c 'exec mysql -<span class="hljs-keyword">h</span><span class="hljs-string">"$MYSQL_PORT_3306_TCP_ADDR"</span> -P<span class="hljs-string">"$MYSQL_PORT_3306_TCP_PORT"</span> -uroot -p<span class="hljs-string">"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"</span>'
-        ```
-    
-    6. This command will pop <span class="hljs-keyword">out</span> MySQL <span class="hljs-keyword">cli</span>, <span class="hljs-keyword">in</span> this <span class="hljs-keyword">cli</span>, we could <span class="hljs-keyword">do</span> a change <span class="hljs-keyword">in</span> <span class="hljs-keyword">table</span> products, <span class="hljs-keyword">use</span> commands below to change the name of 2 items <span class="hljs-keyword">in</span> <span class="hljs-keyword">table</spa [...]
-    
-        ```
-        mysql&amp;gt; <span class="hljs-keyword">use</span> inventory;
-        mysql&amp;gt; show tables;
-        mysql&amp;gt; SELECT * FROM  products ;
-        mysql&amp;gt; <span class="hljs-keyword">UPDATE</span> products <span class="hljs-keyword">SET</span> name='1111111111' WHERE id=101;
-        mysql&amp;gt; <span class="hljs-keyword">UPDATE</span> products <span class="hljs-keyword">SET</span> name='1111111111' WHERE id=107;
-        ```
-    
-     <span class="hljs-keyword">In</span> above subscribe topic terminal <span class="hljs-keyword">tab</span>, we could find that 2 changes has been kept into products topic.
-    
-    ## Example of PostgreSQL
-    
-    We need to create a configuration <span class="hljs-keyword">file</span> before using the Pulsar Debezium connector.
-    
-    ### Configuration
-    
-    
-    Here is a JSON configuration example:
-    
-    ```json
-    {
-        <span class="hljs-string">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
-        <span class="hljs-string">"database.port"</span>: <span class="hljs-string">"5432"</span>,
-        <span class="hljs-string">"database.user"</span>: <span class="hljs-string">"postgres"</span>,
-        <span class="hljs-string">"database.password"</span>: <span class="hljs-string">"postgres"</span>,
-        <span class="hljs-string">"database.dbname"</span>: <span class="hljs-string">"postgres"</span>,
-        <span class="hljs-string">"database.server.name"</span>: <span class="hljs-string">"dbserver1"</span>,
-        <span class="hljs-string">"schema.whitelist"</span>: <span class="hljs-string">"inventory"</span>,
-        <span class="hljs-string">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
-    }
-    
+    <span class="hljs-comment">## KEY_CONVERTER_CLASS_CONFIG, VALUE_CONVERTER_CLASS_CONFIG</span>
+    <span class="hljs-string">key.converter:</span> <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span>
+    <span class="hljs-string">value.converter:</span> <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span>
 
-Optionally, you can create a `debezium-postgres-source-config.yaml` <span class="hljs-keyword">file</span>, and <span class="hljs-keyword">copy</span> the \[contents\] (https:<span class="hljs-comment">//github.com/apache/pulsar/blob/master/pulsar-io/debezium/postgres/src/main/resources/debezium-postgres-source-config.yaml) below to the`debezium-postgres-source-config.yaml` file.</span>
+    <span class="hljs-comment">## PULSAR_SERVICE_URL_CONFIG</span>
+    <span class="hljs-string">pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
 
-```yaml
-tenant: <span class="hljs-string">"public"</span>
-namespace: <span class="hljs-string">"default"</span>
-name: <span class="hljs-string">"debezium-postgres-source"</span>
-topicName: <span class="hljs-string">"debezium-postgres-topic"</span>
-archive: <span class="hljs-string">"connectors/pulsar-io-debezium-postgres-2.4.1.nar"</span>
+    <span class="hljs-comment">## OFFSET_STORAGE_TOPIC_CONFIG</span>
+    <span class="hljs-string">offset.storage.topic:</span> <span class="hljs-string">"offset-topic"</span>
+</code></pre></li>
+</ul>
+<h3><a class="anchor" aria-hidden="true" id="使い方"></a><a href="#使い方" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.2 [...]
+<p>This example shows how to change the data of a MySQL table using the Pulsar Debezium connector.</p>
+<ol>
+<li><p>Start a MySQL server with a database from which Debezium can capture changes.</p>
+<pre><code class="hljs css language-bash">$ docker run -it --rm \
+--name mysql \
+-p 3306:3306 \
+-e MYSQL_ROOT_PASSWORD=debezium \
+-e MYSQL_USER=mysqluser \
+-e MYSQL_PASSWORD=mysqlpw debezium/example-mysql:0.8
+</code></pre></li>
+<li><p>Start a Pulsar service locally in standalone mode.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar standalone
+</code></pre></li>
+<li><p>Start the Pulsar Debezium connector in local run mode using one of the following methods.</p>
+<ul>
+<li><p>Use the <strong>JSON</strong> configuration file as shown previously.</p>
+<p>Make sure the nar file is available at <code>connectors/pulsar-io-debezium-mysql-2.4.1.nar</code>.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">source</span> localrun \
+--archive connectors/pulsar-io-debezium-mysql-2.4.1.nar \
+--name debezium-mysql-source --destination-topic-name debezium-mysql-topic \
+--tenant public \
+--namespace default \
+--<span class="hljs-built_in">source</span>-config <span class="hljs-string">'{"database.hostname": "localhost","database.port": "3306","database.user": "debezium","database.password": "dbz","database.server.id": "184054","database.server.name": "dbserver1","database.whitelist": "inventory","database.history": "org.apache.pulsar.io.debezium.PulsarDatabaseHistory","database.history.pulsar.topic": "history-topic","database.history.pulsar.service.url": "pulsar://127.0.0.1:6650","key.convert [...]
+</code></pre>
+<ul>
+<li>Use the <strong>YAML</strong> configuration file as shown previously.</li>
+</ul>
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">source</span> localrun \
+--<span class="hljs-built_in">source</span>-config-file debezium-mysql-source-config.yaml
+</code></pre></li>
+</ul></li>
+<li><p>Subscribe the topic <em>sub-products</em> for the table <em>inventory.products</em>.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-client consume -s <span class="hljs-string">"sub-products"</span> public/default/dbserver1.inventory.products -n 0
+</code></pre></li>
+<li><p>Start a MySQL client in docker.</p>
+<pre><code class="hljs css language-bash">$ docker run -it --rm \
+--name mysqlterm \
+--link mysql \
+--rm mysql:5.7 sh \
+-c <span class="hljs-string">'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'</span>
+</code></pre></li>
+<li><p>A MySQL client pops out.</p>
+<p>Use the following commands to change the data of the table <em>products</em>.</p>
+<pre><code class="hljs"> mysql&gt; use inventory;
+ mysql&gt; show tables;
+ mysql&gt; SELECT * FROM  products;
+ mysql&gt; UPDATE products SET name='1111111111' WHERE id=101;
+ mysql&gt; UPDATE products SET name='1111111111' WHERE id=107;
+</code></pre>
+<p>In the terminal window of subscribing topic, you can find the data changes have been kept in the <em>sub-products</em> topic.</p></li>
+</ol>
+<h2><a class="anchor" aria-hidden="true" id="example-of-postgresql"></a><a href="#example-of-postgresql" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
+<p>You need to create a configuration file before using the Pulsar Debezium connector.</p>
+<h3><a class="anchor" aria-hidden="true" id="configuration-2"></a><a href="#configuration-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
+<p>You can use one of the following methods to create a configuration file.</p>
+<ul>
+<li><p>JSON</p>
+<pre><code class="hljs css language-json">{
+    <span class="hljs-attr">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
+    <span class="hljs-attr">"database.port"</span>: <span class="hljs-string">"5432"</span>,
+    <span class="hljs-attr">"database.user"</span>: <span class="hljs-string">"postgres"</span>,
+    <span class="hljs-attr">"database.password"</span>: <span class="hljs-string">"postgres"</span>,
+    <span class="hljs-attr">"database.dbname"</span>: <span class="hljs-string">"postgres"</span>,
+    <span class="hljs-attr">"database.server.name"</span>: <span class="hljs-string">"dbserver1"</span>,
+    <span class="hljs-attr">"schema.whitelist"</span>: <span class="hljs-string">"inventory"</span>,
+    <span class="hljs-attr">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
+}
+</code></pre></li>
+<li><p>YAML</p>
+<p>You can create a <code>debezium-postgres-source-config.yaml</code> file and copy the <a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/postgres/src/main/resources/debezium-postgres-source-config.yaml">contents</a> below to the <code>debezium-postgres-source-config.yaml</code> file.</p>
+<pre><code class="hljs css language-yaml"><span class="hljs-attr">tenant:</span> <span class="hljs-string">"public"</span>
+<span class="hljs-attr">namespace:</span> <span class="hljs-string">"default"</span>
+<span class="hljs-attr">name:</span> <span class="hljs-string">"debezium-postgres-source"</span>
+<span class="hljs-attr">topicName:</span> <span class="hljs-string">"debezium-postgres-topic"</span>
+<span class="hljs-attr">archive:</span> <span class="hljs-string">"connectors/pulsar-io-debezium-postgres-<span class="hljs-template-variable">2.4.1</span>.nar"</span>
+<span class="hljs-attr">parallelism:</span> <span class="hljs-number">1</span>
 
-parallelism: 1
+<span class="hljs-attr">configs:</span>
 
-configs:
-  ## config <span class="hljs-keyword">for</span> pg, docker image: debezium/example-postgress:0.8
-  database.hostname: <span class="hljs-string">"localhost"</span>
-  database.port: <span class="hljs-string">"5432"</span>
-  database.user: <span class="hljs-string">"postgres"</span>
-  database.password: <span class="hljs-string">"postgres"</span>
-  database.dbname: <span class="hljs-string">"postgres"</span>
-  database.server.name: <span class="hljs-string">"dbserver1"</span>
-  schema.whitelist: <span class="hljs-string">"inventory"</span>
+    <span class="hljs-comment">## config for pg, docker image: debezium/example-postgress:0.8</span>
+    <span class="hljs-string">database.hostname:</span> <span class="hljs-string">"localhost"</span>
+    <span class="hljs-string">database.port:</span> <span class="hljs-string">"5432"</span>
+    <span class="hljs-string">database.user:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.password:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.dbname:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.server.name:</span> <span class="hljs-string">"dbserver1"</span>
+    <span class="hljs-string">schema.whitelist:</span> <span class="hljs-string">"inventory"</span>
 
-  ## PULSAR_SERVICE_URL_CONFIG
-  pulsar.service.url: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
-</span></code></pre>
-<h3><a class="anchor" aria-hidden="true" id="使い方"></a><a href="#使い方" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.2 [...]
-<p>This example shows how to store the data changes of a PostgreSQL table using the configuration file in the example above.</p>
+    <span class="hljs-comment">## PULSAR_SERVICE_URL_CONFIG</span>
+    <span class="hljs-string">pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
+</code></pre></li>
+</ul>
+<h3><a class="anchor" aria-hidden="true" id="使い方-1"></a><a href="#使い方-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
+<p>This example shows how to change the data of a PostgreSQL table using the Pulsar Debezium connector.</p>
 <ol>
-<li><p>Start a PostgreSQL server with an example database, from which Debezium can capture changes.</p>
-<pre><code class="hljs"> $bash
- docker pull debezium/example-postgres:0.8
- docker run -d -it --rm --name pulsar-postgresql -p 5432:5432  debezium/example-postgres:0.8
+<li><p>Start a PostgreSQL server with a database from which Debezium can capture changes.</p>
+<pre><code class="hljs css language-bash">$ docker pull debezium/example-postgres:0.8
+$ docker run -d -it --rm --name pulsar-postgresql -p 5432:5432  debezium/example-postgres:0.8
 </code></pre></li>
 <li><p>Start a Pulsar service locally in standalone mode.</p>
-<pre><code class="hljs"> $bash
-  bin/pulsar standalone
-</code></pre></li>
-<li><p>Start the Pulsar Debezium connector in local run mode and use the JSON or YAML configuration file in the example above. Make sure the nar file is available at <code>connectors/pulsar-io-debezium-postgres-2.4.1.nar</code>.</p>
-<pre><code class="hljs"> $bash
- bin/pulsar-admin source localrun  --source-config-file debezium-postgres-source-config.yaml
+<pre><code class="hljs css language-bash">$ bin/pulsar standalone
 </code></pre></li>
+<li><p>Start the Pulsar Debezium connector in local run mode using one of the following methods.</p></li>
 </ol>
-<p>Optionally, start Pulsar Debezium connector in local run mode and use the JSON config file in the example above.</p>
-<pre><code class="hljs">```$bash
-bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-postgres-2.4.1.nar --name debezium-postgres-source --destination-topic-name debezium-postgres-topic --tenant public --namespace default --source-config '{&quot;database.hostname&quot;: &quot;localhost&quot;,&quot;database.port&quot;: &quot;5432&quot;,&quot;database.user&quot;: &quot;postgres&quot;,&quot;database.password&quot;: &quot;postgres&quot;,&quot;database.dbname&quot;: &quot;postgres&quot;,&quot;database.ser [...]
-```
-</code></pre>
+<ul>
+<li><p>Use the <strong>JSON</strong> configuration file as shown previously.</p>
+<p>Make sure the nar file is available at <code>connectors/pulsar-io-debezium-postgres-2.4.1.nar</code>.</p>
+<pre><code class="hljs">  ```bash
+  $ bin/pulsar-admin source localrun \
+  --archive connectors/pulsar-io-debezium-postgres-2.4.1.nar \
+  --name debezium-postgres-source \
+  --destination-topic-name debezium-postgres-topic \
+  --tenant public \
+  --namespace default \
+  --source-config '{&quot;database.hostname&quot;: &quot;localhost&quot;,&quot;database.port&quot;: &quot;5432&quot;,&quot;database.user&quot;: &quot;postgres&quot;,&quot;database.password&quot;: &quot;postgres&quot;,&quot;database.dbname&quot;: &quot;postgres&quot;,&quot;database.server.name&quot;: &quot;dbserver1&quot;,&quot;schema.whitelist&quot;: &quot;inventory&quot;,&quot;pulsar.service.url&quot;: &quot;pulsar://127.0.0.1:6650&quot;}'
+  ```
+</code></pre></li>
+<li><p>Use the <strong>YAML</strong> configuration file as shown previously.</p>
+<pre><code class="hljs">  ```bash
+  $ bin/pulsar-admin source localrun  \
+  --source-config-file debezium-postgres-source-config.yaml
+  ```
+</code></pre></li>
+</ul>
 <ol start="4">
-<li><p>PostgreSQL CLI appears after this command is executed. Use the commands below to update the <code>products</code> table.</p>
-<pre><code class="hljs css language-bash">docker <span class="hljs-built_in">exec</span> -it pulsar-postgresql /bin/bash
-</code></pre>
+<li><p>Subscribe the topic <em>sub-products</em> for the <em>inventory.products</em> table.</p>
+<pre><code class="hljs"> $ bin/pulsar-client consume -s &quot;sub-products&quot; public/default/dbserver1.inventory.products -n 0
+</code></pre></li>
+<li><p>Start a PostgreSQL client in docker.</p>
+<pre><code class="hljs css language-bash">$ docker <span class="hljs-built_in">exec</span> -it pulsar-postgresql /bin/bash
+</code></pre></li>
+<li><p>A MySQL client pops out.</p>
+<p>Use the following commands to change the data of the table <em>products</em>.</p>
 <pre><code class="hljs"> psql -U postgres postgres
  postgres=# \c postgres;
  You are now connected to database &quot;postgres&quot; as user &quot;postgres&quot;.
@@ -214,16 +258,13 @@ bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-postgre
  
  postgres=# UPDATE products SET name='1111111111' WHERE id=107;
  UPDATE 1
-</code></pre></li>
-<li><p>Subscribe the topic for the <code>inventory.products</code> table.</p>
-<pre><code class="hljs"> bin/pulsar-client consume -s &quot;sub-products&quot; public/default/dbserver1.inventory.products -n 0
 </code></pre>
-<p>At this time, you will receive the following information:</p>
+<p>In the terminal window of subscribing topic, you can receive the following messages.</p>
 <pre><code class="hljs css language-bash">----- got message -----
 {<span class="hljs-string">"schema"</span>:{<span class="hljs-string">"type"</span>:<span class="hljs-string">"struct"</span>,<span class="hljs-string">"fields"</span>:[{<span class="hljs-string">"type"</span>:<span class="hljs-string">"int32"</span>,<span class="hljs-string">"optional"</span>:<span class="hljs-literal">false</span>,<span class="hljs-string">"field"</span>:<span class="hljs-string">"id"</span>}],<span class="hljs-string">"optional"</span>:<span class="hljs-literal">false [...]
 </code></pre></li>
 </ol>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#example-of-mysql">Example of MySQL</a><ul class="toc-headings"><li><a href="#configuration">Configuration</a></li><li><a href="#使い方">使い方</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather log [...]
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configuration</a></li><li><a href="#example-of-mysql">Example of MySQL</a><ul class="toc-headings"><li><a href="#configuration-1">Configuration</a></li><li><a href="#使い方">使い方</a></li></ul></li><li><a href="#example-of-postgresql">Example of PostgreSQL</a><ul class="toc-headings"><li><a href="#configuration-2">Configuration</a></li><li><a h [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/ja/next/io-connectors.html b/content/docs/ja/next/io-connectors.html
index 8a35fcb..b7f7a7d 100644
--- a/content/docs/ja/next/io-connectors.html
+++ b/content/docs/ja/next/io-connectors.html
@@ -84,7 +84,7 @@
 <li><p><a href="/docs/ja/next/io-cdc-debezium">Debezium MySQL source connector</a></p></li>
 <li><p><a href="io-postgresql-debezium.md">Debezium PostgreSQL source Connector</a></p></li>
 <li><p><a href="/docs/ja/next/io-file">File source connector</a></p></li>
-<li><p><a href="io-flume-source.md">Flume source connector</a></p></li>
+<li><p><a href="/docs/ja/next/io-flume-source">Flume source connector</a></p></li>
 <li><p><a href="/docs/ja/next/io-twitter">Twitter firehose source connector</a></p></li>
 <li><p><a href="/docs/ja/next/io-kafka">Kafka source connector</a></p></li>
 <li><p><a href="io-kafka-connect.md">Kafka-connect-adaptor source connector</a></p></li>
diff --git a/content/docs/ja/next/io-connectors/index.html b/content/docs/ja/next/io-connectors/index.html
index 8a35fcb..b7f7a7d 100644
--- a/content/docs/ja/next/io-connectors/index.html
+++ b/content/docs/ja/next/io-connectors/index.html
@@ -84,7 +84,7 @@
 <li><p><a href="/docs/ja/next/io-cdc-debezium">Debezium MySQL source connector</a></p></li>
 <li><p><a href="io-postgresql-debezium.md">Debezium PostgreSQL source Connector</a></p></li>
 <li><p><a href="/docs/ja/next/io-file">File source connector</a></p></li>
-<li><p><a href="io-flume-source.md">Flume source connector</a></p></li>
+<li><p><a href="/docs/ja/next/io-flume-source">Flume source connector</a></p></li>
 <li><p><a href="/docs/ja/next/io-twitter">Twitter firehose source connector</a></p></li>
 <li><p><a href="/docs/ja/next/io-kafka">Kafka source connector</a></p></li>
 <li><p><a href="io-kafka-connect.md">Kafka-connect-adaptor source connector</a></p></li>
diff --git a/content/docs/ja/next/io-flume-source.html b/content/docs/ja/next/io-flume-source.html
new file mode 100644
index 0000000..3bf361a
--- /dev/null
+++ b/content/docs/ja/next/io-flume-source.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Flume source connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Flume source connector pulls messages from logs to Pulsar topics."/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="ja"/><meta property="og:title" con [...]
+              (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+              (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+              m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+              })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+              ga('create', 'UA-102219959-1', 'auto');
+              ga('send', 'pageview');
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sid [...]
+        const languagesMenuItem = document.getElementById("languages-menu");
+        const languagesDropDown = document.getElementById("languages-dropdown");
+        languagesMenuItem.addEventListener("click", function(event) {
+          event.preventDefault();
+
+          if (languagesDropDown.className == "hide") {
+            languagesDropDown.className = "visible";
+          } else {
+            languagesDropDown.className = "hide";
+          }
+        });
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Transla [...]
+<h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>The configuration of Flume source connector has the following parameters.</p>
+<h3><a class="anchor" aria-hidden="true" id="parameter"></a><a href="#parameter" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
+<table>
+<thead>
+<tr><th>Name</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td></td><td></td><td></td><td></td><td></td></tr>
+</tbody>
+</table>
+<p><code>name</code>|String|true|&quot;&quot; (empty string)|Name of the agent <code>confFile</code>|String|true|&quot;&quot; (empty string)|Configuration file <code>noReloadConf</code>|Boolean|false|false|Whether to reload configuration file if changed <code>zkConnString</code>|String|true|&quot;&quot; (empty string)|ZooKeeper connection <code>zkBasePath</code>|String|true|&quot;&quot; (empty string)|Base path in ZooKeeper for agent configuration</p>
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configuration</a><ul class="toc-headings"><li><a href="#parameter">Parameter</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apache Software Found [...]
+      const community = document.querySelector("a[href='#community']").parentNode;
+      const communityMenu =
+        '<li>' +
+        '<a id="community-menu" href="#">Community <span style="font-size: 0.75em">&nbsp;▼</span></a>' +
+        '<div id="community-dropdown" class="hide">' +
+          '<ul id="community-dropdown-items">' +
+            '<li><a href="/ja/contact">Contact</a></li>' +
+            '<li><a href="/ja/contributing">Contributing</a></li>' +
+            '<li><a href="/ja/events">Events</a></li>' +
+            '<li><a href="https://twitter.com/Apache_Pulsar" target="_blank">Twitter &#x2750</a></li>' +
+            '<li><a href="https://github.com/apache/pulsar/wiki" target="_blank">Wiki &#x2750</a></li>' +
+            '<li><a href="https://github.com/apache/pulsar/issues" target="_blank">Issue tracking &#x2750</a></li>' +
+            '<li>&nbsp;</li>' +
+            '<li><a href="/ja/resources">Resources</a></li>' +
+            '<li><a href="/ja/team">Team</a></li>' +
+            '<li><a href="/ja/powered-by">Powered By</a></li>' +
+          '</ul>' +
+        '</div>' +
+        '</li>';
+
+      community.innerHTML = communityMenu;
+
+      const communityMenuItem = document.getElementById("community-menu");
+      const communityDropDown = document.getElementById("community-dropdown");
+      communityMenuItem.addEventListener("click", function(event) {
+        event.preventDefault();
+
+        if (communityDropDown.className == 'hide') {
+          communityDropDown.className = 'visible';
+        } else {
+          communityDropDown.className = 'hide';
+        }
+      });
+    </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>window.twttr=(function(d,s, id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src='https://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js, fjs);t._e = [];t.ready = function(f) {t._e.push(f);};return t;}(document, 'script', 'twitter-wjs'));</script><script>
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:ja","version:next"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/docs/ja/next/io-flume-source/index.html b/content/docs/ja/next/io-flume-source/index.html
new file mode 100644
index 0000000..3bf361a
--- /dev/null
+++ b/content/docs/ja/next/io-flume-source/index.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Flume source connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Flume source connector pulls messages from logs to Pulsar topics."/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="ja"/><meta property="og:title" con [...]
+              (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+              (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+              m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+              })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+              ga('create', 'UA-102219959-1', 'auto');
+              ga('send', 'pageview');
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sid [...]
+        const languagesMenuItem = document.getElementById("languages-menu");
+        const languagesDropDown = document.getElementById("languages-dropdown");
+        languagesMenuItem.addEventListener("click", function(event) {
+          event.preventDefault();
+
+          if (languagesDropDown.className == "hide") {
+            languagesDropDown.className = "visible";
+          } else {
+            languagesDropDown.className = "hide";
+          }
+        });
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/ja" target="_blank" rel="noreferrer noopener">Transla [...]
+<h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>The configuration of Flume source connector has the following parameters.</p>
+<h3><a class="anchor" aria-hidden="true" id="parameter"></a><a href="#parameter" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
+<table>
+<thead>
+<tr><th>Name</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td></td><td></td><td></td><td></td><td></td></tr>
+</tbody>
+</table>
+<p><code>name</code>|String|true|&quot;&quot; (empty string)|Name of the agent <code>confFile</code>|String|true|&quot;&quot; (empty string)|Configuration file <code>noReloadConf</code>|Boolean|false|false|Whether to reload configuration file if changed <code>zkConnString</code>|String|true|&quot;&quot; (empty string)|ZooKeeper connection <code>zkBasePath</code>|String|true|&quot;&quot; (empty string)|Base path in ZooKeeper for agent configuration</p>
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configuration</a><ul class="toc-headings"><li><a href="#parameter">Parameter</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apache Software Found [...]
+      const community = document.querySelector("a[href='#community']").parentNode;
+      const communityMenu =
+        '<li>' +
+        '<a id="community-menu" href="#">Community <span style="font-size: 0.75em">&nbsp;▼</span></a>' +
+        '<div id="community-dropdown" class="hide">' +
+          '<ul id="community-dropdown-items">' +
+            '<li><a href="/ja/contact">Contact</a></li>' +
+            '<li><a href="/ja/contributing">Contributing</a></li>' +
+            '<li><a href="/ja/events">Events</a></li>' +
+            '<li><a href="https://twitter.com/Apache_Pulsar" target="_blank">Twitter &#x2750</a></li>' +
+            '<li><a href="https://github.com/apache/pulsar/wiki" target="_blank">Wiki &#x2750</a></li>' +
+            '<li><a href="https://github.com/apache/pulsar/issues" target="_blank">Issue tracking &#x2750</a></li>' +
+            '<li>&nbsp;</li>' +
+            '<li><a href="/ja/resources">Resources</a></li>' +
+            '<li><a href="/ja/team">Team</a></li>' +
+            '<li><a href="/ja/powered-by">Powered By</a></li>' +
+          '</ul>' +
+        '</div>' +
+        '</li>';
+
+      community.innerHTML = communityMenu;
+
+      const communityMenuItem = document.getElementById("community-menu");
+      const communityDropDown = document.getElementById("community-dropdown");
+      communityMenuItem.addEventListener("click", function(event) {
+        event.preventDefault();
+
+        if (communityDropDown.className == 'hide') {
+          communityDropDown.className = 'visible';
+        } else {
+          communityDropDown.className = 'hide';
+        }
+      });
+    </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>window.twttr=(function(d,s, id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src='https://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js, fjs);t._e = [];t.ready = function(f) {t._e.push(f);};return t;}(document, 'script', 'twitter-wjs'));</script><script>
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:ja","version:next"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/docs/next/io-flume-source.html b/content/docs/next/io-flume-source.html
new file mode 100644
index 0000000..e29b69c
--- /dev/null
+++ b/content/docs/next/io-flume-source.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content [...]
+              (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+              (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+              m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+              })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+              ga('create', 'UA-102219959-1', 'auto');
+              ga('send', 'pageview');
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><script>
+                <!--
+                window.location.href = "/docs/en/next/io-flume-source";
+                // -->
+                </script></body></html>
\ No newline at end of file
diff --git a/content/docs/next/io-flume-source/index.html b/content/docs/next/io-flume-source/index.html
new file mode 100644
index 0000000..e29b69c
--- /dev/null
+++ b/content/docs/next/io-flume-source/index.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content [...]
+              (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+              (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+              m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+              })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+              ga('create', 'UA-102219959-1', 'auto');
+              ga('send', 'pageview');
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><script>
+                <!--
+                window.location.href = "/docs/en/next/io-flume-source";
+                // -->
+                </script></body></html>
\ No newline at end of file
diff --git a/content/docs/zh-CN/next/io-cdc-debezium.html b/content/docs/zh-CN/next/io-cdc-debezium.html
index 21e9b77..3949de0 100644
--- a/content/docs/zh-CN/next/io-cdc-debezium.html
+++ b/content/docs/zh-CN/next/io-cdc-debezium.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>CDC Debezium Connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="### Source Configuration Options"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="CDC Debezium Connector ·  [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Debezium Connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Debezium source connector pulls messages from MySQL or PostgreSQL to Pulsar topics."/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta pro [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -18,34 +18,40 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Tran [...]
-<p>The Configuration is mostly related to Debezium task config, besides this we should provides the service URL of Pulsar cluster, and topic names that used to store offset and history.</p>
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Tran [...]
+<p>This guide explains how to congifure and use Debezium source connector.</p>
+<h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>The configuration of Debezium source connector has the following parameters.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>Required</th><th>默认值</th><th>说明:</th></tr>
 </thead>
 <tbody>
-<tr><td><code>task.class</code></td><td><code>true</code></td><td><code>null</code></td><td>A source task class that implemented in Debezium.</td></tr>
-<tr><td><code>database.hostname</code></td><td><code>true</code></td><td><code>null</code></td><td>The address of the Database server.</td></tr>
-<tr><td><code>database.port</code></td><td><code>true</code></td><td><code>null</code></td><td>The port number of the Database server..</td></tr>
-<tr><td><code>database.user</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the Database user that has the required privileges.</td></tr>
-<tr><td><code>database.password</code></td><td><code>true</code></td><td><code>null</code></td><td>The password for the Database user that has the required privileges.</td></tr>
-<tr><td><code>database.server.id</code></td><td><code>true</code></td><td><code>null</code></td><td>The connector’s identifier that must be unique within the Database cluster and similar to Database’s server-id configuration property.</td></tr>
-<tr><td><code>database.server.name</code></td><td><code>true</code></td><td><code>null</code></td><td>The logical name of the Database server/cluster, which forms a namespace and is used in all the names of the Kafka topics to which the connector writes, the Kafka Connect schema names, and the namespaces of the corresponding Avro schema when the Avro Connector is used.</td></tr>
-<tr><td><code>database.whitelist</code></td><td><code>false</code></td><td><code>null</code></td><td>A list of all databases hosted by this server that this connector will monitor. This is optional, and there are other properties for listing the databases and tables to include or exclude from monitoring.</td></tr>
-<tr><td><code>key.converter</code></td><td><code>true</code></td><td><code>null</code></td><td>The converter provided by Kafka Connect to convert record key.</td></tr>
-<tr><td><code>value.converter</code></td><td><code>true</code></td><td><code>null</code></td><td>The converter provided by Kafka Connect to convert record value.</td></tr>
-<tr><td><code>database.history</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the database history class name.</td></tr>
-<tr><td><code>database.history.pulsar.topic</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the database history topic where the connector will write and recover DDL statements. This topic is for internal use only and should not be used by consumers.</td></tr>
-<tr><td><code>database.history.pulsar.service.url</code></td><td><code>true</code></td><td><code>null</code></td><td>Pulsar cluster service url for history topic.</td></tr>
-<tr><td><code>pulsar.service.url</code></td><td><code>true</code></td><td><code>null</code></td><td>Pulsar cluster service url.</td></tr>
-<tr><td><code>offset.storage.topic</code></td><td><code>true</code></td><td><code>null</code></td><td>Record the last committed offsets that the connector successfully completed.</td></tr>
+<tr><td><code>task.class</code></td><td>true</td><td>null</td><td>A source task class that implemented in Debezium.</td></tr>
+<tr><td><code>database.hostname</code></td><td>true</td><td>null</td><td>The address of a database server.</td></tr>
+<tr><td><code>database.port</code></td><td>true</td><td>null</td><td>The port number of a database server.</td></tr>
+<tr><td><code>database.user</code></td><td>true</td><td>null</td><td>The name of a database user that has the required privileges.</td></tr>
+<tr><td><code>database.password</code></td><td>true</td><td>null</td><td>The password for a database user that has the required privileges.</td></tr>
+<tr><td><code>database.server.id</code></td><td>true</td><td>null</td><td>The connector’s identifier that must be unique within a database cluster and similar to the database’s server-id configuration property.</td></tr>
+<tr><td><code>database.server.name</code></td><td>true</td><td>null</td><td>The logical name of a database server/cluster, which forms a namespace and it is used in all the names of Kafka topics to which the connector writes, the Kafka Connect schema names, and the namespaces of the corresponding Avro schema when the Avro Connector is used.</td></tr>
+<tr><td><code>database.whitelist</code></td><td>false</td><td>null</td><td>A list of all databases hosted by this server which is monitored by the connector.</td></tr>
 </tbody>
 </table>
+<p>This is optional, and there are other properties for listing databases and tables to include or exclude from monitoring.                                                           |
+| <code>key.converter</code>                       | true     | null | The converter provided by Kafka Connect to convert record key.                                                                                                                                                                                                             |
+| <code>value.converter</code>                     | true     | null | The converter provided by Kafka Connect to convert record value.                                                                                                                                                                                                           |
+| <code>database.history</code>                    | true     | null | The name of the database history class.                                                                                                                                                                                                                                    |
+| <code>database.history.pulsar.topic</code>       | true     | null | The name of the database history topic where the connector writes and recovers DDL statements.</p>
+<p><strong>Note: this topic is for internal use only and should not be used by consumers.</strong>                                                                                    |
+| <code>database.history.pulsar.service.url</code> | true     | null | Pulsar cluster service URL for history topic.                                                                                                                                                                                                                              |
+| <code>pulsar.service.url</code>                  | true     | null | Pulsar cluster service URL.                                                                                                                                                                                                                                                |
+| <code>offset.storage.topic</code>                | true     | null | Record the last committed offsets that the connector successfully completes.                                                                                                                                                                                               |</p>
 <h2><a class="anchor" aria-hidden="true" id="example-of-mysql"></a><a href="#example-of-mysql" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p>We need to create a configuration file before using the Pulsar Debezium connector.</p>
-<h3><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
-<p>Here is a JSON configuration example:</p>
+<p>You need to create a configuration file before using the Pulsar Debezium connector.</p>
+<h3><a class="anchor" aria-hidden="true" id="configuration-1"></a><a href="#configuration-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
+<p>You can use one of the following methods to create a configuration file.</p>
+<ul>
+<li><p>JSON</p>
 <pre><code class="hljs css language-json">{
     <span class="hljs-attr">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
     <span class="hljs-attr">"database.port"</span>: <span class="hljs-string">"3306"</span>,
@@ -62,137 +68,175 @@
     <span class="hljs-attr">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>,
     <span class="hljs-attr">"offset.storage.topic"</span>: <span class="hljs-string">"offset-topic"</span>
 }
-</code></pre>
-<p>Optionally, you can create a <code>debezium-mysql-source-config.yaml</code> file, and copy the [contents] (<a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml">https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml</a>) below to the <code>debezium-mysql-source-config.yaml</code> file.</p>
-<pre><code class="hljs css language-$yaml tenant: &quot;public&quot; namespace: &quot;default&quot; name: &quot;debezium-mysql-source&quot; topicName: &quot;debezium-mysql-topic&quot; archive: &quot;connectors/pulsar-io-debezium-mysql-2.4.1.nar&quot;">
-<span class="hljs-attribute">parallelism</span>: 1
+</code></pre></li>
+<li><p>YAML</p>
+<p>You can create a <code>debezium-mysql-source-config.yaml</code> file and copy the <a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml">contents</a> below to the <code>debezium-mysql-source-config.yaml</code> file.</p>
+<pre><code class="hljs css language-yaml"><span class="hljs-attr">tenant:</span> <span class="hljs-string">"public"</span>
+<span class="hljs-attr">namespace:</span> <span class="hljs-string">"default"</span>
+<span class="hljs-attr">name:</span> <span class="hljs-string">"debezium-mysql-source"</span>
+<span class="hljs-attr">topicName:</span> <span class="hljs-string">"debezium-mysql-topic"</span>
+<span class="hljs-attr">archive:</span> <span class="hljs-string">"connectors/pulsar-io-debezium-mysql-<span class="hljs-template-variable">2.4.1</span>.nar"</span>
+<span class="hljs-attr">parallelism:</span> <span class="hljs-number">1</span>
 
-<span class="stata">configs: ## config <span class="hljs-keyword">for</span> mysql, docker image: debezium/example-mysql:0.8 database.hostname: <span class="hljs-string">"localhost"</span> database.port: <span class="hljs-string">"3306"</span> database.user: <span class="hljs-string">"debezium"</span> database.password: <span class="hljs-string">"dbz"</span> database.server.id: <span class="hljs-string">"184054"</span> database.server.name: <span class="hljs-string">"dbserver1"</span> da [...]
+<span class="hljs-attr">configs:</span>
 
-database.history: <span class="hljs-string">"org.apache.pulsar.io.debezium.PulsarDatabaseHistory"</span> database.history.pulsar.topic: <span class="hljs-string">"history-topic"</span> database.history.pulsar.service.url: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span> ## KEY_CONVERTER_CLASS_CONFIG, VALUE_CONVERTER_CLASS_CONFIG key.converter: <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span> value.converter: <span class="hljs-string">"org.apache.ka [...]
+    <span class="hljs-comment">## config for mysql, docker image: debezium/example-mysql:0.8</span>
+    <span class="hljs-string">database.hostname:</span> <span class="hljs-string">"localhost"</span>
+    <span class="hljs-string">database.port:</span> <span class="hljs-string">"3306"</span>
+    <span class="hljs-string">database.user:</span> <span class="hljs-string">"debezium"</span>
+    <span class="hljs-string">database.password:</span> <span class="hljs-string">"dbz"</span>
+    <span class="hljs-string">database.server.id:</span> <span class="hljs-string">"184054"</span>
+    <span class="hljs-string">database.server.name:</span> <span class="hljs-string">"dbserver1"</span>
+    <span class="hljs-string">database.whitelist:</span> <span class="hljs-string">"inventory"</span>
+    <span class="hljs-string">database.history:</span> <span class="hljs-string">"org.apache.pulsar.io.debezium.PulsarDatabaseHistory"</span>
+    <span class="hljs-string">database.history.pulsar.topic:</span> <span class="hljs-string">"history-topic"</span>
+    <span class="hljs-string">database.history.pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
 
-    &lt;<span class="hljs-keyword">br</span> /&gt;### Usage
-    
-    This example shows how to store the data changes of a MySQL <span class="hljs-keyword">table</span> using the configuration <span class="hljs-keyword">file</span> <span class="hljs-keyword">in</span> the example above.
-    
-    1. Start a MySQL server with <span class="hljs-keyword">an</span> example database, from <span class="hljs-keyword">which</span> Debezium can <span class="hljs-keyword">capture</span> changes.
-    
-        ```<span class="hljs-variable">$bash</span>
-         docker <span class="hljs-keyword">run</span> -it --<span class="hljs-keyword">rm</span> --name mysql -p 3306:3306 -<span class="hljs-keyword">e</span> MYSQL_ROOT_PASSWORD=debezium -<span class="hljs-keyword">e</span> MYSQL_USER=mysqluser -<span class="hljs-keyword">e</span> MYSQL_PASSWORD=mysqlpw debezium/example-mysql:0.8
-        ```
-    
-    2. Start a Pulsar service locally <span class="hljs-keyword">in</span> standalone mode.
-    
-        ```<span class="hljs-variable">$bash</span>
-         bin/pulsar standalone
-        ```
-    
-    3. Start pulsar debezium connector, with <span class="hljs-keyword">local</span> <span class="hljs-keyword">run</span> mode, and using above yaml config <span class="hljs-keyword">file</span>. Please make sure that the nar <span class="hljs-keyword">file</span> is available <span class="hljs-keyword">as</span> configured <span class="hljs-keyword">in</span> path `connectors/pulsar-io-debezium-mysql-{{pulsar:<span class="hljs-keyword">version</span>}}.nar`.
-    
-        ```<span class="hljs-variable">$bash</span>
-         bin/pulsar-admin source localrun  --source-config-<span class="hljs-keyword">file</span> debezium-mysql-source-config.yaml
-        ```
-    
-        ```<span class="hljs-variable">$bash</span>
-        bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-mysql-{{pulsar:<span class="hljs-keyword">version</span>}}.nar --name debezium-mysql-source --destination-topic-name debezium-mysql-topic --tenant public --namespace default --source-config '{<span class="hljs-string">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,<span class="hljs-string">"database.port"</span>: <span class="hljs-string">"3306"</span>,<span class="hljs-string">"dat [...]
-        ```
-    
-    4. Subscribe the topic <span class="hljs-keyword">for</span> <span class="hljs-keyword">table</span> `inventory.products`.
-    
-        ```
-         bin/pulsar-client consume -s <span class="hljs-string">"sub-products"</span> public/default/dbserver1.inventory.products -<span class="hljs-keyword">n</span> 0
-        ```
-    
-    5. start a MySQL <span class="hljs-keyword">cli</span> docker connector, and <span class="hljs-keyword">use</span> it we could change to the <span class="hljs-keyword">table</span> `products` <span class="hljs-keyword">in</span> MySQL server.
-    
-        ```<span class="hljs-variable">$bash</span>
-        <span class="hljs-variable">$docker</span> <span class="hljs-keyword">run</span> -it --<span class="hljs-keyword">rm</span> --name mysqlterm --link mysql --<span class="hljs-keyword">rm</span> mysql:5.7 <span class="hljs-keyword">sh</span> -c 'exec mysql -<span class="hljs-keyword">h</span><span class="hljs-string">"$MYSQL_PORT_3306_TCP_ADDR"</span> -P<span class="hljs-string">"$MYSQL_PORT_3306_TCP_PORT"</span> -uroot -p<span class="hljs-string">"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"</span>'
-        ```
-    
-    6. This command will pop <span class="hljs-keyword">out</span> MySQL <span class="hljs-keyword">cli</span>, <span class="hljs-keyword">in</span> this <span class="hljs-keyword">cli</span>, we could <span class="hljs-keyword">do</span> a change <span class="hljs-keyword">in</span> <span class="hljs-keyword">table</span> products, <span class="hljs-keyword">use</span> commands below to change the name of 2 items <span class="hljs-keyword">in</span> <span class="hljs-keyword">table</spa [...]
-    
-        ```
-        mysql&amp;gt; <span class="hljs-keyword">use</span> inventory;
-        mysql&amp;gt; show tables;
-        mysql&amp;gt; SELECT * FROM  products ;
-        mysql&amp;gt; <span class="hljs-keyword">UPDATE</span> products <span class="hljs-keyword">SET</span> name='1111111111' WHERE id=101;
-        mysql&amp;gt; <span class="hljs-keyword">UPDATE</span> products <span class="hljs-keyword">SET</span> name='1111111111' WHERE id=107;
-        ```
-    
-     <span class="hljs-keyword">In</span> above subscribe topic terminal <span class="hljs-keyword">tab</span>, we could find that 2 changes has been kept into products topic.
-    
-    ## Example of PostgreSQL
-    
-    We need to create a configuration <span class="hljs-keyword">file</span> before using the Pulsar Debezium connector.
-    
-    ### Configuration
-    
-    
-    Here is a JSON configuration example:
-    
-    ```json
-    {
-        <span class="hljs-string">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
-        <span class="hljs-string">"database.port"</span>: <span class="hljs-string">"5432"</span>,
-        <span class="hljs-string">"database.user"</span>: <span class="hljs-string">"postgres"</span>,
-        <span class="hljs-string">"database.password"</span>: <span class="hljs-string">"postgres"</span>,
-        <span class="hljs-string">"database.dbname"</span>: <span class="hljs-string">"postgres"</span>,
-        <span class="hljs-string">"database.server.name"</span>: <span class="hljs-string">"dbserver1"</span>,
-        <span class="hljs-string">"schema.whitelist"</span>: <span class="hljs-string">"inventory"</span>,
-        <span class="hljs-string">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
-    }
-    
+    <span class="hljs-comment">## KEY_CONVERTER_CLASS_CONFIG, VALUE_CONVERTER_CLASS_CONFIG</span>
+    <span class="hljs-string">key.converter:</span> <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span>
+    <span class="hljs-string">value.converter:</span> <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span>
 
-Optionally, you can create a `debezium-postgres-source-config.yaml` <span class="hljs-keyword">file</span>, and <span class="hljs-keyword">copy</span> the \[contents\] (https:<span class="hljs-comment">//github.com/apache/pulsar/blob/master/pulsar-io/debezium/postgres/src/main/resources/debezium-postgres-source-config.yaml) below to the`debezium-postgres-source-config.yaml` file.</span>
+    <span class="hljs-comment">## PULSAR_SERVICE_URL_CONFIG</span>
+    <span class="hljs-string">pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
 
-```yaml
-tenant: <span class="hljs-string">"public"</span>
-namespace: <span class="hljs-string">"default"</span>
-name: <span class="hljs-string">"debezium-postgres-source"</span>
-topicName: <span class="hljs-string">"debezium-postgres-topic"</span>
-archive: <span class="hljs-string">"connectors/pulsar-io-debezium-postgres-2.4.1.nar"</span>
+    <span class="hljs-comment">## OFFSET_STORAGE_TOPIC_CONFIG</span>
+    <span class="hljs-string">offset.storage.topic:</span> <span class="hljs-string">"offset-topic"</span>
+</code></pre></li>
+</ul>
+<h3><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
+<p>This example shows how to change the data of a MySQL table using the Pulsar Debezium connector.</p>
+<ol>
+<li><p>Start a MySQL server with a database from which Debezium can capture changes.</p>
+<pre><code class="hljs css language-bash">$ docker run -it --rm \
+--name mysql \
+-p 3306:3306 \
+-e MYSQL_ROOT_PASSWORD=debezium \
+-e MYSQL_USER=mysqluser \
+-e MYSQL_PASSWORD=mysqlpw debezium/example-mysql:0.8
+</code></pre></li>
+<li><p>Start a Pulsar service locally in standalone mode.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar standalone
+</code></pre></li>
+<li><p>Start the Pulsar Debezium connector in local run mode using one of the following methods.</p>
+<ul>
+<li><p>Use the <strong>JSON</strong> configuration file as shown previously.</p>
+<p>Make sure the nar file is available at <code>connectors/pulsar-io-debezium-mysql-2.4.1.nar</code>.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">source</span> localrun \
+--archive connectors/pulsar-io-debezium-mysql-2.4.1.nar \
+--name debezium-mysql-source --destination-topic-name debezium-mysql-topic \
+--tenant public \
+--namespace default \
+--<span class="hljs-built_in">source</span>-config <span class="hljs-string">'{"database.hostname": "localhost","database.port": "3306","database.user": "debezium","database.password": "dbz","database.server.id": "184054","database.server.name": "dbserver1","database.whitelist": "inventory","database.history": "org.apache.pulsar.io.debezium.PulsarDatabaseHistory","database.history.pulsar.topic": "history-topic","database.history.pulsar.service.url": "pulsar://127.0.0.1:6650","key.convert [...]
+</code></pre>
+<ul>
+<li>Use the <strong>YAML</strong> configuration file as shown previously.</li>
+</ul>
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">source</span> localrun \
+--<span class="hljs-built_in">source</span>-config-file debezium-mysql-source-config.yaml
+</code></pre></li>
+</ul></li>
+<li><p>Subscribe the topic <em>sub-products</em> for the table <em>inventory.products</em>.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-client consume -s <span class="hljs-string">"sub-products"</span> public/default/dbserver1.inventory.products -n 0
+</code></pre></li>
+<li><p>Start a MySQL client in docker.</p>
+<pre><code class="hljs css language-bash">$ docker run -it --rm \
+--name mysqlterm \
+--link mysql \
+--rm mysql:5.7 sh \
+-c <span class="hljs-string">'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'</span>
+</code></pre></li>
+<li><p>A MySQL client pops out.</p>
+<p>Use the following commands to change the data of the table <em>products</em>.</p>
+<pre><code class="hljs"> mysql&gt; use inventory;
+ mysql&gt; show tables;
+ mysql&gt; SELECT * FROM  products;
+ mysql&gt; UPDATE products SET name='1111111111' WHERE id=101;
+ mysql&gt; UPDATE products SET name='1111111111' WHERE id=107;
+</code></pre>
+<p>In the terminal window of subscribing topic, you can find the data changes have been kept in the <em>sub-products</em> topic.</p></li>
+</ol>
+<h2><a class="anchor" aria-hidden="true" id="example-of-postgresql"></a><a href="#example-of-postgresql" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
+<p>You need to create a configuration file before using the Pulsar Debezium connector.</p>
+<h3><a class="anchor" aria-hidden="true" id="configuration-2"></a><a href="#configuration-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
+<p>You can use one of the following methods to create a configuration file.</p>
+<ul>
+<li><p>JSON</p>
+<pre><code class="hljs css language-json">{
+    <span class="hljs-attr">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
+    <span class="hljs-attr">"database.port"</span>: <span class="hljs-string">"5432"</span>,
+    <span class="hljs-attr">"database.user"</span>: <span class="hljs-string">"postgres"</span>,
+    <span class="hljs-attr">"database.password"</span>: <span class="hljs-string">"postgres"</span>,
+    <span class="hljs-attr">"database.dbname"</span>: <span class="hljs-string">"postgres"</span>,
+    <span class="hljs-attr">"database.server.name"</span>: <span class="hljs-string">"dbserver1"</span>,
+    <span class="hljs-attr">"schema.whitelist"</span>: <span class="hljs-string">"inventory"</span>,
+    <span class="hljs-attr">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
+}
+</code></pre></li>
+<li><p>YAML</p>
+<p>You can create a <code>debezium-postgres-source-config.yaml</code> file and copy the <a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/postgres/src/main/resources/debezium-postgres-source-config.yaml">contents</a> below to the <code>debezium-postgres-source-config.yaml</code> file.</p>
+<pre><code class="hljs css language-yaml"><span class="hljs-attr">tenant:</span> <span class="hljs-string">"public"</span>
+<span class="hljs-attr">namespace:</span> <span class="hljs-string">"default"</span>
+<span class="hljs-attr">name:</span> <span class="hljs-string">"debezium-postgres-source"</span>
+<span class="hljs-attr">topicName:</span> <span class="hljs-string">"debezium-postgres-topic"</span>
+<span class="hljs-attr">archive:</span> <span class="hljs-string">"connectors/pulsar-io-debezium-postgres-<span class="hljs-template-variable">2.4.1</span>.nar"</span>
+<span class="hljs-attr">parallelism:</span> <span class="hljs-number">1</span>
 
-parallelism: 1
+<span class="hljs-attr">configs:</span>
 
-configs:
-  ## config <span class="hljs-keyword">for</span> pg, docker image: debezium/example-postgress:0.8
-  database.hostname: <span class="hljs-string">"localhost"</span>
-  database.port: <span class="hljs-string">"5432"</span>
-  database.user: <span class="hljs-string">"postgres"</span>
-  database.password: <span class="hljs-string">"postgres"</span>
-  database.dbname: <span class="hljs-string">"postgres"</span>
-  database.server.name: <span class="hljs-string">"dbserver1"</span>
-  schema.whitelist: <span class="hljs-string">"inventory"</span>
+    <span class="hljs-comment">## config for pg, docker image: debezium/example-postgress:0.8</span>
+    <span class="hljs-string">database.hostname:</span> <span class="hljs-string">"localhost"</span>
+    <span class="hljs-string">database.port:</span> <span class="hljs-string">"5432"</span>
+    <span class="hljs-string">database.user:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.password:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.dbname:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.server.name:</span> <span class="hljs-string">"dbserver1"</span>
+    <span class="hljs-string">schema.whitelist:</span> <span class="hljs-string">"inventory"</span>
 
-  ## PULSAR_SERVICE_URL_CONFIG
-  pulsar.service.url: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
-</span></code></pre>
-<h3><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
-<p>This example shows how to store the data changes of a PostgreSQL table using the configuration file in the example above.</p>
+    <span class="hljs-comment">## PULSAR_SERVICE_URL_CONFIG</span>
+    <span class="hljs-string">pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
+</code></pre></li>
+</ul>
+<h3><a class="anchor" aria-hidden="true" id="usage-1"></a><a href="#usage-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
+<p>This example shows how to change the data of a PostgreSQL table using the Pulsar Debezium connector.</p>
 <ol>
-<li><p>Start a PostgreSQL server with an example database, from which Debezium can capture changes.</p>
-<pre><code class="hljs"> $bash
- docker pull debezium/example-postgres:0.8
- docker run -d -it --rm --name pulsar-postgresql -p 5432:5432  debezium/example-postgres:0.8
+<li><p>Start a PostgreSQL server with a database from which Debezium can capture changes.</p>
+<pre><code class="hljs css language-bash">$ docker pull debezium/example-postgres:0.8
+$ docker run -d -it --rm --name pulsar-postgresql -p 5432:5432  debezium/example-postgres:0.8
 </code></pre></li>
 <li><p>Start a Pulsar service locally in standalone mode.</p>
-<pre><code class="hljs"> $bash
-  bin/pulsar standalone
-</code></pre></li>
-<li><p>Start the Pulsar Debezium connector in local run mode and use the JSON or YAML configuration file in the example above. Make sure the nar file is available at <code>connectors/pulsar-io-debezium-postgres-2.4.1.nar</code>.</p>
-<pre><code class="hljs"> $bash
- bin/pulsar-admin source localrun  --source-config-file debezium-postgres-source-config.yaml
+<pre><code class="hljs css language-bash">$ bin/pulsar standalone
 </code></pre></li>
+<li><p>Start the Pulsar Debezium connector in local run mode using one of the following methods.</p></li>
 </ol>
-<p>Optionally, start Pulsar Debezium connector in local run mode and use the JSON config file in the example above.</p>
-<pre><code class="hljs">```$bash
-bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-postgres-2.4.1.nar --name debezium-postgres-source --destination-topic-name debezium-postgres-topic --tenant public --namespace default --source-config '{&quot;database.hostname&quot;: &quot;localhost&quot;,&quot;database.port&quot;: &quot;5432&quot;,&quot;database.user&quot;: &quot;postgres&quot;,&quot;database.password&quot;: &quot;postgres&quot;,&quot;database.dbname&quot;: &quot;postgres&quot;,&quot;database.ser [...]
-```
-</code></pre>
+<ul>
+<li><p>Use the <strong>JSON</strong> configuration file as shown previously.</p>
+<p>Make sure the nar file is available at <code>connectors/pulsar-io-debezium-postgres-2.4.1.nar</code>.</p>
+<pre><code class="hljs">  ```bash
+  $ bin/pulsar-admin source localrun \
+  --archive connectors/pulsar-io-debezium-postgres-2.4.1.nar \
+  --name debezium-postgres-source \
+  --destination-topic-name debezium-postgres-topic \
+  --tenant public \
+  --namespace default \
+  --source-config '{&quot;database.hostname&quot;: &quot;localhost&quot;,&quot;database.port&quot;: &quot;5432&quot;,&quot;database.user&quot;: &quot;postgres&quot;,&quot;database.password&quot;: &quot;postgres&quot;,&quot;database.dbname&quot;: &quot;postgres&quot;,&quot;database.server.name&quot;: &quot;dbserver1&quot;,&quot;schema.whitelist&quot;: &quot;inventory&quot;,&quot;pulsar.service.url&quot;: &quot;pulsar://127.0.0.1:6650&quot;}'
+  ```
+</code></pre></li>
+<li><p>Use the <strong>YAML</strong> configuration file as shown previously.</p>
+<pre><code class="hljs">  ```bash
+  $ bin/pulsar-admin source localrun  \
+  --source-config-file debezium-postgres-source-config.yaml
+  ```
+</code></pre></li>
+</ul>
 <ol start="4">
-<li><p>PostgreSQL CLI appears after this command is executed. Use the commands below to update the <code>products</code> table.</p>
-<pre><code class="hljs css language-bash">docker <span class="hljs-built_in">exec</span> -it pulsar-postgresql /bin/bash
-</code></pre>
+<li><p>Subscribe the topic <em>sub-products</em> for the <em>inventory.products</em> table.</p>
+<pre><code class="hljs"> $ bin/pulsar-client consume -s &quot;sub-products&quot; public/default/dbserver1.inventory.products -n 0
+</code></pre></li>
+<li><p>Start a PostgreSQL client in docker.</p>
+<pre><code class="hljs css language-bash">$ docker <span class="hljs-built_in">exec</span> -it pulsar-postgresql /bin/bash
+</code></pre></li>
+<li><p>A MySQL client pops out.</p>
+<p>Use the following commands to change the data of the table <em>products</em>.</p>
 <pre><code class="hljs"> psql -U postgres postgres
  postgres=# \c postgres;
  You are now connected to database &quot;postgres&quot; as user &quot;postgres&quot;.
@@ -214,16 +258,13 @@ bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-postgre
  
  postgres=# UPDATE products SET name='1111111111' WHERE id=107;
  UPDATE 1
-</code></pre></li>
-<li><p>Subscribe the topic for the <code>inventory.products</code> table.</p>
-<pre><code class="hljs"> bin/pulsar-client consume -s &quot;sub-products&quot; public/default/dbserver1.inventory.products -n 0
 </code></pre>
-<p>At this time, you will receive the following information:</p>
+<p>In the terminal window of subscribing topic, you can receive the following messages.</p>
 <pre><code class="hljs css language-bash">----- got message -----
 {<span class="hljs-string">"schema"</span>:{<span class="hljs-string">"type"</span>:<span class="hljs-string">"struct"</span>,<span class="hljs-string">"fields"</span>:[{<span class="hljs-string">"type"</span>:<span class="hljs-string">"int32"</span>,<span class="hljs-string">"optional"</span>:<span class="hljs-literal">false</span>,<span class="hljs-string">"field"</span>:<span class="hljs-string">"id"</span>}],<span class="hljs-string">"optional"</span>:<span class="hljs-literal">false [...]
 </code></pre></li>
 </ol>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#example-of-mysql">Example of MySQL</a><ul class="toc-headings"><li><a href="#configuration">Configuration</a></li><li><a href="#usage">Usage</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather [...]
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configuration</a></li><li><a href="#example-of-mysql">Example of MySQL</a><ul class="toc-headings"><li><a href="#configuration-1">Configuration</a></li><li><a href="#usage">Usage</a></li></ul></li><li><a href="#example-of-postgresql">Example of PostgreSQL</a><ul class="toc-headings"><li><a href="#configuration-2">Configuration</a></li><li> [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/io-cdc-debezium/index.html b/content/docs/zh-CN/next/io-cdc-debezium/index.html
index 21e9b77..3949de0 100644
--- a/content/docs/zh-CN/next/io-cdc-debezium/index.html
+++ b/content/docs/zh-CN/next/io-cdc-debezium/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>CDC Debezium Connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="### Source Configuration Options"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="CDC Debezium Connector ·  [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Debezium Connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Debezium source connector pulls messages from MySQL or PostgreSQL to Pulsar topics."/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta pro [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -18,34 +18,40 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Tran [...]
-<p>The Configuration is mostly related to Debezium task config, besides this we should provides the service URL of Pulsar cluster, and topic names that used to store offset and history.</p>
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Tran [...]
+<p>This guide explains how to congifure and use Debezium source connector.</p>
+<h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>The configuration of Debezium source connector has the following parameters.</p>
 <table>
 <thead>
 <tr><th>Name</th><th>Required</th><th>默认值</th><th>说明:</th></tr>
 </thead>
 <tbody>
-<tr><td><code>task.class</code></td><td><code>true</code></td><td><code>null</code></td><td>A source task class that implemented in Debezium.</td></tr>
-<tr><td><code>database.hostname</code></td><td><code>true</code></td><td><code>null</code></td><td>The address of the Database server.</td></tr>
-<tr><td><code>database.port</code></td><td><code>true</code></td><td><code>null</code></td><td>The port number of the Database server..</td></tr>
-<tr><td><code>database.user</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the Database user that has the required privileges.</td></tr>
-<tr><td><code>database.password</code></td><td><code>true</code></td><td><code>null</code></td><td>The password for the Database user that has the required privileges.</td></tr>
-<tr><td><code>database.server.id</code></td><td><code>true</code></td><td><code>null</code></td><td>The connector’s identifier that must be unique within the Database cluster and similar to Database’s server-id configuration property.</td></tr>
-<tr><td><code>database.server.name</code></td><td><code>true</code></td><td><code>null</code></td><td>The logical name of the Database server/cluster, which forms a namespace and is used in all the names of the Kafka topics to which the connector writes, the Kafka Connect schema names, and the namespaces of the corresponding Avro schema when the Avro Connector is used.</td></tr>
-<tr><td><code>database.whitelist</code></td><td><code>false</code></td><td><code>null</code></td><td>A list of all databases hosted by this server that this connector will monitor. This is optional, and there are other properties for listing the databases and tables to include or exclude from monitoring.</td></tr>
-<tr><td><code>key.converter</code></td><td><code>true</code></td><td><code>null</code></td><td>The converter provided by Kafka Connect to convert record key.</td></tr>
-<tr><td><code>value.converter</code></td><td><code>true</code></td><td><code>null</code></td><td>The converter provided by Kafka Connect to convert record value.</td></tr>
-<tr><td><code>database.history</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the database history class name.</td></tr>
-<tr><td><code>database.history.pulsar.topic</code></td><td><code>true</code></td><td><code>null</code></td><td>The name of the database history topic where the connector will write and recover DDL statements. This topic is for internal use only and should not be used by consumers.</td></tr>
-<tr><td><code>database.history.pulsar.service.url</code></td><td><code>true</code></td><td><code>null</code></td><td>Pulsar cluster service url for history topic.</td></tr>
-<tr><td><code>pulsar.service.url</code></td><td><code>true</code></td><td><code>null</code></td><td>Pulsar cluster service url.</td></tr>
-<tr><td><code>offset.storage.topic</code></td><td><code>true</code></td><td><code>null</code></td><td>Record the last committed offsets that the connector successfully completed.</td></tr>
+<tr><td><code>task.class</code></td><td>true</td><td>null</td><td>A source task class that implemented in Debezium.</td></tr>
+<tr><td><code>database.hostname</code></td><td>true</td><td>null</td><td>The address of a database server.</td></tr>
+<tr><td><code>database.port</code></td><td>true</td><td>null</td><td>The port number of a database server.</td></tr>
+<tr><td><code>database.user</code></td><td>true</td><td>null</td><td>The name of a database user that has the required privileges.</td></tr>
+<tr><td><code>database.password</code></td><td>true</td><td>null</td><td>The password for a database user that has the required privileges.</td></tr>
+<tr><td><code>database.server.id</code></td><td>true</td><td>null</td><td>The connector’s identifier that must be unique within a database cluster and similar to the database’s server-id configuration property.</td></tr>
+<tr><td><code>database.server.name</code></td><td>true</td><td>null</td><td>The logical name of a database server/cluster, which forms a namespace and it is used in all the names of Kafka topics to which the connector writes, the Kafka Connect schema names, and the namespaces of the corresponding Avro schema when the Avro Connector is used.</td></tr>
+<tr><td><code>database.whitelist</code></td><td>false</td><td>null</td><td>A list of all databases hosted by this server which is monitored by the connector.</td></tr>
 </tbody>
 </table>
+<p>This is optional, and there are other properties for listing databases and tables to include or exclude from monitoring.                                                           |
+| <code>key.converter</code>                       | true     | null | The converter provided by Kafka Connect to convert record key.                                                                                                                                                                                                             |
+| <code>value.converter</code>                     | true     | null | The converter provided by Kafka Connect to convert record value.                                                                                                                                                                                                           |
+| <code>database.history</code>                    | true     | null | The name of the database history class.                                                                                                                                                                                                                                    |
+| <code>database.history.pulsar.topic</code>       | true     | null | The name of the database history topic where the connector writes and recovers DDL statements.</p>
+<p><strong>Note: this topic is for internal use only and should not be used by consumers.</strong>                                                                                    |
+| <code>database.history.pulsar.service.url</code> | true     | null | Pulsar cluster service URL for history topic.                                                                                                                                                                                                                              |
+| <code>pulsar.service.url</code>                  | true     | null | Pulsar cluster service URL.                                                                                                                                                                                                                                                |
+| <code>offset.storage.topic</code>                | true     | null | Record the last committed offsets that the connector successfully completes.                                                                                                                                                                                               |</p>
 <h2><a class="anchor" aria-hidden="true" id="example-of-mysql"></a><a href="#example-of-mysql" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p>We need to create a configuration file before using the Pulsar Debezium connector.</p>
-<h3><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
-<p>Here is a JSON configuration example:</p>
+<p>You need to create a configuration file before using the Pulsar Debezium connector.</p>
+<h3><a class="anchor" aria-hidden="true" id="configuration-1"></a><a href="#configuration-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
+<p>You can use one of the following methods to create a configuration file.</p>
+<ul>
+<li><p>JSON</p>
 <pre><code class="hljs css language-json">{
     <span class="hljs-attr">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
     <span class="hljs-attr">"database.port"</span>: <span class="hljs-string">"3306"</span>,
@@ -62,137 +68,175 @@
     <span class="hljs-attr">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>,
     <span class="hljs-attr">"offset.storage.topic"</span>: <span class="hljs-string">"offset-topic"</span>
 }
-</code></pre>
-<p>Optionally, you can create a <code>debezium-mysql-source-config.yaml</code> file, and copy the [contents] (<a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml">https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml</a>) below to the <code>debezium-mysql-source-config.yaml</code> file.</p>
-<pre><code class="hljs css language-$yaml tenant: &quot;public&quot; namespace: &quot;default&quot; name: &quot;debezium-mysql-source&quot; topicName: &quot;debezium-mysql-topic&quot; archive: &quot;connectors/pulsar-io-debezium-mysql-2.4.1.nar&quot;">
-<span class="hljs-attribute">parallelism</span>: 1
+</code></pre></li>
+<li><p>YAML</p>
+<p>You can create a <code>debezium-mysql-source-config.yaml</code> file and copy the <a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml">contents</a> below to the <code>debezium-mysql-source-config.yaml</code> file.</p>
+<pre><code class="hljs css language-yaml"><span class="hljs-attr">tenant:</span> <span class="hljs-string">"public"</span>
+<span class="hljs-attr">namespace:</span> <span class="hljs-string">"default"</span>
+<span class="hljs-attr">name:</span> <span class="hljs-string">"debezium-mysql-source"</span>
+<span class="hljs-attr">topicName:</span> <span class="hljs-string">"debezium-mysql-topic"</span>
+<span class="hljs-attr">archive:</span> <span class="hljs-string">"connectors/pulsar-io-debezium-mysql-<span class="hljs-template-variable">2.4.1</span>.nar"</span>
+<span class="hljs-attr">parallelism:</span> <span class="hljs-number">1</span>
 
-<span class="stata">configs: ## config <span class="hljs-keyword">for</span> mysql, docker image: debezium/example-mysql:0.8 database.hostname: <span class="hljs-string">"localhost"</span> database.port: <span class="hljs-string">"3306"</span> database.user: <span class="hljs-string">"debezium"</span> database.password: <span class="hljs-string">"dbz"</span> database.server.id: <span class="hljs-string">"184054"</span> database.server.name: <span class="hljs-string">"dbserver1"</span> da [...]
+<span class="hljs-attr">configs:</span>
 
-database.history: <span class="hljs-string">"org.apache.pulsar.io.debezium.PulsarDatabaseHistory"</span> database.history.pulsar.topic: <span class="hljs-string">"history-topic"</span> database.history.pulsar.service.url: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span> ## KEY_CONVERTER_CLASS_CONFIG, VALUE_CONVERTER_CLASS_CONFIG key.converter: <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span> value.converter: <span class="hljs-string">"org.apache.ka [...]
+    <span class="hljs-comment">## config for mysql, docker image: debezium/example-mysql:0.8</span>
+    <span class="hljs-string">database.hostname:</span> <span class="hljs-string">"localhost"</span>
+    <span class="hljs-string">database.port:</span> <span class="hljs-string">"3306"</span>
+    <span class="hljs-string">database.user:</span> <span class="hljs-string">"debezium"</span>
+    <span class="hljs-string">database.password:</span> <span class="hljs-string">"dbz"</span>
+    <span class="hljs-string">database.server.id:</span> <span class="hljs-string">"184054"</span>
+    <span class="hljs-string">database.server.name:</span> <span class="hljs-string">"dbserver1"</span>
+    <span class="hljs-string">database.whitelist:</span> <span class="hljs-string">"inventory"</span>
+    <span class="hljs-string">database.history:</span> <span class="hljs-string">"org.apache.pulsar.io.debezium.PulsarDatabaseHistory"</span>
+    <span class="hljs-string">database.history.pulsar.topic:</span> <span class="hljs-string">"history-topic"</span>
+    <span class="hljs-string">database.history.pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
 
-    &lt;<span class="hljs-keyword">br</span> /&gt;### Usage
-    
-    This example shows how to store the data changes of a MySQL <span class="hljs-keyword">table</span> using the configuration <span class="hljs-keyword">file</span> <span class="hljs-keyword">in</span> the example above.
-    
-    1. Start a MySQL server with <span class="hljs-keyword">an</span> example database, from <span class="hljs-keyword">which</span> Debezium can <span class="hljs-keyword">capture</span> changes.
-    
-        ```<span class="hljs-variable">$bash</span>
-         docker <span class="hljs-keyword">run</span> -it --<span class="hljs-keyword">rm</span> --name mysql -p 3306:3306 -<span class="hljs-keyword">e</span> MYSQL_ROOT_PASSWORD=debezium -<span class="hljs-keyword">e</span> MYSQL_USER=mysqluser -<span class="hljs-keyword">e</span> MYSQL_PASSWORD=mysqlpw debezium/example-mysql:0.8
-        ```
-    
-    2. Start a Pulsar service locally <span class="hljs-keyword">in</span> standalone mode.
-    
-        ```<span class="hljs-variable">$bash</span>
-         bin/pulsar standalone
-        ```
-    
-    3. Start pulsar debezium connector, with <span class="hljs-keyword">local</span> <span class="hljs-keyword">run</span> mode, and using above yaml config <span class="hljs-keyword">file</span>. Please make sure that the nar <span class="hljs-keyword">file</span> is available <span class="hljs-keyword">as</span> configured <span class="hljs-keyword">in</span> path `connectors/pulsar-io-debezium-mysql-{{pulsar:<span class="hljs-keyword">version</span>}}.nar`.
-    
-        ```<span class="hljs-variable">$bash</span>
-         bin/pulsar-admin source localrun  --source-config-<span class="hljs-keyword">file</span> debezium-mysql-source-config.yaml
-        ```
-    
-        ```<span class="hljs-variable">$bash</span>
-        bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-mysql-{{pulsar:<span class="hljs-keyword">version</span>}}.nar --name debezium-mysql-source --destination-topic-name debezium-mysql-topic --tenant public --namespace default --source-config '{<span class="hljs-string">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,<span class="hljs-string">"database.port"</span>: <span class="hljs-string">"3306"</span>,<span class="hljs-string">"dat [...]
-        ```
-    
-    4. Subscribe the topic <span class="hljs-keyword">for</span> <span class="hljs-keyword">table</span> `inventory.products`.
-    
-        ```
-         bin/pulsar-client consume -s <span class="hljs-string">"sub-products"</span> public/default/dbserver1.inventory.products -<span class="hljs-keyword">n</span> 0
-        ```
-    
-    5. start a MySQL <span class="hljs-keyword">cli</span> docker connector, and <span class="hljs-keyword">use</span> it we could change to the <span class="hljs-keyword">table</span> `products` <span class="hljs-keyword">in</span> MySQL server.
-    
-        ```<span class="hljs-variable">$bash</span>
-        <span class="hljs-variable">$docker</span> <span class="hljs-keyword">run</span> -it --<span class="hljs-keyword">rm</span> --name mysqlterm --link mysql --<span class="hljs-keyword">rm</span> mysql:5.7 <span class="hljs-keyword">sh</span> -c 'exec mysql -<span class="hljs-keyword">h</span><span class="hljs-string">"$MYSQL_PORT_3306_TCP_ADDR"</span> -P<span class="hljs-string">"$MYSQL_PORT_3306_TCP_PORT"</span> -uroot -p<span class="hljs-string">"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"</span>'
-        ```
-    
-    6. This command will pop <span class="hljs-keyword">out</span> MySQL <span class="hljs-keyword">cli</span>, <span class="hljs-keyword">in</span> this <span class="hljs-keyword">cli</span>, we could <span class="hljs-keyword">do</span> a change <span class="hljs-keyword">in</span> <span class="hljs-keyword">table</span> products, <span class="hljs-keyword">use</span> commands below to change the name of 2 items <span class="hljs-keyword">in</span> <span class="hljs-keyword">table</spa [...]
-    
-        ```
-        mysql&amp;gt; <span class="hljs-keyword">use</span> inventory;
-        mysql&amp;gt; show tables;
-        mysql&amp;gt; SELECT * FROM  products ;
-        mysql&amp;gt; <span class="hljs-keyword">UPDATE</span> products <span class="hljs-keyword">SET</span> name='1111111111' WHERE id=101;
-        mysql&amp;gt; <span class="hljs-keyword">UPDATE</span> products <span class="hljs-keyword">SET</span> name='1111111111' WHERE id=107;
-        ```
-    
-     <span class="hljs-keyword">In</span> above subscribe topic terminal <span class="hljs-keyword">tab</span>, we could find that 2 changes has been kept into products topic.
-    
-    ## Example of PostgreSQL
-    
-    We need to create a configuration <span class="hljs-keyword">file</span> before using the Pulsar Debezium connector.
-    
-    ### Configuration
-    
-    
-    Here is a JSON configuration example:
-    
-    ```json
-    {
-        <span class="hljs-string">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
-        <span class="hljs-string">"database.port"</span>: <span class="hljs-string">"5432"</span>,
-        <span class="hljs-string">"database.user"</span>: <span class="hljs-string">"postgres"</span>,
-        <span class="hljs-string">"database.password"</span>: <span class="hljs-string">"postgres"</span>,
-        <span class="hljs-string">"database.dbname"</span>: <span class="hljs-string">"postgres"</span>,
-        <span class="hljs-string">"database.server.name"</span>: <span class="hljs-string">"dbserver1"</span>,
-        <span class="hljs-string">"schema.whitelist"</span>: <span class="hljs-string">"inventory"</span>,
-        <span class="hljs-string">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
-    }
-    
+    <span class="hljs-comment">## KEY_CONVERTER_CLASS_CONFIG, VALUE_CONVERTER_CLASS_CONFIG</span>
+    <span class="hljs-string">key.converter:</span> <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span>
+    <span class="hljs-string">value.converter:</span> <span class="hljs-string">"org.apache.kafka.connect.json.JsonConverter"</span>
 
-Optionally, you can create a `debezium-postgres-source-config.yaml` <span class="hljs-keyword">file</span>, and <span class="hljs-keyword">copy</span> the \[contents\] (https:<span class="hljs-comment">//github.com/apache/pulsar/blob/master/pulsar-io/debezium/postgres/src/main/resources/debezium-postgres-source-config.yaml) below to the`debezium-postgres-source-config.yaml` file.</span>
+    <span class="hljs-comment">## PULSAR_SERVICE_URL_CONFIG</span>
+    <span class="hljs-string">pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
 
-```yaml
-tenant: <span class="hljs-string">"public"</span>
-namespace: <span class="hljs-string">"default"</span>
-name: <span class="hljs-string">"debezium-postgres-source"</span>
-topicName: <span class="hljs-string">"debezium-postgres-topic"</span>
-archive: <span class="hljs-string">"connectors/pulsar-io-debezium-postgres-2.4.1.nar"</span>
+    <span class="hljs-comment">## OFFSET_STORAGE_TOPIC_CONFIG</span>
+    <span class="hljs-string">offset.storage.topic:</span> <span class="hljs-string">"offset-topic"</span>
+</code></pre></li>
+</ul>
+<h3><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
+<p>This example shows how to change the data of a MySQL table using the Pulsar Debezium connector.</p>
+<ol>
+<li><p>Start a MySQL server with a database from which Debezium can capture changes.</p>
+<pre><code class="hljs css language-bash">$ docker run -it --rm \
+--name mysql \
+-p 3306:3306 \
+-e MYSQL_ROOT_PASSWORD=debezium \
+-e MYSQL_USER=mysqluser \
+-e MYSQL_PASSWORD=mysqlpw debezium/example-mysql:0.8
+</code></pre></li>
+<li><p>Start a Pulsar service locally in standalone mode.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar standalone
+</code></pre></li>
+<li><p>Start the Pulsar Debezium connector in local run mode using one of the following methods.</p>
+<ul>
+<li><p>Use the <strong>JSON</strong> configuration file as shown previously.</p>
+<p>Make sure the nar file is available at <code>connectors/pulsar-io-debezium-mysql-2.4.1.nar</code>.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">source</span> localrun \
+--archive connectors/pulsar-io-debezium-mysql-2.4.1.nar \
+--name debezium-mysql-source --destination-topic-name debezium-mysql-topic \
+--tenant public \
+--namespace default \
+--<span class="hljs-built_in">source</span>-config <span class="hljs-string">'{"database.hostname": "localhost","database.port": "3306","database.user": "debezium","database.password": "dbz","database.server.id": "184054","database.server.name": "dbserver1","database.whitelist": "inventory","database.history": "org.apache.pulsar.io.debezium.PulsarDatabaseHistory","database.history.pulsar.topic": "history-topic","database.history.pulsar.service.url": "pulsar://127.0.0.1:6650","key.convert [...]
+</code></pre>
+<ul>
+<li>Use the <strong>YAML</strong> configuration file as shown previously.</li>
+</ul>
+<pre><code class="hljs css language-bash">$ bin/pulsar-admin <span class="hljs-built_in">source</span> localrun \
+--<span class="hljs-built_in">source</span>-config-file debezium-mysql-source-config.yaml
+</code></pre></li>
+</ul></li>
+<li><p>Subscribe the topic <em>sub-products</em> for the table <em>inventory.products</em>.</p>
+<pre><code class="hljs css language-bash">$ bin/pulsar-client consume -s <span class="hljs-string">"sub-products"</span> public/default/dbserver1.inventory.products -n 0
+</code></pre></li>
+<li><p>Start a MySQL client in docker.</p>
+<pre><code class="hljs css language-bash">$ docker run -it --rm \
+--name mysqlterm \
+--link mysql \
+--rm mysql:5.7 sh \
+-c <span class="hljs-string">'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'</span>
+</code></pre></li>
+<li><p>A MySQL client pops out.</p>
+<p>Use the following commands to change the data of the table <em>products</em>.</p>
+<pre><code class="hljs"> mysql&gt; use inventory;
+ mysql&gt; show tables;
+ mysql&gt; SELECT * FROM  products;
+ mysql&gt; UPDATE products SET name='1111111111' WHERE id=101;
+ mysql&gt; UPDATE products SET name='1111111111' WHERE id=107;
+</code></pre>
+<p>In the terminal window of subscribing topic, you can find the data changes have been kept in the <em>sub-products</em> topic.</p></li>
+</ol>
+<h2><a class="anchor" aria-hidden="true" id="example-of-postgresql"></a><a href="#example-of-postgresql" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
+<p>You need to create a configuration file before using the Pulsar Debezium connector.</p>
+<h3><a class="anchor" aria-hidden="true" id="configuration-2"></a><a href="#configuration-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
+<p>You can use one of the following methods to create a configuration file.</p>
+<ul>
+<li><p>JSON</p>
+<pre><code class="hljs css language-json">{
+    <span class="hljs-attr">"database.hostname"</span>: <span class="hljs-string">"localhost"</span>,
+    <span class="hljs-attr">"database.port"</span>: <span class="hljs-string">"5432"</span>,
+    <span class="hljs-attr">"database.user"</span>: <span class="hljs-string">"postgres"</span>,
+    <span class="hljs-attr">"database.password"</span>: <span class="hljs-string">"postgres"</span>,
+    <span class="hljs-attr">"database.dbname"</span>: <span class="hljs-string">"postgres"</span>,
+    <span class="hljs-attr">"database.server.name"</span>: <span class="hljs-string">"dbserver1"</span>,
+    <span class="hljs-attr">"schema.whitelist"</span>: <span class="hljs-string">"inventory"</span>,
+    <span class="hljs-attr">"pulsar.service.url"</span>: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
+}
+</code></pre></li>
+<li><p>YAML</p>
+<p>You can create a <code>debezium-postgres-source-config.yaml</code> file and copy the <a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/postgres/src/main/resources/debezium-postgres-source-config.yaml">contents</a> below to the <code>debezium-postgres-source-config.yaml</code> file.</p>
+<pre><code class="hljs css language-yaml"><span class="hljs-attr">tenant:</span> <span class="hljs-string">"public"</span>
+<span class="hljs-attr">namespace:</span> <span class="hljs-string">"default"</span>
+<span class="hljs-attr">name:</span> <span class="hljs-string">"debezium-postgres-source"</span>
+<span class="hljs-attr">topicName:</span> <span class="hljs-string">"debezium-postgres-topic"</span>
+<span class="hljs-attr">archive:</span> <span class="hljs-string">"connectors/pulsar-io-debezium-postgres-<span class="hljs-template-variable">2.4.1</span>.nar"</span>
+<span class="hljs-attr">parallelism:</span> <span class="hljs-number">1</span>
 
-parallelism: 1
+<span class="hljs-attr">configs:</span>
 
-configs:
-  ## config <span class="hljs-keyword">for</span> pg, docker image: debezium/example-postgress:0.8
-  database.hostname: <span class="hljs-string">"localhost"</span>
-  database.port: <span class="hljs-string">"5432"</span>
-  database.user: <span class="hljs-string">"postgres"</span>
-  database.password: <span class="hljs-string">"postgres"</span>
-  database.dbname: <span class="hljs-string">"postgres"</span>
-  database.server.name: <span class="hljs-string">"dbserver1"</span>
-  schema.whitelist: <span class="hljs-string">"inventory"</span>
+    <span class="hljs-comment">## config for pg, docker image: debezium/example-postgress:0.8</span>
+    <span class="hljs-string">database.hostname:</span> <span class="hljs-string">"localhost"</span>
+    <span class="hljs-string">database.port:</span> <span class="hljs-string">"5432"</span>
+    <span class="hljs-string">database.user:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.password:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.dbname:</span> <span class="hljs-string">"postgres"</span>
+    <span class="hljs-string">database.server.name:</span> <span class="hljs-string">"dbserver1"</span>
+    <span class="hljs-string">schema.whitelist:</span> <span class="hljs-string">"inventory"</span>
 
-  ## PULSAR_SERVICE_URL_CONFIG
-  pulsar.service.url: <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
-</span></code></pre>
-<h3><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
-<p>This example shows how to store the data changes of a PostgreSQL table using the configuration file in the example above.</p>
+    <span class="hljs-comment">## PULSAR_SERVICE_URL_CONFIG</span>
+    <span class="hljs-string">pulsar.service.url:</span> <span class="hljs-string">"pulsar://127.0.0.1:6650"</span>
+</code></pre></li>
+</ul>
+<h3><a class="anchor" aria-hidden="true" id="usage-1"></a><a href="#usage-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
+<p>This example shows how to change the data of a PostgreSQL table using the Pulsar Debezium connector.</p>
 <ol>
-<li><p>Start a PostgreSQL server with an example database, from which Debezium can capture changes.</p>
-<pre><code class="hljs"> $bash
- docker pull debezium/example-postgres:0.8
- docker run -d -it --rm --name pulsar-postgresql -p 5432:5432  debezium/example-postgres:0.8
+<li><p>Start a PostgreSQL server with a database from which Debezium can capture changes.</p>
+<pre><code class="hljs css language-bash">$ docker pull debezium/example-postgres:0.8
+$ docker run -d -it --rm --name pulsar-postgresql -p 5432:5432  debezium/example-postgres:0.8
 </code></pre></li>
 <li><p>Start a Pulsar service locally in standalone mode.</p>
-<pre><code class="hljs"> $bash
-  bin/pulsar standalone
-</code></pre></li>
-<li><p>Start the Pulsar Debezium connector in local run mode and use the JSON or YAML configuration file in the example above. Make sure the nar file is available at <code>connectors/pulsar-io-debezium-postgres-2.4.1.nar</code>.</p>
-<pre><code class="hljs"> $bash
- bin/pulsar-admin source localrun  --source-config-file debezium-postgres-source-config.yaml
+<pre><code class="hljs css language-bash">$ bin/pulsar standalone
 </code></pre></li>
+<li><p>Start the Pulsar Debezium connector in local run mode using one of the following methods.</p></li>
 </ol>
-<p>Optionally, start Pulsar Debezium connector in local run mode and use the JSON config file in the example above.</p>
-<pre><code class="hljs">```$bash
-bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-postgres-2.4.1.nar --name debezium-postgres-source --destination-topic-name debezium-postgres-topic --tenant public --namespace default --source-config '{&quot;database.hostname&quot;: &quot;localhost&quot;,&quot;database.port&quot;: &quot;5432&quot;,&quot;database.user&quot;: &quot;postgres&quot;,&quot;database.password&quot;: &quot;postgres&quot;,&quot;database.dbname&quot;: &quot;postgres&quot;,&quot;database.ser [...]
-```
-</code></pre>
+<ul>
+<li><p>Use the <strong>JSON</strong> configuration file as shown previously.</p>
+<p>Make sure the nar file is available at <code>connectors/pulsar-io-debezium-postgres-2.4.1.nar</code>.</p>
+<pre><code class="hljs">  ```bash
+  $ bin/pulsar-admin source localrun \
+  --archive connectors/pulsar-io-debezium-postgres-2.4.1.nar \
+  --name debezium-postgres-source \
+  --destination-topic-name debezium-postgres-topic \
+  --tenant public \
+  --namespace default \
+  --source-config '{&quot;database.hostname&quot;: &quot;localhost&quot;,&quot;database.port&quot;: &quot;5432&quot;,&quot;database.user&quot;: &quot;postgres&quot;,&quot;database.password&quot;: &quot;postgres&quot;,&quot;database.dbname&quot;: &quot;postgres&quot;,&quot;database.server.name&quot;: &quot;dbserver1&quot;,&quot;schema.whitelist&quot;: &quot;inventory&quot;,&quot;pulsar.service.url&quot;: &quot;pulsar://127.0.0.1:6650&quot;}'
+  ```
+</code></pre></li>
+<li><p>Use the <strong>YAML</strong> configuration file as shown previously.</p>
+<pre><code class="hljs">  ```bash
+  $ bin/pulsar-admin source localrun  \
+  --source-config-file debezium-postgres-source-config.yaml
+  ```
+</code></pre></li>
+</ul>
 <ol start="4">
-<li><p>PostgreSQL CLI appears after this command is executed. Use the commands below to update the <code>products</code> table.</p>
-<pre><code class="hljs css language-bash">docker <span class="hljs-built_in">exec</span> -it pulsar-postgresql /bin/bash
-</code></pre>
+<li><p>Subscribe the topic <em>sub-products</em> for the <em>inventory.products</em> table.</p>
+<pre><code class="hljs"> $ bin/pulsar-client consume -s &quot;sub-products&quot; public/default/dbserver1.inventory.products -n 0
+</code></pre></li>
+<li><p>Start a PostgreSQL client in docker.</p>
+<pre><code class="hljs css language-bash">$ docker <span class="hljs-built_in">exec</span> -it pulsar-postgresql /bin/bash
+</code></pre></li>
+<li><p>A MySQL client pops out.</p>
+<p>Use the following commands to change the data of the table <em>products</em>.</p>
 <pre><code class="hljs"> psql -U postgres postgres
  postgres=# \c postgres;
  You are now connected to database &quot;postgres&quot; as user &quot;postgres&quot;.
@@ -214,16 +258,13 @@ bin/pulsar-admin source localrun --archive connectors/pulsar-io-debezium-postgre
  
  postgres=# UPDATE products SET name='1111111111' WHERE id=107;
  UPDATE 1
-</code></pre></li>
-<li><p>Subscribe the topic for the <code>inventory.products</code> table.</p>
-<pre><code class="hljs"> bin/pulsar-client consume -s &quot;sub-products&quot; public/default/dbserver1.inventory.products -n 0
 </code></pre>
-<p>At this time, you will receive the following information:</p>
+<p>In the terminal window of subscribing topic, you can receive the following messages.</p>
 <pre><code class="hljs css language-bash">----- got message -----
 {<span class="hljs-string">"schema"</span>:{<span class="hljs-string">"type"</span>:<span class="hljs-string">"struct"</span>,<span class="hljs-string">"fields"</span>:[{<span class="hljs-string">"type"</span>:<span class="hljs-string">"int32"</span>,<span class="hljs-string">"optional"</span>:<span class="hljs-literal">false</span>,<span class="hljs-string">"field"</span>:<span class="hljs-string">"id"</span>}],<span class="hljs-string">"optional"</span>:<span class="hljs-literal">false [...]
 </code></pre></li>
 </ol>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#example-of-mysql">Example of MySQL</a><ul class="toc-headings"><li><a href="#configuration">Configuration</a></li><li><a href="#usage">Usage</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather [...]
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configuration</a></li><li><a href="#example-of-mysql">Example of MySQL</a><ul class="toc-headings"><li><a href="#configuration-1">Configuration</a></li><li><a href="#usage">Usage</a></li></ul></li><li><a href="#example-of-postgresql">Example of PostgreSQL</a><ul class="toc-headings"><li><a href="#configuration-2">Configuration</a></li><li> [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/io-connectors.html b/content/docs/zh-CN/next/io-connectors.html
index 266856a..40eab4a 100644
--- a/content/docs/zh-CN/next/io-connectors.html
+++ b/content/docs/zh-CN/next/io-connectors.html
@@ -84,7 +84,7 @@
 <li><p><a href="/docs/zh-CN/next/io-cdc-debezium">Debezium MySQL source connector</a></p></li>
 <li><p><a href="io-postgresql-debezium.md">Debezium PostgreSQL source Connector</a></p></li>
 <li><p><a href="/docs/zh-CN/next/io-file">File source connector</a></p></li>
-<li><p><a href="io-flume-source.md">Flume source connector</a></p></li>
+<li><p><a href="/docs/zh-CN/next/io-flume-source">Flume source connector</a></p></li>
 <li><p><a href="/docs/zh-CN/next/io-twitter">Twitter firehose source connector</a></p></li>
 <li><p><a href="/docs/zh-CN/next/io-kafka">Kafka source connector</a></p></li>
 <li><p><a href="io-kafka-connect.md">Kafka-connect-adaptor source connector</a></p></li>
diff --git a/content/docs/zh-CN/next/io-connectors/index.html b/content/docs/zh-CN/next/io-connectors/index.html
index 266856a..40eab4a 100644
--- a/content/docs/zh-CN/next/io-connectors/index.html
+++ b/content/docs/zh-CN/next/io-connectors/index.html
@@ -84,7 +84,7 @@
 <li><p><a href="/docs/zh-CN/next/io-cdc-debezium">Debezium MySQL source connector</a></p></li>
 <li><p><a href="io-postgresql-debezium.md">Debezium PostgreSQL source Connector</a></p></li>
 <li><p><a href="/docs/zh-CN/next/io-file">File source connector</a></p></li>
-<li><p><a href="io-flume-source.md">Flume source connector</a></p></li>
+<li><p><a href="/docs/zh-CN/next/io-flume-source">Flume source connector</a></p></li>
 <li><p><a href="/docs/zh-CN/next/io-twitter">Twitter firehose source connector</a></p></li>
 <li><p><a href="/docs/zh-CN/next/io-kafka">Kafka source connector</a></p></li>
 <li><p><a href="io-kafka-connect.md">Kafka-connect-adaptor source connector</a></p></li>
diff --git a/content/docs/zh-CN/next/io-flume-source.html b/content/docs/zh-CN/next/io-flume-source.html
new file mode 100644
index 0000000..6df3eb5
--- /dev/null
+++ b/content/docs/zh-CN/next/io-flume-source.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Flume source connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Flume source connector pulls messages from logs to Pulsar topics."/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:titl [...]
+              (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+              (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+              m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+              })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+              ga('create', 'UA-102219959-1', 'auto');
+              ga('send', 'pageview');
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sid [...]
+        const languagesMenuItem = document.getElementById("languages-menu");
+        const languagesDropDown = document.getElementById("languages-dropdown");
+        languagesMenuItem.addEventListener("click", function(event) {
+          event.preventDefault();
+
+          if (languagesDropDown.className == "hide") {
+            languagesDropDown.className = "visible";
+          } else {
+            languagesDropDown.className = "hide";
+          }
+        });
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Tran [...]
+<h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>The configuration of Flume source connector has the following parameters.</p>
+<h3><a class="anchor" aria-hidden="true" id="参数"></a><a href="#参数" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c [...]
+<table>
+<thead>
+<tr><th>Name</th><th>类型</th><th>Required</th><th>默认值</th><th>说明:</th></tr>
+</thead>
+<tbody>
+<tr><td></td><td></td><td></td><td></td><td></td></tr>
+</tbody>
+</table>
+<p><code>name</code>|String|true|&quot;&quot; (empty string)|Name of the agent <code>confFile</code>|String|true|&quot;&quot; (empty string)|Configuration file <code>noReloadConf</code>|Boolean|false|false|Whether to reload configuration file if changed <code>zkConnString</code>|String|true|&quot;&quot; (empty string)|ZooKeeper connection <code>zkBasePath</code>|String|true|&quot;&quot; (empty string)|Base path in ZooKeeper for agent configuration</p>
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configuration</a><ul class="toc-headings"><li><a href="#参数">参数</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apache Software Foundation.</sectio [...]
+      const community = document.querySelector("a[href='#community']").parentNode;
+      const communityMenu =
+        '<li>' +
+        '<a id="community-menu" href="#">Community <span style="font-size: 0.75em">&nbsp;▼</span></a>' +
+        '<div id="community-dropdown" class="hide">' +
+          '<ul id="community-dropdown-items">' +
+            '<li><a href="/zh-CN/contact">Contact</a></li>' +
+            '<li><a href="/zh-CN/contributing">Contributing</a></li>' +
+            '<li><a href="/zh-CN/events">Events</a></li>' +
+            '<li><a href="https://twitter.com/Apache_Pulsar" target="_blank">Twitter &#x2750</a></li>' +
+            '<li><a href="https://github.com/apache/pulsar/wiki" target="_blank">Wiki &#x2750</a></li>' +
+            '<li><a href="https://github.com/apache/pulsar/issues" target="_blank">Issue tracking &#x2750</a></li>' +
+            '<li>&nbsp;</li>' +
+            '<li><a href="/zh-CN/resources">Resources</a></li>' +
+            '<li><a href="/zh-CN/team">Team</a></li>' +
+            '<li><a href="/zh-CN/powered-by">Powered By</a></li>' +
+          '</ul>' +
+        '</div>' +
+        '</li>';
+
+      community.innerHTML = communityMenu;
+
+      const communityMenuItem = document.getElementById("community-menu");
+      const communityDropDown = document.getElementById("community-dropdown");
+      communityMenuItem.addEventListener("click", function(event) {
+        event.preventDefault();
+
+        if (communityDropDown.className == 'hide') {
+          communityDropDown.className = 'visible';
+        } else {
+          communityDropDown.className = 'hide';
+        }
+      });
+    </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>window.twttr=(function(d,s, id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src='https://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js, fjs);t._e = [];t.ready = function(f) {t._e.push(f);};return t;}(document, 'script', 'twitter-wjs'));</script><script>
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:zh-CN","version:next"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/docs/zh-CN/next/io-flume-source/index.html b/content/docs/zh-CN/next/io-flume-source/index.html
new file mode 100644
index 0000000..6df3eb5
--- /dev/null
+++ b/content/docs/zh-CN/next/io-flume-source/index.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Flume source connector · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Flume source connector pulls messages from logs to Pulsar topics."/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:titl [...]
+              (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+              (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+              m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+              })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+              ga('create', 'UA-102219959-1', 'auto');
+              ga('send', 'pageview');
+            </script><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sid [...]
+        const languagesMenuItem = document.getElementById("languages-menu");
+        const languagesDropDown = document.getElementById("languages-dropdown");
+        languagesMenuItem.addEventListener("click", function(event) {
+          event.preventDefault();
+
+          if (languagesDropDown.className == "hide") {
+            languagesDropDown.className = "visible";
+          } else {
+            languagesDropDown.className = "hide";
+          }
+        });
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Tran [...]
+<h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>The configuration of Flume source connector has the following parameters.</p>
+<h3><a class="anchor" aria-hidden="true" id="参数"></a><a href="#参数" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c [...]
+<table>
+<thead>
+<tr><th>Name</th><th>类型</th><th>Required</th><th>默认值</th><th>说明:</th></tr>
+</thead>
+<tbody>
+<tr><td></td><td></td><td></td><td></td><td></td></tr>
+</tbody>
+</table>
+<p><code>name</code>|String|true|&quot;&quot; (empty string)|Name of the agent <code>confFile</code>|String|true|&quot;&quot; (empty string)|Configuration file <code>noReloadConf</code>|Boolean|false|false|Whether to reload configuration file if changed <code>zkConnString</code>|String|true|&quot;&quot; (empty string)|ZooKeeper connection <code>zkBasePath</code>|String|true|&quot;&quot; (empty string)|Base path in ZooKeeper for agent configuration</p>
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configuration</a><ul class="toc-headings"><li><a href="#参数">参数</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2019 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apache Software Foundation.</sectio [...]
+      const community = document.querySelector("a[href='#community']").parentNode;
+      const communityMenu =
+        '<li>' +
+        '<a id="community-menu" href="#">Community <span style="font-size: 0.75em">&nbsp;▼</span></a>' +
+        '<div id="community-dropdown" class="hide">' +
+          '<ul id="community-dropdown-items">' +
+            '<li><a href="/zh-CN/contact">Contact</a></li>' +
+            '<li><a href="/zh-CN/contributing">Contributing</a></li>' +
+            '<li><a href="/zh-CN/events">Events</a></li>' +
+            '<li><a href="https://twitter.com/Apache_Pulsar" target="_blank">Twitter &#x2750</a></li>' +
+            '<li><a href="https://github.com/apache/pulsar/wiki" target="_blank">Wiki &#x2750</a></li>' +
+            '<li><a href="https://github.com/apache/pulsar/issues" target="_blank">Issue tracking &#x2750</a></li>' +
+            '<li>&nbsp;</li>' +
+            '<li><a href="/zh-CN/resources">Resources</a></li>' +
+            '<li><a href="/zh-CN/team">Team</a></li>' +
+            '<li><a href="/zh-CN/powered-by">Powered By</a></li>' +
+          '</ul>' +
+        '</div>' +
+        '</li>';
+
+      community.innerHTML = communityMenu;
+
+      const communityMenuItem = document.getElementById("community-menu");
+      const communityDropDown = document.getElementById("community-dropdown");
+      communityMenuItem.addEventListener("click", function(event) {
+        event.preventDefault();
+
+        if (communityDropDown.className == 'hide') {
+          communityDropDown.className = 'visible';
+        } else {
+          communityDropDown.className = 'hide';
+        }
+      });
+    </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>window.twttr=(function(d,s, id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src='https://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js, fjs);t._e = [];t.ready = function(f) {t._e.push(f);};return t;}(document, 'script', 'twitter-wjs'));</script><script>
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:zh-CN","version:next"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/sitemap.xml b/content/sitemap.xml
index 30f4f1c..d44703e 100644
--- a/content/sitemap.xml
+++ b/content/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://pulsar.incubator.apache.org/admin-rest-api</loc><changefreq>weekly</changefreq><prior [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://pulsar.incubator.apache.org/admin-rest-api</loc><changefreq>weekly</changefreq><prior [...]
\ No newline at end of file
diff --git a/content/swagger/2.5.0-SNAPSHOT/swagger.json b/content/swagger/2.5.0-SNAPSHOT/swagger.json
index 78fb70e..9170086 100644
--- a/content/swagger/2.5.0-SNAPSHOT/swagger.json
+++ b/content/swagger/2.5.0-SNAPSHOT/swagger.json
@@ -8895,14 +8895,6 @@
         "loadReportType" : {
           "type" : "string"
         },
-        "msgThroughputIn" : {
-          "type" : "number",
-          "format" : "double"
-        },
-        "msgThroughputOut" : {
-          "type" : "number",
-          "format" : "double"
-        },
         "cpu" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
@@ -8921,6 +8913,14 @@
         "lastUpdate" : {
           "type" : "integer",
           "format" : "int64"
+        },
+        "msgThroughputIn" : {
+          "type" : "number",
+          "format" : "double"
+        },
+        "msgThroughputOut" : {
+          "type" : "number",
+          "format" : "double"
         }
       }
     },
@@ -9871,11 +9871,11 @@
     "ResourceUnit" : {
       "type" : "object",
       "properties" : {
-        "availableResource" : {
-          "$ref" : "#/definitions/ResourceDescription"
-        },
         "resourceId" : {
           "type" : "string"
+        },
+        "availableResource" : {
+          "$ref" : "#/definitions/ResourceDescription"
         }
       }
     },
diff --git a/content/swagger/2.5.0-SNAPSHOT/swaggerfunctions.json b/content/swagger/2.5.0-SNAPSHOT/swaggerfunctions.json
index ce3047a..6059d19 100644
--- a/content/swagger/2.5.0-SNAPSHOT/swaggerfunctions.json
+++ b/content/swagger/2.5.0-SNAPSHOT/swaggerfunctions.json
@@ -1348,6 +1348,16 @@
     "Message" : {
       "type" : "object",
       "properties" : {
+        "encryptionCtx" : {
+          "$ref" : "#/definitions/EncryptionContext"
+        },
+        "schemaVersion" : {
+          "type" : "array",
+          "items" : {
+            "type" : "string",
+            "format" : "byte"
+          }
+        },
         "replicated" : {
           "type" : "boolean"
         },
@@ -1362,11 +1372,12 @@
         "topicName" : {
           "type" : "string"
         },
-        "replicatedFrom" : {
-          "type" : "string"
+        "redeliveryCount" : {
+          "type" : "integer",
+          "format" : "int32"
         },
-        "producerName" : {
-          "type" : "string"
+        "messageId" : {
+          "$ref" : "#/definitions/MessageId"
         },
         "sequenceId" : {
           "type" : "integer",
@@ -1379,22 +1390,11 @@
             "format" : "byte"
           }
         },
-        "encryptionCtx" : {
-          "$ref" : "#/definitions/EncryptionContext"
-        },
-        "redeliveryCount" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "schemaVersion" : {
-          "type" : "array",
-          "items" : {
-            "type" : "string",
-            "format" : "byte"
-          }
+        "replicatedFrom" : {
+          "type" : "string"
         },
-        "messageId" : {
-          "$ref" : "#/definitions/MessageId"
+        "producerName" : {
+          "type" : "string"
         },
         "keyBytes" : {
           "type" : "array",
diff --git a/content/swagger/master/swagger.json b/content/swagger/master/swagger.json
index 78fb70e..9170086 100644
--- a/content/swagger/master/swagger.json
+++ b/content/swagger/master/swagger.json
@@ -8895,14 +8895,6 @@
         "loadReportType" : {
           "type" : "string"
         },
-        "msgThroughputIn" : {
-          "type" : "number",
-          "format" : "double"
-        },
-        "msgThroughputOut" : {
-          "type" : "number",
-          "format" : "double"
-        },
         "cpu" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
@@ -8921,6 +8913,14 @@
         "lastUpdate" : {
           "type" : "integer",
           "format" : "int64"
+        },
+        "msgThroughputIn" : {
+          "type" : "number",
+          "format" : "double"
+        },
+        "msgThroughputOut" : {
+          "type" : "number",
+          "format" : "double"
         }
       }
     },
@@ -9871,11 +9871,11 @@
     "ResourceUnit" : {
       "type" : "object",
       "properties" : {
-        "availableResource" : {
-          "$ref" : "#/definitions/ResourceDescription"
-        },
         "resourceId" : {
           "type" : "string"
+        },
+        "availableResource" : {
+          "$ref" : "#/definitions/ResourceDescription"
         }
       }
     },
diff --git a/content/swagger/master/swaggerfunctions.json b/content/swagger/master/swaggerfunctions.json
index ce3047a..6059d19 100644
--- a/content/swagger/master/swaggerfunctions.json
+++ b/content/swagger/master/swaggerfunctions.json
@@ -1348,6 +1348,16 @@
     "Message" : {
       "type" : "object",
       "properties" : {
+        "encryptionCtx" : {
+          "$ref" : "#/definitions/EncryptionContext"
+        },
+        "schemaVersion" : {
+          "type" : "array",
+          "items" : {
+            "type" : "string",
+            "format" : "byte"
+          }
+        },
         "replicated" : {
           "type" : "boolean"
         },
@@ -1362,11 +1372,12 @@
         "topicName" : {
           "type" : "string"
         },
-        "replicatedFrom" : {
-          "type" : "string"
+        "redeliveryCount" : {
+          "type" : "integer",
+          "format" : "int32"
         },
-        "producerName" : {
-          "type" : "string"
+        "messageId" : {
+          "$ref" : "#/definitions/MessageId"
         },
         "sequenceId" : {
           "type" : "integer",
@@ -1379,22 +1390,11 @@
             "format" : "byte"
           }
         },
-        "encryptionCtx" : {
-          "$ref" : "#/definitions/EncryptionContext"
-        },
-        "redeliveryCount" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "schemaVersion" : {
-          "type" : "array",
-          "items" : {
-            "type" : "string",
-            "format" : "byte"
-          }
+        "replicatedFrom" : {
+          "type" : "string"
         },
-        "messageId" : {
-          "$ref" : "#/definitions/MessageId"
+        "producerName" : {
+          "type" : "string"
         },
         "keyBytes" : {
           "type" : "array",