在Linux或MacOS上从存档安装ElasticSearch
ElasticSearch是用于Linux和MacOS的.tar.gz存档。
此包在 Elastic license下免费使用。它包含开源和免费的商业功能以及对付费商业功能。开始Start a 30-day trial 的试用,试用所有付费商业功能。有关Elastic license levels的信息,请参阅Subscriptions 页。
ElasticSearch的最新稳定版本可以在Download Elasticsearch页面上找到。其他版本可在Past Releases page页面中找到。
注意:ElasticSearch包括来自JDK维护人员(GPLv2+CE)的OpenJDK 捆绑版本。要使用自己的Java版本,请参见JVM version requirements
下载并安装MacOS存档
ElasticSearch V7.3.0的MacOS存档可下载并安装如下:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-darwin-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-darwin-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-7.3.0-darwin-x86_64.tar.gz.sha512 <1>
tar -xzf elasticsearch-7.3.0-darwin-x86_64.tar.gz
cd elasticsearch-7.3.0/ <2>
<1>: 比较已下载的.tar.gz存档和已发布的校验和的sha,该校验和应输出elasticsearch-version-darwin-x86.tar.gz:ok。
<2>: 此目录称为$es_home。
或者,您可以下载以下包,其中只包含Apache2.0许可代码: https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-7.3.0-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停止。
注意:所有用ElasticSearch打包的脚本都需要一个支持数组的bash版本,并假定bash在/bin/bash上可用。因此,bash应该直接或通过符号链接在该路径上可用。
检查ElasticSearch是否正在运行
您可以通过向本地主机上的端口9200发送HTTP请求来测试您的ElasticSearch节点是否正在运行:
GET /
---------
curl -XGET "http://localhost:9200/"
应该会给你这样的答复:
{
"name" : "xxxx",
"cluster_name" : "xxxxxxxxx",
"cluster_uuid" : "zyaQsVWOSC6u7MeECz4yCw",
"version" : {
"number" : "7.3.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "de777fa",
"build_date" : "2019-07-24T18:30:11.767338Z",
"build_snapshot" : false,
"lucene_version" : "8.1.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
可以使用命令行上的-q或--quiet选项禁用到stdout的日志打印。
作为守护进程运行
要将elasticsearch作为守护进程运行,请在命令行上指定-d,并使用-p选项将进程ID记录在文件中:
./bin/elasticsearch -d -p pid
日志消息可以在$es_home/logs/目录中查看。
要关闭ElasticSearch,请终止PID文件中记录的进程ID:
pkill -F pid
注意:RPM和Debian包中提供的启动脚本负责启动和停止ElasticSearch过程。
在命令行上配置ElasticSearch
默认情况下,elasticsearch从$es_home/config/elasticsearch.yml文件加载其配置。Configuring Elasticsearch中解释了此配置文件的格式。
可以在配置文件中设置配置项也可以在命令行上设置,使用-e语法,如下所示:
./bin/elasticsearch -d -Ecluster.name=my_cluster -Enode.name=node_1
提示: 通常,任何集群范围的设置(如cluster.name)都应该添加到elasticsearch.yml配置文件中,而任何节点特定的设置(如node.name)都可以在命令行中指定。
目录结构
存档分发是完全独立的。默认情况下,所有文件和目录都包含在$es-解包存档时创建的目录中。
这非常方便,因为您不必创建任何目录即可开始使用ElasticSearch,卸载ElasticSearch与删除$es_主目录一样简单。但是,建议更改config目录、数据目录和logs目录的默认位置,以便以后不删除重要数据。
类型 | 说明默认位置 | 默认位置 | 设置 |
---|---|---|---|
home | ElasticSearch主页目录或$es_主页 | 通过解压缩存档文件创建的目录 | |
bin | 二进制脚本,包括ElasticSearch启动节点和ElasticSearch插件安装插件 |
| |
conf | 配置文件,包括elasticsearch.yml |
| |
data | 在节点上分配的每个索引/碎片的数据文件的位置。可以容纳多个位置。 |
|
|
logs | Log files location. |
|
|
plugins | 插件文件位置。每个插件将包含在一个子目录中。 |
| |
repo | 共享文件系统存储库位置。可以容纳多个位置。文件系统存储库可以放在此处指定的任何目录的任何子目录中。. | Not configured |
|
script | 脚本文件的位置。 |
|
|
下一步
现在已经设置了一个测试ElasticSearch环境。在开始认真开发或使用ElasticSearch投入生产之前,必须进行一些附加设置:
-
了解如何配置ElasticSearch。
-
配置重要的系统设置。