elasticsearch单机集群配置

 

1、下载

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

 

2、配置

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

 

3、head插件

 

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

open http://localhost:9100/

 

Head-dir

 

4、es启动

 

Es5.x依赖jdk8.0及以上的版本,因此先要安装jdk8及以上的版本。还须要配置JAVA_HOME,就是到bin目录的的父目录。

Bin_dir

 

若是一切配置没有问题的话,在Windows下能够直接运行elasticsearch.bat启动es。

Cluster

若是head已经启动了就能够直接访问http://localhost:9100/,而后链接http://localhost:9200/就能够看到集群相关的信息,执行一些简单的操做。

相关文章
相关标签/搜索