https://www.elastic.co/downloads/past-releasesnode
选择要下载的版本,由于从6.0开始有比较大的变更,全部仍是选择了5.x的版本,我选择的是5.6.4版本。git
es_downgithub
Es_dirnpm
我想要在一台机器上部署3个实例,因此复制了2个,共有3个es目录(目录的名字已经修改了,也能够不用修改)。Head是head插件,后面一点介绍。Readme是本身添加的一些注意事项,能够不要。cors
Es_datajvm
复制的时候注意,如上图所示,若是原来已经运行过,也就是data目录下有nodes目录,新复制的es必须先删除nodes目录,不然启动会出错。elasticsearch
Config_dirtcp
主要是elasticsearch.yml和jvm.options配置文件,下面主要介绍一些elasticsearch.yml配置,这个文件主要配置的是es相关的。spa
http.port配置是elasticsearch对外提供服务的http端口配置,默认状况下ES会取用9200~9299之间的端口,若是9200被占用就会自动使用9201,在单机多实例的配置中这个配置实际是不须要修改的。插件
transport.tcp.port配置指定了elasticsearch集群内数据通信使用的端口,默认状况下为9300,与上面的http.port配置相似, ES也会自动为已占用的端口选择下一个端口号。咱们能够将第一个实例的tcp传输端口配置为9300,第二实例配置为9301
注意:上面2个端口会自动选择下一个端口的前提条件是,没有显示配置这2个端口
node.max_local_storage_nodes配置限制了单节点上能够开启的ES存储实例的个数,由于咱们想要在一台机器上启动3个实例,因此配置为3
# http.port: 9200
# transport.tcp.port: 9300
# network.host: 127.0.0.1
node.max_local_storage_nodes: 3
cluster.name: es_cluster
node.name: es_node1
node.master: true
# head 插件须要配置,不然会出现未链接
http.cors.enabled: true
http.cors.allow-origin: "*"
Mem
如上图所示,一个es实例大概须要1.35G的样子,由于es默认初始化须要的内存配置为2g,又由于本身的机器内存有限,因此须要修改一下es启动的jvm参数,jvm参数配置在jvm.options文件之中。只须要修改一个参数就能够了,-Xms表明的是初始化内存,-Xmx是最大内存。由于不能配置小数,因此把-Xms初始化内存配置为1g就能够了。
-Xms1g
-Xmx2g
Head 插件运行环境须要nodejs,因此先下载nodejs安装
https://nodejs.org/en/download/
在github上下载head插件
https://github.com/mobz/elasticsearch-head/
head的文档已经说的很清楚了,基本就按下面步骤来就能够了,一下其余的细节能够看head的readme文件。
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
npm run start
Head-dir
Es5.x依赖jdk8.0及以上的版本,因此先要安装jdk8及以上的版本。还须要配置JAVA_HOME,就是到bin目录的的父目录。
Bin_dir
若是一切配置没有问题的话,在Windows下能够直接运行elasticsearch.bat启动es。
Cluster
若是head已经启动了就能够直接访问http://localhost:9100/,而后链接http://localhost:9200/就能够看到集群相关的信息,执行一些简单的操做。