如何在 Ubuntu 20.04 上安装 Elasticsearch

2023-10-27

Elasticsearch 是一个开源分布式全文搜索和分析引擎。它支持 RESTful 操作,允许您实时存储、搜索和分析大量数据。 Elasticsearch 是最流行的搜索引擎之一,为具有复杂搜索要求的应用程序(例如大型电子商务商店和分析应用程序)提供支持。

本指南介绍如何在 Ubuntu 20.04 上安装 Elasticsearch。

安装Elasticsearch#

在 Ubuntu 上安装 Elasticsearch 相当简单。我们将启用 Elasticsearch 存储库、导入存储库 GPG 密钥并安装 Elasticsearch 服务器。

Elasticsearch 软件包附带 OpenJDK 的捆绑版本,因此您不必安装 Java。

首先,更新包索引并安装所需的依赖项添加新的 HTTPS 存储库 :

sudo apt updatesudo apt install apt-transport-https ca-certificates wget

导入存储库的 GPG 密钥:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

上面的命令应该输出OK,这意味着密钥已成功导入,并且来自此存储库的包将被视为受信任。

接下来,通过发出以下命令将 Elasticsearch 存储库添加到系统中:

sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
如果您想安装以前版本的 Elasticsearch,请更改7.x在上面的命令中使用您需要的版本。

启用存储库后,输入以下命令安装 Elasticsearch:

sudo apt updatesudo apt install elasticsearch

安装过程完成后,Elasticsearch 服务不会自动启动。要启动服务并启用服务,请运行:

sudo systemctl enable --now elasticsearch.service

要验证 Elasticsearch 是否正在运行,请使用curl向端口发送 HTTP 请求9200在本地主机上:

curl -X GET "localhost:9200/"

您应该看到与此类似的内容:

