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 />