单机集群配置
安装完毕配置节点复制3份es
修改master服务config/elasticsearch.yml
# ---------------------------------- Cluster -----------------------------------
# 换个集群的名字,免得跟别人的集群混在一起
cluster.name: es-5.5.0-yg
node.name: master
#主机
node.master: true
network.host: 192.168.3.138
#
# Set a custom port for HTTP:
# head访问端口
http.port: 9200
#数据传输端口
transport.tcp.port: 9300
# --------------------------------- Discovery ----------------------------------
discovery.zen.ping.unicast.hosts: ["192.168.3.138:9300", "192.168.3.138:9301", "192.168.3.138:9302"]
# ---------------------------------- Gateway -----------------------------------
# 增加新的参数,这样head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"
- 修改slave1服务 config/elasticsearch.yml
# ---------------------------------- Cluster -----------------------------------
# 换个集群的名字,免得跟别人的集群混在一起
cluster.name: es-5.5.0-yg
node.name: slave1
network.host: 192.168.3.138
#
# Set a custom port for HTTP:
# head访问端口
http.port: 9201
#数据传输端口
transport.tcp.port: 9301
# --------------------------------- Discovery ----------------------------------
discovery.zen.ping.unicast.hosts: ["192.168.3.138:9300", "192.168.3.138:9301", "192.168.3.138:9302"]
# ---------------------------------- Gateway -----------------------------------
# 增加新的参数,这样head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"
- 修改slave2服务 config/elasticsearch.yml
# ---------------------------------- Cluster -----------------------------------
# 换个集群的名字,免得跟别人的集群混在一起
cluster.name: es-5.5.0-yg
node.name: slave2
network.host: 192.168.3.138
#
# Set a custom port for HTTP:
# head访问端口
http.port: 9202
数据传输端口
transport.tcp.port: 9302
# --------------------------------- Discovery ----------------------------------
discovery.zen.ping.unicast.hosts: ["192.168.3.138:9300", "192.168.3.138:9301", "192.168.3.138:9302"]
# ---------------------------------- Gateway -----------------------------------
# 增加新的参数,这样head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"
多多节依次类推,更改http.port(提供head访问,不可冲突) 和 transport.tcp.port(数据传输使用,不可冲突)
- 配置完毕elasticsearch.yml就可以启动服务,谁先启动谁就会被选为master
访问地址 http://localhost:9100
这是先启动master服务所以他被选为主服务☆表示主服务,如果主服务宕机了会自动选主如图
这样如果有一个节点宕机也不会影响es服务Spring配置多节点
<!-- 本地连接 -->
<elasticsearch:
transport-client id="localClient"
cluster-nodes="192.168.3.138:9300,192.168.3.138:9301,192.168.3.138:9302"
cluster-name="es-5.5.0-yg"
client-transport-sniff="false"
/>
<bean name="localEsClient" class="org.springframework.data.elasticsearch.core.ElasticsearchTemplate">
<constructor-arg ref="localClient"/>
</bean>
这里注意一点多节点 cluster-name 必须同一个集群下,代码里操作ElasticsearchTemplate
@Resource(name="localEsClient")
private ElasticsearchTemplate elasticsearchTemplate;