Elasticsearch 是一个开源的分布式全文本搜索和分析引擎. 它支持 RESTful 操作, 并允许您实时存储, 搜索和分析大量数据. Elasticsearch 是最流行的搜索引擎之一, 可为具有复杂搜索要求的应用程序提供动力, 例如大型电子商务商店和分析应用程序.
本教程介绍了如何在 Debian 10 上安装 Elasticsearch.
安装 Java
Elasticsearch 是一个 Java 应用程序, 因此第一步是安装 Java.
以超级用户或具有 sudo privileges 命令的用户身份运行以下命令以安装 OpenJDK 软件包:
sudo apt install default-jdk
通过打印 Java 版本来验证 Java 安装:
java -version
输出应如下所示:
- openjdk version "11.0.6" 2020-01-14
- OpenJDK Runtime Environment (build 11.0.6+10-post-Debian-1deb10u1)
- OpenJDK 64-Bit Server VM (build 11.0.6+10-post-Debian-1deb10u1, mixed mode, sharing)
安装 Elasticsearch
在标准的 Debian 10 存储库中没有 Elasticsearch. 我们将从 Elasticsearch APT 存储库安装它.
使用以下 wget 命令导入存储库的公钥:
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'
更新 packages 索引并安装 Elasticsearch 引擎:
- sudo apt update
- sudo apt install Elasticsearch
安装过程完成后, 启动并启用该服务
sudo systemctl enable Elasticsearch.service --now
要验证 Elasticsearch 是否正在运行, 请用于 curl 将 HTTP 请求发送到本地主机上的端口 9200:
curl -X GET "localhost:9200/"
输出将如下所示:
- {
- "name" : "debian10.localdomain",
- "cluster_name" : "elasticsearch",
- "cluster_uuid" : "yCOOHdvYR8mHRs5mNXQdDQ",
- "version" : {
- "number" : "7.6.1",
- "build_flavor" : "default",
- "build_type" : "deb",
- "build_hash" : "aa751e09be0a5072e8570670309b1f12348f023b",
- "build_date" : "2020-02-29T00:15:25.529771Z",
- "build_snapshot" : false,
- "lucene_version" : "8.4.0",
- "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 已安装在您的 Debian 服务器上.
配置 Elasticsearch
Elasticsearch 数据存储在 / var/lib/Elasticsearch 目录中. 位于配置文件中,/etc/Elasticsearch 并且可以在 / etc/default/Elasticsearch 文件中配置 Java 启动选项.
默认情况下, Elasticsearch 配置为仅在本地主机上侦听. 如果连接到数据库的客户端也正在同一主机上运行,?? 并且您正在设置单个节点群集, 则无需更改默认配置文件.
远程访问
开箱即用的 Elasticsearch 不实现身份验证, 因此任何可以访问 HTTP API 的人都可以访问它. 如果要允许对 Elasticsearch 服务器的远程访问, 则需要配置防火墙, 并仅允许从受信任的客户端访问 Elasticsearch 端口 9200.
例如, 如果您使用的是 UFW, 并且只希望允许来自的连接 192.168.121.80, 请输入以下命令:
sudo ufw allow from 192.168.100.20 to any port 9200
不要忘记更改 192.168.100.20 您的远程 IP 地址.
一旦配置了防火墙, 下一步就是编辑 Elasticsearch 配置并允许 Elasticsearch 侦听外部连接.
为此, 请打开 Elasticsearch.YAML 配置文件:
sudo nano /etc/Elasticsearch/Elasticsearch.YAML
搜索包含的行 network.host, 取消注释, 然后将值更改为 0.0.0.0:
- /etc/Elasticsearch/Elasticsearch.YAML
- network.host: 0.0.0.0
如果您的计算机上有多个网络接口, 请指定接口 IP 地址以强制 Elasticsearch 仅侦听给定的接口.
重新启动 Elasticsearch 服务, 以使更改生效:
sudo systemctl restart Elasticsearch
好了. 您现在可以从远程位置连接到 Elasticsearch 服务器.
来源: http://www.bubuko.com/infodetail-3453516.html