{
  "name" : "vagrant",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "IJqDxPfXSrmFQ27KbXbRIg",
  "version" : {
    "number" : "7.8.0",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
    "build_date" : "2020-06-14T19:35:50.234439Z",
    "build_snapshot" : false,
    "lucene_version" : "8.5.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

该服务可能需要 5-10 秒才能启动。如果你看到curl: (7) Failed to connect to localhost port 9200: Connection refused,等待几秒钟,然后重试。

要查看 Elasticsearch 服务记录的消息,请使用以下命令:

sudo journalctl -u elasticsearch

就是这样。 Elasticsearch 已安装在您的 Ubuntu 服务器上。

配置Elasticsearch#

Elasticsearch 数据存储在/var/lib/elasticsearch目录。配置文件位于/etc/elasticsearch和 Java 启动选项可以在/etc/default/elasticsearch file.

默认情况下,Elasticsearch 配置为仅侦听本地主机。如果连接数据库的客户端也在同一主机上运行,​​并且您正在设置单节点集群,则无需更改默认配置文件。

远程访问#

开箱即用的 Elasticsearch 不实现身份验证,因此任何可以访问 HTTP API 的人都可以访问它。

要允许远程访问您的 Elasticsearch 服务器,您需要配置您的firewall并打开 TCP 端口 6379。

通常,您希望仅允许从特定 IP 地址或 IP 范围访问 Redis 服务器。例如,仅允许来自192.168.121.0/24子网,您将运行以下命令:

sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379

配置防火墙后,下一步是编辑 Elasticsearch 配置并允许 Elasticsearch 侦听外部连接。

为此,请打开elasticsearch.yml配置文件:

sudo nano /etc/elasticsearch/elasticsearch.yml

搜索包含以下内容的行network.host,取消注释,并将值更改为0.0.0.0:

/etc/elasticsearch/elasticsearch.yml
network.host: 0.0.0.0

如果您的计算机上有多个网络接口,请指定接口 IP 地址以强制 Elasticsearch 仅侦听给定接口。

重新启动 Elasticsearch 服务以使更改生效:

sudo systemctl restart elasticsearch

就是这样。您现在可以从远程位置连接到 Elasticsearch 服务器。

结论#

我们向您展示了如何在 Ubuntu 20.04 上安装 Elasticsearch。

了解更多关于 Elasticsearch 的信息,请访问官方文档 page.

如果您遇到问题或有反馈,请在下面发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ubuntu 20.04 上安装 Elasticsearch 的相关文章

  • 如何打印JTable中选定的行

    我尝试使用主 JTable 的选定行和相同的头和单元格渲染来创建临时 JTable 但是当我尝试打印它时 我只得到一个带有线边框的空矩形 我在如何打印 JTable 的特定行 列 https stackoverflow com questi
  • 合并 2 个 .jks 信任库文件

    我正在使用启用了 SSL 的 Tomcat 并使用信任库进行客户端身份验证 我有两个 jks trustore 文件 第一个 我将其用于 PROD 环境 另一个用于 TEST 环境客户端证书 我在 Tomcat 上部署了 Web 应用程序
  • 使用 s:select 标签在下拉菜单中使用 i18n [重复]

    这个问题在这里已经有答案了 我的 JSP 页面中有一个下拉菜单 它是通过
  • Java 8 可选

    我想检查特定对象大小是否大于 0 如果它大于 0 那么我想创建一个可选对象 如果不是 那么我想返回一个可选的空对象 这是java代码的长版本 if fooA size gt 0 return Optional of new Foo else
  • import java 导入错误:没有名为 java 的模块

    我似乎遇到了障碍 根本无法解决这个问题 任何人都可以帮我弄清楚为什么我无法导入 java 模块吗 Error Traceback most recent call last File datasource config py line 3
  • 在 Gradle 中运行自定义测试任务而无需重新编译

    我有一个 Gradle 自定义测试任务来运行我的集成测试 我希望能够在 Gradle 不自动完成之前的所有阶段并仅运行测试的情况下运行它 有没有办法在每个构建步骤不使用 x 的情况下执行此操作 None
  • 将 java 方法参数设置为最终参数

    那有什么区别final在下面的代码之间进行 将参数声明为有什么好处final public String changeTimezone Timestamp stamp Timezone fTz Timezone toTz return pu
  • Maven项目中的HDF5

    我正在尝试将 hdf hdf5lib H5 导入到 NetBeans 中的 Maven 项目中 它有这个作为导入行 import hdf hdf5lib H5 正如这里所建议的 https support hdfgroup org prod
  • 调试器不会停止在 Intellij IDEA 中的源代码处

    我有一个相当奇怪的问题 无法使用 Intellij IDEA 解决 我正在解析电子邮件文件org apache james mime4j包裹 但我的邮件文件格式不兼容Date 标头 因此 我从 mime4j 源创建了模块 并从磁盘中删除了
  • 图像在 3D 空间中绕 Y 轴旋转

    我有一个 BufferedImage 我想用 theta 角而不是仿射变换绕 Java 中的 Y 轴旋转图像 图片 旋转将如下图所示 矩形将是图像 我可以通过旋转图像的每个像素并绘制图像来做到这一点 因为我必须旋转很多图像 所以我认为这不是
  • 竞争条件和 Clojure Atoms

    clojure atom 的文档指出 Changes to atoms are always free of race conditions 然而 竞争条件不仅是根据更改定义的 而且是在不同线程中并行逻辑操作的上下文中定义的 我想知道 保证
  • Hibernate更新查询问题

    对于此更新查询 update TestDB dbo MyEmp set empname where empid 我在 DAO 课上写的 MyEmployee myEmployee new MyEmployee MyEmployee myEm
  • String.intern() 线程安全吗

    我想在Java中使用 String intern 来节省内存 对具有相同内容的字符串使用内部池 我从不同的线程调用这个方法 这是个问题吗 对你的问题的简短回答是肯定的 它是线程安全的 但是 您可能需要重新考虑使用此工具来减少内存消耗 原因是
  • 如何在列表视图中选择时启用视频序列自动播放?

    大家好 有人可以与我分享一下我如何编写我的 viewvideo java 类 以便它允许自动播放视频功能 自动排序在列表视图中播放所选视频的任务 从当前位置到最新录制的视频 按顺序直到最新的视频播放完毕 这类似于 YouTube 自动播放功
  • Spring Boot 中的服务限流能力

    有什么办法可以实现Spring中其余服务的服务限制能力 特别是Spring boot 这里的期望是 我的服务暴露于外界 目前每秒 分钟的服务调用数量没有限制 我们希望通过设置限制来控制这一点 我有一个替代选项 通过跟踪并发哈希映射或任何缓存
  • 如何检测数据库类型?

    我需要确保我连接的数据库是 MySQL 而不是 PostgreSQL 或 Microsoft SQL Server 我怎样才能知道正在使用哪种类型的数据库 第一个提示可能是如果您尝试使用 mySQL 数据库驱动程序连接到 PostgreSQ
  • 为什么找不到 getservletcontext?

    我正在尝试使用getServletContext getRealPath 但我不断收到此错误 cannot find symbol symbol method getServletContext location interface jav
  • 原子整数的compareandexchange()与compareandset()

    在研究 AtomicInteger 时 我发现这个 API 提供了两种方法 比较和交换 如果当前值被引用 则自动将该值设置为 newValue to 作为见证值 预期值 记忆效应为 由指定VarHandle compareAndExchan
  • 当框架被拖动时,如何设置 JWindow 的位置位于文本字段下方?

    我正在制作一个自动完成项目 就像谷歌一样 我的框架中有一个 jtextfield 每当我在该字段中输入内容时 该文本字段下方就会出现一个 JWindow 并且该窗口来自另一个类 现在的问题是 每当我拖动框架时 如何使窗口始终出现在文本字段下
  • SWT StyledText 有高度限制吗?

    我正在尝试创建一个应用程序 其中包含在 ScrolledComposite 中显示的 StyledText 框 我在 StyledText 框中显示大量行时遇到困难 超过 2 550 行似乎会导致问题 StyledText 框本身不能有滚动

随机推荐

  • 变量和数据类型

    了解什么是变量 为什么需要它 计算机中的内存分类 RAM 运行时存储 我们的计算机程序 在运行的时候 数据就会临时存储在RAM中 如果不持久化 或者突然断电 它的数据就丢失了 ROM 只读存储 持久化存储 文件存储 如 磁盘 我们在说电脑多
  • Docker 部署 Nginx、frp 实现内网穿透

    原文链接 https waynegong cn posts 8279 html 由于没有公网 IP 加上黑群晖没有洗白 无法进行外网的远程连接 通过 frp 内网穿透后可以通过 sub domain com xxx 的形式访问到内网的 we
  • AD生成PCB引脚出现绿色

    引脚出现绿色是因为引脚之间的间距过窄 与AD默认的连线之间的规则冲突 解决办法 https blog csdn net qq 41862220 article details 90548806
  • vue路由守卫

    vue中路由守卫 路由守卫 一共有三种 一个全局路由守卫 一个是组件内路由守卫 一个是router独享守卫 全局路由守卫 全局前置守卫 从名字全局前置守卫不难理解 它是全局的 即对 整个单页应用 SPA 中的所有路由都生效 所以当定义了全局
  • Anaconda使用conda管理技巧汇总

    0 conda概述 如果你以前使用pip和virtualenv 使用conda你可以完成所有的操作 pip是一个包管理器而virtualenv是一个环境管理器 Conda兼具两者的功能 Task Conda package and envi
  • web前端基础(一)——HTML+CSS

    系列文章目录 web前端基础 一 HTML CSS 目录 系列文章目录 前言 HTML HTML的介绍 1 html的定义 2 html的作用 HTML的基本结构 1 结构代码 2 浏览网页文件 vscode的下载与使用 1 vscode
  • matlab实现大律法,Otsu算法(大律法或最大类间方差法)

    Otsu算法 大律法或最大类间方差法 2013 03 07 10 54 02 Otsu算法 大律法或最大类间方差法 一 Otsu最大类间方差法原理 利用阈值将原图像分成前景 背景两个图象 前景 用n1 csum m1来表示在当前阈值下的前景
  • 在 Docker 内运行 Cronjob:初学者指南

    当涉及到按设定的时间间隔自动运行或可以由另一个事件触发的调度作业和程序时 您有很多选择 您可以使用通用实用程序 如 cron macOS 或 Linux 中的内置调度程序 或专用工具 如 AWS Lambda Cron 虽然不如 AWS L
  • 如何在 Python 中安装 OpenCV

    OpenCV 开源计算机视觉 是一个免费的开源计算机视觉和机器学习算法库 可用于处理和分析图像和视频 它广泛用于各种应用 包括对象检测 图像和视频处理以及增强现实 在本文中 我们将介绍在 Python 中安装 OpenCV 的两种不同方法
  • 如何在 Ubuntu 20.04 上安装 PHP(8.1、7.4 和 5.6)

    在本文中 我们将了解如何在 Ubuntu 操作系统上安装 PHP 脚本语言 PHP 脚本语言是创建动态网站最流行的选项之一 它也用于各种其他环境 它是一种开源编程语言 代表 PHP 超文本预处理器 我们稍后会解释所有这些意味着什么 如果您需
  • Magento 2 性能优化技巧

    随着科技的进步 人们的注意力持续时间在缩短 eBay 旗下的 Magento 是当今用于发展在线业务的最广泛使用的电子商务平台之一 虽然 在选择电子商务 CMS 或平台 例如 WooCommerce Shopify 等 时 您有很多选择 但
  • 如何使用 PHP 获取头像

    当您创建应用程序并希望在其个人资料图片上显示用户的图像时 这可能是您从 Gravatar 帐户获取用户图像的更好选择 我们可以从那里简单地使用他们的电子邮件地址获取图像
  • 如何使用 Wget 忽略 SSL 证书检查

    Wget 是一个免费且功能强大的实用程序 可通过 Cygwin 适用于大多数类 Unix 操作系统 包括 Linux Mac 和 Windows 它允许您使用各种协议 例如 HTTP HTTPS 和 FTP 从服务器检索文件和网页 但是 在
  • 将 Bash 脚本转换为二进制

    Bash shell 是类 Unix 操作系统的主要组成部分 以其脚本化能力而广为人知 然而 这些脚本通常存储为纯文本文件 因此很容易受到检查和更改 在某些情况下 您可能希望将这些 Bash 脚本转换为二进制格式 以提高安全性 效率和可移植
  • 如何在 Ubuntu 上使用 Apache 安装 Mod_Pagespeed

    网站速度缓慢是大多数软件工程师和系统管理员面临的主要问题 他们不断尝试通过各种方式优化速度 那么问题来了 如何提高网站速度呢 提高网站速度的最佳方法是什么 Google 为 Apache 用户提供了 mod pagespeed 模块 可通过
  • 如何在 Linux 中将 PDF 转换为图像

    在本文中 您将学习如何在 Linux 命令行界面中将 PDF 文件转换为图像 Pdftoppm 将可移植文档格式 PDF 文件转换为彩色图像文件 如 PNG JPG 等 Pdftoppm 读取 PDF 文件并为每一页创建一个 PPM 图像
  • 如何在 Ubuntu 18.04 上安装 MySQL 8.0

    MySQL 是最流行的关系数据库管理系统 假设互联网上运行的网站中有三分之一使用 MySQL MySQL 官方团队提供了 MySQL 8 的 Debian 软件包 以便在 Ubuntu 系统上安装 本教程将帮助您在 Ubuntu 18 04
  • 在 CentOS 5/6 和 RHEL 5/6 上安装 PostgreSQL 9.1

    PostgreSQL 是一个开源的对象关系型 高度可扩展 兼容 SQL 的数据库管理系统 本文将帮助您在 CentOS 5 6 和 RHEL 5 6 上安装 PostgreSQL 9 1 第1步 添加 PostgreSQL Yum 存储库
  • 如何使用 PowerShell 从 Windows 命令行发送电子邮件

    发送电子邮件是当今数字时代的一项基本任务 作为系统管理员 您可能需要从命令行发送电子邮件以自动执行此任务 在本文中 我们将向您展示如何使用 PowerShell 从 Windows 命令行发送电子邮件 从而简化您的电子邮件通信并提高您的工作
  • 如何在 Ubuntu 20.04 上安装 Elasticsearch

    Elasticsearch 是一个开源分布式全文搜索和分析引擎 它支持 RESTful 操作 允许您实时存储 搜索和分析大量数据 Elasticsearch 是最流行的搜索引擎之一 为具有复杂搜索要求的应用程序 例如大型电子商务商店和分析应