赞
踩
单机的安装在我之前的文章中,要想安装集群版,请先看我的“Elasticsearch安装”中的基础操作
单台Elasticsearch服务器提供服务,往往都有最大的负载能力,超过这个阈值,服务器性能就会大大降低甚至不可用,所以生产环境中,一般都是运行在指定服务器集群中。
除了负载能力,单点服务器也存在其他问题:
配置服务器集群时,集群中节点数量没有限制,大于等于 2 个节点就可以看做是集群了。一 般出于高性能及高可用方面来考虑集群中节点数量都是 3 个以上。
一个集群就是由一个或多个服务器节点组织在一起,共同持有整个的数据,并一起提供索引和搜索功能。一个 Elasticsearch 集群有一个唯一的名字标识,这个名字默认就 是”elasticsearch”。这个名字是重要的,因为一个节点只能通过指定某个集群的名字,来加入这个集群。
集群中包含很多服务器,一个节点就是其中的一个服务器。作为集群的一部分,它存储数据,参与集群的索引和搜索功能。
一个节点也是由一个名字来标识的,默认情况下,这个名字是一个随机的漫威漫画角色的名字,这个名字会在启动的时候赋予节点。这个名字对于管理工作来说挺重要的,因为在这个管理过程中,你会去确定网络中的哪些服务器对应于 Elasticsearch 集群中的哪些节点。
一个节点可以通过配置集群名称的方式来加入一个指定的集群。默认情况下,每个节点都会被安排加入到一个叫做“elasticsearch”的集群中,这意味着,如果你在你的网络中启动了若干个节点,并假定它们能够相互发现彼此,它们将会自动地形成并加入到一个叫做 “elasticsearch”的集群中。
在一个集群里,只要你想,可以拥有任意多个节点。而且,如果当前你的网络中没有运 行任何 Elasticsearch 节点,这时启动一个节点,会默认创建并加入一个叫做“elasticsearch”的 集群。
1)创建elasticsearch-cluster文件夹,在内部复制三个elasticsearch服务
2)修改集群文件目录中的每个节点的config/elasticsearch.yml
配置文件
# 配置es集群的名称:三个节点必须一样
cluster.name: my-application
# 节点名称:三个节点不相同:node-1001 node-1002 node-1003
node.name: node-1001
# 指定该节点是否有资格被选举成为node
node.master: true
# 指定该节点是否存储索引数据,默认为true
node.data: true
# 设置绑定的IP地址,还有其他节点和该节点交互的IP地址,本机ip
network.host: 127.0.0.1
# 指定http端口
http.port: 1001
# 设置节点间交互的tcp端口,默认9300
transport.tcp.port: 9401
# 设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
# 因为另外两台节点的端口自会设置为9301和9302,所以写入两台es的完整地址
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9401","127.0.0.1:9402","127.0.0.1:9403"]
# 初始化主节点,在启动集群时,指定一个node-1001为主节点
cluster.initial_master_nodes: node-1001
# 使head插件可以访问es 也就是有跨域的功能
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.name: my-application
node.name: node-1002
node.master: true
node.data: true
network.host: 127.0.0.1
http.port: 1002
transport.tcp.port: 9402
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9401","127.0.0.1:9402","127.0.0.1:9403"]
cluster.initial_master_nodes: node-1001
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.name: my-application
node.name: node-1003
node.master: true
node.data: true
network.host: 127.0.0.1
http.port: 1003
transport.tcp.port: 9403
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9401","127.0.0.1:9402","127.0.0.1:9403"]
cluster.initial_master_nodes: node-1001
http.cors.enabled: true
http.cors.allow-origin: "*"
1)启动前先删除每个节点中的data
目录中所有内容(如果存在)
2)分别双击执行bin/elasticsearch.bat
,启动节点服务器,启动后,会自动加入到指定名称的集群
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。