安装
(您完全可以跳过安装,直接使用我们在AWS上托管的Elastic Cloud上的Elasticsearch Service,该服务可在AWS和GCP上使用。您可以 免费试用托管服务。)
Elasticsearch需要Java8或更高版本。特别是在撰写本文时,建议您使用Oracle JDK版本1.8.0_131。Java安装因平台而异,因此在此不再赘述。可以在Oracle网站上找到Oracle推荐的安装文档。可以说,在安装Elasticsearch之前,请先通过运行来检查您的Java版本(然后根据需要安装/升级):
java -version
echo $JAVA_HOME
设置好Java之后,便可以下载并运行Elasticsearch。安装包下载:www.elastic.co/downloads,
所有版本均可用。每个版本,您可以选择zip
或tar
压缩包,DEB
或RPM软件
包或Windows MSI
安装包。
tar的安装示例
为方便起见,让我们使用tar文件。
让我们按以下方式下载Elasticsearch 6.5.4 tar:
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.tar.gz
然后按以下方式解压:
tar -xvf elasticsearch-6.5.4.tar.gz
它将在当前目录中创建一堆文件和文件夹。然后,我们进入bin目录,如下所示:
cd elasticsearch-6.5.4/bin
现在,我们准备启动节点和单个集群:
./elasticsearch
用自制软件安装
在macOS上,Elasticsearch也可以通过Homebrew安装:
brew install elasticsearch
如果安装成功,Homebrew会告知可以通过输入elasticsearch
来启动Elasticsearch。现在就做。预期响应将在“成功运行的节点”下进行描述。
MSI Windows Installer的安装示例
对于Windows用户,我们建议使用MSI 安装包。该安装包包含一个图形用户界面(GUI),可指导您完成安装过程。
首先,从https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.msi下载Elasticsearch 6.5.4 MSI 。
然后双击下载的文件以启动GUI。在第一个屏幕中,选择部署目录:
然后选择是作为服务安装还是根据需要手动启动Elasticsearch。为了与tar示例保持一致,请选择不作为服务安装:
对于配置,只需保留默认值:
同样,为了与tar示例保持一致,请取消选中所有插件以不安装任何插件:
单击安装按钮后,将安装Elasticsearch:
默认情况下,Elasticsearch将安装在%PROGRAMFILES%\Elastic\Elasticsearch
。导航到这里并进入bin目录,如下所示:
使用命令提示符:
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[6.5.4], 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-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,718][INFO ][o.e.c.s.ClusterService ] [6-bjhwl] new_master {6-bjhwl}{6-bjhwl4TkajjoD2oEipnQ}{8m3SNKoFR6yQl1I0JUfPig}{192.168.8.112}{192.168.8.112:9300}, reason: zen-disco-elected-as-master ([0] nodes joined)
[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的访问。如有必要,此端口是可配置的。