你能够经过在 Elastic Cloud上使用咱们托管的Elasticsearch Service彻底跳过安装,Elastic Cloud可在AWS和GCP上使用,你能够免费 试用托管服务。
Elasticsearch至少须要Java 8,特别是在撰写本文时,建议你使用Oracle JDK版本1.8.0_131,Java安装因平台而异,所以咱们不会在此处详细介绍。能够在Oracle的网站上找到Oracle推荐的安装文档,能够说,在安装Elasticsearch以前,请先运行检查Java版本(而后根据须要进行相应的安装/升级):html
java -version echo $JAVA_HOME
一旦咱们设置了Java,咱们就能够下载并运行Elasticsearch,这些二进制文件能够从www.elastic.co/downloads中得到,以及过去发布的全部版本。对于每一个版本,你能够选择zip
或tar
存档,DEB
或RPM
包或Windows MSI
安装包。java
为了简单起见,咱们使用tar文件。node
咱们按以下方式下载Elasticsearch 6.4.2 tar:express
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.2.tar.gz
而后提取以下:segmentfault
tar -xvf elasticsearch-6.4.2.tar.gz
而后它会在当前目录中建立一堆文件和文件夹,而后咱们进入bin目录,以下所示:windows
cd elasticsearch-6.4.2/bin
如今咱们准备启动咱们的节点和单个集群:oracle
./elasticsearch
对于Windows用户,咱们建议使用MSI安装程序包,该软件包包含一个图形用户界面(GUI),可指导你完成安装过程。app
首先,从https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.2.msi下载Elasticsearch 6.4.2 MSI。less
而后双击下载的文件以启动GUI,在第一个屏幕中,选择部署目录:curl
而后选择是做为服务安装仍是根据须要手动启动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.4.0], 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,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的访问,若有必要,能够配置此端口。