安装

Elasticsearch需要Java 8. 特别在这份文档中. 建议你使用1.8.0_131版本的Oracle JDK. Java在不同平台的安装各不一样, 所以我们不会在这里讨论这些细节. 你可以在oracle的官方网站找到安装指南. 请在安装Elasticsearch之前检查你的Java版本.

java -version

echo $JAVA_HOME

一旦Java安装完毕, 我们就可以下载并运行Elasticsearch了. 所有的二进制安装包都可以在www.elastic.co网站上下载获得. 所有版本你都可以选择zip, tar, DEB, RPM 或者Windows MSI 安装程序.

tar方式安装

为了简单起见, 我们使用tar文件

通过以下命令下载Elasticsearch 6.2.3

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

解压

tar -xvf elasticsearch-6.2.3.tar.gz

他会在你的当前目录下创建一堆文件和目录, 然后我们进入bin目录

cd elasticsearch-6.2.3/bin

现在我们已经准备好启动我们的节点和独立集群了

./elasticsearch

Homebrew方式安装

在macOS上, 可以通过Homebrew安装Elasticsearch

brew install elasticsearch

MSI Windows Install方式安装

对于windows用户, 我们推荐使用MSI Installer安装包, 这个安装包包含一个图形化界面引导安装过程.

首先, 从https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.3.msi 下载Elasticsearch 6.2.3 MSI.

然后双击安装程序启动图形化界面. 在第一个页面, 选择部署目录:

接下来可以选择是否把Elasticsearch安装成服务, 或是手动运行. 为了和tar方式安装保持一致, 我们不选择以服务安装:

对于配置, 我们保留默认值:

同样, 为了和tar安装方式保持一致, 我们取消勾选所有插件, 不安装任何插件:

点击install按钮后, 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.2.3], 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 -Ecluster.name=my_cluster_name -Enode.name=my_node_name

还要注意到关于http地址(192.168.8.112)和端口(9200)的信息, 默认的, Elasticsearch通过9200端口访问REST API. 如果有必要的话, 这个端口可以修改

results matching ""

    No results matching ""