在之前写过关于Elasticsearch5的安装,安装过程就不重复了
一、配置说明:
master node:master几点主要用于元数据(metadata)的处理,比如索引的新增、删除、分片分配等。
data node:data 节点上保存了数据分片。它负责数据相关操作,比如分片的 CRUD,以及搜索和整合操作。这些操作都比较消耗 CPU、内存和 I/O 资源;
client node:client 节点起到路由请求的作用,实际上可以看做负载均衡器。
配置文件中给出了三种配置的拓扑结构的模式,如下:
1. 如果你想让节点从不选举为主节点,只用来存储数据,可作为负载器
node.master: false
node.data: true
2. 如果想让节点成为主节点,且不存储任何数据,并保有空闲资源,可作为协调器
node.master: true
node.data: false
3. 如果想让节点既不称为主节点,又不成为数据节点,那么可将他作为搜索器,从节点中获取数据,生成搜索结果等
node.master: false
node.data: false
二:config/elasticsearch.ymal中配置项说明
cluster_name 集群名称,默认为elasticsearch,(这里集群中每个节点的数名称必须相同)
node.name 配置节点名,用来区分节点。每个节点配置不同的名称
network.host 是配置可以访问本节点的路由地址,可以配置为:0.0.0.0,也可以配置自己的IP
http.port 路由地址端口 默认为:9200
transport.tcp.port TCP 协议转发地址端口 默认:9300
node.master 是否作为集群的主结点 ,值为true或false
node.data 是否存储数据,值为true或false
discovery.zen.ping.unicast.hosts 用来配置所有用来组建集群的机器的IP地址,由于5.2.1新版本是不支持多播的,因此这个值需要提前设定好,当集群需要扩展的时候,该值都要做改变,增加新机器的IP地址,如果是在一个ip上,要把TCP协议转发端口写上
discovery.zen.minimum_master_nodes 用来配置主节点数量的最少值,如果主节点数量低于该值,闭包范围内的集群将会停止服务,之所以加粗体,是因为暂时尚未认证,下面配置为1方便集群更容易形成,即使只有一个主节点,也可以构建集群。如果这个值设置的大于节点数量好像会报错。
------------------下面这些根据相关需求选择性配置------------------------
gateway.* 网关的相关配置
script.* indices.* 根据需求添加的配置
三:举例
比如我有2台机器,ip分别为192.168.110.212和192.168.110.98
在98机器上的配置
cluster.name: todayac
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["192.168.110.212:9300"]
discovery.zen.minimum_master_nodes: 1
cluster.name: todayac
node.name: node-202
network.host: 0.0.0.0
http.port: 9200
node.master: false
node.data: true
discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300"]
discovery.zen.minimum_master_nodes: 1
关于elasticsearch配置的重要说明:https://www.elastic.co/guide/cn/elasticsearch/guide/current/important-configuration-changes.html
最后配置成功。
PS:在网上很多教程把discovery.zen.ping.unicast.hosts 在主节点上把这个值设为:0.0.0.0:9300,我没能成功。有什么好的方法欢迎大家讨论!