如何在Debian 10/9/8上安装Elasticsearch
Elasticsearch是一个灵活而强大的开源、分布式实时搜索和分析引擎。使用一组简单的api,它提供了全文搜索的能力。Elastic搜索在Apache2许可下是免费的,它提供了最大的灵活性。
本教程将在Debian10、Debian9和Debian8系统上安装Elasticsearch。
步骤1–准备环境
使用sudo特权用户或root登录到Debian系统。
Java是在任何系统上运行Elasticsearch的首要要求。执行以下命令在Debian系统上安装Java。
sudo apt update sudo apt install default-jdk
然后检查安装的Java版本。
$ java -version openjdk version "11.0.4" 2019-07-16 OpenJDK Runtime Environment (build 11.0.4+11-post-Debian-1deb10u1) OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Debian-1deb10u1, mixed mode, sharing)
此外,请确保已配置JAVA_HOME环境变量:
echo $JAVA_HOME /usr/lib/jvm/java-11-oracle
第2步-在Debian上安装Elasticsearch
使用Elasticsearch官方apt存储库,在Debian Linux系统上安装Elasticsearch。执行以下命令以导入Elasticsearch包的GPG密钥。
sudo apt-get install apt-transport-https wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
然后在Debian系统上配置apt存储库。下面的命令将添加一个存储库,以便在Ubuntu系统上安装最新版本的Elasticsearch 6.X。
add-apt-repository "deb https://artifacts.elastic.co/packages/7.x/apt stable main"
将存储库添加到系统后。运行以下命令更新缓存,然后在系统上安装Elasticsearch包。
sudo apt-get update sudo apt-get install elasticsearch
第3步-在Debian上配置Elasticsearch
编辑Elasticsearch配置文件。
sudo nano /etc/elasticsearch/elasticsearch.yml
更改以下值:
network.host: 0.0.0.0 cluster.name: myCluster1 node.name: "myNode1"
network.host将网络主机设置为0.0.0.0,以便监听所有接口并使其公开可用。如果是LAN地址那么只能局域网访问。
cluster.name群集的名称。对于多节点群集,所有节点必须使用相同的群集名称。
node.name节点名称,设置要在群集中标识的节点的唯一名称。
步骤4–管理Elasticsearch服务
要将Elasticsearch配置为在系统启动时自动启动,请运行以下命令:
sudo /bin/systemctl enable elasticsearch.service
启动和停止Elasticsearch服务:
sudo systemctl start elasticsearch.service sudo systemctl stop elasticsearch.service
步骤5-测试Elasticsearch设置
Elasticsearch服务已准备就绪。可以使用curl命令行实用程序对其进行测试。使用curl运行simple GET命令来验证设置。我们将在屏幕上看到Elasticsearch集群的详细信息和版本。
curl -X GET "http://localhost:9200/?pretty"
控制台输出
{ "name" : "myNode1", "cluster_name" : "myCluster1", "cluster_uuid" : "WwtS-lsSTIGmBYFo6POxlw", "version" : { "number" : "7.3.0", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "de777fa", "build_date" : "2019-07-24T18:30:11.767338Z", "build_snapshot" : false, "lucene_version" : "8.1.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }