跳到主要内容

在 Linux 或 MacOS 上用压缩包安装 Elasticsearch

Elasticsearch 在 Linux 和 MacOS 上是 .tar.gz 的压缩包。

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

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

提示

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

为 Linux 下载和安装压缩包

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

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.11.1-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.11.1-linux-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-7.11.1-linux-x86_64.tar.gz.sha512
tar -xzf elasticsearch-7.11.1-linux-x86_64.tar.gz
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 压缩包,可以如以下进行下载和安装:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.11.1-darwin-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.11.1-darwin-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-7.11.1-darwin-x86_64.tar.gz.sha512
tar -xzf elasticsearch-7.11.1-darwin-x86_64.tar.gz
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 以允许商业特性创建以下索引:

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 需要放在或者通过符号链接到这个路径中。

检查 Elasticsearch 是否正在运行

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

GET /

这会给你这样的响应:

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

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

作为守护进程运行

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

./bin/elasticsearch -d -p pid

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

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

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

pkill -F pid
提示

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

在命令行配置 Elasticsearch

Elasticsearch 默认从 $ES_HOME/configuring_elasticsearch/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 目录一样简单。但是,建议修改默认的配置目录(config)和数据目录(data)以便以后不用删除重要数据。

类型描述默认位置设置
homeElasticsearch 主目录或 $ES_HOME解压压缩包创建的目录
bin二进制脚本,包括启动节点的 elasticsearch 和安装插件的 elasticsearch-plugin$ES_HOME/bin
conf配置文件,包括 elasticsearch.yml$ES_HOME/configES_PATH_CONF
data分配在节点上的每个索引和分片的数据文件位置。可以有多个位置。$ES_HOME/datapath.data
logs日志文件位置$ES_HOME/logspath.logs
plugins插件文件位置。每个插件会包含在一个子目录中。$ES_HOME/plugins
repo共享文件系统仓库位置。可以有多个位置。文件系统仓库可以放在此处指定的任何目录的任何子目录中。未配置path.repo

下一步

你现在有一个测试 Elasticsearch 环境部署好。在你使用 Elasticsearch 正式开始开发或者生产之前,你必须做一些额外的设置:

原文链接