安装 Elasticsearch

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

提示:

在生产环境安装时,除了以上方法,你还可以使用Debian或者RPM安装包,地址在这里:downloads page,或者也可以使用官方提供的 Puppet module 或者 Chef cookbook

安装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
    
  • 启动后,如果只有本地可以访问,尝试修改配置文件 elasticsearch.yml
  • 中network.host(注意配置文件格式不是以#开头的要空一格, 后要空一格) 为network.host: 0.0.0.0
  • 如果想在后台以守护进程模式运行,添加-d参数。
  • 打开另一个终端进行测试:
    curl 'http://localhost:9200/?pretty'
    
  • 你能看到以下返回信息:
    {
       "status": 200,
       "name": "Shrunken Bones",
       "version": {
          "number": "1.4.0",
          "lucene_version": "4.10"
       },
       "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

下一节:如何与Elasticsearch交互取决于你是否使用Java。