在elasticsearch 5.X下配置单机多节点

为什么要在单机下配置

我机器很多,可以为所欲为的,为什么还要挤到一台机器上去?
最主要的原因是:elasticsearch单实例最大内存是建议不超过32G的,现在的服务器一般内存都比较大了,想充分使用机器的内存就要多开实例

怎么配置

0.环境

系统:centos 6
版本:elasticsearch5.6,通过rpm安装。

1.新建目录
切换到elasticsearch用户,新建节点目录用于存放配置,日志,es数据,这里建两个节点来测试。

su elasticsearch
cd ~
mkdir node1 node2 es1 es2 logs logs2

2.准备配置文件
将elasticsearch.yml jvm.options log4j2.properties 这三个文件分别复制到刚才新建的node1 和 node2 目录下。
如果是用rpm安装elasticsearch,这三个文件在/etc/elasticsearch下可以找到,切换到root用户操作下。

cp /etc/elasticsearch/elasticsearch.yml /home/elasticsearch/node1 
cp /etc/elasticsearch/elasticsearch.yml /home/elasticsearch/node2 
cp /etc/elasticsearch/jvm.options /home/elasticsearch/node1 
cp /etc/elasticsearch/jvm.options /home/elasticsearch/node2 
cp /etc/elasticsearch/log4j2.properties /home/elasticsearch/node1 
cp /etc/elasticsearch/log4j2.properties /home/elasticsearch/node2 

#对于cp到多个地方的操作没找到优雅的方法,不建议去用for,xargs,管道这些,所以多操作几次了。

#改下权限
chown elasticsearch:elasticsearch -R /home/elasticsearch/node*

3.配置多节点
注意以下参数,分别对应修改即可

cluster.name: 保证集群名称一致,再启动时相同集群名称的节点会自动加入到集群中
node.name: 节点名称,自己定义,只要相互不冲突就可以;
http.port: 端口号,只要不冲突就行;

修改后如下:
node1配置

cluster.name: erp
node.name: node1
path.data: /home/elasticsearch/es
path.logs: /home/elasticsearch/logs
http.port: 9201
bootstrap.system_call_filter: false
http.cors.enabled: true
http.cors.allow-origin: "*"

node2配置

cluster.name: erp
node.name: node2
path.data: /home/elasticsearch/es2
path.logs: /home/elasticsearch/logs2
http.port: 9202
bootstrap.system_call_filter: false
http.cors.enabled: true
http.cors.allow-origin: "*"

怎么启动

elasticsearch 5.X启动的参数和之前有点小差别,命令如下

#启动node1
/usr/share/elasticsearch/bin/elasticsearch -Epath.conf=/home/elasticsearch/node1 -d

#启动node2
/usr/share/elasticsearch/bin/elasticsearch -Epath.conf=/home/elasticsearch/node2 -d

#建议先不加d参数跑下,确认能正常启动后再加。

启动完成后,node1和node2节点就自动加入原先的node节点了,比如通过head可以看到,集群状态也变为绿色了,如图:

阅读更多
文章标签: elasticsearch
个人分类: 运维
上一篇在Elasticsearch 5.x下安装elasticsearch-head
下一篇在centos7下编译安装php7
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