(1)介绍:ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
(2)安装过程:先去官网上下载最新的版本version:5.6.1,下载和解压后的文件中的bin包含程序启动的程序,config主要是配置相关的东西;
ok,现在启动elasticsearch,在文件目录下:
elasticsearch-5.6.1$ ./bin/elasticsearch
[2017-09-24T13:26:29,986][INFO ][o.e.c.s.ClusterService ] [master] new_master {master}{IM-ZTkHdTs2ghXu5ejzfDQ}{YcUoqGTNQmeKxYQaffRuMA}{127.0.0.1}{127.0.0.1:9300}, reason: zen-disco-elected-as-master ([0] nodes joined)
[2017-09-24T13:26:29,999][INFO ][o.e.h.n.Netty4HttpServerTransport] [master] publish_address {127.0.0.1:9200}, bound_addresses {127.0.0.1:9200}
[2017-09-24T13:26:29,999][INFO ][o.e.n.Node ] [master] started
[2017-09-24T13:26:30,250][INFO ][o.e.g.GatewayService ] [master] recovered [1] indices into cluster_state
出现如上log表示已经启动了,启动后,elaticsearch默认的web端口是9200,去网页上看下: localhost:9200,当看到如下:
{ "name" : "master", "cluster_name" : "daic", "cluster_uuid" : "hHye4IE9TlujANc4GtZxKw", "version" : { "number" : "5.6.1", "build_hash" : "667b497", "build_date" : "2017-09-14T19:22:05.189Z", "build_snapshot" : false, "lucene_version" : "6.6.1" }, "tagline" : "You Know, for Search" }
(3)既然是分布式,那为什么只有一个master节点,不急,下面安装slave节点,不妨就做slave1和slave2节点吧;
将下载的压缩包也解压到slave1和slava2文件夹,这样elasticsearch看起来就可以启动3个一样的的了,但这3者之间还没有发生任何关系,下面配置将让它们发生关系;首先在之前配置的节点中打开elasticsearch.yml文件:
vim config/elasticsearch.yml
将其配置成master节点:
http.cors.enabled: true
http.cors.allow-origin: "*" //web插件访问时会存在跨域问题,后面会介绍
cluster.name: daic //集群名字
node.name: master
node.master: true //master节点
network.host: 127.0.0.1 //本机
同样打开slave1的elasticsearch.yml文件,
配置成slave1节点;
cluster.name: daic //集群名字,和mater一致
node.name: slave1
network.host: 127.0.0.1//当前的ip,测试在同样的机器上
http.port: 9201 //端口设为9201
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]//配置连接到master的主机地址
开启slave1,:
./bin/elasticsearch
在网页中输入localhost:9201看下,返回:
{
"name" : "slave1",
"cluster_name" : "daic",
"cluster_uuid" : "hHye4IE9TlujANc4GtZxKw",
"version" : {
"number" : "5.6.1",
"build_hash" : "667b497",
"build_date" : "2017-09-14T19:22:05.189Z",
"build_snapshot" : false,
"lucene_version" : "6.6.1"
},
"tagline" : "You Know, for Search"
}
ok,slave1启动了,同样打开slave2文件夹下的elasticsearch.yml文件, 配置成slave2节点;
cluster.name: daic //集群名字,和mater一致
node.name: slave2
network.host: 127.0.0.1//当前的ip,测试在同样的机器上
http.port: 9202 //端口设为9202
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]//配置连接到master的主机地址
开启slave2,:
./bin/elasticsearch
在网页中输入localhost:9202看下,返回:
至此,master、slave1、slave2配置全部完成,但这样看起来还是不爽对不对,没关系,我们可以在webui中看,webui插件的配置见下节。{ "name" : "slave2", "cluster_name" : "daic", "cluster_uuid" : "hHye4IE9TlujANc4GtZxKw", "version" : { "number" : "5.6.1", "build_hash" : "667b497", "build_date" : "2017-09-14T19:22:05.189Z", "build_snapshot" : false, "lucene_version" : "6.6.1" }, "tagline" : "You Know, for Search" }