首页 程序笔记 如何在 Ubuntu 22.04|20.04|18.04 上安装 OpenSearch

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

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

站心网

OpenSearch 是一个使用 Apache Lucene 和分布式搜索构建的分析引擎。可以轻松地对 OpenSearch 中存储的数据..

为您推荐

ASP.NET如何将Views文件夹从项目分离

将 Views 文件夹从 ASP.NET 项目中分离是一个常见需求,比如为了实现模块化或分层架构。以下是实现此功能的完整步骤,从项目中分离 Views 文件夹,将其移到另一个独立的文件夹或项目中,并确保视图渲染仍然正常。1. ..

如何让AI写出Google认可的文章?

让 AI 写出 Google 认可的文章,核心在于满足 Google 的搜索排名算法要求。这些要求通常围绕以下几个关键点展开:内容质量、用户体验 和 SEO 优化。以下是详细指导:一、内容质量确保文章原创且有价值避免抄袭:Goog..

最新CentOS7安装搭建shadowsocks服务端+客户端使用图文教程

使用的CentOS版本是7.9,其他版本也可以。超级推荐的是搭建shadowsocks服务端,安装配置都很简单,几分钟就搞定,客户端支持PC移动端,下面是安装shadowsocks的过程,只要复制粘贴命令就行了,文件夹路径都不需要改..

如何从.NET Framework迁移到.NET Core或.NET 6/7?

从 .NET Framework 迁移到 .NET Core 或 .NET 6/7 是一个提升性能和跨平台能力的关键过程。以下是迁移的主要步骤和注意事项:迁移步骤1. 评估当前项目依赖项检查:确保所有第三方库和NuGet包都有与 .NET Core/.NET 6..

如何优化ASP.NET Core应用的性能?

优化ASP.NET Core应用性能需要从代码、数据库、配置、服务器和部署等多个层面进行综合考虑。以下是一些优化ASP.NET Core应用性能的关键方法和技巧:1. 代码级优化使用异步编程:避免阻塞线程,通过async和await处理I..

sourcetree安装跳过注册方法

SourceTree下载提取码: ni9m 需翻墙或者破解注册当前只有Win的版本,Mac自行百度很多人用git命令行不熟练,那么可以尝试使用sourcetree进行操作。然鹅~~sourcetree又一个比较严肃的问题就是,很多人不会跳过注册或者..

chrome 开发者工具如何查看元素:hover时的样式

在 Chrome 开发者工具中查看元素的 :hover 样式,可以通过以下步骤实现:打开开发者工具:右键点击页面中的元素,然后选择“检查(Inspect)”或按下 F12 或 Ctrl + Shift + I (Windows) / Cmd + Option +..

如何防止web应用DOS攻击?

防止web应用DOS攻击的最好的方法是什么? 如何防止web应用DOS攻击? 与所有的拒绝服务(DOS)攻击相关的一件事是他们都不可能避免。最好的方法是把重点放在减少影响DOS攻击的方法上。如果你有一个网络,黑客想要玩一玩..

数据库SQL Server2014和SQL Server2019的区别和如何选择?

SQL Server 2014和SQL Server 2019是微软公司发布的两个版本的数据库管理系统,它们在性能、安全性以及可扩展性等方面各有特点。在选择这两个数据库版本时,需要根据系统需求、预算状况以及技术团队的熟悉程度等因素..

MySQL如何建数据库

MySQL是一款非常流行的关系型数据库管理系统。无论是在企业还是个人项目中,都经常使用MySQL数据库。在使用MySQL之前,需要先创建一个数据库。本文将介绍如何建立MySQL数据库。一、安装MySQL在开始建立MySQL数据库之..

jwt是什么?.NET Core API如何使用JwtBearer验证

JWT是JSON Web Token的缩写,是一种开放标准(RFC 7519),用于在网络上以安全和可靠的方式传输信息。它是一种被广泛使用的跨域身份验证解决方案,可以将用户信息、访问权限等加密后存储在Token中,然后通过网络传输..

CentOS7部署发布.NET Core网站Ngnix安装配置图文教程

Linux服务器部署.NET Core网站运行速度更快,最近打算把原来windows server上的网站迁到linux的云服务器上。 顺便记录一下CentOS7安装.NET运行环境,安装和配置Ngnix的过程。首先安装.NET运行时sudorpm-Uvhhttps://p..

什么是微服务架构?它与单体应用程序架构有什么区别?如何在.NET中实现微服务架构?

微服务架构是一种软件架构风格,通过将应用程序拆分为一组小型、自治的服务来构建应用程序。每个服务都专注于解决特定的业务功能,并通过轻量级的通信机制进行交互。这些服务可以独立开发、部署和扩展,可以使用不同..

winform如何隐藏边框和标题栏

在WinForms中,可以通过以下步骤来隐藏窗体的边框和标题栏:打开WinForms应用程序的窗体设计器。选择窗体控件,然后在属性窗口中找到FormBorderStyle属性。将FormBorderStyle属性设置为None,以指示窗体不显示边框。..

IIS使用Certify安装Let's Encrypt免费SSL证书

域名疑似被流量劫持,不仅被腾讯网址安全中心检测成危险网站,还间歇性出现访问域名被302重定向到Localhost。于是决定响应百度站长平台的号召,进行HTTPS改造。不用担心HTTPS后的SEO问题,百度站长平台官方已经表态..

程序员如何量化炒股?原理是什么?

作为程序员,可以运用编程技能和量化分析来帮助量化炒股。量化炒股有哪些步骤和方法?收集数据:需要收集有关股票市场的数据。可以从各种来源获取这些数据,如Yahoo财经、谷歌财经、股票交易所等。可以使用Python等..

如何让Google谷歌搜索引擎找到并收录网站

Google谷歌会使用大量计算机来抓取网络上数十亿的页面, 这个名为 Googlebot 的抓取工具基本上从以前抓取生成的网页 URL 列表开始,然后使用 Google Search Console 中提供的站点地图数据扩充这些页面。 在抓取过程..

如何把网站提交到Google谷歌搜索引擎google search console收录

发布新的网站后,它并不会立即被搜索引擎收录。为了让网站出现在搜索结果中,Google 需要“抓取”您的内容并“编制索引”。 这会在数天或数周内自动发生,但如果您是网站所有者,则可以在Google search console手动..

Kubernetes(k8s) Linux安装和配置

什么是Kubernetes(k8s)?Kubernetes(通常称为"k8s")是一种用于自动部署、扩展和管理容器化应用程序的开源平台。它提供了一个容器编排和管理系统,可以自动化应用程序的部署、管理和缩放,并确保它们的高可用性。在..

百度文心一言邀请码如何获得?

3月16日下午,百度于北京总部发布了新一代大语言模型、生成式AI产品文心一言。首批用户即可通过邀请测试码,在文心一言官网体验产品,后续将陆续开放给更多用户。邀请码申请方式请往下看。百度文心官网地址:https://..

发表回复

返回顶部

微信分享

微信分享二维码

扫描二维码分享到微信或朋友圈

链接已复制