***关于Elasticsearch(单机版)的下载、安装、基本配置、启动、测试等,请参考另外一篇文章:***CentOS安装Elasticsearchnode
搭建集群只需在此基础上增长一些配置,本文也主要介绍这些和集群相关的配置,其余步骤再也不赘述shell
假设节点数为3,ip分别为:10.20.1.52,10.20.1.53,10.20.1.54
vim
shell> cd /usr/local/elasticsearch-5.6.4/config shell> vim elasticsearch.yml 复制代码
编辑如下内容:浏览器
# # ---------------------------------- Cluster ----------------------------------- # # 集群名称,默认:elasticsearch;若是当前网络环境中只有这一个集群,能够不配置(建议配置个更有意义的名字) cluster.name: test # # ------------------------------------ Node ------------------------------------ # # 当前节点名称,这里3台机器分别设置的是:node-1,node-2,node3 node.name: node-1 # 指定该节点是否有资格被选举成为node,默认:true;es默认集群中的第一台机器为master,若是这台机挂了就会从新选举master node.master: true # 指定该节点是否存储索引数据,默认:true node.data: true # # ----------------------------------- Paths ------------------------------------ # “单机版”已经介绍过的“基础配置” path.data: /usr/local/elasticsearch-5.6.4/data path.logs: /usr/local/elasticsearch-5.6.4/logs # # ---------------------------------- Network ----------------------------------- # “单机版”已经介绍过的“基础配置” # 3台机器分别设置为本身的ip:10.20.1.52,10.20.1.53,10.20.1.54 network.host: 10.20.1.52 # # --------------------------------- Discovery ---------------------------------- # 集群中master节点的初始列表,若是不是使用默认的9300端口(节点之间默认使用9300端口通信) # 在后面加上端口号["10.20.1.52", "10.20.1.53:9203","10.20.1.54:9204"] discovery.zen.ping.unicast.hosts: ["10.20.1.52", "10.20.1.53","10.20.1.54"] # 防止”脑裂”(简单说就是被分红了两个独立的集群),一般设置成(master_eligible_nodes / 2) + 1 # 好比这里3台机器均可以成为master,就是(3 / 2) + 1 = 2 discovery.zen.minimum_master_nodes: 2 复制代码
分别启动3个节点,测试该集群bash
查看索引列表,初始应该都为空(没有建立任何索引)markdown
GET /_cat/indices?v&pretty
复制代码
在其中一台机器(10.20.1.52)建立索引customer
网络
PUT /customer?pretty
复制代码
其余机器(10.20.1.54)查看索引,能够看到,数据是“同步“的elasticsearch
GET /_cat/indices?v&pretty
复制代码