ElasticSearch分布式集群搭建

发布 : 2016-03-13 分类 : elasticsearch 浏览 :

介绍:

1
2
ElasticSearch是基于Lucene分布式实时搜索分析引擎,设计用于云计算中,能够达到实时搜索
稳定.快速.高效

准备工作:

1
2
3
零配置.开箱即用
没有繁琐的安装配置
Java版本要求:最低1.7

选择三台主机搭建集群

1
2
3
4
5
6
7
192.168.230.129 master
192.168.230.130 slave1
192.168.230.131 slave2

下载地址:

https://www.elastic.co/downloads/

1.上传Elasicsearch压缩文件到指定文件,并解压

1
[root@master software]# tar -zxf elasticsearch-2.0.0.tar.gz -C /opt/modules

2.修改配置文件config/elasticsearch.yml

1
[root@master elasticsearch-2.0.0]# vi config/elasticsearch.yml
1
2
3
4
cluster.name: CKL_elasticsearch
node.name: master

network.host: 192.168.230.129
1
如果要配置集群需要两个节点上的elasticsearch配置的cluster.name相同,都启动可以自动组成集群,这里如果不改cluster.name则默认是cluster.name=elasticsearch,nodename随意取但是集群内的各节点不能相同

3.安装elasticsearch-servicewrapper插件

3.1.下载elasticsearch-servicewrapper

1
2
https://github.com/elasticsearch/elasticsearchservicewrapper,
#然后将目录下的service目录拷贝至ES_HOME/bin目录下。

3.2.简单配置jvm的内存

1
2
3
4
5
#修改/opt/modules/elasticsearch-2.0.0/bin/service/elasticsearch.conf,

[root@master elasticsearch-2.0.0]# vi ./bin/service/elasticsearch.conf

set.default.ES_HEAP_SIZE=1024,该值根据机器的配置可自定义。

3.3.将配置好的安装文件目录发送给slave1.slave2节点

1
2
[root@master modules]# scp -r elasticsearch-2.0.0 root@slave1:/opt/modules/elasticsearch-2.0.0
[root@master modules]# scp -r elasticsearch-2.0.0 root@slave2:/opt/modules/elasticsearch-2.0.0

3.3.1.修改slave1.salve2节点的配置文件config/elasticsearch.yml

1
2
3
4
5
[root@slave1 elasticsearch-2.0.0]# vi config/elasticsearch.yml

cluster.name: CKL_elasticsearch
node.name: slave1
network.host: 192.168.230.130
1
2
3
4
5
[root@slave2 elasticsearch-2.0.0]# vi config/elasticsearch.yml

cluster.name: CKL_elasticsearch
node.name: slave2
network.host: 192.168.230.131

3.4.安装启动服务

1
2
3
4
三台机器都进行如下操作
[root@master elasticsearch-2.0.0]# cd bin/service
[root@master service]# chmod u+x elasticsearch
[root@master service]# ./elasticsearch install

这里需要添加一下执行权限

3.4.1.启动/停止/重启服务

1
2
3
4
5
执行命令:ES_HOME/bin/service/elasticsearch start/stop/restart

[root@master elasticsearch-2.0.0]# ./bin/service/elasticsearch start
[root@slave1 elasticsearch-2.0.0]# ./bin/service/elasticsearch start
[root@slave2 elasticsearch-2.0.0]# ./bin/service/elasticsearch start

3.4.2.执行./bin/plugin install mobz/elasticsearch-head来安装head插件

1
[root@master elasticsearch-2.0.0]# ./bin/plugin install mobz/elasticsearch-head
1
[root@slave1 elasticsearch-2.0.0]# ./bin/plugin install mobz/elasticsearch-head
1
[root@slave2 elasticsearch-2.0.0]# ./bin/plugin install mobz/elasticsearch-head
1
2
3
4
5
6
7
8
9
10
11
注意:因为elasticsearch有远程执行脚本的功能所以容易中木马病毒,

所以不允许用root用户启动,root用户是起不来的,赋权限,用一般的用户启动

要配置network.host才能别的机器或者网卡访问,

否则只能是127.0.0.1或者localhost访问,这里配置成自己的局域网ip

注意配置yml结尾的配置文件都需要冒号后面加空格才行

新建用户
1
2
[root@master elasticsearch-2.0.0]# useradd matrix -g matrix
[root@master elasticsearch-2.0.0]# passwd matrix

1
更改目录的用户组和用户名
1
[root@master modules]# chown -R matrix:matrix ./elasticsearch-2.0.0

添加防脑裂配置

discovery.zen.ping.multicast.enabled: false
discovery.zen.ping_timeout: 120s
client.transport.ping_timeout: 60s
discovery.zen.ping.unicast.hosts: [“192.168.230.129”,”192.168.230.130”, “192.168.230.131”]

1
2
3
启动elasticsearch

[matrix@master elasticsearch-2.0.0]$ ./bin/elasticsearch
1
在浏览器地址栏中输入:http://master:9200/
1
2
3
创建索引

[root@master ~]# curl -XPUT 'http://master:9200/index_name/'
1
2
3
4
5
6
7
8
9
10
创建索引
[root@master ~]# curl -XPOST http://master:9200/matrix/employee/1 -d \
> '{
> "first_name" : "John",
> "last_name" : "Smith",
> "age" : 25,
> "about" : "I love to go rock climbing",
> "interests": [ "sports", "music" ]
> }'
{"_index":"matrix","_type":"employee","_id":"1","_version":1,"_shards":{"total":2,"successful":1,"failed":0},"created":true}
1
2
查询索引
[root@master ~]# curl -XGET http://master:9200/bjsxt/matrix/1
本文作者 : Matrix
原文链接 : https://matrixsparse.github.io/2016/03/13/ElasticSearch分布式搜索引擎集群搭建/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

知识 & 情怀 | 二者兼得

微信扫一扫, 向我投食

微信扫一扫, 向我投食

支付宝扫一扫, 向我投食

支付宝扫一扫, 向我投食

留下足迹