搭建 ElasticSearch 2.4.6分布式集群

Elasticsearch集群中有的节点一般有三种角色:master node、data node和client node。

1:master node:master几点主要用于元数据(metadata)的处理,比如索引的新增、删除、分片分配等。
2:data node:data 节点上保存了数据分片。它负责数据相关操作,比如分片的 CRUD,以及搜索和整合操作。这些操作都比较消耗 CPU、内存和 I/O 资源;
3:client node:client 节点起到路由请求的作用,实际上可以看做负载均衡器。( 对于没有很多请求的业务,client node可以不加,master和data足矣)

选取10.90.4.9这台机器做为client node,elasticsearch.yml中的配置如下:

# 集群的名字,免得跟别人的集群混在一起  
cluster.name: ucas
# 节点名字  
node.name: node-09
node.master: true
node.data: false
# 修改一下ES的监听地址,这样别的机器也可以访问  
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["10.90.4.9"]
discovery.zen.ping.multicast.enabled: true

启动10.90.4.9上的es服务器,现在只是一个单机集群。
在10.90.4.8这台机器上配置好同样的ES作为master node,elasticsearch.yml中的配置如下:

# 集群的名字,免得跟别人的集群混在一起  
cluster.name: ucas
# 节点名字 
node.name: node-08
node.master: true
node.data: true
# 修改一下ES的监听地址,这样别的机器也可以访问  
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["10.90.4.9"]
discovery.zen.ping.multicast.enabled: true

10.90.4.7作为data node,配置如下:

# 集群的名字,免得跟别人的集群混在一起  
cluster.name: ucas
# 节点名字 
node.name: node-07
node.master: false
node.data: true
# 修改一下ES的监听地址,这样别的机器也可以访问  
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["10.90.4.9"]
discovery.zen.ping.multicast.enabled: true

访问http://10.90.4.9:9200/_plugin/head/
image.png
如图,node-09为client节点,不存储数据。

Tips:

如果想要在一台机器上启动多个节点,步骤如下:

1:复制一份ELasticsearch的安装包
2:修改端口,比如一个是9200,一个是9205
3:删除data目录下的数据(如果是新解压的安装包就不必了)

建议或者问题欢迎留言。

posted @ 2018-02-02 15:43  試毅-思伟  阅读(342)  评论(0编辑  收藏  举报