ElasticSearch集群搭建

目录

ElasticSearch集群搭建

一、ElasticSearch集群搭建

1.提前准备工作

2.修改配置文件

二、安装elasticsearch-head 插件

1.安装nodejs

2.安装ElasticSearch-head

三、打开head页面查看集群情况


ElasticSearch集群搭建

一、ElasticSearch集群搭建

1.提前准备工作

服务器3台,ip分别为:192.168.75.100 、192.168.75.101 、192.168.75.102

三台服务器分别开发9100、9200,9300端口,或者直接关闭防火墙也可以。

为什么服务器最好是3台及以上?

简单说明:因为集群中必须得有个master节点,master仅仅负责维护集群的状态,若是老的master宕机的话,需要重新选举出新的master,如果是偶数节点可能导致票数相同的情况,从而出现脑裂的问题。

虽然es的配置中可以通过配置 minimum_master_nodes 来防止出现脑裂,但是为了尽量保持高可用,还是尽量使用3台或3台以上比较好。

3台服务器先安装好es,不用进行配置。

单台es安装教程:Linux下安装ElasticSarch、Kibana、IK分词器

 

2.修改配置文件

3台都安装完毕后,进行每个es配置文件的修改,修改elasticsearch.yml 文件即可。

vi config/elasticsearch.yml 

配置文件内容如下:

# 集群名称(每个节点必须相同)
cluster.name: chenxuan-es
# 节点名称(每个节点名称必须不同)
node.name: node-1
# 索引数据存放路径
path.data: /usr/local/es/elasticsearch-7.6.1/data
# 日志存放路径
path.logs: /usr/local/es/elasticsearch-7.6.1/log
# 当前服务器IP地址
network.host: 192.168.75.100
# es服务对外提供的端口号
http.port: 9200
# 服务发现的端口号(集群的服务端口,集群的时候一定要设置该参数)
transport.tcp.port: 9300
# 设置是否压缩tcp传输时的数据,默认为false,不压缩
transport.tcp.compress: true
# 集群各个节点的ip
discovery.seed_hosts: ["192.168.75.100","192.168.75.101","192.168.75.102"]
# 集群各个节点名称,集群选举设置
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
# 避免脑裂问题,集群节点数最少为半数+1
discovery.zen.minimum_master_nodes: 2
bootstrap.system_call_filter: false
# 锁定物理内存地址,设置为true可以锁住ES使用的内存,避免内存进行swap
bootstrap.memory_lock: false
# 开启跨域
http.cors.enabled: true
http.cors.allow-origin: "*"

3台都配置完毕后,逐一启动es。

 

二、安装elasticsearch-head 插件

由于es原生的界面比较不友好,可以安装elasticsearch插件。elasticsearch-head这个插件是es提供的一个用于图形化界面查看的一个插件工具,可以安装上这个插件之后,通过这个插件来实现我们通过浏览器查看es当中的数据。

1.安装nodejs

要安装elasticsearch-head插件,需要先安装Node.js

nodejs下载地址:http://npm.taobao.org/mirrors/node/v8.1.0/node-v8.1.0-linux-x64.tar.gz

将下载好的tar包放至服务器上,要是服务器本身就联网的情况下可以直接通过 wget http://npm.taobao.org/mirrors/node/v8.1.0/node-v8.1.0-linux-x64.tar.gz 进行下载

我是将tar包放在/usr/local/es 目录下,然后进行解压

tar -zxvf node-v8.1.0-linux-x64

解压完后创建软连接:

sudo ln -s /usr/local/es/node-v8.1.0-linux-x64/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm

sudo ln -s /usr/local/es/node-v8.1.0-linux-x64/bin/node /usr/local/bin/node

修改环境变量:

vi /etc/profile

# nodejs

export NODE_HOME=/usr/local/es/node-v8.1.0-linux-x64

export PATH=:$PATH:$NODE_HOME/bin

使环境变量生效:

source /etc/profile

验证是否安装成功:

[root@localhost ~]# node -v

v8.1.0

[root@localhost ~]# npm -v

5.0.3

[root@localhost ~]#

nodejs安装完成。

 

2.安装ElasticSearch-head

Github地址:https://github.com/mobz/elasticsearch-head

现在github上下载ElasticSearch-head

将下载好的插件放至服务器,解压,进入目录

cd elasticsearch-head/

然后进行编译,执行 npm install

注:如果安装不成功,下载失败,编译失败。我这里有编译好的安装包,可以私聊我,我可以发给你。

如果安装成功,下面则需要修改配置文件:

我是安装在我服务器的 /usr/local/es 目录下,修改配置文件

vi /usr/local/es/elasticsearch-head/Gruntfile.js

大概在90多行的位置:将hostname修改为 当前服务器ip,如下:

connect: {
          server: {
                   options: {
                             hostname: '192.168.75.100',
                             port: 9100,
                             base: '.',
                             keepalive: true
                             }
                   }
         }

修改app.js配置:

 vi /usr/local/es/elasticsearch-head/_site/app.js

大概在4350行左右,修改 http://localhost:9200http://192.168.75.100:9200

this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.75.100:9200";

配置修改完毕,启动head插件

后台启动,进入bin目录:

[cx@localhost bin]$ nohup ./grunt server >/dev/null 2>&1 &

elasticsearch-head 插件启动完成。

 

三、打开head页面查看集群情况

可以直接通过该工具直接查看到相应的数据。

至此,es集群环境也已经搭建完毕。

一路上遇坑无数,一路踩过来,希望你能一把成功。

 

  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值