雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

如何在 Ubuntu 22.04|20.04|18.04 上安装 OpenSearch

2024-07-15 101

OpenSearch 是一个使用 Apache Lucene 和分布式搜索构建的分析引擎。可以轻松地对 OpenSearch 中存储的数据进行全文搜索,并享受 Elasticsearch 等替代解决方案中提供的所有功能。该项目最初由 Amazon 创建,作为 Elasticsearch 的一个分支。两者之间的主要区别是 OpenSearch 专注于开放、社区驱动和透明的开发。众所周知,OpenSearch 能够提供出色的性能,能够根据需要和应用程序工作负载要求进行扩展和缩减。

OpenSearch 用例的另一个示例是日志分析。您的应用程序可以将日志提供给 OpenSearch,您可以使用其丰富的搜索和可视化功能来挖掘应用程序中的问题,例如错误率。 OpenSearch 仪表板用于在 OpenSearch 中构建各种数据可视化,以满足您的应用程序和监控要求。

在 Ubuntu 22.04|20.04|18.04 上安装 OpenSearch 并不是一个困难的过程,因为开发人员维护着一个包含最新软件包的活动 APT 存储库。从源代码构建 OpenSearch 是另一种安装方法,但真正需要什么?推荐使用 Deb 存储库中的 apt 进行安装。

添加 OpenSearch APT 存储库

OpenSearch 和 OpenSearch 仪表板与 Ubuntu Linux 的所有最新 LTS 版本兼容。强烈建议您避免使用网络文件系统来存储 OpenSearch 使用的数据,尤其是生产工作流程。

登录您的 Ubuntu 系统并确保系统是最新的:

sudo apt update && sudo apt upgrade -y

如果您有一个文件/var/run/reboot-required,则意味着需要重新启动。

[ -e /var/run/reboot-required ] && sudo reboot

在添加存储库之前安装一些依赖包。

sudo apt -y install curl lsb-release gnupg2 ca-certificates

导入要添加的 APT 存储库的 GPG 公钥。

curl -fsSL https://artifacts.opensearch.org/publickeys/opensearch.pgp|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/opensearch.gpg

接下来我们添加 OpenSearch 的 APT 存储库:

echo "deb https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-2.x.list

验证我们的存储库是否正常运行。

sudo apt update

安装和配置 OpenSearch

要列出我们添加的存储库中 OpenSearch 的所有可用版本,请运行以下命令。

$ sudo apt list -a opensearch
Listing... Done
opensearch/stable 2.11.0 amd64
opensearch/stable 2.10.0 amd64
opensearch/stable 2.9.0 amd64
opensearch/stable 2.8.0 amd64
opensearch/stable 2.7.0 amd64
opensearch/stable 2.6.0 amd64
opensearch/stable 2.5.0 amd64

除非您确实需要特定版本的 OpenSearch,否则应在您的 Ubuntu 系统上安装最新可用版本的 OpenSearch。

sudo apt install opensearch

也可以安装特定版本的 OpenSearch。

sudo apt install opensearch=<version>

一个例子是 opensearch=2.10.0

OpenSearch 的默认配置文件位于 /etc/opensearch/opensearch.yml 中。您可以根据环境中的应用程序指定的所需参数来编辑此文件。

sudo vim /etc/opensearch/opensearch.yml

我们可以设置一些示例,例如集群名称、绑定地址、HTTP 端口以及许多其他可自定义的值。

cluster.name: ocluster1
network.host: 0.0.0.0
http.port: 9200

可以选择禁用安全功能以使用 http

plugins.security.disabled: true

设置节点名称以使用系统中配置的主机名。

node.name: ${HOSTNAME}

对于单个实例,将发现类型设置为单节点

discovery.type: single-node

安装并配置 OpenSearch 后,启动并启用该服务在系统引导时启动。

sudo systemctl restart opensearch
sudo systemctl enable --now opensearch

检查 OpenSearch 服务是否启动成功。

