Elasticsearch开篇,把之前积累的一些东西整理一下,该篇介绍windows和Linux上安装Elasticsearch。html
ElasticSearch 是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并做为Apache许可条款下的开放源码发布。目前咱们将Elasticsearch用于日 志的实时采集和Mapreduce分析结果的查询业务中。html5
Elasticsearch支持分布式索引,近实时搜索,高效稳定,协议简单(经过http协议和json格式交互数据),无中心化,任何节点都是对等的,能够经过多副原本容错,自动发现节点等特性。java
如今码农常常用的github就是经过Elasticsearch来构建分布式索引的。node
Elasticsearch在windows安装
1,首先对比关系数据库和elasticsearch的关系。linux
Mysql |
Elasticsearch |
database |
index |
table |
type |
table schema |
mapping |
row |
document |
field |
field |
2,下载地址:git
https://www.elastic.co/downloads/elasticsearchgithub
目录结构:web
目录(Directory) |
描述(Description) |
bin |
运行ElasticSearch实例和插件管理所需的脚本 |
config |
配置文件所在的目录 |
lib |
ElasticSearch所使用的库 |
ElasticSearch启动后,它将建立如下目录(若是它们不存在):sql
目录(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
启动后,访问:http://localhost:9200/
- {
-
- "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"
- }
表示启动成功
让咱们看看JSON的每一个字段表明的含义:
status: 发出请求后的HTTP的错误代码。200表示一切正常。
name: 咱们Elasticsearch实例的名字。在默认状况下,Elasticsearch会随机给一个名称,在elasticsearch的jar包中,config/names.txt文件中定义了这些默认的名称,Elasticsearch就是在该文件中随机获取的名称。
version: 这个对象有一个number字段,表明了当前运行的Elasticsearch版本号,和一个Snapshot_build字段,表明了你当前运行的版本是不是从源代码构建而来。
Tagline: 包含了Elasticsearch的第一个tagline: "You Know, for Search."
Linux ES集群安装
三台机器,分别是:
10.0.1.75
10.0.1.76
10.0.1.77
分别修改各台服务器的${ELASTICSEARCH_HOME}/config/elasticsearch.yml文件
10.0.1.75:
- cluster.name: bicloud //集群名称(集群中全部机器,名称要同样)
- node.name: fish75 //节点名称(名称要不同)
- node.master: true //true能够竞选主节点
- node.data: true //是否为数据节点
10.0.1.76:
- cluster.name: bicloud //集群名称(集群中全部机器,名称要同样)
- node.name: fish76 //节点名称(名称要不同)
- node.master: true //true能够竞选主节点
- node.data: true //是否为数据节点
10.0.1.77:
- cluster.name: bicloud //集群名称(集群中全部机器,名称要同样)
- node.name: fish77 //节点名称(名称要不同)
- node.master: true //true能够竞选主节点
- node.data: true //是否为数据节点
各个服务器的Elasticsearch的配置文件配置好以后,而后启动就能够了。
- [root@bicloud75 bin]# ./elasticsearch -d
- #启动完成以后查看进程是否存在
- [root@bicloud75 bin]# jps
- 28710 Elasticsearch
http://10.0.1.77:9200/_nodes/process?pretty
插件的安装
elasticsearch-head插件
elasticsearch-head是一个elasticsearch的集群管理工具,它是彻底由html5编写的独立网页程序,你能够经过插件把它集成到es。
- [root@bicloud75 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 /home/elasticsearch-1.6.0/plugins/head
安装成功后,访问:http://localhost:9200/_plugin/head/

粗线绿框表示主分片,细线绿框为备份分片。
elasticsearch-bigdesk插件
bigdesk是elasticsearch的一个集群监控工具,能够经过它来查看es集群的各类状态,如:cpu、内存使用状况,索引数据、搜索状况,http链接数等。
- [root@bicloud77 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 /home/elasticsearch-1.6.0/plugins/bigdesk
- Identified as a _site plugin, moving to _site structure ...
安装成功后,访问:http://localhost:9200/_plugin/bigdesk/#nodes

marvel安装
marvel是elasticsearch出品的一个收费插件。
- [root@bicloud75 bin]# ./plugin -i elasticsearch/marvel/latest
- -> Installing elasticsearch/marvel/latest...
- Trying http://download.elasticsearch.org/elasticsearch/marvel/marvel-latest.zip...
- Downloading .........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................DONE
- Installed elasticsearch/marvel/latest into /home/elasticsearch-1.4.2/plugins/marvel
安装成功后,访问路径:http://10.0.1.75:9200/_plugin/marvel/
