ElasticSearch安装

发表时间:2017-09-25 15:24:04 浏览量( 54 ) 留言数( 0 )

学习目标:

1、了解ElasticSearch的简介

2、了解ElasticSearch的安装


学习过程:

一、ElasticSearch的简介

    Elasticsearch是一个建立在全文搜索引擎 Apache Lucene™基础上的搜索引擎,前面我们介绍过Lucene了,Lucene只是一个框架,并不是一个可用的产品,如果要实现搜索功能,需要在程序中集成Lucene,需要些很多代码实现建立索引和实现检索等功能,你需要掌握Java,和Lucene API才能完整。

    Elasticsearch使用Lucene作为内部引擎,并且提供了统一的Restful API接口,不需要了解其背后复杂的Lucene的运行原理。当然Elasticsearch并不仅仅是Lucene这么简单,它不但包括了全文搜索功能,还可以进行以下工作:

1、Elasticsearch是分布式的。不需要其他组件,分发是实时的

2、处理多租户(multitenancy)不需要特殊配置,而Solr则需要更多的高级设置。

3、各节点组成对等的网络结构,某些节点出现故障时会自动分配其他节点代替其进行工作。

4、Elasticsearch 采用 Gateway 的概念,使得完备份更加简单。

可以说Elasticsearch相比Lucene来说优势非常明显,更简单、通用的API,而且对集群的支持非常好。

目前和Elasticsearch类似的产品有solr,因为我们这个阶段主要学习的是ELK相关的知识,有关Elasticsearch和solr相关的更详细的知识点我们再后面的大数据再讲解。



二、ElasticSearch的安装

ElasticSearch的单机安装和集群安装都是非常简单,如果你有三台机器,那么也可以集群安装的,如果你只有一台也可以先单机安装的。以后再集群安装的。

1、先安装jdk

至少要1.7的

2、下载

我们先不使用最新版本,还是先使用1.7版的2.3版权限要求不能使用root启动,远程访问也会受到限制,所以这里我们先使用旧版本的。

旧版本比较简单,只需要解压然后启动就可以访问了。

https://www.elastic.co/downloads/past-releases/elasticsearch-1-7-0

解压

su - liubao

我们解压到grid的根目录下面

tar -zxvf 

启动

cd  cd elasticsearch-1.7.0/

./bin/elasticsearch -d

curl http://localhost:9200

可以得到一段JSON

{

  "status" : 200,

  "name" : "run1.com",

  "cluster_name" : "liubaoelasticsearch",

  "version" : {

    "number" : "1.7.0",

    "build_hash" : "929b9739cae115e73c346cb5f9a6f24ba735a743",

    "build_timestamp" : "2015-07-16T14:31:07Z",

    "build_snapshot" : false,

    "lucene_version" : "4.10.4"

  },

  "tagline" : "You Know, for Search"

}

默认是9200端口,9300端口是集群通信接口,所以在访问墙这两个端口都要打开,这样事实上已经可以使用得了。但是为了更好的可视化的操作和监控ElasticSearch,我们可以安装一些插件进行管理

3、安装可视化的管理插件

安装head和bigdesk两个插件,如果是集群安装的话也只需要在其中一台安装即可

(1)head插件

head插件是一个elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序。

https://github.com/mobz/elasticsearch-head

网站会教你怎么安装不同版本的插件

  • Install elasticsearch-head:
    - for Elasticsearch 5.x:
    site plugins are not supported. Run elasticsearch-head as a standalone server
    – for Elasticsearch 2.x – 4.x:
    sudo elasticsearch/bin/plugin install mobz/elasticsearch-head
    – for Elasticsearch 1.x:
    sudo elasticsearch/bin/plugin -install mobz/elasticsearch-head/1.x
    – for Elasticsearch 0.9:
    sudo elasticsearch/bin/plugin -install mobz/elasticsearch-head/0.9

  • open http://localhost:9200/_plugin/head/

调用上面的命令是找不到JAVA,进入脚本配置即可

进入bin目录,plugin命令就是用于安装插件的,

[grid@run1 bin]$ vim plugin

#!/bin/sh

JAVA_HOME=/usr/local/java/jdk

安装完成后:http://run1.com:9200/plugin/head/  即可看到图形化管理界面

在三台run1.com和run2.com run3.com都启动elasticsearch

elasticsearch ,会发现elasticsearch会自动的查找到所有的集群信息,不需要依赖其他的任何组件

attcontent/7ae52804-f55e-4ec3-9edd-dc090e211f9d.png

(2)bigdesk插件

https://github.com/lukas-vlcek/bigdesk

bigdesk是elasticsearch的一个集群监控工具,可以通过它来查看集群的各种状态,如:cpu、内存使用情况,索引数据、搜索情况,http连接数等。

 sudo  ./bin/plugin -install lukas-vlcek/bigdesk/2.5.0

在两台电脑上面安装ElashticSearch测试一下,会发现他们两个相通的,节点可以互相发现。

完成后可以访问:http://run1.com:9200/_plugin/bigdesk/

attcontent/4237be80-b951-4c66-b674-f1af7a52b0fd.png



修改一些基本的配置

多台机器

\config\elasticsearch.yml 文件修改

#cluster.name设置统一的集群名如  默认是elasticsearch

cluster.name: win-es-001  

#node.name 设置当前Node名称   各个节点的名字,这个可以改一下

node.name: "run1.com"   其他两台机器可以自己设置

如果没有办法自发现,可以查看日志,看启动IP是否正确,如果不正确可以手动设置

network.host


三、学学CURL相关操作

访问一个网页

curl  www.baidu.com 

显示http response的头信息

curl -i  www.baidu.com 

显示一次http请求的通信过程  

curl -v  www.baidu.com      

curl --trace output.txt www.baidu.com CURL

执行 GET/POST/PUT/DELETE操作:

curl –X GET/POST/PUT/DELETE www.example.com

这个命令比较重要,我们在后台操作ES的增删改查的时候事实上就是通过http的方式去操作的。


四、可选的服务安装

只是运行起来是不够的,我们需要将Elasticsearch安装成服务,设置开机自启动什么的。这就要用到elasticsearch-servicewrapper了(当然也有其他方法),安装方法依旧简单,从Github上下载解压,直接把service文件夹放在elasticsearch-1.3.4/bin 下即可,执行下面的命令安装:

1. bin/service/elasticsearch install


然后就可以启动了:

1. bin/service/elasticsearch start