Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add HMS Docs #2139

Merged
merged 2 commits into from
Mar 9, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
{
"title": "Hive Metastore",
"language": "zh-CN"
"title": "Hive Metastore",
"language": "zh-CN"
}
---

Expand All @@ -25,11 +25,70 @@ under the License.
-->

本文档用于介绍通过 `CREATE CATALOG` 语句连接并访问 Hive Metastore 时所支持的参数。
## 参数总览
| 属性名称 | 描述 | 默认值 | 是否必须 |
|--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------|------|
| `hive.metastore.uris` | Hive Metastore 的 URI 地址。支持指定多个 URI,使用逗号分隔。默认使用第一个 URI,当第一个 URI 不可用时,会尝试使用其他的。如:`thrift://172.0.0.1:9083` 或 `thrift://172.0.0.1:9083,thrift://172.0.0.2:9083` | 无 | 是 |
| `hive.conf.resources` | hive-site.xml 文件位置,用于从hive-site.xml 文件中加载连接 HMS 所需参数,若hive-site.xml 文件包含完整的链接参数信息,则可仅填写此参数。配置文件必须放在 FE 部署目录,默认目录为部署目录下的 /plugins/hadoop_conf/(可修改fe.conf中的hadoop_config_dir 来更改默认路径),文件位置需要为相对路径,如 hms-1/hive-site.xml。且所有 FE 节点都必须含有此文件。 | 空 | 否 |
| `hive.metastore.authentication.type` | Hive Metastore 的认证方式。支持 `simple` 和 `kerberos` 两种。在 2.1 及之前版本中,认证方式由`hadoop.security.authentication`属性决定。3.0 版本开始,可以单独指定 Hive Metastore 的认证方式。 | simple | 否 |
| `hive.metastore.service.principal` | 当认证方式为 kerberos 时,用于指定 Hive Metastore 服务端的 principal。 | 空 | 否 |
| `hive.metastore.client.principal` | 当认证方式为 kerberos 时,用于指定 Hive Metastore 客户端的 principal。在 2.1 及之前版本中,该参数由`hadoop.kerberos.principal`属性决定。 | 空 | 否 |
| `hive.metastore.client.keytab` | 当认证方式为 kerberos 时,用于指定 Hive Metastore 客户端的 keytab。keytab 文件必须要放置到所有 FE 节点的相同目录下。 | 空 | 否 |

