在单台服务器上搭建elasticsearch集群

Posted lichmama

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在单台服务器上搭建elasticsearch集群相关的知识,希望对你有一定的参考价值。

很遗憾,这样的集群基本上没啥用处,没有容错能力。因此本文仅可作为学习ES集群部署的参考文档。

 

系统配置:

修改/etc/hosts增加
127.0.0.1 node01
127.0.0.1 node02
127.0.0.1 node03
修改/etc/sysctl.conf增加配置,然后执行sysctl -p立即生效
vm.max_map_count=655360
修改 /etc/security/limits.conf 增加配置:
*               soft    nofile          65536
*               hard    nofile          65536

修改 /etc/security/limits.d/20-nproc.conf 增加配置:
*               soft    nproc           4096
*               hard    nproc           4096

 

用到的软件包:

elasticsearch-6.8.6.tar.gz
kibana-6.8.6-linux-x86_64.tar.gz

创建安装目录

mkdir elasticsearch-cluster/

将es和kibana上传到安装目录后,解压

tar -xvf elasticsearch-6.8.6.tar.gz
tar -xvf kibana-6.8.6-linux-x86_64.tar.gz

为了操作方便,修改下软件目录名

mv elasticsearch-6.8.6/ node01/
mv kibana-6.8.6-linux-x86_64/ kibana/

修改es配置如下(config/elasticsearch.yml)

#-*- node01配置 -*-#
cluster.name: es-cluster
node.name: node01
node.master: true
node.data: true
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["node01:9300", "node02:9301", "node03:9302"]
discovery.zen.minimum_master_nodes: 2

 

复制两份node01当做另外的节点

cp -r node01/ node02/
cp -r node01/ node03/

然后修改对应的配置文件:

#-*- node02配置 -*-#
cluster.name: es-cluster
node.name: node02
node.master: true
node.data: true
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 0.0.0.0
http.port: 9201
transport.tcp.port: 9301
discovery.zen.ping.unicast.hosts: ["node01:9300", "node02:9301", "node03:9302"]
discovery.zen.minimum_master_nodes: 2
#-*- node03配置 -*-#
cluster.name: es-cluster
node.name: node03
node.master: true
node.data: true
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 0.0.0.0
http.port: 9202
transport.tcp.port: 9302
discovery.zen.ping.unicast.hosts: ["node01:9300", "node02:9301", "node03:9302"]
discovery.zen.minimum_master_nodes: 2

然后分别启动node01/02/03即可

bin/elasticsearch -d

启动后,访问http:/es-server:9200/_cluster/health?pretty,不出意外的话应该是如下图所示

 

看到返回这个,就证明集群搭建成功了。

接下来安装可视化工具kibana,也很简单。首先修改配置文件

server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]
kibana.index: ".kibana"
i18n.locale: "zh-CN"

然后启动kibana即可

nohup bin/kibana &

访问服务端口:http://kibana-server:5601见如下图就部署成功

 

 

 

es集群的部署到此结束,其他诸如es和kibana的使用就自己摸索熟悉吧。

以上是关于在单台服务器上搭建elasticsearch集群的主要内容,如果未能解决你的问题,请参考以下文章

elasticsearch 集群详解

redis集群部署及踩过的坑

基于 Win10 平台 搭建 Elasticsearch 集群

集群环境下的Session处理

linux下redis集群搭建

Linux Redis集群搭建与集群客户端实现