ElasticSearch之Windows和Linux安装及插件
Elasticsearch开篇,把以前积累的一些东西整理一下,该篇介绍windows和Linux上安装Elasticsearch。
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布。
分布式索引,近实时搜索,高效稳定,协议简单(通过http协议和json格式交互数据),无中心化,任何节点都是对等的,可以通过多副本来容错,自动发现节点等特性。
现在码农经常用的github就是通过Elasticsearch来构建分布式索引的。
Elasticsearch 在windows安装
1,首先对比关系数据库和elasticsearch的关系。
Mysql | Elasticsearch |
database | index |
table | type |
table schema | mapping |
row | document |
field | field |
http://www.elasticsearch.org/overview/elkdownloads/(该安装文档以elashicsearch-1.4.0为例)
最新的elasticsearch官网地址是:https://www.elastic.co/downloads/elasticsearch
目录结构:
目录(Directory) | 描述(Description) |
bin | 运行ElasticSearch实例和插件管理所需的脚本 |
config | 配置文件所在的目录 |
lib | ElasticSearch所使用的库 |
ElasticSearch启动后,它将创建以下目录(如果它们不存在):
目录(Directory) | 描述(Description) |
data | 存储ElasticSearch所使用的所有数据 |
logs | 实例运行期间产生的事件和错误信息的文件 |
plugins | 用于存储安装的插件 |
work | 临时文件 |
3,windows下安装
解压elasticsearch-1.4.0.zip
E:\workspace\fish-search>cd /d E:\tools\elasticsearch-1.4.0\bin
E:\tools\elasticsearch-1.4.0\bin>elasticsearch.bat
[2014-11-28 14:31:32,666][INFO ][node ] [Christopher Summers] version[1.4.0], pid[8344], build[bc94bd8/2014-11-05T14:26:12Z]
[2014-11-28 14:31:32,666][INFO ][node ] [Christopher Summers] initializing ...
[2014-11-28 14:31:32,671][INFO ][plugins ] [Christopher Summers] loaded [], sites []
[2014-11-28 14:31:46,889][INFO ][node ] [Christopher Summers] initialized
[2014-11-28 14:31:46,889][INFO ][node ] [Christopher Summers] starting ...
[2014-11-28 14:31:49,936][INFO ][transport ] [Christopher Summers] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/10.0.10.172:9300]}
[2014-11-28 14:31:50,337][INFO ][discovery ] [Christopher Summers] elasticsearch/Ca3EKAj5RC6yHLr5QcgjCw
[2014-11-28 14:31:54,141][INFO ][cluster.service ] [Christopher Summers] new_master [Christopher Summers][Ca3EKAj5RC6yHLr5QcgjCw][fish-PC][inet[/10.0.10.172:9300]], reason: zen-disco-join (elected_as_master)
[2014-11-28 14:31:54,210][INFO ][http ] [Christopher Summers] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/10.0.10.172:9200]}
[2014-11-28 14:31:54,210][INFO ][node ] [Christopher Summers] started
[2014-11-28 14:31:55,605][INFO ][gateway ] [Christopher Summers] recovered [0] indices into cluster_state
{
"status" : 200,
"name" : "Christopher Summers",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "1.4.0",
"build_hash" : "bc94bd81298f81c656893ab1ddddd30a99356066",
"build_timestamp" : "2014-11-05T14:26:12Z",
"build_snapshot" : false,
"lucene_version" : "4.10.2"
},
"tagline" : "You Know, for Search"
}
表示启动成功
如果你得到的status是200那它意味着所有的事情都ok啦...是不是很简单?
让我们看看JSON的每个字段代表的含义:
status: 发出请求后的HTTP的错误代码。200表示一切正常。
name: 我们Elasticsearch实例的名字。在默认情况下,它将从一个巨长的名字列表中随机选择一个。
version: 这个对象有一个number字段,代表了当前运行的Elasticsearch版本号,和一个Snapshot_build字段,代表了你当前运行的版本是否是从源代码构建而来。
Tagline: 包含了Elasticsearch的第一个tagline:"You Know, for Search."
Linux ES集群安装
在config/elasticsearch.yml文件加入:
################################### Fish ADD ###################################
cluster.name: bicloud //集群名称(集群中所有机器,名称要一样)
node.name: fish75 //节点名称(名称要不一样)
node.master: true //true可以竞选主节点
node.data: true //是否为数据节点
两个基础插件的安装:
elasticsearch-head插件:
elasticsearch-head是一个elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序,你可以通过插件把它集成到es。
E:\tools\elasticsearch-1.4.0\bin>plugin -install mobz/elasticsearch-head
-> Installing mobz/elasticsearch-head...
Trying https://github.com/mobz/elasticsearch-head/archive/master.zip...
Downloading ......................................................................
..................................................................................
...........................................................DONE
Installed mobz/elasticsearch-head into E:\tools\elasticsearch-1.4.0\plugins\head
Identified as a _site plugin, moving to _site structure ...
访问:http://localhost:9200/_plugin/head/
粗线绿框表示主分片,细线绿框为备份分片。
elasticsearch-bigdesk插件:
bigdesk是elasticsearch的一个集群监控工具,可以通过它来查看es集群的各种状态,如:cpu、内存使用情况,索引数据、搜索情况,http连接数等。
E:\tools\elasticsearch-1.4.0\bin>plugin -install lukas-vlcek/bigdesk
-> Installing lukas-vlcek/bigdesk...
Trying https://github.com/lukas-vlcek/bigdesk/archive/master.zip...
Downloading ....................................................................
..............................DONE
Installed lukas-vlcek/bigdesk into E:\tools\elasticsearch-1.4.0\plugins\bigdesk
Identified as a _site plugin, moving to _site structure ...
访问:http://localhost:9200/_plugin/bigdesk/#nodes
Linux启动命令:bin/elasticsearch -d -Xms512m -Xmx512m
marvel安装:
marvel是elasticsearch出品的一个收费插件。
->Installingelasticsearch/marvel/latest...
Tryinghttp://download.elasticsearch.org/elasticsearch/marvel/marvel-latest.zip...
Downloading.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................DONE
Installedelasticsearch/marvel/latestinto/home/elasticsearch-1.4.2/plugins/marvel
[[email protected]bin]#pwd
/home/elasticsearch-1.4.2/bin