原英文版地址: https://www.elastic.co/guide/en/elasticsearch/reference/7.7/targz.html, 原文档版权归 www.elastic.co 所有
本地英文版地址: ../en/targz.html

在Linux/MacOS上安装Elasticsearch

在Linux和MacOS上使用一个 .tar.gz 归档文件来安装Elasticsearch。

此软件包可在 Elastic 许可下免费使用。 它包含开放源码和免费的商业特性,并能访问付费商业特性。 开始为期30天的试用 尝试使用付费的商业特性。 有关 Elastic 许可等级的更多信息,请参考 订阅(Subscriptions) 页面。

Elasticsearch 最新的稳定版本可以在 下载 Elasticsearch 页面找到。 其他版本可以在 过去发布的版本(Past Releases) 页面上找到。

Elasticsearch 包含了一个绑定版本的 OpenJDK,它来自 JDK 维护者(GPLv2+CE)。 要使用你自己的Java版本,参考 JVM 版本要求

下载并安装Linux版本的归档

Elasticsearch v7.7.1的 Linux 归档可以下载并安装如下:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.1-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.1-linux-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-7.7.1-linux-x86_64.tar.gz.sha512 
tar -xzf elasticsearch-7.7.1-linux-x86_64.tar.gz
cd elasticsearch-7.7.1/ 

比较已经下载的 .tar.gz 归档文件和发布的 校验和(checksum)的 SHA,应该输出 elasticsearch-{version}-linux-x86_64.tar.gz: OK 这样的内容。

这个目录被称为 $ES_HOME

或者,你也可以下载这个安装包,其中只包含Apache2.0许可代码:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-7.7.1-linux-x86_64.tar.gz

下载并安装 MacOS 版本的归档文件

Elasticsearch v7.7.1的 MacOS 归档可以下载并安装如下:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.1-darwin-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.1-darwin-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-7.7.1-darwin-x86_64.tar.gz.sha512 
tar -xzf elasticsearch-7.7.1-darwin-x86_64.tar.gz
cd elasticsearch-7.7.1/ 

比较已经下载的 .tar.gz 归档文件和发布的 校验和(checksum)的 SHA,应该输出 elasticsearch-{version}-darwin-x86_64.tar.gz: OK 这样的内容。

这个目录被称为 $ES_HOME

或者,你也可以下载这个安装包,其中只包含Apache2.0许可代码:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-7.7.1-darwin-x86_64.tar.gz

开启自动创建系统索引

一些商业特性会自动在 Elasticearch 中创建索引。 默认情况下,Elasticsearch 被配置为允许自动创建索引,并且不需要其他步骤。 但是,如果在 Elasticsearch 中禁用了自动索引创建,则必须在 elasticsearch.yml 文件中配置 action.auto_create_index,以允许商业特性创建以下索引:

action.auto_create_index: .monitoring*,.watches,.triggered_watches,.watcher-history*,.ml*

如果你正在使用 LogstashBeats,那么你很可能在 action.auto_create_index 设置中需要额外的索引名,并且这个确切的值将取决于你的本地配置。 如果不确定环境的正确值,可以考虑将值设置为*,这将允许自动创建所有索引。

从命令行运行 Elasticsearch

Elasticsearch 可以像下面这样从命令行启动:

./bin/elasticsearch

如果你有密码保护的 ElasticSearch 密钥存储库,系统将提示你输入密钥存储库的密码。 更多信息参考 安全设置

默认情况下,Elasticsearch 在前台运行,日志是打印到标准输出(stdout)的,并且可以通过按 Ctrl-C来停止运行。

与 Elasticsearch 一起打包的所有脚本都需要一个支持数组的 Bash 版本,并假设 Bash 在 /bin/bash 上可用。 因此,Bash 应该可以直接使用,或通过符号链接在此路径上可用。

检查 Elasticearch 是否正在运行

您可以通过向 localhost 上的端口 9200 发送一个 HTTP 请求来测试 Elasticsearch 节点是否正在运行:

GET /

应该会给你一个类似下面这样的响应:

{
  "name" : "Cp8oag6",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
  "version" : {
    "number" : "7.7.1",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "f27399d",
    "build_date" : "2016-03-30T09:51:41.449Z",
    "build_snapshot" : false,
    "lucene_version" : "8.5.1",
    "minimum_wire_compatibility_version" : "1.2.3",
    "minimum_index_compatibility_version" : "1.2.3"
  },
  "tagline" : "You Know, for Search"
}

打印到 stdout 的日志,可以通过命令行参数 -q--quiet 来禁用。

以守护进程方式运行

要以守护进程方式运行 Elasticsearch,需要在命令行指定 -d,并使用 -p 选项将进程ID记录到一个文件中。

./bin/elasticsearch -d -p pid

如果你有密码保护的 ElasticSearch 密钥存储库,系统将提示你输入密钥存储库的密码。 更多信息参考 安全设置

日志信息可以在 $ES_HOME/logs/ 目录中找到。

要关闭 Elasticsearch,杀掉(kill)文件pid中记录的进程ID:

pkill -F pid

RPMDebian 包中提供的启动脚本负责为你启动和停止 Elasticearch 进程。

使用命令行配置 Elasticsearch

Elasticsearch 默认从 $ES_HOME/config/elasticsearch.yml 文件加载配置。 配置 Elasticsearch 中解释了此配置文件的格式。

任何一个可以在配置文件中指定的设置,都可以在命令行中使用-E语法指定,如下所示:

./bin/elasticsearch -d -Ecluster.name=my_cluster -Enode.name=node_1

通常,任何集群范围的设置(如cluster.name)都应该添加到 elasticsearch.yml 配置文件中,而任何特定于节点的设置(如node.name)都可以在命令行中指定。

归档文件的目录结构

归档的发行版是完全独立的。 默认情况下,所有的文件和目录,都包含在解压归档文件时创建的 $ES_HOME 目录中。

这是很方便的,因为你不需要创建任何目录就可以开始使用 Elasticsearch,而卸载 Elasticsearch 就像删除 $ES_HOME 目录一样简单。 但是,建议更改配置目录、数据目录和日志目录的默认位置,以便以后不会因为不小心而删除了重要数据。

类型 描述 默认位置 设置

home

Elasticsearch的主目录或 $ES_HOME

解压归档文件时创建的目录

bin

二进制脚本,包含启动一个节点的elasticsearch,以及安装插件的elasticsearch-plugin

$ES_HOME/bin

conf

包含elasticsearch.yml的配置文件

$ES_HOME/config

ES_PATH_CONF

data

节点上的每个索引/分片的数据文件的位置。 可以设置多个位置。

$ES_HOME/data

path.data

logs

日志文件的存放位置

$ES_HOME/logs

path.logs

plugins

插件文件的存放位置。每个插件都放在一个子文件夹中。

$ES_HOME/plugins

repo

共享的文件系统存储库的位置。 可以设置多个位置。 可以将文件系统存储库放置到此处指定的任何目录的任何子目录中。

未配置

path.repo

下一步

你现在已经设置了一个 Elasticsearch 测试环境。 在开始正式开发或开始使用 Elasticsearch 进行生产之前,你还必须做一些额外的设置: