美文网首页我爱编程
linux下Elasticsearch分布式集群部署

linux下Elasticsearch分布式集群部署

作者: 黄二狗V | 来源:发表于2018-06-20 17:27 被阅读0次

单机下Elasticsearch安装请参考我的另一篇文章。
本篇记录一下Elasticsearch集群部署。

一 安装head 插件

这是一个可视化Elasticsearch集群插件。

1.下载安装包

下载地址:https://github.com/mobz/elasticsearch-head/archive/master.zip,下载后进行解压,解压目录。随便放置都行。只要你记得在哪儿,不要解压到Elasticsearch安装目录下就行。

2.安装node.js环境

个人比较讨厌js,但是不得不说它用途真的广。head 插件,需要node.js 的支持,先安装:

执行命令 1
curl -sL https://rpm.nodesource.com/setup_8.x | bash -
执行命令 2
yum install -y nodejs

安装完成,可以使用命令 node -v 验证是否安装成功,同时也安装了npm。

3.启动head插件

进入head 插件的解压目录,执行npm run start,如下,依次执行

cd elasticsearch-head-master
npm run start

启动后的信息如下,表示启动了,运行在9100端口:

> elasticsearch-head@0.0.0 start /usr/mmdet/elasticsearch-head-master
> grunt server
(node:25157) ExperimentalWarning: The http2 module is an experimental API.
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100

我们使用ip:9100即可访问。


image.png

如上图所示,表示安装成功。

二 Elasticsearch分布式集群

第一步中,安装了head插件,显示的有这么一个信息:集群健康值:未连接,这表示我们还没有配置集群。下面先来配置一个主节点,使用之前安装的Elasticsearch,运行在端口9200的这一个节点作为主节点。

1.首先更改配置文件 vi /elasticsearch-6.3.0/config/elasticsearch.yml
cluster.name: mmdet //集群名
node.name: master //节点名
node.master: true //设置为主节点
network.host: 0.0.0.0 //为了外网可访问
transport.publish_host: 127.0.0.1 // 节点间访问的ip
//设置可以跨域访问
http.cors.enabled: true
http.cors.allow-origin: '*'

修改如上配置即可。重启Elasticsearch。
启动head插件,会如下图所示:


image.png

主节点已经可以正常显示了。

2.配置从节点

新建目录elasticsearch-salve,作为从节点的安装路径,解压elasticsearch安装包至es_slave1,es_slave2,如下如:

drwxr-xr-x 9 elsearch elsearch 4096 Jun 20 15:05 es_slave1
drwxr-xr-x 9 elsearch elsearch 4096 Jun 20 15:10 es_slave2

分别修改两个文件下的配置文件,slave1 如下:

cluster.name: mmdet
node.name: slave1
node.master: false
network.host: 0.0.0.0
transport.publish_host: 127.0.0.1
http.port: 9201
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
http.cors.enabled: true
http.cors.allow-origin: "*"

slave2 如下:

cluster.name: mmdet
node.name: slave2
node.master: false
network.host: 0.0.0.0
transport.publish_host: 127.0.0.1
http.port: 9202
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
http.cors.enabled: true
http.cors.allow-origin: "*"

cluster.name在同一集群下必须一致。从节点的端口需要修改,防止冲突。
然后分别启动elasticsearch即可。

然后运行head插件,如下


image.png

这么,简单的集群环境就配置成功了。

需要说明的是:由于条件有限,我把三台Elasticsearch服务器安装在了同一机器上了,真实环境下,Elasticsearch应该安装在独立的机器上,节点间通信用内网ip,用外网ip好像会找不到,有经验的大佬可以指点一下。

相关文章

网友评论

    本文标题:linux下Elasticsearch分布式集群部署

    本文链接:https://www.haomeiwen.com/subject/ijuxyftx.html