IBM Cloud Docs
Databases for Elasticsearch 入门

Databases for Elasticsearch 入门

本教程将指导您通过调配实例、设置管理员密码和连接实例等步骤,快速开始使用IBM Cloud® Databases for Elasticsearch部署。

请按照以下步骤完成教程:

请按照以下步骤完成教程:

请按照以下步骤完成教程:

请按照以下步骤完成教程:

准备工作

第 1 步:选择计划

Databases for Elasticsearch提供两种不同的计划:

  • Databases for Elasticsearch 企业版部署的是基本版Elasticsearch。

  • Databases for Elasticsearch 铂金版部署Elasticsearch 的铂金版。

这两种计划都为您提供全面管理和可扩展的Elasticsearch服务,让您专注于应用程序和数据,而不是底层基础设施。

使用应用程序接口

使用“Cloud Databases应用程序接口来处理”Databases for MongoDB实例。 资源控制器 API 用于 配置实例

您需要一个 API 密钥才能通过 API 执行操作。 请按照 以下步骤创建IBM CloudAPI 密钥,以便使用 API 将基础架构配置到您的帐户中。 您最多可以创建 20 个 API 密钥。

出于安全原因,API 密钥仅在创建时才可复制或下载。 如果 API 密钥丢失,必须创建新的 API 密钥。

步骤 2:通过控制台进行供应

  1. 登录到 IBM Cloud 控制台。

  2. 单击目录中的 Databases for Elasticsearch服务

  3. 请按照 以下步骤 配置Databases for Elasticsearch实例。

  4. 实例配置完成后,单击实例名称可查看更多信息。

第 2 步:通过 CLI 进行配置

您可以使用 CLI 配置Databases for Elasticsearch实例。 如果还没有,则需要安装 "IBM CloudCLI

您可以按照 以下步骤 配置Databases for Elasticsearch实例。

第 2 步:通过资源控制器 API 进行供应

请按照 以下步骤,使用资源控制器 API 配置Databases for Elasticsearch实例。

步骤 2:通过 Terraform 进行供应

通过 Terraform 执行操作需要 API 密钥。 按照 以下步骤创建IBM CloudAPI 密钥,使 Terraform 能够将基础架构配置到您的帐户中。 您最多可以创建 20 个 API 密钥。

出于安全原因,API 密钥仅在创建时才可复制或下载。 如果 API 密钥丢失,必须创建新的 API 密钥。

获得 API 密钥后,请按照 以下步骤 使用 Terraform 配置Databases for Elasticsearch实例。

步骤 3:设置管理员密码

管理员用户

配置Databases for Elasticsearch部署时,会自动创建一个 "admin 用户。

使用前请先设置管理员密码。

通过用户界面设置管理员密码

通过用户界面设置管理员密码,方法是从 "IBM Cloud资源列表中选择你的实例。 然后,选择设置。 下一步,选择更改数据库管理员密码

通过 CLI 设置管理员密码

使用IBM Cloud插件中的 "cdb user-password 命令。CLICloud Databases插件中的 "code1 "命令来设置管理员密码。

例如,要为部署设置管理员密码,请使用以下命令:

ibmcloud cdb user-password <INSTANCE_NAME_OR_CRN> admin <NEWPASSWORD>

通过 API 设置管理员密码

您可以使用上述步骤 2 响应中获得的 "id 参数和 设置指定用户密码端点来设置管理员密码。

curl -X PATCH -H "Authorization: Bearer <TOKEN>" \
     -H 'Content-Type: application/json' \
     -d '{"password":"newrootpasswordsupersecure21"}' \
      "https://api.<REGION>.databases.cloud.ibm.com/v5/ibm/deployments/<DEPLOYMENT_ID>/users/database/admin"

id 参数需要进行 URL,以便上述 API 调用生效。

通过 Terraform 设置管理员密码

在 Terraform 脚本中,管理员密码作为数据库资源参数之一传入。 无需采取任何进一步行动。

第 4 步:连接到Databases for Elasticsearch实例

使用“Kibana连接到您的部署,这是一个开源工具,可为您的”Elasticsearch数据库添加可视化功能。 This tutorial runs Kibana in a Docker container by using the Kibana image from the Docker image repository.

准备工作

要连接,Kibana 需要 Elasticsearch 部署的用户名、密码、URL 和端口。 它还需要 Elasticsearch TLS 证书才能访问数据库。 要获取此信息,请从创建的 Elasticsearch 实例的“概览”页面的“端点”部分复制证书信息。 然后,将证书下载到本地文件夹。 您可以使用下载中提供的名称或您自己的文件名。

请记住在文件系统上保存证书的位置。 如果在本地运行 Kibana,而不是在 Docker中运行,那么证书将进入 $KIBANA_HOME/config/<filename>

设置 Kibana

在运行包含 Kibana 的 Docker 容器之前,请使用从步骤 1 下载的 Elasticsearch 证书在同一文件夹中创建配置文件。 配置文件将包含一些基本 Kibana 设置,如下所示。

