elasticsearch集群安装

 

1 环境准备html

1 准备三台cenots7环境,设置好ip hostnamejava

192.168.1.94 es1node

192.168.1.92 es2linux

192.168.1.93 es3api

并将这些信息添加到/etc/hosts,确保可以经过hostname访问服务器

 

2 下载elasticsearch以及jdkoracle

https://www.elastic.co/downloads/elasticsearchelasticsearch

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlspa

请都选择rpm版本下载,复制到三服务器上。rest

 

3 安装jdk以及elasticsearch

在三台服务都要执行

rpm -i jdk-8u181-linux-x64.rpm

rpm -i elasticsearch-6.3.2.rpm

systemctl enable elasticsearch.service

systemctl start elasticsearch.service

 

systemctl disable firewalld

systemctl stop firewalld

添加elasticsearch服务自动启动,以及关闭防火墙,这为了方便起见直接关闭防火墙。

 

 

2配置

1 es1配置

vi /etc/elasticsearch/elasticsearch.yml

cluster.name: es-cluster-dev

node.name: es1

path.data: /var/lib/elasticsearch

path.logs: /var/log/elasticsearch

network.host: 0.0.0.0

http.port: 9200

discovery.zen.ping.unicast.hosts: ["es1", "es2"]

 

编辑后保存

 

cluster.name为集群名称,注意别和其余集群同名,不然可能会加错集群。

node.name当前节点的hostname

path.data 为数据的目录

path.logses自己的log目录

network.host 为绑定的ip,0.0.0.0就是对全部的ip开放

http.port 9200es restapi的端口号。9300 为集群间通讯端口。

discovery.zen.ping.unicast.hosts: ["es3", "es2"]  #添加集群中的主机地址,会自动发现并自动选择master主节点 ,注意因为集群是可能动态扩展的,在使用中会动态加节点,可是这里只要写当前的集群节点就能够了。后面会作演示

 

systemctl restart elasticsearch.service

启服务后打开http://192.168.1.94:9200/_cluster/state?pretty

能够看到当前集群只有一个节点es1,而且为主节点。

 

2 es2配置

vi /etc/elasticsearch/elasticsearch.yml

cluster.name: es-cluster-dev

node.name: es2

path.data: /var/lib/elasticsearch

path.logs: /var/log/elasticsearch

network.host: 0.0.0.0

http.port: 9200

discovery.zen.ping.unicast.hosts: ["es1", "es2"]

 

 

systemctl restart elasticsearch.service

启服务后打开http://192.168.1.94:9200/_cluster/state?pretty

 

es2已经加入集群

 

 

3 es3配置

vi /etc/elasticsearch/elasticsearch.yml

cluster.name: es-cluster-dev

node.name: es3

path.data: /var/lib/elasticsearch

path.logs: /var/log/elasticsearch

network.host: 0.0.0.0

http.port: 9200

discovery.zen.ping.unicast.hosts: ["es3", "es2"]

 

注意es3的配置集群主机地址并无es1的信息,并且这个时候es1,es2也没有es3新加入节点的配置信息,可是这并不妨碍集群的建立。

systemctl restart elasticsearch.service

启服务后打开http://192.168.1.94:9200/_cluster/state?pretty

es3已经加入集群

 

3 kibana安装

https://www.elastic.co/downloads/kibana

下载rpm版本直接rpm -i kibana.rpm

 

修改/etc/kibana/kibana.yml中的

server.host: 0.0.0.0

kibana直接经过localhost:9200来链接elasticsearch因此此操做只要在三个节点任一一个节点操做就能够了。

 

index的集群副本配置

index.number_of_replicas

最大值为节点总数-1,不然改索引的就会变成yello状态。改值的表示须要额外保存的副本数量,以防止数据数据的丢失,能够动态调整。

 

 

4 关闭服务

es1关闭

 

能够看到es1已经从集群中退出

此时从另外节点上查询数据任然能够

 

继续关闭服务器,在设置了合理的number_of_replicas数量下,数据查询依然是完整的。

相关文章
相关标签/搜索