您的位置:首页 > 其它

ElasticSearch初步认识及安装

2017-04-18 09:04 246 查看
 ElasticSearch是一个接近实时的搜索平台。这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒)。

1、术语

集群

cluster

一个集群就是由一个或多个节点组织在一起,它们共同持有你整个的数据,并一起提供索引和搜索功能。一个集群由一个唯一的名字标识。

节点

node

一个节点是你集群中的一个服务器,作为集群的一部分,它存储你的数据,参与集群的索引和搜索功能。同样,一个节点也是由一个名字来标识的。

索引

index

一个索引就是一个拥有几分相似特征的文档的集合。一个索引由一个名字来标识(必须全部是小写字母的)。类似 mysql中 database。

类型

type

在一个索引中,你可以定义一种或多种类型。一个类型是你的索引的一个逻辑上的分类/分区,其语义完全由你来定。类似  mysql 中 table。

文档

document

一个文档是一个可被索引的基础信息单元。其由_id来标识。类似  mysql 中 id。例如一个文档通过/index/type/id来索引到。


2、基本结构



基本特点:

(1)分片和复制

   一个索引可以存储超出单个结点硬件限制的大量数据。例如,当一个索引拥有10亿文档,占据1T的磁盘大小,一台主机所拥有的的磁盘大小达不到1T磁盘空间;或者单个节点同时处理大量用户的搜索请求,容易出现瓶颈,响应过慢。

  为解决以上等问题,ElasticSearch支持将索引划分为多份,分配在集群中不同节点上,该技术被称为分片技术。同时,分布式的架构也提高了吞吐量。

  另外,由于某些故障导致其中一台节点运行失败,导致该节点上的分片丢失,因此出现了复制分片技术,用户可以指定分片备份数,将备份分片分配在不与原分片同一节点的其它节点上,因此在该节点失败的状况下,可以在集群中另几台节点上找到备份分片,保证数据的正确性。

3、安装

3.1环境

操作系统:Redhat6.5


3.2安装

注意:主机内存需要大一些,不然无法启动成功,我之前用了一台1C,2GB的虚拟机,可能由于同时运行多种服务,导致内存不够,未启动成功。

(1)获取elasticsearch包源

# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.tar.gz



(2)修改配置文件

$ cd elasticsearch-5.2.2/config

修改主机IP地址,若单台节点也可以默认不修改,为本地localhost。

network.host: x.x.x.x     //主机IP地址

(3)创建用户,出于安全考虑,elasticsearch默认不允许采用root用户运行。

创建elasticsearch用户组

# groupadd elasticsearch

创建用户elasticsearch并加入用户组elasticsearch以及设置密码elasticsearch

# useradd elasticsearch-g elasticsearch -p elasticsearch

并设置root权限

# vim /etc/sudoers

elasticsearch ALL=(ALL)       ALL

(4)用elasticsearch用户登录主机,解压elasticsearch-5.2.2.tar.gz

$ tar xvzf elasticsearch-5.2.2.tar.gz

(5)启动elasticsearch服务

$ cd elasticsearch-5.2.2/bin/

$ nohup ./elasticsearch &

启动时出现如下错误:

java.lang.UnsupportedOperationException:seccomp unavailable: requires kernel 3.5+ with CONFIG_SECCOMP andCONFIG_SECCOMP_FILTER compiled in

原因,是由于Linux版本过低报的错误。

解决办法:

a)重新安装高版本的linux系统。

b)该警告不影响使用,可忽略该项错误。

(6)验证elasticsearch

$ curl 'localhost:9200/'

{

 "name" : "E3VPWLI",

 "cluster_name" : "elasticsearch",

 "cluster_uuid" : "dIkuBg7oTLGjV3mHfTaL6g",

 "version" : {

   "number" : "5.2.2",

   "build_hash" : "f9d9b74",

   "build_date" : "2017-02-24T17:26:45.835Z",

    "build_snapshot": false,

   "lucene_version" : "6.4.1"

  },

 "tagline" : "You Know, for Search"

}

4、参考文章

https://www.ibm.com/developerworks/cn/opensource/os-cn-elk/
http://blog.csdn.net/cnweike/article/details/33736429
PS

下方是我个人订阅号,会一直更新各类技术文章,欢迎关注  :)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  elasticsearch