一、环境介绍与安装准备

    1、环境说明

        2台虚拟机,OS为ubuntu13.04,ip分别为xxx.xxx.xxx.140和xxx.xxx.xxx.145。

    2、安装准备

        ElasticSearch(简称ES)由java语言实现,运行环境依赖java。ES 1.x版本,官方推荐至少使用jdk1.6的环境,建议使用oracle java,可以去官网下载,本文使用jdk-7u51-linux-i586.gz。ES可以去官网下载,也可以在这里下载,本文使用elasticsearch-1.0.1.tar.gz。 

二、安装

    1、安装JAVA

        关于java的安装,请参照这里

    2、ES安装

        (1)解压elasticsearch-1.0.1.tar.gz,sudo tar -zvxf elasticsearch-1.0.1.tar.gz,在当前路径生成目录:elasticsearch-1.0.1;为该目录做一个软连接ln -s elasticsearch-1.0.1 elasticsearch。完成之后,目录结构如下图:

ElasticSearch-集群搭建_es

        (2)配置es。这里只做最简单的配置,修改ES_HOME/config/elasticsearch.yml文件,将node.name的值设置为“test-node1”,表示当前这个es服务节点名字为test-node1。            

        (3)启动ES。进入ES安装目录,执行命令:bin/elasticsearch -d -Xms512m -Xmx512m,然后在浏览器输入http://ip:9200/,查看页面信息,是否正常启动。status=200表示正常启动了,还有一些es的版本信息,name为配置文件中node.name的值。

ElasticSearch-集群搭建_es_02

        (4)在另外一台机器上,安装同样的步骤安装ES,因为至少2台服务才算集群嘛!注意,在配置时,将node.name的值设置为test-node2,总之必须和之前配置值不同。

        两台es服务同时起来,因为配置文件中均默认cluster.name=elasticsearch,所以这两台机器自动构建成一个集群,集群名字为elasticsearch。


192.168.0.10  主

cluster.name: elak47    #名字必须一样

node.name: es_node0

node.master: true

node.data: true


192.168.0.11  从

cluster.name: elak47

node.name: es_node1

node.master: false

node.data: true

集群配置 结束


    3、elasticsearchservicewrapper安装

       这个是对elasticsearch执行命令的包装服务,安装之后,方便elasticsearch的启动,停止等等操作。

      (1)下载elasticsearchservicewrapper

                git clone https://github.com/elasticsearch/elasticsearch-servicewrapper,然后将目录下的service目录拷贝至ES_HOME/bin目录下。

      (2)简单配置jvm的内存

                修改ES_HOME/bin/service/elasticsearch.conf,set.default.ES_HEAP_SIZE=1024,该值根据机器的配置可自定义。

      (3)安装启动服务

                执行命令:ES_HOME/bin/service/elasticsearch install

      (4)启动/停止/重启服务

               执行命令:ES_HOME/bin/service/elasticsearch start/stop/restart

    4、插件安装

         集群安装成功之后,需要对集群中的索引数据、运行情况等信息进行查看,索引需要安装一些插件,方面后续工作。工欲善其事必先利其器,下面介绍几个实用的插件:

        (1)head

        和插件名字一样,首推这个插件。通过head,可以查看集群几乎所有信息,还能进行简单的搜索查询,观察自动恢复的情况等等。

        执行下面的命令开始安装:sudo elasticsearch/bin/plugin -install mobz/elasticsearch-head

        记得两台机器都安装一下哦。安装完成之后,在浏览器输入:http://ip:9200/_plugin/head/ ,可以查看显示效果。如下图:

ElasticSearch-集群搭建_es_03

cluster health:green (2, 20) : 表示该集群目前处于健康状态,集群包含2台机器,索引总共20个分片。粗线绿框表示主分片,细线绿框为备份分片。

         还有很多功能,请读者自己去体验。

        (2)bigdesk

        bigdesk是集群监控插件,通过该插件可以查看整个集群的资源消耗情况,cpu、内存、http链接等等。

        执行命令安装:sudo elasticsearch/bin/plugin -install lukas-vlcek/bigdesk       

        安装完成之后,在浏览器输入:http://ip:9200/_plugin/bigdesk/#nodes ,显示界面如下:

ElasticSearch-集群搭建_集群搭建_04

        点击test-node1节点,可以查看单个节点的资源使用情况,包括JVM、Thread Pools、OS、Process、HTTP&Transport、Indice、File system。

        ES的插件非常之多,请参考ES插件大全