- 官网下载ES6.5.0解压到/opt/soft下,并复制两份分别命名为elasticsearch-6.5.0-master 和 elasticsearch-6.5.0-slave01(暂时只搭建两个节点,注意:新增的节点路径记得赋予当前启动用户执行权限,否则报没有权限错误)。
- 分别对master和slave进行配置如下:
- master:config/elasticsearch.yml
cluster.name: eden-cluster01 //集群名称
node.name: eden-master //当前主节点名称
path.data: /path/es/data //存储数据位置,
//线上环境一般修改为不在ES安装目录下(默认在安装目录下)
//因为如果ES版本升级这些文件就丢失了。
path.logs: /path/es/logs //存储日志位置,理由同上
network.host: 0.0.0.0 // 设置外网可以访问
http.port: 9200 //访问端口,默认也是9200,可修改
discovery.zen.minimum_master_nodes: 2
//设置这个参数来保证集群中的节点可以知道
//其它N个有master资格的节点。
// 默认为1,对于大的集群来说,可以设置大一点的值,
//如果大集群也设置为1,很容易导致"脑裂",
//从而出现节点不属于当前集群的可能。
- master:config/jvm. options
-Xms150m
-Xmx150m
- slave:config/elasticsearch.yml,其jvm.options设置和master相同
cluster.name: eden-cluster01
node.name: eden-node02
path.data: /path/es/data-slave
path.logs: /path/es/logs-slave
network.host: 0.0.0.0
http.port: 8200 //设置不同端口,否则冲突
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
//slave的设置,master通过这个列表所有节点发现
//并且加入到集群中。格式为 [“host1”, “host2:port”, “host3[portX-portY]”]
-
设置正确后,如果启动没有报错,就可以在外网访问。如果访问不了查看防火墙是否开启。如果是阿里云服务器,需要设置入方向安全组规则如下:
阿里云服务器安全组设置_1.png -
设置好后,如果是windows环境访问,在谷歌商店下载elasticsearch-head插件后,可以看到master和slave都启动成功
外网访问.png - 最后通过Postman工具插入索引数据进行测试 新增索引数据.png
- 最后分别master和slave查看数据都存在,说明master和slave数据同步成功。从ES-head插件也可以看到
[root@Eden666 ~]# curl localhost:8200/users/coder/5?pretty
{
"_index" : "users",
"_type" : "coder",
"_id" : "5",
"_version" : 1,
"found" : true,
"_source" : {
"name" : "eden999",
"age" : 20
}
}
[root@Eden666 ~]# curl localhost:9200/users/coder/5?pretty
{
"_index" : "users",
"_type" : "coder",
"_id" : "5",
"_version" : 1,
"found" : true,
"_source" : {
"name" : "eden999",
"age" : 20
}
}
head.png
网友评论