前言,ES作为大数据时代的产物,天生是用来做数据库集群的。

在同一个网段下,如果几台ES的集群名是一样的,他们就会自动加入到一个集群中。所以,咱们可以从这个角度出发,将多台(这里演示三台)ES的集群名都统一命名为 ahualy-application.具体在哪儿配置会在下面记录。

在此之前,你还需要知道,ES都有哪些节点。ES有负责集群操作的主节点(master),有保存数据的数据节点(data),有负责处理路由请求,处理搜索,分发索引操作的客户端节点(client)。具体的配置下面介绍。

该教程演示一个master节点,一个数据节点,一个客户端节点。(共三台ES,同时部署在一台Linux服务器上)

一,环境准备
  • 一台Linux服务器
  • 一个ES解压文件
  • Jdk环境
二,搭建过程
1.在需要部署的路径下创建一个文件夹,将已经准备好的ES拷贝到该目录。

比如创建es文件夹,将elasticsearch拷贝到es文件夹下面。

es集群搭建方案 es集群需要几台_端口号

2.在es下面,将elasticsearch重命名为node-01,然后在es下面复制三份,一次命名为node-02,node-03.

es集群搭建方案 es集群需要几台_服务器_02

3.依次编辑这三个es

先明确一下,node-01这台es我用它做master节点,输入命令

vim node-01/config/elasticsearch.yml
# cluster.name 集群名
cluster.name: ahualy-application
# node.node 节点名
node.name: node01
# node.master 是不是master节点
node.master: true
# node.data 是否存储数据 因为这个现在是master节点,就别让他存储数据了,所以设置为false
node.data: false
# network.host 主机ip
network.host: 172.16.11.42
# http.port 端口号
http.port: 10203
# http.enabled
http.enabled: true
# transport.tcp.port tcp端口号
transport.tcp.port: 10303
# discovery.zen.ping.multicast.enabled
discovery.zen.ping.multicast.enabled: false
# discovery.zen.ping_timeout
#discovery.zen.ping_timeout: 120s
# client.transport.ping_timeout
#client.transport.ping_timeout: 60s
# discovery.zen.minimum_master_nodes
discovery.zen.minimum_master_nodes: 1
# discovery.zen.ping.unicast.hosts 这里配置的是主节点的tcp端口
discovery.zen.ping.unicast.hosts: ["172.16.11.42:10303"]
# node.max_local_storage_nodes 一台服务器上最大配置的es数量
node.max_local_storage_nodes: 3

配置好之后。Esc退出。输入:wq保存即可。

node-02,用它做数据节点

# cluster.name 集群名
cluster.name: ahualy-application
# node.node 节点名
node.name: node02
# node.master 是否是master节点
node.master: false
# node.data 是否存储索引数据
node.data: true
# network.host
network.host: 172.16.11.42
# http.port 端口号
http.port: 10204
# http.enabled
http.enabled: true
# transport.tcp.port tcp端口号
transport.tcp.port: 10304
# discovery.zen.ping.multicast.enabled
discovery.zen.ping.multicast.enabled: false
# discovery.zen.ping_timeout
#discovery.zen.ping_timeout: 120s
# client.transport.ping_timeout
#client.transport.ping_timeout: 60s
# discovery.zen.minimum_master_nodes
discovery.zen.minimum_master_nodes: 1
# discovery.zen.ping.unicast.hosts 这里配置的是主节点的tcp端口
discovery.zen.ping.unicast.hosts: ["172.16.11.42:10303"]
# node.max_local_storage_nodes  一台服务器上最大配置的es数量
node.max_local_storage_nodes: 3

配置好之后。Esc退出。输入:wq保存即可。

node-03,用它做客户端节点

# cluster.name 集群名
cluster.name: ahualy-application
# node.node 节点名
node.name: node02
# node.master 是否是master节点
node.master: false
# node.data 是否存储索引数据
node.data: false
# network.host
network.host: 172.16.11.42
# http.port 端口号
http.port: 10205
# http.enabled
http.enabled: true
# transport.tcp.port tcp端口号
transport.tcp.port: 10305
# discovery.zen.ping.multicast.enabled
discovery.zen.ping.multicast.enabled: false
# discovery.zen.ping_timeout
#discovery.zen.ping_timeout: 120s
# client.transport.ping_timeout
#client.transport.ping_timeout: 60s
# discovery.zen.minimum_master_nodes
discovery.zen.minimum_master_nodes: 1
# discovery.zen.ping.unicast.hosts 这里配置的是主节点的tcp端口
discovery.zen.ping.unicast.hosts: ["172.16.11.42:10303"]
# node.max_local_storage_nodes  一台服务器上最大配置的es数量
node.max_local_storage_nodes: 3

配置好之后。Esc退出。输入:wq保存即可。

4.配置好之后,依次启动这三台es即可。

es集群搭建方案 es集群需要几台_数据_03


es集群搭建方案 es集群需要几台_服务器_04


es集群搭建方案 es集群需要几台_服务器_05

5.浏览器查看

es集群搭建方案 es集群需要几台_服务器_06


搭建成功!!!