在 Linux 或 MacOS 上用存档安装 Elasticsearch

Elasticsearch 在 Linux 和 MacOS 上是 .tar.gz 的存档。

这个包包含免费和订阅的特性。开始 30 天的试用,尝试所有功能。

Elasticsearch 的最新稳定版本,能在 Elasticsearch 下载页面找到。其他版本能在历史发布页面找到。

?> Elasticsearch 包含 JDK 维护者(GPLv2+CE)提供的 OpenJDK 捆绑版本。要使用自己的 Java 版本,查阅 JVM 版本要求

为 Linux 下载和安装存档

Elasticsearch v7.11.1 的 Linux 存档,可以按以下操作进行下载和安装:

  1. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.11.1-linux-x86_64.tar.gz
  2. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.11.1-linux-x86_64.tar.gz.sha512
  3. shasum -a 512 -c elasticsearch-7.11.1-linux-x86_64.tar.gz.sha512
  4. tar -xzf elasticsearch-7.11.1-linux-x86_64.tar.gz
  5. cd elasticsearch-7.11.1/
  • shasum -a 512 -c 比较下载的 .tar.gz SHA 值和公开的校验值。正常应该输出 elasticsearch-{version}-linux-x86_64.tar.gz: OK

  • cd elasticsearch-7.11.1/ 此目录一般也是环境变量里的 $ES_HOME

为 MacOS 下载和安装存档

Elasticsearch v7.11.1 的 MacOS 压存档,可以如以下进行下载和安装:

  1. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.11.1-darwin-x86_64.tar.gz
  2. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.11.1-darwin-x86_64.tar.gz.sha512
  3. shasum -a 512 -c elasticsearch-7.11.1-darwin-x86_64.tar.gz.sha512
  4. tar -xzf elasticsearch-7.11.1-darwin-x86_64.tar.gz
  5. cd elasticsearch-7.11.1/
  • shasum -a 512 -c 比较下载的 .tar.gz SHA 值和公开的校验值。正常应该输出 elasticsearch-{version}-darwin-x86_64.tar.gz: OK

  • cd elasticsearch-7.11.1/ 此目录一般也是环境变量里的 $ES_HOME

启用系统索引自动创建 [X-Pack]

一些商业特性会在 Elasticsearch 中自动创建索引。默认情况下, Elasticsearch 配置为允许自动创建索引而不需要额外的步骤。然而,如果你在 Elasticsearch 中禁用了自动索引创建,则必须在 elasticsearch.yml 中配置 action.auto_create_index 以允许商业特性创建以下索引:

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

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

从命令行运行 Elasticsearch

Elasticsearch 可以如以下从命令行启动:

  1. ./bin/elasticsearch

如果你对 Elasticsearch 密钥库进行了密码保护,会提示输入密码库密码。查看安全设置获取更多详情。

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

?> 所有与 Elasticsearch 关联的脚本,需要一个支持数组版本的 Bash,且 Bash 要放在 /bin/bash中。因此,Bash 需要放在或者通过符号链接到这个路径中。

检查 Elasticsearch 是否正在运行

你可以通过向 localhost9200 端口发送 HTTP 请求来测试 Elasticsearch 节点是否正在运行:

  1. GET /

这会给你这样的响应:

  1. {
  2. "name" : "Cp8oag6",
  3. "cluster_name" : "elasticsearch",
  4. "cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
  5. "version" : {
  6. "number" : "7.11.1",
  7. "build_flavor" : "default",
  8. "build_type" : "tar",
  9. "build_hash" : "f27399d",
  10. "build_date" : "2016-03-30T09:51:41.449Z",
  11. "build_snapshot" : false,
  12. "lucene_version" : "8.7.0",
  13. "minimum_wire_compatibility_version" : "1.2.3",
  14. "minimum_index_compatibility_version" : "1.2.3"
  15. },
  16. "tagline" : "You Know, for Search"
  17. }

可以在命令行中通过 -q--quiet 选项禁用日志输出到标准输出(stdout)。

作为守护进程运行

要作为守护进程运行 Elasticsearch,在命令行指定 -d,并使用 -p 选项在文件中记录进程 ID:

  1. ./bin/elasticsearch -d -p pid

如果你对 Elasticsearch 密码库进行了密码保护,会提示输入密码库密码。查看安全设置获取更多详情。

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

要关闭 Elasticsearch,杀死记录在 pid 文件中的 进程 ID:

  1. pkill -F pid

?> Elasticsearch .tar.gz 包不包含 systemd 模块。要把 Elasticsearch 作为服务,改用 Debian 或者 RPM 包。

在命令行配置 Elasticsearch

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

在配置文件中可以指定的设置,也能在命令行中指定,如下使用 -E 语法:

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

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

存档文件目录结构

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

这样很方便,因为你不必创建任意目录去启用 Elasticsearch,且卸载 Elasticsearch 就像移除 $ES_HOME 目录一样简单。但是,建议修改默认的配置目录(config)和数据目录(data)以便以后不用删除重要数据。

类型 描述 默认位置 设置
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 正式开始开发或者生产之前,你必须做一些额外的设置:

原文链接