$ systemctl status opensearch
 opensearch.service - OpenSearch
     Loaded: loaded (/lib/systemd/system/opensearch.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-12-28 22:57:45 UTC; 9s ago
       Docs: https://opensearch.org/
   Main PID: 13398 (java)
      Tasks: 80 (limit: 4524)
     Memory: 1.2G
        CPU: 40.866s
     CGroup: /system.slice/opensearch.service
             └─13398 /usr/share/opensearch/jdk/bin/java -Xshare:auto -Dopensearch.networkaddress.cache.ttl=60 -Dopensearch.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt>

Nov 28 22:57:25 jammy systemd[1]: Starting OpenSearch...
Nov 28 22:57:45 jammy systemd[1]: Started OpenSearch.

您还可以修改初始和最大 JVM 堆大小。请参阅我们将初始堆大小和最大堆大小相应设置为 1 GB 和 2GB 的示例:

$ sudo vim /etc/opensearch/jvm.options
-Xms1g
-Xmx2g

更改后重新启动服务。

sudo systemctl restart opensearch

安装 OpenSearch 仪表板

您可以安装 OpenSearch Dashboards,它提供了数据可视化和数据可观察性的集成解决方案。

添加 OpenSearch Dashboards APT 存储库。

echo "deb https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/opensearch-2.x.list

更新包索引并安装 OpenSearch Dashboard。

sudo apt update && sudo apt install opensearch-dashboards

要启用从外部 IP 地址的访问,请将其设置为在 0.0.0.0 上列出(侦听所有网络接口)

$ sudo vim /etc/opensearch-dashboards/opensearch_dashboards.yml
server.host: 0.0.0.0
opensearch.hosts: [http://localhost:9200]

其他选项可以在文件中修改。完成后重新启动并启用服务。

sudo systemctl restart opensearch-dashboards
sudo systemctl enable opensearch-dashboards

从 Web 浏览器导航到 OpenSearch 仪表板。默认端口为5601

默认登录名是:

  • 用户名admin
  • 密码管理员

测试和使用 OpenSearch

我们已确认 OpenSearch 现已在主机上运行。我们可以通过使用 curl 发送 API 请求来验证连接。

  • 没有安全功能 – plugins.security.disabled: true
$ curl -X GET http://localhost:9200
{
  "name" : "jammy",
  "cluster_name" : "ocluster1",
  "cluster_uuid" : "tl6Om148S_qOwcMoDKmSrA",
  "version" : {
    "distribution" : "opensearch",
    "number" : "2.11.0",
    "build_type" : "deb",
    "build_hash" : "4dcad6dd1fd45b6bd91f041a041829c8687278fa",
    "build_date" : "2023-10-13T02:57:02.526977318Z",
    "build_snapshot" : false,
    "lucene_version" : "9.7.0",
    "minimum_wire_compatibility_version" : "7.10.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "The OpenSearch Project: https://opensearch.org/";
}
  • 具有安全功能 - plugins.security.disabled: false 。身份验证凭据是用户名和密码的admin
$ curl -X GET https://localhost:9200 -u 'admin:admin' --insecure
{
  "name" : "jammy",
  "cluster_name" : "ocluster1",
  "cluster_uuid" : "bJvBgpvsRtivZHgIH0yCXg",
  "version" : {
    "distribution" : "opensearch",
    "number" : "2.11.0",
    "build_type" : "deb",
    "build_hash" : "4dcad6dd1fd45b6bd91f041a041829c8687278fa",
    "build_date" : "2023-10-13T02:57:02.526977318Z",
    "build_snapshot" : false,
    "lucene_version" : "9.7.0",
    "minimum_wire_compatibility_version" : "7.10.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "The OpenSearch Project: https://opensearch.org/";
}

要列出已安装的插件,请运行:

$ curl -X GET https://localhost:9200/_cat/plugins?v -u 'admin:admin' --insecure
name  component                            version
jammy opensearch-alerting                  2.11.0.0
jammy opensearch-anomaly-detection         2.11.0.0
jammy opensearch-asynchronous-search       2.11.0.0
jammy opensearch-cross-cluster-replication 2.11.0.0
jammy opensearch-custom-codecs             2.11.0.0
jammy opensearch-geospatial                2.11.0.0
jammy opensearch-index-management          2.11.0.0
jammy opensearch-job-scheduler             2.11.0.0
jammy opensearch-knn                       2.11.0.0
jammy opensearch-ml                        2.11.0.0
jammy opensearch-neural-search             2.11.0.0
jammy opensearch-notifications             2.11.0.0
jammy opensearch-notifications-core        2.11.0.0
jammy opensearch-observability             2.11.0.0
jammy opensearch-performance-analyzer      2.11.0.0
jammy opensearch-reports-scheduler         2.11.0.0
jammy opensearch-security                  2.11.0.0
jammy opensearch-security-analytics        2.11.0.0
jammy opensearch-sql                       2.11.0.0

对于没有安全使用的http:

curl -X GET http://localhost:9200/_cat/plugins?v

从以下页面了解更多信息。

  • 官方 OpenSearch 文档
  • OpenSearch 仪表板入门

更新于:2个月前
赞一波!2

文章评论

全部评论