Elasticsearch作为一个升级频繁的热门开源中间件,搭建集群摸索使用方式也就成了程序员的必修课之一。
既然是搭建集群,就涉及到创建多个节点的问题了。一般来说,作为业余学习,搭建集群基本就2个方法:
1.云上买多台服务器搭建
2.本地启动多个实例
处于成本考虑,自然优先选择第二个方案。
首先列举一下环境:
elasticsearch6.4.0 + jdk8 + head插件(直接从chrome市场安装)
依据es的工作机制,我们针对每一个节点建立如下三个文件夹:
data文件夹 - 用于存储节点的数据
log文件夹 - 用于存储节点的运行日志
config文件夹 - 用于存储节点的配置
核心是修改config文件夹下的elasticsearch.yml文件,需要修改的文件内容如下(以三个节点为例):
cluster.name: local-es
node.name: node-1
path.data: /path/to/data
path.logs: /path/to/logs
network.host: 127.0.0.1
http.port: 9201
transport.tcp.port: 9301
node.max_local_storage_nodes: 3
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9301", "127.0.0.1:9302", "127.0.0.1:9303"]
discovery.zen.minimum_master_nodes: 2
注意事项:
discovery.zen.ping.unicast.hosts在同一虚机起多个实例时需要显式指定端口,否则会出现"not enough master nodes"的错误
启动后用head插件查看,出现如下画面表示启动正常