Databases for Elasticsearch 入门
本教程将指导您通过调配实例、设置管理员密码和连接实例等步骤,快速开始使用IBM Cloud® Databases for Elasticsearch部署。
请按照以下步骤完成教程:
请按照以下步骤完成教程:
请按照以下步骤完成教程:
请按照以下步骤完成教程:
准备工作
- 您需要一个 IBM Cloud账户。
第 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:通过控制台进行供应
-
登录到 IBM Cloud 控制台。
-
单击目录中的 Databases for Elasticsearch服务。
-
请按照 以下步骤 配置Databases for Elasticsearch实例。
-
实例配置完成后,单击实例名称可查看更多信息。
第 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.
准备工作
- 安装 Docker,以便您可以拉取 Kibana 容器映像以连接到 Databases for Elasticsearch。
- 如果您希望避免在本地运行 Kibana 并安装 Docker,那么还可以使用 IBM Cloud® Code Engine来部署 Kibana。 有关更多信息,请参阅 使用 Code Engine 并连接到 Databases for Elasticsearch 实例。
要连接,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.username
和 elasticsearch.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.0
是 kibana.yml
中的 server.host
,5601
是从容器公开的端口。 进入 URL 后,弹出窗口会提示您输入用户名和密码。 使用管理凭证或您创建的任何其他凭证来访问部署。 凭证不必与 kibana.yml
文件中提供的用户名和密码相同。
后续步骤
有关详细信息,请参阅 Elasticsearch 文档。
要查找有关管理数据库和数据的更多工具吗? 您可以使用 IBM Cloud CLI,Cloud Databases CLI 插件 或 Cloud Databases API 连接到部署。
如果计划将 Databases for Elasticsearch 用于应用程序,请查看 连接外部应用程序 和 连接 IBM Cloud 应用程序。