之前已在一台服务器上部署了elasticsearch,今天想着尝试elasticsearch的分布式,但受限于硬件资源(手头上只有一台服务器),所以就想着在一台服务器上部署多个结点(下文以2个结点作为例子)。
1、首先将已安装好的elasticsearch文件再复制一份
[root@localhost ~]# cd /usr/local/elasticsearch [root@localhost elasticsearch]# cp -R elasticsearch-1.3.2 elasticsearch-1.3.2-node.2 [root@localhost elasticsearch]# ls -l total 16 drwxr-xr-x. 8 root root 4096 Sep 16 16:04 elasticsearch-1.3.2 drwxr-xr-x. 8 root root 4096 Sep 16 14:45 elasticsearch-1.3.2-node.2
2、修改结点名称
[root@localhost elasticsearch]# cd elasticsearch-1.3.2-node.2/config/
[root@localhost config]# vi elasticsearch.yml
将 node.name : 01 修改为 03 ,保存+退出
注意:cluster.name 必须保持一致,此处 cluster.name : elasticsearch244
启动:[root@localhost config]# ../bin/elasticsearch -d
3、查询
[root@localhost config]# curl -i -XGET 'http://localhost:9200/_cluster/health?pretty'; HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 279 { "cluster_name" : "elasticsearch244", "status" : "green", "timed_out" : false, "number_of_nodes" : 2, "number_of_data_nodes" : 2, "active_primary_shards" : 0, "active_shards" : 0, "relocating_shards" : 0, "initializing_shards" : 0, "unassigned_shards" : 0 }
可以查看到,结点生效了。
4、一些事项记录
(1)、当修改elasticsearch.yml,开启 bootstrap.mlockall: true 时,无法启动,后查看日志,初步判断是与java启动的内存环境有一些冲突,但具体原因未知。本着先不折腾的心态,先跳过。
(2)、一开始cluster.name 都设置为一样,但无法找到对应的其他结点。后将防火墙关闭,解决了此问题。
/etc/init.d/iptables stop
另外,关闭防火墙之后,在浏览器访问也能正确响应了。
原文链接:https://blog.csdn.net/xujingzhong0077/article/details/52885551/
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/7365