Elasticsearch简介(一)by Zhanyr

Elasticsearch是一个基于Lucene的搜索服务器,提供了一个分布式多用户能力的全文搜索引擎。ES用于云计算中,能够达到实时搜索,具有稳定,可靠,快速,安装使用方便等优点。

elasticsearch介绍

Lucene是当今最先进,最高效的全功能开源搜索引擎框架,但是使用起来特别麻烦。Elasticsearch使用Lucene作为内部引擎,只需要了解统一的API就可以可以使用。 当然Elasticsearch并不仅仅是Lucene这么简单,它不但包括了全文搜索功能,还可以进行以下工作:

a.分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。

b.实时分析的分布式搜索引擎。

c.可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。

这么多的功能被集成到一台服务器上,你可以轻松地通过客户端或者任何你喜欢的程序语言与ES的RESTful API进行交流。

安装

1、安装jdk

确保安装Java SE环境,1.7以上版本

2、安装elasticsearch

elasticsearch官网下载,解压。即完成安装。

3、配置

ES解压之后,到ES对应的目录中发现如下的目录结构:

bin:运行ES实例和插件管理需要的脚本
config:配置文件目录
lib:ES使用的库

config目录下有两个配置文件:elasticsearch.yml和logging.yml。

第一个文件主要负责服务器的默认配置值。(一些配置值可能会在运行中更改,所以这个文件中的值可能是不准确的。) 其中cluster.name和node.name不会在运行中被更改,分别代表集群名字和节点名字。

第二个文件定义了将多少信息写入系统日志,它定义了日志文件并定期创建新文件。

4、运行

bin目录下执行./elasticsearch,就将ES运行起来了。它工作时使用两个端口号,默认情况下,使用http协议与rest api通信的端口为9200,在集群内及java客户端和集群之间通信的端口为9300。

在浏览器中打开http://localhost:9200/ 浏览器显示如下:

{
	"status" : 200,
	"name" : "node_zhyr",
	"cluster_name" : "elasticsearch",
	"version" : {
		"number" : "1.7.3",
		"build_hash" : "05d4530971ef0ea46d0f4fa6ee64dbc8df659682",
		"build_timestamp" : "2015-10-15T09:14:17Z",
		"build_snapshot" : false,
		"lucene_version" : "4.10.4"
	},
	"tagline" : "You Know, for Search"
}

运行之后,ES对应的目录下将会被自动的创建如下目录:

data:elasticsearch使用的所有数据的存储位置
logs:关于事件和错误记录的文件
plugins:安装的插件
work:elasticsearch使用的临时文件
5、关闭

a.如果节点是连接到控制台,ctrl+c

b.kill 命令

c.使用rest api:

关闭整个集群curl -XPOST http://localhost:9200/_cluster/nodes/_shutdown

关闭单一节点curl -XPOST http://localhost:9200/_cluster/nodes/节点标识符/_shutdown

插件:

集群管理工具:./plugin -install mobz/elasticsearch

集群监控工具:./plugin -install lukas-vlcek/bigdesk

Published 26 January 2016