Elasticsearch 是一个分布式的开源搜索和分析引擎,用于存储、搜索和分析数据。 Elasticsearch 因其速度、可扩展性和强大的功能集而广受欢迎,能够处理许多用例,例如网站搜索、应用程序性能监控、应用程序搜索、日志记录和日志分析等等。
在今天的文章中,我们将展示如何在 CentOS 系统上安装 Elasticsearch。 要在 Ubuntu 上安装 Elasticsearch,请访问这篇文章。
笔记: 这里显示的方法已经过测试 CentOS 8. 另外,请注意,您需要以 root 用户身份登录或运行安装命令。
第 1 步:下载 Elasticsearch
截至 2021 年 6 月,其官网提供的 Elasticsearch 最新版本为 1.13.2. 下载 Elasticsearch 7.13.2,您可以使用此处描述的命令,也可以访问 Elasticsearch 网站页面以获取最新版本或任何其他先前版本。
使用以下命令下载 Elasticsearch 版本 7.13.2 及其校验和:
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.2-x86_64.rpm
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.2-x86_64.rpm.sha512
另一方面,要从网站手动下载 Elasticsearch 及其发布的校验和 SHA 文件,请访问 下载 页面并下载最新版本的 RPM 文件和 SHA 文件。 要下载以前的版本,请访问 过去的版本.
下载 Elasticsearch 和 SHA 文件后,您可以验证文件的完整性。 同时使用 Elasticsearch .rpm 并发布校验和文件 rpm.sha512 在当前终端目录中,在终端中运行以下命令:
$ shasum -a 512 -c elasticsearch-7.13.2-x86_64.rpm.sha512
如果 SHA 校验和匹配,您将得到一个 好的 以及输出中的 Elasticsearch 文件名。 否则,将显示失败消息。
第 2 步:安装 Elasticsearch
下载的 Elasticsearch 包在 .rpm 格式。 这可以使用 RPM 包管理器安装。
使用以下命令在您的系统上安装 Elasticsearch:
$ sudo rpm --install elasticsearch-7.13.2-x86_64.rpm
确保更换 elasticsearch-7.13.2-x86_64.rpm 如果您下载了任何其他版本,请使用您的 Elasticsearch 包名称。
运行安装命令后,您将看到类似于以下结果的内容:
安装完成后,您需要使用以下命令启动并启用 Elasticsearch 服务:
$ sudo systemctl start elasticsearch.service
$ sudo systemctl enable elasticsearch.service
现在检查服务的状态:
$ sudo systemctl status elasticsearch.service
下面的输出验证 Elasticsearch 运行良好。
第 3 步:配置 Elasticsearch
Elasticsearch 默认设置为仅在 localhost 上侦听。 如果您想从任何其他主机连接 Elasticsearch,则需要配置 Elasticsearch 和防火墙。
首先,您需要配置 Elasticsearch 以侦听任何其他网络接口。 为此,请编辑 弹性搜索.yml 文件。
$ sudo nano /etc/elasticsearch/elasticsearch.yml
在文件中,搜索并取消注释该行 网络.主机:. 然后用您的网络接口名称更改 IP 地址。
network.host: 192.168.72.192
另外,将您的 IP 地址添加到 发现.seed_hosts 变量,首先取消注释。
discovery.seed_hosts: ["localhost", "192.168.72.192"]
您可能还需要更改其他两个变量: 节点名 和 集群名称. 指定的节点 节点名 是 Elasticsearch 的一个实例,而集群由 集群名称 是一个或多个节点的集合。
要更改节点和集群的名称,请搜索 节点名 和 集群名称 在文件中。 然后取消注释并重命名它们。
cluster.name: test-cluster node.name: test-node
现在保存 弹性搜索.yml 文件并重新启动 Elasticsearch 服务:
$ sudo service elasticsearch restart
现在您需要添加一条防火墙规则以允许从任何其他受信任的主机(在我们的例子中假设为 192.168.72.200)访问 TCP 端口 9200:
$ sudo firewall-cmd --permanent --add-source=192.168.72.200 $ sudo firewall-cmd --permanent --add-port=9200/tcp
确保更换 192.168.72.200 使用您信任的主机的 IP 地址。
然后重新加载防火墙:
$ sudo firewall-cmd --reload
第 4 步:测试 Elasticsearch
默认情况下,Elasticsearch 会在 localhost 上的端口 9200 上侦听 HTTP 流量,或者如果您已配置,则在不同的接口地址上侦听。
为了验证它,发送一个 GET 请求到端口 9200 本地主机 或在配置的 IP地址 在终端中使用以下命令:
$ curl -X GET “https://localhost:9200”
或者
$ curl -X GET “https://<ip-address>:9200”
您应该看到以下输出:
在这篇文章中,我们介绍了 Elasticsearch 在 CentOS 系统上的安装和基本配置。 有关如何使用 Elasticsearch,请访问 快速开始 指南可在其网站上找到。