使用.zip或.tar.gz安装Elasticsearch
Elasticsearch提供.zip
和.tar.gz
形式包,这些包可以用于在任何系统上安装Elasticsearch,并且是尝试Elasticsearch时最容易使用的包格式。
这个包在Elastic许可证下是免费使用的,它包含开源和免费的商业功能以及对付费商业功能的访问,开始一个30天的体验,以尝试所有付费的商业功能,有关Elastic许可级别的信息,请参阅订阅页面。
最新稳定版的Elasticsearch可以在下载Elasticsearch页面找到,其他版本可以在过去的版本页面中找到。
Elasticsearch需要Java 8或更高版本,使用官方的Oracle发行版或开源发行版,比如OpenJDK。
下载并安装.zip
包
用户可以下载和安装Elasticsearch v6.4.2的.zip
归档文件如下:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.2.zip
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.2.zip.sha512
shasum -a 512 -c elasticsearch-6.4.2.zip.sha512
unzip elasticsearch-6.4.2.zip
cd elasticsearch-6.4.2/
- 比较下载的
.zip
归档文件的SHA值和发布的校验和,它应该输出elasticsearch-{version}.zip: OK
。 - 解压归档后的目录称为
$ES_HOME
。
或者,你可以下载以下包,其中只包含Apache 2.0许可下可用的特性:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-6.4.2.zip。
下载并安装.tar.gz
包
可以下载并安装用于Elasticsearch v6.4.2的.tar.gz
的归档文件如下:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.2.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.2.tar.gz.sha512
shasum -a 512 -c elasticsearch-6.4.2.tar.gz.sha512
tar -xzf elasticsearch-6.4.2.tar.gz
cd elasticsearch-6.4.2/
- 比较下载的
.tar.gz
归档文件的SHA值和发布的校验和,它应该输出elasticsearch-{version}.tar.gz: OK
。 - 解压归档后的目录称为
$ES_HOME
。
或者,你可以下载以下包,其中只包含Apache 2.0许可的代码:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-6.4.2.tar.gz。
启用X-Pack索引的自动创建
X-Pack将尝试在Elasticsearch中自动创建多个索引,默认情况下,Elasticsearch的配置允许自动创建索引,不需要额外的步骤。但是,如果你在Elasticsearch中禁用了自动索引创建,那么你必须在elasticsearch.yml
中配置action.auto_create_index
以允许X-Pack创建以下索引:
action.auto_create_index: .security,.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是否正在运行
您可以通过向localhost
上的9200
端口发送HTTP请求来测试你的Elasticsearch节点是否正在运行:
GET /
你会得到这样的响应:
{
"name" : "Cp8oag6",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
"version" : {
"number" : "6.4.2",
"build_flavor" : "default",
"build_type" : "zip",
"build_hash" : "f27399d",
"build_date" : "2016-03-30T09:51:41.449Z",
"build_snapshot" : false,
"lucene_version" : "7.4.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
日志消息可以在$ES_HOME/logs/
目录中找到。
为了关闭Elasticsearch,关闭pid
文件中记录的进程ID:
kill `cat pid`
RPM和Debian包中提供的启动脚本负责启动和停止Elasticsearch进程。
在命令行上配置Elasticsearch
Elasticsearch默认从$ES_HOME/config/elasticsearch.yml
加载它的配置,这个配置文件的格式在配置Elasticsearch中进行了解释。
可以在配置文件中指定的任何设置也可以在命令行中指定,使用-E
语法如下:
./bin/elasticsearch -d -Ecluster.name=my_cluster -Enode.name=node_1
通常,任何集群范围的设置(如cluster.name
)都应该添加到elasticsearch.yml
配置文件中,同时,可以在命令行中指定节点特定的设置,如node.name
。
.zip
和.tar.gz
归档目录结构
.zip
和.tar.gz
包是完全独立的,默认情况下,所有文件和目录都包含在$ES_HOME
中 - 在解压归档时创建的目录。
这非常方便,因为你不需要创建任何目录来开始使用Elasticsearch,并且卸载Elasticsearch就像删除$ES_HOME
目录一样简单。但是,建议更改配置目录、数据目录和日志目录的默认位置,以便以后不删除重要数据。
类型 | 描述 | 默认位置 | 设置 |
---|---|---|---|
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 |
script | 脚本文件的位置 | $ES_HOME/scripts |
path.scripts |
下一步
现在已经建立了一个Elasticsearch测试环境,在你开始认真开发或使用Elasticsearch进行生产之前,你将需要做一些额外的设置:
- 学习如何配置Elasticsearch
- 配置重要的Elasticsearch设置
- 配置重要的系统设置
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。