创建名为 kibana.yml 的 YAML 文件。 在该文件中,您需要以下 Kibana 配置设置:

elasticsearch.ssl.certificateAuthorities: "/usr/share/kibana/config/cacert"
elasticsearch.username: "admin"
elasticsearch.password: "<password>"
elasticsearch.hosts: ["https://<hostname:port>"]
server.name: "kibana"
server.host: "0.0.0.0"

第一个设置 elasticsearch.ssl.certificateAuthorities 是 Docker 将存储 Elasticsearch 证书的位置。 首次运行 Docker时,会将其放置在此位置。 您可以将其更改为您选择的位置,但示例路径是 Kibana 的配置目录。 确保 kibana.yml 中的证书名称 (在我们的示例 "cert" 中) 与步骤 1 中存储的证书名称文件同名。

接下来是 elasticsearch.usernameelasticsearch.password。 使用部署的管理用户名和密码。 请确保先设置管理员密码,然后再尝试连接。 对于 elasticsearch.hosts,输入部署的主机名和端口,以 : 分隔。

最后,server.name 是 Kibana 实例的机器可读名称,server.hosts 是可在 Web 浏览器中连接到 Kibana 的后端服务器的主机。

这些设置只是入门的简化示例。 有关更多信息,请参阅 配置 Kibana

如果您在本地 (而不是在 Docker中) 运行 Kibana,那么 YAML 文件将进入 $KIBANA_HOME/config/kibana.yml,其中 Kibana 将读取其配置。

运行 Kibana 容器

现在,kibana.yml 文件已设置,请使用 Docker 将 YAML 文件和证书文件附加到 Docker 容器,同时从 Docker 映像存储库中拉取 <kibana_version> 映像。

使用具有与您的部署正在运行的 Elasticsearch 版本兼容的 Kibana 版本的映像。 使用首选 HTTP 客户机从 https_endpoint API 端点检索 Elasticsearch 版本。 有关更多信息,请参阅 Elasticsearch 兼容性矩阵

以下是具有 curl 的示例。 如果未安装证书,请使用 --insecure 标志来禁用同级验证。 可以在实例的 端点 UI 中找到 <http_endpoint> :

curl --cacert <path-to-cert> <https_endpoint>

接下来,在终端中运行 Docker 命令以启动 Kibana 容器。

docker container run -it --name kibana \
-v <path_to_config_folder_created_in_step_1>:/usr/share/kibana/config \
-p 5601:5601 docker.elastic.co/kibana/kibana:<kibana_version>

Docker 命令具有一个使用 -v 标志连接的卷。 这些文件安装到路径 /usr/share/kibana/config/ 上的 Kibana 容器,这是 Kibana 在其中查找配置文件的配置目录。

  • -p 指定从容器公开的端口以及用于访问 Kibana 的端口。
  • Kibana 版本应该与您正在使用的 Elasticsearch 版本相对应。

从终端运行该命令时,它会下载 Kibana Docker 映像并运行 Kibana。 在 Kibana 连接到 Databases for Elasticsearch 部署并成功运行后,您将在终端中看到输出。

log   [01:19:31.839] [info][status][plugin:<kibana_version>] Status changed from uninitialized to green - Ready
log   [01:19:31.925] [info][status][plugin:elasticsearch@<kibana_version>] Status changed from uninitialized to yellow - Waiting for Elasticsearch
log   [01:19:32.120] [info][status][plugin:timelion@<kibana_version>] Status changed from uninitialized to green - Ready
log   [01:19:32.134] [info][status][plugin:console@<kibana_version>] Status changed from uninitialized to green - Ready
log   [01:19:32.147] [info][status][plugin:metrics@<kibana_version>] Status changed from uninitialized to green - Ready
log   [01:19:33.132] [info][status][plugin:elasticsearch@<kibana_version>] Status changed from yellow to green - Ready
log   [01:19:33.378] [info][listening] Server running at http://0.0.0.0:5601

如果您不想在终端中看到 Kibana 的输出,请使用 -d 标志来拆离容器。

在浏览器中访问 http://0.0.0.0:5601 以查看 Kibana。0.0.0.0kibana.yml 中的 server.host5601 是从容器公开的端口。 进入 URL 后,弹出窗口会提示您输入用户名和密码。 使用管理凭证或您创建的任何其他凭证来访问部署。 凭证不必与 kibana.yml 文件中提供的用户名和密码相同。

后续步骤

有关详细信息,请参阅 Elasticsearch 文档

要查找有关管理数据库和数据的更多工具吗? 您可以使用 IBM Cloud CLICloud Databases CLI 插件Cloud Databases API 连接到部署。

如果计划将 Databases for Elasticsearch 用于应用程序,请查看 连接外部应用程序连接 IBM Cloud 应用程序

要确保应用程序和数据库的稳定性,请查看 高可用性性能