目录
在 Linux 或 MacOS 上从存档安装 Elasticsearch
设置 Elasticsearch
本节包含有关如何设置 Elasticsearch 并使其运行的信息,包括:
- 下载
- 安装
- 开始
- 配置
支持的平台
官方支持的操作系统和 JVM 的矩阵可在此处获得: 支持矩阵。Elasticsearch 在列出的平台上进行了测试,但它可能也适用于其他平台。
Java (JVM) 版本
Elasticsearch 是使用 Java 构建的,并且在每个发行版中都包含来自 JDK 维护者 (GPLv2+CE)的捆绑版本的 OpenJDK。捆绑的 JVM 是推荐的 JVM,位于Elasticsearch 主目录的jdk
目录中。
要使用您自己的 Java 版本,请设置JAVA_HOME
环境变量。如果您必须使用与捆绑的 JVM 不同的 Java 版本,我们建议使用受支持 的 Java 的 LTS 版本。如果使用已知错误的 Java 版本,Elasticsearch 将拒绝启动。使用您自己的 JVM 时,捆绑的 JVM 目录可能会被删除。
安装 Elasticsearch
托管 Elasticsearch
可以在自己的硬件上运行 Elasticsearch,也可以使用我们 在 Elastic Cloud 上托管的 Elasticsearch 服务。Elasticsearch 服务可在 AWS 和 GCP 上使用。 免费试用 Elasticsearch 服务。
自己安装 Elasticsearch
Elasticsearch 以以下包格式提供:
Linux 和 MacOS
| 这些 |
Windows | 该 |
| 该 |
| 该 |
| [测试版] 此功能处于测试阶段,可能会发生变化。设计和代码不如官方 GA 功能成熟,并且按原样提该 |
| 图像可用于将 Elasticsearch 作为 Docker 容器运行。它们可以从 Elastic Docker Registry 下载。 |
| 公式可从 Elastic Homebrew Tap 使用 Homebrew 包管理器在 macOS 上安装 Elasticsearch。 |
配置管理工具
我们还提供以下配置管理工具来帮助进行大型部署:
Puppet | puppet-elasticsearch |
Chef | |
Ansible |
在 Linux 或 MacOS 上从存档安装 Elasticsearch
Elasticsearch Linux 和 MacOS的存档以.tar.gz
为后缀。
这个包可以在 Elastic 许可下免费使用。它包含开源和免费商业功能以及对付费商业功能的访问。 开始为期 30 天的试用,以试用所有付费商业功能。有关弹性许可证级别的信息,请参阅 订阅页面。
Elasticsearch 的最新稳定版本可以在下载 Elasticsearch页面上找到 。其他版本可以在过去的版本页面上找到 。
下载并安装适用于 Linux 的归档文件
Elasticsearch v7.6.2 的 Linux 存档可以按如下方式下载和安装:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-linux-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-7.6.2-linux-x86_64.tar.gz.sha512
tar -xzf elasticsearch-7.6.2-linux-x86_64.tar.gz
cd elasticsearch-7.6.2/
- 比较下载的
.tar.gz
存档的 SHA和发布的校验和,应该输出elasticsearch-{version}-linux-x86_64.tar.gz: OK
. - 该目录称为
$ES_HOME
.
或者,可以下载以下软件包,其中仅包含 Apache 2.0 许可代码:https : //artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-7.6.2-linux-x86_64.tar.gz
下载并安装适用于 MacOS 的存档
Elasticsearch v7.6.2 的 MacOS 存档可以按如下方式下载和安装
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-darwin-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-darwin-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-7.6.2-darwin-x86_64.tar.gz.sha512
tar -xzf elasticsearch-7.6.2-darwin-x86_64.tar.gz
cd elasticsearch-7.6.2/
- 比较下载的
.tar.gz
存档的 SHA和发布的校验和,应该输出elasticsearch-{version}-darwin-x86_64.tar.gz: OK
. - 该目录称为
$ES_HOME
.
或者,可以下载以下软件包,其中仅包含 Apache 2.0 许可代码:https : //artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-7.6.2-darwin-x86_64.tar.gz
启用系统索引的自动创建
一些商业功能会在 Elasticsearch 中自动创建系统索引。默认情况下,Elasticsearch 配置为允许自动创建索引,不需要额外的步骤。如果要Elasticsearch禁用自动创建索引,则必须在elasticsearch.yml
中配置 action.auto_create_index
来允许商业功能创建以下索引:
action.auto_create_index: .monitoring*,.watches,.triggered_watches,.watcher-history*,.ml*
重要!:
如果您使用的是Logstash 或Beats,那么您很可能需要在您的action.auto_create_index
设置中添加额外的索引名称,确切的值将取决于您的本地配置。如果您不确定您的环境的正确值,您可以考虑设置*
允许自动创建所有索引的值。
从命令行运行 Elasticsearch
Elasticsearch 可以从命令行启动,如下所示:
./bin/elasticsearch
默认情况下,Elasticsearch 在前台运行,将其日志打印到标准输出 ( stdout
),并且可以通过按Ctrl-C
来停止。
NOTE:
所有与 Elasticsearch 一起打包的脚本都需要一个支持数组的 Bash 版本,并假设 Bash 在/bin/bash
. 因此,Bash 在此路径上应该直接或通过符号链接可用。
重要:
macOS Gatekeeper 警告
Apple 推出的更严格的公证要求影响了 7.6.2 Elasticsearch 的公证。如果 macOS Catalina 在您第一次运行 Elasticsearch 时显示一个中断它的对话框,您需要采取措施以允许它运行。
要防止 Gatekeeper 检查 Elasticsearch 文件,请在下载的
.tar.gz
存档或解压缩到的目录上运行以下命令:xattr -d -r com.apple.quarantine <archive-or-directory>
例如,如果
.tar.gz
文件被解压到默认的elasticsearch-7.6.2目录,则命令为:xattr -d -r com.apple.quarantine elasticsearch-7.6.2
另外,也可以同时为
jdk.app和controller.app
增加安全覆盖,按照如何打开尚未公证或者是从一个身份不明的开发者的应用程序的您的Mac安全打开的应用程序部分中的说明。
检查 Elasticsearch 是否正在运行
通过在localhost
的9200
端口发送一个HTTP请求,可以测试你的Elasticsearch节点是否正在运行。
GET /
应该会得到一个如下响应:
{
"name" : "Cp8oag6",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
"version" : {
"number" : "7.6.2",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "f27399d",
"build_date" : "2016-03-30T09:51:41.449Z",
"build_snapshot" : false,
"lucene_version" : "8.4.0",
"minimum_wire_compatibility_version" : "1.2.3",
"minimum_index_compatibility_version" : "1.2.3"
},
"tagline" : "You Know, for Search"
}
可在命令行上使用-q
或--quiet
选项禁用stdout
日志打印。
作为守护进程运行
在命令行中指定-d
可将 Elasticsearch 作为守护进程运行,使用-p
选项将进程 ID 记录在文件中:
./bin/elasticsearch -d -p pid
可以在$ES_HOME/logs/
目录中找到日志消息。
要关闭 Elasticsearch,请终止pid
文件中记录的进程 ID :
pkill - F pid
NOTE
在命令行上配置 Elasticsearch
默认情况下,Elasticsearch 从$ES_HOME/config/elasticsearch.yml
文件加载其配置。该配置文件的格式在配置 Elasticsearch 中有解释 。
可以在配置文件中指定的任何设置也可以在命令行中指定,使用-E
语法,如下:
./bin/elasticsearch -d -Ecluster.name=my_cluster -Enode.name=node_1
TIPS
通常,所有集群范围的设置(如cluster.name
)都应该添加到elasticsearch.yml
配置文件中,而所有特定于节点的设置(例如node.name
可以在命令行上指定)。
档案目录布局
档案分发是完全独立的。默认情况下,所有文件和目录都包含在$ES_HOME
解压缩存档时创建的目录中。
这非常方便,因为无需创建任何目录即可开始使用 Elasticsearch,卸载 Elasticsearch 就像删除$ES_HOME
目录一样简单。但是,建议更改 config 目录、数据目录和日志目录的默认位置,以免以后删除重要数据。
类型 | 描述 | 默认位置 | 环境 |
---|---|---|---|
home | Elasticsearch 主目录或 | 通过解压存档创建的目录 | |
bin | 二进制脚本,包括 |
| |
conf | 配置文件包括 |
| |
data | 节点上分配的每个索引/分片的数据文件的位置。可以容纳多个位置。 |
|
|
logs | 日志文件位置。 |
|
|
plugins | 插件文件位置。每个插件都应包含在一个子目录中。 |
| |
repo | 共享文件系统存储库位置。可以容纳多个位置。文件系统存储库可以放置在此处指定的任何目录的任何子目录中。 | 未配置 |
|
下一步
现在已经设置了一个测试 Elasticsearch 环境。在开始认真的开发或使用 Elasticsearch 投入生产之前,您必须进行一些额外的设置:
- 了解如何配置 Elasticsearch。
- 配置重要的 Elasticsearch 设置。
- 配置重要的系统设置。