• Java并发编程
  • JVM
  • JMX
  • Java数据结构与算法
  • 动态字节码生成技术
  • 常用工具
  • 1.1 安装Elasticsearch

    2016-03-10 21:34:57 7,918 1

    要求

    环境要求:Elasticsearch是使用Java编写的,因此在你必须先按照好JDK。

    版本选择:Elasticsearch目前最新的版本是2.2.0。本ob欧宝体育在线登录采用的是1.5.2版本,其基于Lucene 4.10.4版本。

    安装Elasticsearch

    理解Elasticsearch最好的方式是去运行它,让我们开始吧!

    ElasticSearch在其官网和GitHub上都可以进行下载。

    官网下载地址为:https://www.elastic.co/downloads/elasticsearch

    GitHub上的下载地址为:https://github.com/elastic/elasticsearch/releases

    本例从官网上进行下载

    wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.5.2.zip
    unzip elasticsearch-1.5.2.zip -d /usr/local #解压到usr/local目录下
    cd  /url/local/elasticsearch-1.5.2

    设置环境变量/etc/profile

    export ELASTIC_SEARCH_HOME=/usr/local/elasticsearch
    export PATH=$PATH:$ELASTIC_SEARCH_HOME/bin

    安装Marvel

    Marvel是Elasticsearch的管理和监控工具,在开发环境下免费使用。它包含了一个叫做Sense的交互式控制台,使用户方便的通过浏览器直接与Elasticsearch进行交互。

    Elasticsearch线上文档中的很多示例代码都附带一个View in Sense的链接。点击进去,就会在Sense控制台打开相应的实例。安装Marvel不是必须的,但是它可以通过在你本地Elasticsearch集群中运行示例代码而增加与此书的互动性。

    Marvel是一个插件,可在Elasticsearch目录中运行以下命令来下载和安装:

    ./bin/plugin -i elasticsearch/marvel/latest

    你可能想要禁用监控,你可以通过以下命令关闭Marvel:

    echo 'marvel.agent.enabled: false' >> ./config/elasticsearch.yml

    运行Elasticsearch

    Elasticsearch已经准备就绪,执行以下命令可在前台启动:

    ./bin/elasticsearch

    如果想在后台以守护进程模式运行,添加-d参数。查看所有可以接受的参数,输入"./bin/elasticsearch --help"

    打开另一个终端进行测试:

    curl 'http://localhost:9200/?pretty'

    你能看到以下返回信息:

    {
      "status" : 200,
      "name" : "Bereet",#每个版本的elasticsearch除了有一个版本号,还有一个版本的名称
      "cluster_name" : "elasticsearch",#集群的名称
      "version" : {
        "number" : "1.5.2",#版本
        "build_hash" : "62ff9868b4c8a0c45860bebb259e21980778ab1c",
        "build_timestamp" : "2015-04-27T09:21:06Z",
        "build_snapshot" : false,
        "lucene_version" : "4.10.4"#lucene的版本
      },
      "tagline" : "You Know, for Search"
    }

    这说明你的ELasticsearch集群已经启动并且正常运行,接下来我们可以开始各种实验了。

    集群和节点

    节点(node)是一个运行着的Elasticsearch实例。集群(cluster)是一组具有相同cluster.name的节点集合,他们协同工作,共享数据并提供故障转移和扩展功能,当然一个节点也可以组成一个集群。

    你最好找一个合适的名字来替代cluster.name的默认值,比如你自己的名字,这样可以防止一个新启动的节点加入到相同网络中的另一个同名的集群中。

    你可以通过修改config/目录下的elasticsearch.yml文件,然后重启ELasticsearch来做到这一点。当Elasticsearch在前台运行,可以使用Ctrl-C快捷键终止,或者你可以调用shutdown API来关闭:

    curl -XPOST 'http://localhost:9200/_shutdown'

    查看Marvel和Sense

    如果你安装了Marvel(作为管理和监控的工具),就可以在浏览器里通过以下地址访问它:

    http://localhost:9200/_plugin/marvel/

    你可以在Marvel中通过点击dashboards,在下拉菜单中访问Sense开发者控制台,或者直接访问以下地址:

    http://localhost:9200/_plugin/marvel/sense/