[翻译]ElasticSearch官方文档-安装

595 阅读4分钟

本文翻译自:www.elastic.co/guide/en/el…

本文是Elasticsearch的入门文档,将会介绍ElasticSearch在不同环境下的安装。

安装

Elasticsearch的安装至少需要Java 8。在官方推荐中,建议使用Oracle JDK版本1.8.0_131。

java -version
echo $JAVA_HOME

一旦设置了Java,我们可以下载并运行Elasticsearch。二进制文件可以从www.elastic.co/downloads以及过去所有的发行版本获得。对于每个版本,可以选择zip或tar存档,DEB或RPM软件包或Windows MSI安装软件包。

用tar安装的例子

为了简单起见,我们使用tar文件。让我们下载Elasticsearch 5.6.1 tar如下:

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.1.tar.gz

然后提取:

tar -xvf elasticsearch-5.6.1.tar.gz

然后,它将在当前目录中创建一堆文件和文件夹。然后我们进入bin目录,如下所示:

cd elasticsearch-5.6.1/bin

现在我们已经准备好启动我们的节点和单个集群:

./elasticsearch
用MSI win安装包安装的例子

对于Windows用户,官方建议使用MSI安装程序包。该软件包包含一个图形用户界面(GUI),用于指导你完成安装过程。首先,从artifacts.elastic.co/downloads/e… 5.6.1 MSI。然后双击下载的文件启动GUI。在第一个屏幕中,选择部署目录:

然后选择是否作为服务安装或根据需要手动启动Elasticsearch。要与tar示例对齐,请选择不安装为服务:

对于配置,只需保留默认值:

再次,要与tar示例一样,请取消选中所有插件以安装任何插件:

点击安装按钮后,将安装Elasticsearch:

默认情况下,Elasticsearch将安装在%PROGRAMFILES%\ Elastic \ Elasticsearch。导航到这里,进入bin目录,如下所示:

with命令提示符:

cd %PROGRAMFILES%\Elastic\Elasticsearch\bin

PowerShell:

cd $env:PROGRAMFILES\Elastic\Elasticsearch\bin

现在我们已经准备好启动我们的节点和单个集群:

.\elasticsearch.exe
成功运行节点

如果一切顺利安装,你应该看到一堆如下所示的消息:

[2016-09-16T14:17:51,251][INFO ][o.e.n.Node               ] [] initializing ...
[2016-09-16T14:17:51,329][INFO ][o.e.e.NodeEnvironment    ] [6-bjhwl] using [1] data paths, mounts [[/ (/dev/sda1)]], net usable_space [317.7gb], net total_space [453.6gb], spins? [no], types [ext4]
[2016-09-16T14:17:51,330][INFO ][o.e.e.NodeEnvironment    ] [6-bjhwl] heap size [1.9gb], compressed ordinary object pointers [true]
[2016-09-16T14:17:51,333][INFO ][o.e.n.Node               ] [6-bjhwl] node name [6-bjhwl] derived from node ID; set [node.name] to override
[2016-09-16T14:17:51,334][INFO ][o.e.n.Node               ] [6-bjhwl] version[5.6.1], pid[21261], build[f5daa16/2016-09-16T09:12:24.346Z], OS[Linux/4.4.0-36-generic/amd64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_60/25.60-b23]
[2016-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [aggs-matrix-stats]
[2016-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [ingest-common]
[2016-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [lang-expression]
[2016-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [lang-groovy]
[2016-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [lang-mustache]
[2016-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [lang-painless]
[2016-09-16T14:17:51,967][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [percolator]
[2016-09-16T14:17:51,968][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [reindex]
[2016-09-16T14:17:51,968][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [transport-netty3]
[2016-09-16T14:17:51,968][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded module [transport-netty4]
[2016-09-16T14:17:51,968][INFO ][o.e.p.PluginsService     ] [6-bjhwl] loaded plugin [mapper-murmur3]
[2016-09-16T14:17:53,521][INFO ][o.e.n.Node               ] [6-bjhwl] initialized
[2016-09-16T14:17:53,521][INFO ][o.e.n.Node               ] [6-bjhwl] starting ...
[2016-09-16T14:17:53,671][INFO ][o.e.t.TransportService   ] [6-bjhwl] publish_address {192.168.8.112:9300}, bound_addresses {{192.168.8.112:9300}
[2016-09-16T14:17:53,676][WARN ][o.e.b.BootstrapCheck     ] [6-bjhwl] max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
[2016-09-16T14:17:56,731][INFO ][o.e.h.HttpServer         ] [6-bjhwl] publish_address {192.168.8.112:9200}, bound_addresses {[::1]:9200}, {192.168.8.112:9200}
[2016-09-16T14:17:56,732][INFO ][o.e.g.GatewayService     ] [6-bjhwl] recovered [0] indices into cluster_state
[2016-09-16T14:17:56,748][INFO ][o.e.n.Node               ] [6-bjhwl] started

没有太多细节,我们可以看到,我们的名为“6-bjhwl”(在你的情况下将是一组不同的字符)的节点已经启动并在单个集群中选择为主。不要担心,现在这个时间点发生了什么。这里重要的一点是我们已经在一个集群中启动了一个节点。

如前所述,我们可以覆盖集群或节点名称。这可以在启动Elasticsearch时从命令行完成,如下所示:

./elasticsearch -Ecluster.name=my_cluster_name -Enode.name=my_node_name

另请注意标记为http的行,其中包含有关HTTP地址(192.168.8.112)和端口(9200)的信息。默认情况下,Elasticsearch使用端口9200来提供对其REST API的访问。如果需要,该端口是可配置的。

探索你的集群

REST API

现在我们的节点(和群集)启动并运行,下一步是了解如何与之通信。幸运的是,Elasticsearch提供了一个非常全面和强大的REST API,你可以使用它来与群集进行交互。可以使用API​​完成的几件事情如下:

  • 检查你的集群,节点和索引运行状况,状态和统计信息
  • 管理集群,节点和索引数据和元数据
  • 执行CRUD(创建,读取,更新和删除)和搜索操作对你的索引
  • 执行高级搜索操作,如分页,排序,过滤,脚本,聚合和其他许多