如何在 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 仪表板入门
更新于:6个月前
相关文章
- 【说站】如何在mysql表中进行导入
- 【说站】python如何在二维图像上进行卷积
- 【说站】SKlearn如何在python安装?
- 【说站】python Task如何在协程调用
- 【说站】java如何在表格添加水印
- 【说站】python变量如何在作用域使用
- 【说站】Python如何在列表中添加新值
- 【说站】Java如何在PDF添加注释
- 【说站】java软引用如何在浏览器使用
- 如何在 JavaScript 中使用正则表达式删除 HTML 标签?
- linux的shell脚本中如何在一个字符串中查找指定字符串是否存在
- 你如何在 Python 中循环字典?
- 如何在 Anaconda 中安装 Python 包?
- 你如何在 Python 中编写自动售货机代码?
- 如何在 Python 中读取 .data 文件?
- 如何在 Python 中创建静态类数据和静态类方法?
- 如何在 Python 中使用 Matplotlib 创建一个空的 Figure?
- 如何在 seaborn 中创建三角相关热图?
- 如何在Python中创建AGE计算器Web App PyWebIO?
- 如何在 Python 中只删除空文件夹?