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

lidongdai pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new 5a010233dc [docs][connector-hbase] Add Kerberos configuration 
notes/examples and fix hbase_extra_config type (#10277)
5a010233dc is described below

commit 5a010233dc141e179b8c85e9d88cc4a1c7ed08f6
Author: yzeng1618 <[email protected]>
AuthorDate: Tue Jan 6 20:24:26 2026 +0800

    [docs][connector-hbase] Add Kerberos configuration notes/examples and fix 
hbase_extra_config type (#10277)
    
    Co-authored-by: zengyi <[email protected]>
---
 docs/en/connector-v2/sink/Hbase.md   | 32 ++++++++++++++++++++++++++-
 docs/en/connector-v2/source/Hbase.md | 40 +++++++++++++++++++++++++++++++++-
 docs/zh/connector-v2/sink/Hbase.md   | 34 +++++++++++++++++++++++++++--
 docs/zh/connector-v2/source/Hbase.md | 42 ++++++++++++++++++++++++++++++++++--
 4 files changed, 142 insertions(+), 6 deletions(-)

diff --git a/docs/en/connector-v2/sink/Hbase.md 
b/docs/en/connector-v2/sink/Hbase.md
index e126aeed96..e405a24dd1 100644
--- a/docs/en/connector-v2/sink/Hbase.md
+++ b/docs/en/connector-v2/sink/Hbase.md
@@ -26,7 +26,7 @@ Output data to Hbase
 | wal_write          | boolean | yes      | false           |
 | write_buffer_size  | string  | no       | 8 * 1024 * 1024 |
 | encoding           | string  | no       | utf8            |
-| hbase_extra_config | string  | no       | -               |
+| hbase_extra_config | config  | no       | -               |
 | common-options     |         | no       | -               |
 | ttl                | long    | no       | -               |
 
@@ -121,6 +121,36 @@ Hbase {
 
 ```
 
+## Kerberos Example
+
+Note:
+
+- `connector-hbase` does not parse `krb5_path`, `kerberos_principal`, or 
`kerberos_keytab_path`.
+- Prepare Kerberos credentials and `krb5.conf` in the runtime environment (for 
example, `kinit -kt ...` or JVM `-Djava.security.krb5.conf=...`), and put 
HBase/Hadoop security settings into `hbase_extra_config`.
+
+```hocon
+sink {
+  Hbase {
+    zookeeper_quorum = "zk1:2181,zk2:2181,zk3:2181"
+    table = "target_table"
+    rowkey_column = ["rowkey"]
+    family_name {
+      all_columns = "info"
+    }
+
+    # HBase security config
+    hbase_extra_config = {
+      "hbase.security.authentication" = "kerberos"
+      "hadoop.security.authentication" = "kerberos"
+      "hbase.master.kerberos.principal" = "hbase/_HOST@REALM"
+      "hbase.regionserver.kerberos.principal" = "hbase/_HOST@REALM"
+      "hbase.rpc.protection" = "authentication"
+      "hbase.zookeeper.useSasl" = "false"
+    }
+  }
+}
+```
+
 ### Multiple Table
 
 ```hocon
diff --git a/docs/en/connector-v2/source/Hbase.md 
b/docs/en/connector-v2/source/Hbase.md
index 2edd6eb289..cb774c7ae4 100644
--- a/docs/en/connector-v2/source/Hbase.md
+++ b/docs/en/connector-v2/source/Hbase.md
@@ -24,7 +24,7 @@ Reads data from Apache Hbase.
 | zookeeper_quorum     | string    | Yes       | -       |
 | table                | string    | Yes       | -       |
 | schema               | config    | Yes       | -       |
-| hbase_extra_config   | string    | No        | -       |
+| hbase_extra_config   | config    | No        | -       |
 | caching              | int       | No        | -1      |
 | batch                | int       | No        | -1      |
 | cache_blocks         | boolean   | No        | false   |
@@ -133,6 +133,44 @@ source {
 }
 ```
 
+## Kerberos Example
+
+Note:
+
+- `connector-hbase` does not parse `krb5_path`, `kerberos_principal`, or 
`kerberos_keytab_path`.
+- Prepare Kerberos credentials and `krb5.conf` in the runtime environment (for 
example, `kinit -kt ...` or JVM `-Djava.security.krb5.conf=...`), and put 
HBase/Hadoop security settings into `hbase_extra_config`.
+
+```hocon
+source {
+  Hbase {
+    zookeeper_quorum = "zk1:2181,zk2:2181,zk3:2181"
+    table = "source_table"
+    caching = 1000
+    batch = 200
+    cache_blocks = false
+    is_binary_rowkey = false
+
+    # HBase security config
+    hbase_extra_config = {
+      "hbase.security.authentication" = "kerberos"
+      "hadoop.security.authentication" = "kerberos"
+      "hbase.master.kerberos.principal" = "hbase/_HOST@REALM"
+      "hbase.regionserver.kerberos.principal" = "hbase/_HOST@REALM"
+      "hbase.rpc.protection" = "authentication"
+      "hbase.zookeeper.useSasl" = "false"
+    }
+
+    schema = {
+      columns = [
+        { name = "rowkey", type = string },
+        { name = "info:name", type = string },
+        { name = "info:score", type = string }
+      ]
+    }
+  }
+}
+```
+
 ## Changelog
 
 <ChangeLog />
diff --git a/docs/zh/connector-v2/sink/Hbase.md 
b/docs/zh/connector-v2/sink/Hbase.md
index 6bc0f9f1a9..537a87470c 100644
--- a/docs/zh/connector-v2/sink/Hbase.md
+++ b/docs/zh/connector-v2/sink/Hbase.md
@@ -26,7 +26,7 @@ import ChangeLog from '../changelog/connector-hbase.md';
 | wal_write          | boolean | yes  | false           |
 | write_buffer_size  | string  | no   | 8 * 1024 * 1024 |
 | encoding           | string  | no   | utf8            |
-| hbase_extra_config | string  | no   | -               |
+| hbase_extra_config | config  | no   | -               |
 | common-options     |         | no   | -               |
 | ttl                | long    | no   | -               |
 
@@ -121,6 +121,36 @@ Hbase {
 
 ```
 
+## Kerberos 示例
+
+备注:
+
+- `connector-hbase` 不会解析 `krb5_path` / `kerberos_principal` / 
`kerberos_keytab_path`。
+- 需要在运行环境中提前完成 Kerberos 登录并保证 `krb5.conf` 可被 JVM 访问(例如 `kinit -kt ...` 或 JVM 
`-Djava.security.krb5.conf=...`),同时将 HBase/Hadoop 的安全配置写入 `hbase_extra_config`。
+
+```hocon
+sink {
+  Hbase {
+    zookeeper_quorum = "zk1:2181,zk2:2181,zk3:2181"
+    table = "target_table"
+    rowkey_column = ["rowkey"]
+    family_name {
+      all_columns = "info"
+    }
+
+    # HBase安全配置
+    hbase_extra_config = {
+      "hbase.security.authentication" = "kerberos"
+      "hadoop.security.authentication" = "kerberos"
+      "hbase.master.kerberos.principal" = "hbase/_HOST@REALM"
+      "hbase.regionserver.kerberos.principal" = "hbase/_HOST@REALM"
+      "hbase.rpc.protection" = "authentication"
+      "hbase.zookeeper.useSasl" = "false"
+    }
+  }
+}
+```
+
 ### 写入多表
 
 ```hocon
@@ -209,4 +239,4 @@ Hbase {
 
 ## 变更日志
 
-<ChangeLog />
\ No newline at end of file
+<ChangeLog />
diff --git a/docs/zh/connector-v2/source/Hbase.md 
b/docs/zh/connector-v2/source/Hbase.md
index 4d96ed9d5b..2cd306a50c 100644
--- a/docs/zh/connector-v2/source/Hbase.md
+++ b/docs/zh/connector-v2/source/Hbase.md
@@ -24,7 +24,7 @@ import ChangeLog from '../changelog/connector-hbase.md';
 | zookeeper_quorum     | string   | 是  | -     |
 | table                | string   | 是  | -     |
 | schema               | config   | 是  | -     |
-| hbase_extra_config   | string   | 否  | -     |
+| hbase_extra_config   | config   | 否  | -     |
 | caching              | int      | 否  | -1    |
 | batch                | int      | 否  | -1    |
 | cache_blocks         | boolean  | 否  | false |
@@ -133,6 +133,44 @@ source {
 }
 ```
 
+## Kerberos 示例
+
+备注:
+
+- `connector-hbase` 不会解析 `krb5_path` / `kerberos_principal` / 
`kerberos_keytab_path`。
+- 需要在运行环境中提前完成 Kerberos 登录并保证 `krb5.conf` 可被 JVM 访问(例如 `kinit -kt ...` 或 JVM 
`-Djava.security.krb5.conf=...`),同时将 HBase/Hadoop 的安全配置写入 `hbase_extra_config`。
+
+```hocon
+source {
+  Hbase {
+    zookeeper_quorum = "zk1:2181,zk2:2181,zk3:2181"
+    table = "source_table"
+    caching = 1000
+    batch = 200
+    cache_blocks = false
+    is_binary_rowkey = false
+
+    # HBase安全配置
+    hbase_extra_config = {
+      "hbase.security.authentication" = "kerberos"
+      "hadoop.security.authentication" = "kerberos"
+      "hbase.master.kerberos.principal" = "hbase/_HOST@REALM"
+      "hbase.regionserver.kerberos.principal" = "hbase/_HOST@REALM"
+      "hbase.rpc.protection" = "authentication"
+      "hbase.zookeeper.useSasl" = "false"
+    }
+
+    schema = {
+      columns = [
+        { name = "rowkey", type = string },
+        { name = "info:name", type = string },
+        { name = "info:score", type = string }
+      ]
+    }
+  }
+}
+```
+
 ## 变更日志
 
-<ChangeLog />
\ No newline at end of file
+<ChangeLog />

Reply via email to