Elasticsearch 7.9 之 Install Elasticsearch from archive on Linux or MacOS

533 阅读4分钟

Elasticsearch 以 .tar.gz 包的形式提供给 Linux 和 MacOS 。

根据 Elastic 许可,可以免费使用此软件包。 它包含开源和免费的商业功能,以及对付费商业功能的访问。 Start a 30-day trial 可以试用所有付费商业功能。 有关 Elastic 许可级别的信息,请参阅 Subscriptions 页面。

可在 Download Elasticsearch 页面上找到 Elasticsearch 的最新稳定版本。 其他版本可以在 Past Releases page 页面上找到。

NOTE:Elasticsearch 包含来自 JDK 维护者(GPLv2 + CE)的 OpenJDK 捆绑版。 要使用自己的 Java 版本,请参阅 JVM version requirements

为 Linux 下载并安装包

可以按以下方式下载和安装用于 Elasticsearch v7.9.3 的 Linux 包:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.3-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.3-linux-x86_64.tar.gz.sha512  
shasum -a 512 -c elasticsearch-7.9.3-linux-x86_64.tar.gz.sha512    # 比较下载的 .tar.gz 包的 SHA 和发布的校验和,它们应输出 elasticsearch-{version}-linux-x86_64.tar.gz:OK。
tar -xzf elasticsearch-7.9.3-linux-x86_64.tar.gz
cd elasticsearch-7.9.3/    # 此目录称为 $ES_HOME 。

或者,您可以下载以下软件包,其中仅包含 Apache 2.0 许可码:artifacts.elastic.co/downloads/e…

为 MacOS 下载并安装包

可以按以下方式下载和安装用于 Elasticsearch v7.9.3 的 MacOS 包:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.3-darwin-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.3-darwin-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-7.9.3-darwin-x86_64.tar.gz.sha512    # 比较下载的 .tar.gz 包的 SHA 和发布的校验和,它们应输出 elasticsearch-{version}-darwin-x86_64.tar.gz:OK。
tar -xzf elasticsearch-7.9.3-darwin-x86_64.tar.gz
cd elasticsearch-7.9.3/    # 此目录称为 $ES_HOME 。

或者,您可以下载以下软件包,其中仅包含 Apache 2.0 许可码:artifacts.elastic.co/downloads/e…

启用系统索引的自动创建

一些商业功能会在 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 密钥库进行密码保护,则系统将提示您输入密钥库的密码。有关更多详细信息,请参见 Secure settings

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

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

检查 Elasticsearch 是否正在运行

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

curl -X GET "localhost:9200/?pretty"

应该会给您这样的返回结果:

{
  "name" : "Cp8oag6",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
  "version" : {
    "number" : "7.9.3",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "f27399d",
    "build_date" : "2016-03-30T09:51:41.449Z",
    "build_snapshot" : false,
    "lucene_version" : "8.6.2",
    "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 密钥库进行密码保护,则系统将提示您输入密钥库的密码。有关更多详细信息,请参见 Secure settings

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

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

pkill -F pid

NOTE: RPM 和 Debian 软件包中提供的启动脚本会为您启动和停止 Elasticsearch 进程。

在命令行上配置 Elasticsearch

默认情况下,Elasticsearch 从 $ES_HOME/config/elasticsearch.yml 文件加载其配置。该配置文件的格式在 Configuring Elasticsearch 中进行了说明。

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

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

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

包的目录布局

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

这非常方便,因为您无需创建任何目录即可开始使用 Elasticsearch ,并且卸载 Elasticsearch 就像删除 $ES_HOME 目录一样容易。 但是,建议更改配置目录,数据目录和日志目录的默认位置,以便以后不会删除重要数据。

TypeDescriptionDefault LocationSetting
homeElasticsearch 主目录 or $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共享文件系统存储库位置,可以容纳多个位置,可以将文件系统存储库放置在此处指定的任何目录的任何子目录中Not configuredpath.repo

下一步

现在,您已经建立了一个测试 Elasticsearch 环境。 在开始进行认真的开发或使用 Elasticsearch 投入生产之前,您必须进行一些附加设置:

详情见官网:www.elastic.co/guide/en/el…

翻译不易,请勿盗用,如使用请标明出处。