| 属性名称 | 描述 | 默认值 | 是否必须 |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | ---- |
| `hive.metastore.uri` | Hive Metastore 的 URI 地址。可以从 hive-site.xml 中获取。支持指定多个 URI,使用逗号分隔。默认使用第一个 URI,当第一个 URI 不可用时,会尝试使用其他的。如:`thrift://172.0.0.1:9083` 或 `thrift://172.0.0.1:9083,thrift://172.0.0.2:9083` | 无 | 是 |
| `hive.metastore.authentication.type | Hive Metastore 的认证方式。支持 `none` 和 `kerberos` 两种。在 2.1 及之前版本中,认证方式由`hadoop.security.authentication`属性决定。3.0 版本开始,可以单独指定 Hive Metastore 的认证方式。 | none | 否 |
| `hive.metastore.service.principal` | 当认证方式为 kerberos 时,用于指定 Hive Metastore 服务端的 principal。 | 空 | 否 |
| `hive.metastore.client.principal` | 当认证方式为 kerberos 时,用于指定 Hive Metastore 客户端的 principal。 | 空 | 否 |
| `hive.metastore.client.keytab` | 当认证方式为 kerberos 时,用于指定 Hive Metastore 客户端的 keytab。keytab 文件必须要放置到所有 FE 节点的相同目录下。 | 空 | 否 |
## 认证参数
在 Hive Metastore 中,有两种认证方式:simple 和 kerberos。
### `hive.metastore.authentication.type`
- **描述**
指定 Hive Metastore 的认证方式。
- **可选值**
- `simple`(默认): 即不使用任何认证。
- `kerberos`: 启用 Kerberos 认证
- **版本差异**
- 2.1 及之前版本:依赖全局参数 `hadoop.security.authentication`
- 3.0+ 版本:可独立配置
### 启用 Simple 认证相关参数
直接指定 `hive.metastore.authentication.type = simple` 即可。
**生产环境不建议使用此方式**
#### 完整示例
```properties
hive.metastore.authentication.type = simple
```
### 启用 Kerberos 认证相关参数
#### `hive.metastore.service.principal`
- **描述**
Hive Metastore 服务的 Kerberos 主体,用于 Doris 验证 Metastore 身份。
- **占位符支持**
`_HOST` 会自动替换为实际连接的 Metastore 主机名(适用于多节点 Metastore 集群)。
- **示例**
```plaintext
hive/[email protected]
hive/[email protected] # 动态解析实际主机名
```
#### `hive.metastore.client.principal`
- **描述**
连接到 Hive MeteStore 服务时使用的 Kerberos 主体。 例如:doris/[email protected]或doris/[email protected]
- **占位符支持**
`_HOST` 会自动替换为实际连接的 Metastore 主机名(适用于多节点 Metastore 集群)。
- **示例**
```plaintext
doris/[email protected]
doris/[email protected] # 动态解析实际主机名
```
#### `hive.metastore.client.keytab`
- **描述**
包含指定的 principal 的密钥的密钥表文件的路径。运行所有 FE 的操作系统用户必须有权限读取此文件。
- **示例**
```properties
hive.metastore.client.keytab = conf/doris.keytab
```


#### 完整示例
启用 Kerberos 认证
```properties
hive.metastore.authentication.type = kerberos
hive.metastore.service.principal = hive/[email protected]
hive.metastore.client.principal = doris/[email protected]
hive.metastore.client.keytab = etc/doris/conf/doris.keytab
```

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
{
"title": "Aliyun OSS",
"language": "zh-CN"
"title": "Aliyun OSS",
"language": "zh-CN"
}
---

Expand All @@ -24,4 +24,45 @@ specific language governing permissions and limitations
under the License.
-->

文章更新中,请先参阅 2.1/3.0 版本文档。
# 阿里云OSS访问参数

本文档介绍访问阿里云OSS所需的参数,这些参数适用于以下场景:

- Catalog 属性
- Table Valued Function 属性
- Broker Load 属性
- Export 属性
- Outfile 属性

**Doris 使用 S3 Client,通过 S3 兼容协议访问阿里云 OSS。**

## 参数总览
| 属性名称 | 曾用名 | 描述 | 默认值 | 是否必须 |
|---------------------------------|------------------|----------------------------------------------------------------|--------|------|
| `s3.endpoint` | `oss.endpoint` | OSS endpoint,指定阿里云 OSS 的访问端点。注意,OSS 和 OSS HDFS 的 endpoint 不相同。 | | 是 |
| `s3.region` | `oss.region` | OSS region,指定阿里云 OSS 的区域 | | 否 |
| `s3.access_key` | `oss.access_key` | OSS access key,用于身份验证的 OSS 访问密钥 | | 是 |
| `s3.secret_key` | `oss.secret_key` | OSS secret key,与 access key 配合使用的访问密钥 | | 是 |
| `s3.connection.maximum` | | S3 最大连接数,指定与 OSS 服务建立的最大连接数 | `50` | 否 |
| `s3.connection.request.timeout` | | S3 请求超时时间,单位为毫秒,指定连接 OSS 服务时的请求超时时间 | `3000` | 否 |
| `s3.connection.timeout` | | S3 连接超时时间,单位为毫秒,指定与 OSS 服务建立连接时的超时时间 | `1000` | 否 |
| `s3.sts_endpoint` | | 尚未支持 | | 否 |
| `s3.sts_region` | | 尚未支持 | | 否 |
| `s3.iam_role` | | 尚未支持 | | 否 |
| `s3.external_id` | | 尚未支持 | | 否 |

### 认证配置
访问阿里云 OSS 时,需要提供阿里云的 Access Key 和 Secret Key,即下列参数:

- `s3.access_key` (或 `oss.access_key`)
- `s3.secret_key` (或 `oss.secret_key`)

### 示例配置

```properties
"oss.access_key" = "ak"
"oss.secret_key" = "sk"
"oss.endpoint" = "oss-cn-beijing.aliyuncs.com"
"oss.region" = "cn-beijing"
```

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
{
"title": "HDFS",
"language": "zh-CN"
"title": "HDFS",
"language": "zh-CN"
}
---

Expand All @@ -23,5 +23,81 @@ KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
# HDFS
本文档用于介绍访问 HDFS 时所需的参数。这些参数适用于:
- Catalog 属性。
- Table Valued Function 属性。
- Broker Load 属性。
- Export 属性。
- Outfile 属性。
- 备份恢复

## 参数总览
| 属性名称 | 曾用名 | 描述 | 默认值 | 是否必须 |
|------------------------------------------|----------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|------|
| `hdfs.authentication.type` | `hadoop.security.authentication` | 访问HDFS的认证类型。支持 `kerberos` 和 `simple` | `simple` | 否 |
| `hdfs.authentication.kerberos.principal` | `hadoop.kerberos.principal` | 当认证类型为 `kerberos` 时,指定 principal | - | 否 |
| `hdfs.authentication.kerberos.keytab` | `hadoop.kerberos.keytab` | 当认证类型为 `kerberos` 时,指定 keytab | - | 否 |
| `hdfs.impersonation.enabled` | - | 如果为 `true`,将开启HDFS的impersonation功能。会使用 `core-site.xml` 中配置的代理用户,来代理 Doris 的登录用户,执行HDFS操作 | `尚未支持` | - |
| `hadoop.username` | - | 当认证类型为 `simple` 时,会使用此用户来访问HDFS。默认情况下,会使用运行 Doris 进程的 Linux 系统用户进行访问 | - | - |
| `hadoop.config.resources` | - | 指定 HDFS 相关配置文件目录(需包含 `hdfs-site.xml` 和 `core-site.xml`),需使用相对路径,默认目录为(FE/BE)部署目录下的 /plugins/hadoop_conf/(可修改 fe.conf/be.conf 中的hadoop_config_dir 来更改默认路径)。所有 FE 和 BE 节点需配置相同相对路径。示例:`hadoop/conf/core-site.xml,hadoop/conf/hdfs-site.xml` | - | - |
| `dfs.nameservices` | - | 手动配置HDFS高可用集群的参数。若使用 `hadoop.config.resources` 配置,则会自动从 `hdfs-site.xml` 读取参数。需配合以下参数:<br>`dfs.ha.namenodes.your-nameservice`<br>`dfs.namenode.rpc-address.your-nameservice.nn1`<br>`dfs.client.failover.proxy.provider` 等 | - | - |

### 认证配置
- hdfs.authentication.type: 用于指定认证类型。可选值为 kerberos 或 simple。如果选择 kerberos,系统将使用 Kerberos 认证同 HDFS 交互;如果使用 simple ,表示不使用认证,适用于开放的 HDFS 集群。选择 kerberos 需要配置相应的 principal 和 keytab。
- hdfs.authentication.kerberos.principal: 当认证类型为 kerberos 时,指定 Kerberos 的 principal。Kerberos principal 是一个唯一标识身份的字符串,通常包括服务名、主机名和域名。
- hdfs.authentication.kerberos.keytab: 该参数指定用于 Kerberos 认证的 keytab 文件路径。keytab 文件用于存储加密的凭证,允许系统自动进行认证,无需用户手动输入密码。
#### 认证类型
HDFS 支持两种认证方式:即
- Kerberos
- Simple

##### Simple 认证
Simple 认证适用于未开启 Kerberos 的 HDFS 集群。生产环境不建议使用此方式。

开启 Simple 认证方式,需要设置以下参数:
```
hdfs.authentication.type: simple
```
Simple 认证模式下,可以使用 `hadoop.username` 参数来指定用户名。如不指定,则默认使用当前进程运行的用户名。

**示例:**

使用 `lakers` 用户名访问 HDFS
```properties
hdfs.authentication.type = simple
hadoop.username = lakers
```
使用默认系统用户访问 HDFS
```properties
hdfs.authentication.type = simple
```
##### Kerberos 认证
Kerberos 认证适用于已开启 Kerberos 的 HDFS 集群。

开启 Kerberos 认证方式,需要设置以下参数:
```properties
hdfs.authentication.type = kerberos
hdfs.authentication.kerberos.principal = hdfs/[email protected]
hdfs.authentication.kerberos.keytab = /etc/security/keytabs/hdfs.keytab
```
Kerberos 认证模式下,需要设置 Kerberos 的 principal 和 keytab 文件路径。
Doris 将以该 hdfs.authentication.kerberos.principal 属性指定的主体身份访问 HDFS, 使用 keytab 指定的 keytab 对该 Principal 进行认证。

**注意:**
- Keytab 文件需要在每个 FE 和 BE 节点上均存在,且路径相同,同时运行 Doris 进程的用户必须具有该 keytab 文件的读权限。

示例:
```properties
hdfs.authentication.type = kerberos
hdfs.authentication.kerberos.principal = hdfs/[email protected]
hdfs.authentication.kerberos.keytab = etc/security/keytabs/hdfs.keytab
```

### 配置文件
Doris 支持通过 `hadoop.config.resources` 参数来指定 HDFS 相关配置文件目录。
配置文件目录需包含 `hdfs-site.xml` 和 `core-site.xml` 文件,默认目录为(FE/BE)部署目录下的 `/plugins/hadoop_conf/`。所有 FE 和 BE 节点需配置相同的相对路径。

如果配置文件包含文档上述参数,则优先使用用户显示配置的参数。配置文件可以指定多个文件,多个文件以逗号分隔。如 `hadoop/conf/core-site.xml,hadoop/conf/hdfs-site.xml`。


文章更新中,请先参阅 2.1/3.0 版本文档。
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
{
"title": "Huawei OBS",
"language": "zh-CN"
"title": "Huawei OBS",
"language": "zh-CN"
}
---

Expand All @@ -24,4 +24,43 @@ specific language governing permissions and limitations
under the License.
-->

文章更新中,请先参阅 2.1/3.0 版本文档。
## 华为云OBS访问参数

本文档介绍访问华为云OBS所需的参数,这些参数适用于以下场景:

- Catalog 属性
- Table Valued Function 属性
- Broker Load 属性
- Export 属性
- Outfile 属性

**Doris 使用 S3 Client,通过 S3 兼容协议访问华为云 OBS。**
### 参数总览

| 属性名称 | 曾用名 | 描述 | 默认值 | 是否必须 |
|---------------------------------|------------------|---------------------------------------|--------|------|
| `s3.endpoint` | `obs.endpoint` | OBS endpoint,指定华为云 OBS 的访问端点 | | 是 |
| `s3.region` | `obs.region` | OBS region,指定华为云 OBS 的区域 | | 否 |
| `s3.access_key` | `obs.access_key` | OBS access key,用于身份验证的 OBS 访问密钥 | | 是 |
| `s3.secret_key` | `obs.secret_key` | OBS secret key,与 access key 配合使用的访问密钥 | | 是 |
| `s3.connection.maximum` | | S3 最大连接数,指定与 OBS 服务建立的最大连接数 | `50` | 否 |
| `s3.connection.request.timeout` | | S3 请求超时时间,单位为毫秒,指定连接 OBS 服务时的请求超时时间 | `3000` | 否 |
| `s3.connection.timeout` | | S3 连接超时时间,单位为毫秒,指定与 OBS 服务建立连接时的超

### 认证配置

访问华为云 OBS 时,需要提供华为云的 Access Key 和 Secret Key,即下列参数:

- `s3.access_key` (或 `obs.access_key`)
- `s3.secret_key` (或 `obs.secret_key`)

这两个参数用于身份验证,确保访问华为云 OBS 的权限。

### 配置示例

```properties:
s3.endpoint: obs.cn-north-4.myhuaweicloud.com
s3.access_key: AKI******
s3.secret_key: 5+******
s3.region: cn-north-4
```
Loading