elasticsearch集群搭建

部署如下:

集群环境:

主机名服务
server1(172.25.254.1)elasticsearch
server2(172.25.254.2)elasticsearch
server3(172.25.254.3)elasticsearch

1.在server1上开启已经搭建好的elasticsearch,查看端口,具体可查看上篇博文

[root@server1 ~]# systemctl start elasticsearch.service
[root@server1 ~]# netstat -ntlp

在这里插入图片描述
2.在server1上编辑配置文件添加集群主机

[root@server1 ~]# cd /etc/elasticsearch/
[root@server1 elasticsearch]# vim elasticsearch.yml 
cluster.name: my-es 
node.name: server1
bootstrap.memory_lock: true
network.host: 172.25.254.1
http.port: 9200
discovery.zen.ping.unicast.hosts: ["server1", "server2","server3"]

在这里插入图片描述
3.将elasticsearch的安装包scp到server2和server3上,并且将系统的limits.conf配置文件scp到server2和server3上

[root@server1 ~]# scp jdk-8u121-linux-x64.rpm server2:/root
[root@server1 ~]# scp jdk-8u121-linux-x64.rpm server3:/root

[root@server1 ~]# scp elasticsearch-6.6.1.rpm server2:/root
[root@server1 ~]# scp elasticsearch-6.6.1.rpm server3:/root

[root@server1 ~]# scp /etc/security/limits.conf server2:/etc/security/
[root@server1 ~]# scp /etc/security/limits.conf server3:/etc/security/

4.在server2及其server3上安装elsticsearch并且配置相应的限制(同server1)
//在server2及其server3上安装elasticsearch

[root@server2 ~]# rpm -ivh jdk-8u121-linux-x64.rpm 
[root@server2 ~]# rpm -ivh elasticsearch-6.6.1.rpm 

[root@server3 ~]# rpm -ivh jdk-8u121-linux-x64.rpm 
[root@server3 ~]# rpm -ivh elasticsearch-6.6.1.rpm 

//limits.conf所要添加的内容

vim /etc/security/limits.conf
 64 elasticsearch   -       nofile          65536
 65 elasticsearch   -       nproc           4096
 66 elasticsearch   -      memlock        unlimited

//在系统elasticsearch服务的配置文件中添加内存锁定

//server2
[root@server2 ~]# vim /usr/lib/systemd/system/elasticsearch.service
33 LimitMEMLOCK=infinity
[root@server2 ~]# systemctl daemon-reload

//server3:
[root@server3 ~]# vim /usr/lib/systemd/system/elasticsearch.service
33 LimitMEMLOCK=infinity
[root@server3 ~]# systemctl daemon-reload

//关闭swap交换分区

[root@server2 ~]# sawpoff -a
[root@server2 ~]# vim /etc/fstab 注释掉swap分区

[root@server3 ~]# sawpoff -a
[root@server3 ~]# vim /etc/fstab 注释掉swap分区

在这里插入图片描述
5.在server2和server3上编辑elasticsearch的配置文件(配置相同),并且开启elk

[root@server2 elasticsearch]# vim /etc/elasticsearch/elasticsearch.yml
cluster.name: my-es
node.name: server2
bootstrap.memory_lock: true
network.host: 172.25.254.2
http.port: 9200
discovery.zen.ping.unicast.hosts: ["server1", "server2","server3"]

[root@server2 elasticsearch]# systemctl start elasticsearch
[root@server2 elasticsearch]# systemctl enable elasticsearch

server3同server2,只是需要各network.host为server3的主机名ip
完成之后在server2及其server3上查看会出现9200端口

结合前端web界面的对于elasticsearch及其集群的管理

1.官网下载相应的压缩包解压并且下载相应的依赖包
在这里插入图片描述

[root@server1 ~]# ls
anaconda-ks.cfg          elasticsearch-head-master.zip(前端的包) nodejs-9.11.2-1nodesource.x86_64.rpm(前端的依赖包)
phantomjs-2.1.1-linux-x86_64.tar.bz2(需要的环境的包)
[root@server1 ~]# yum install -y unzip
[root@server1 ~]# unzip elasticsearch-head-master.zip 
[root@server1 ~]# cd elasticsearch-head-master/   该目录下有Dockerfile ,通过docker文件镜像作相应的安装操作
[root@server1 ~]# rpm -ivh nodejs-9.11.2-1nodesource.x86_64.rpm

2.因为安装需要使用到镜像,需要配置npm镜像源,需要保证虚拟机网络畅通

[root@server1 ~]# npm config list   查看npm源地址
[root@server1 ~]# npm set registry https://registry.npm.taobao.org/  设置淘宝镜像源
[root@server1 ~]# npm config list  查看

3.配置phantomjs环境,官网下载压缩包
在这里插入图片描述

[root@server1 elasticsearch-head-master]# yum install -y bzip2
[root@server1 ~]# tar jxf phantomjs-2.1.1-linux-x86_64.tar.bz2 
[root@server1 ~]# cd phantomjs-2.1.1-linux-x86_64/
[root@server1 phantomjs-2.1.1-linux-x86_64]# cd bin/
[root@server1 bin]# ls
phantomjs
[root@server1 bin]# cp phantomjs /usr/local/bin/

注意:如果该环境使用的包的版本需要与elk配置相应的包一致,负责就会在配置相应的环境时出现问题,如果如果配置的是64位的环境的包但是安装elk默认是32位的系统要配套,所以需要安装下面的软件包:

[root@server1 elasticsearch-head-master]# yum install libfontconfig.so.1
[root@server1 bin]# yum provides */libfontconfig.so.1
[root@server1 bin]# yum install -y fontconfig-2.10.95-10.el7.x86_64

4.执行npm进行安装

[root@server1 ~]# cd elasticsearch-head-master/
[root@server1 elasticsearch-head-master]# npm  install    没有出现error及安装成功

5.编辑配置文件指向要添加的web界面的ip

[root@server1 ~]# cd elasticsearch-head-master/
[root@server1 elasticsearch-head-master]# vim _site/app.js 
4360                         this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http:/     /172.25.254.1:9200";

6.由于elasticsearch还不能远程登录需要编辑其配置文件添加远程登录,配置完成之后重启elasticsearch

[root@server1 elasticsearch-head-master]# vim /etc/elasticsearch/elasticsearch.yml 
 64 http.cors.enabled: true
 65 http.cors.allow-origin: "*"
 [root@server1 elasticsearch-head-master]# systemctl restart elasticsearch.service

7.开启web界面将其打入后台,并且查看端口为9100

[root@server1 elasticsearch-head-master]# npm run start &
[root@server1 elasticsearch-head-master]# netstat -ntlp
tcp        0      0 0.0.0.0:9100            0.0.0.0:*               LISTEN      2336/grunt 

8.登陆界面查看并手动且推送相应的信息,数据是在server1及其server2,server3一片状进行存储的

http://172.25.254.1:9100
配置server1为master而server2及其server3上为数据节点

[root@server1 ~]# vim /etc/elasticsearch/elasticsearch.yml
 25 node.master: true   开启为master
 26 node.data: false    关闭数据节点
[root@server1 ~]# systemctl restart elasticsearch

[root@server2 ~]# vim /etc/elasticsearch/elasticsearch.yml 
 25 node.master: false   关闭master
 26 node.data: true    开启数据节点
[root@server3 ~]# systemctl restart elasticsearch

[root@server3 ~]# vim /etc/elasticsearch/elasticsearch.yml 
 25 node.master: false
 26 node.data: true
[root@server3 ~]# systemctl restart elasticsearch
在此在浏览器上刷新发现节点存储数据发生变化

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值