---
title: "OpenSearch 相关说明 | OceanBase 文档中心"
description: OpenSearch 相关说明 背景 为了支持 OceanBase V4.0 的全链路追踪特性，OCP V3.3.0 新增了数据中台功能，其中包含了全链路追踪和日志检索等功能，这些功能依赖于 OpenSearch 集群来进行存储和查询数据。而且，对于私有云输出场景，随 OCP 集群部署OpenSearch 集群也更加…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*lJTmRZ61jSUAAAAAAAAAAAAADiGDAQ/original) 云平台 OCPV 4.0.0 企业版

# OpenSearch 相关说明

更新时间：2026-04-14 16:45:43

## 背景

为了支持 OceanBase V4.0 的全链路追踪特性，OCP V3.3.0 新增了数据中台功能，其中包含了全链路追踪和日志检索等功能，这些功能依赖于 OpenSearch 集群来进行存储和查询数据。而且，对于私有云输出场景，随 OCP 集群部署OpenSearch 集群也更加方便，能够有效降低支持人员的部署学习成本。

## 前提条件

已参考 **集群规格评估** 对 OpenSearch 集群进行资源规划。

## 部署 OpenSearch 集群

1. 首先要在 OCP 宿主机上获得 OpenSearch 的 Docker 镜像。您可根据实际情况执行以下命令获得所需镜像。

#### 说明

当前镜像最新版本为 V3.3.2。

```
```java
docker pull oceanbase/opensearch:3.3.2
```

```

2. 在 OCP 宿主机上获得镜像后，执行以下命令启动镜像。

   ```java
   docker run -d --net host --env  OPENSEARCH_USERNAME=xxx --env OPENSEARCH_PASSWORD=xxx --env OPENSEARCH_NODE_URLS=ip1,ip2,ip3 --env OPENSEARCH_JVM_HEAP=4g --name ocp-opensearch reg.docker.alibaba-inc.com/oceanbase-platform/ocp-opensearch:3.3.2-x64

   ```

#### 注意

- OpenSearch 的 Docker 镜像必须以 host 网络模式启动。
 - 如果要将宿主机目录挂载到 OpenSearch 目录下，需先将宿主机的挂载目录权限设置为 admin。容器内 admin 用户的 uid 和 gid 均为 500。如果与宿主机的 admin 用户 ID 不一致会导致挂载失败，您可在容器启动后，进入容器内执行 `chown admin:admin /data/1/opensearch` 后重启容器进行解决。

```
启动镜像时，相关环境变量说明如下：

| 环境变量 | 说明 |
| --- | --- |
| OPENSEARCH_USERNAME | 必填项。</br>OpenSearch 的用户名，同时也是 cerebro 的登录用户名。 |
| OPENSEARCH_PASSWORD | 必填项。</br>OpenSearch 的密码，同时也是 cerebro 的登录密码。 |
| OPENSEARCH_NODE_URLS | 必填项。</br>OpenSearch 的节点 list。 |
| OPENSEARCH_JVM_HEAP | 选填项。</br>OpenSearch 的 jvm 内存，建议在设置为节点内存的一半（最大 32GB），默认 4GB。 |
| OPENSEARCH_HTTP_PORT | 选填项。</br>OpenSearch 与外界通信的端口，默认是 9200。 |
| OPENSEARCH_TCP_PORT | 选填项。</br>OpenSearch 节点间通信的端口，默认是 9300。 |
| CEREBRO_PORT | 选填项。</br>cerebro 端口，默认是 9100。 |
| ELASTICSEARCH_EXPORTER_PORT | 选填项。</br>elasticsearch_exporter 端口，默认是 9114。 |

```

3. OCP 连接 OpenSearch。

   在 OCP 启动后，需要在 **系统参数** 中手动添加 OpenSearch 的地址和账密。详情可参考 [配置链路查询相关参数](https://www.oceanbase.com/docs/enterprise-oceanbase-ocp-cn-10000000000775813) 。

## OpenSearch 服务说明

ocp-opensearch 的 docker 镜像中集成了三个服务，分别是 opensearch、elasticsearch_exporte 和 cerebro。

### opensearch

opensearch 是一个社区驱动的基于 Apache Lucene 的分布式搜索和分析引擎，源自 ES 7.10.2，协议是 Apache License 2.0。 将数据添加到 OpenSearch 后，可以对其执行全文搜索：按字段搜索、搜索多个索引、提升字段、按分数对结果进行排名、按字段对结果进行排序以及聚合结果。

### elasticsearch_exporte

elasticsearch_exporter 是一个将 OpenSearch 的各种指标用 Prometheus 格式导出的导出器，已经将其集成到了 ocp_prometheus 中。开源协议是 Apache License 2.0。 通过 elasticsearch_exporter 可以获取 OpenSearch 的监控数据，其中包括索引性能、JVM 内存占用和垃圾回收、集群健康和节点可用性、系统和网络指标等监控数据。

### cerebro

cerebro 是 OpenSearch 管理工具，可以通过 Web 页面对 OpenSearch 进行运维操作，支持索引的创建和删除、修改集群配置参数等。该软件同样开源，协议是 MIT License 2.0。

### 日志位置

日志目录：/home/admin/logs。

## OpenSearch 集群规格预估

### 磁盘容量

磁盘容量的影响因素包括如下方面：

- 副本数量；
 - 索引的开销：通常比源数据大 10%；
 - 操作系统预留：默认保留 5% 的空间；
 - OpenSearch 内部开销：段合并、日志等内部操作，一般预留 20%；
 - 安全阈值：一般至少预留 20%；

根据以上因素得出：最小磁盘大小 = 源数据量 *（1 + 副本数）* 1.7，您可根据该公式对磁盘容量进行把控。

### CPU 和内存

OpenSearch 的计算资源主要消耗在写入和查询中，对 CPU 要求不高。内存建议设为 16GB 、32GB 或者 64GB，同时分配给 OpenSearch 的内存不要超过系统可用内存的一半，且不要超过 32GB。

### Shard 评估

Shard 的大小和数量是影响 OpenSearch 集群稳定性和性能的重要因素之一。 分配建议如下：

- 在分配 shard 前，对 OpenSearch 进行数据测试。当数据量很大时，要减少写入量的大小，降低 OpenSearch 压力，建议选择多主 1 副本；当数据量较小，且写入量也比较小时，可以使用单主多副本或者单主 1 副本。
 - 建议一个 shard 的存储量保持在 30GB 以内（最优），特殊情况下可以提升到 50GB 以内。不宜过大或过小，过大会使 ES 的故障恢复速度变慢，过小会导致非常多的分片，而每个分片都会使用一定数量的 CPU 和内存，从而导致读写性能差、内存不足等问题。如果评估结果超过该容量，建议在创建索引之前，合理进行 shard 分配，后期进行 reindex，虽然能保证不停机，但是比较耗时。
 - 建议 shard 的个数（包括副本）要尽可能等于数据节点数，或者是数据节点数的整数倍，使得分片在所有节点内均匀分布，更加利于负载均衡。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
