欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

ElasticSearch学习1_elasticsearch安装,

来源: javaer 分享于  点击 47984 次 点评:141

ElasticSearch学习1_elasticsearch安装,


java

Elasticsearch 要求至少是Java 7。更推荐使用 Oracle JDK version 1.8.0_25。

<code class="hljs lasso has-numbering" >java <span class="hljs-attribute" >-version</span>
java version <span class="hljs-string" >"1.7.0_75"</span>
Java(TM) SE Runtime Environment (build <span class="hljs-number" >1.7</span><span class="hljs-number" >.0</span>_75<span class="hljs-attribute" >-b13</span>)
Java HotSpot(TM) <span class="hljs-number" >64</span><span class="hljs-attribute" >-Bit</span> Server VM (build <span class="hljs-number" >24.75</span><span class="hljs-attribute" >-b04</span>, mixed mode)</code><ul class="pre-numbering" ><li >1</li><li >2</li><li >3</li><li >4</li></ul>

下载 elasticsearch1.7.2

<code class="hljs avrasm has-numbering" > wget https://download<span class="hljs-preprocessor" >.elastic</span><span class="hljs-preprocessor" >.co</span>/elasticsearch/elasticsearch/elasticsearch-<span class="hljs-number" >1.7</span><span class="hljs-number" >.2</span><span class="hljs-preprocessor" >.tar</span><span class="hljs-preprocessor" >.gz</span>
 <span class="hljs-keyword" >or</span>
 curl -L -O https://download<span class="hljs-preprocessor" >.elastic</span><span class="hljs-preprocessor" >.co</span>/elasticsearch/elasticsearch/elasticsearch-<span class="hljs-number" >1.7</span><span class="hljs-number" >.2</span><span class="hljs-preprocessor" >.tar</span><span class="hljs-preprocessor" >.gz</span></code><ul class="pre-numbering" ><li >1</li><li >2</li><li >3</li></ul>

解压

<code class="hljs avrasm has-numbering" >tar -xzvf elasticsearch-<span class="hljs-number" >1.7</span><span class="hljs-number" >.2</span><span class="hljs-preprocessor" >.tar</span><span class="hljs-preprocessor" >.gz</span> </code><ul class="pre-numbering" ><li >1</li></ul>

安装Marvel

Marvel是elasticsearch 一个管理和监控工具, 
Elasticsearch Marvel是一个管理和监视工具,免费供开发使用。它带有一个交互式控制台称为意义上,这使得它很容易跟Elasticsearch直接从您的浏览器。

Marvel 可作为插件使用。在elasticsearch目录执行如下命令即可下载和安装marvel:

<code class="hljs lasso has-numbering" ><span class="hljs-built_in" >.</span>/bin/plugin <span class="hljs-attribute" >-i</span> elasticsearch/marvel/latest</code><ul class="pre-numbering" ><li >1</li></ul>

你可能不想要marvel 去监控你的本地集群,因此你可以执行如下命令:

<code class="hljs bash has-numbering" > <span class="hljs-built_in" >echo</span> <span class="hljs-string" >'marvel.agent.enabled: false'</span> >> ./config/elasticsearch.yml</code><ul class="pre-numbering" ><li >1</li></ul>

启动

  1. 默认启动(不指定集群名和节点名)
<code class="hljs markdown has-numbering" >bin/elasticsearch
[<span class="hljs-link_label" >2015-09-28 16:29:24,500</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >node                     </span>] [Thog] version[1.7.2], pid[8688], build[e43676b/2015-09-14T09:49:53Z]
[<span class="hljs-link_label" >2015-09-28 16:29:24,501</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >node                     </span>] [Thog] initializing ...
[<span class="hljs-link_label" >2015-09-28 16:29:24,631</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >plugins                  </span>] [Thog] loaded [marvel], sites [marvel]
[<span class="hljs-link_label" >2015-09-28 16:29:24,722</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >env                      </span>] [Thog] using [1] data paths, mounts [[/ (/dev/sda1)]], net usable<span class="hljs-emphasis" >_space [348.5gb], net total_</span>space [450.5gb], types [ext4]
[<span class="hljs-link_label" >2015-09-28 16:29:27,722</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >node                     </span>] [Thog] initialized
[<span class="hljs-link_label" >2015-09-28 16:29:27,722</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >node                     </span>] [Thog] starting ...
[<span class="hljs-link_label" >2015-09-28 16:29:27,779</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >transport                </span>] [Thog] bound<span class="hljs-emphasis" >_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_</span>address {inet[/10.32.24.78:9300]}
[<span class="hljs-link_label" >2015-09-28 16:29:27,813</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >discovery                </span>] [Thog] elasticsearch/fnn8XFTJTJeDEX3az4ylbQ
[<span class="hljs-link_label" >2015-09-28 16:29:31,587</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >cluster.service          </span>] [<span class="hljs-link_label" >Thog</span>] new<span class="hljs-emphasis" >_master [Thog][fnn8XFTJTJeDEX3az4ylbQ][wangyue-um][inet[/10.32.24.78:9300]], reason: zen-disco-join (elected_</span>as_master)
[<span class="hljs-link_label" >2015-09-28 16:29:31,616</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >http                     </span>] [Thog] bound<span class="hljs-emphasis" >_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_</span>address {inet[/10.32.24.78:9200]}
[<span class="hljs-link_label" >2015-09-28 16:29:31,616</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >node                     </span>] [Thog] started
[<span class="hljs-link_label" >2015-09-28 16:29:31,685</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >gateway                  </span>] [Thog] recovered [0] indices into cluster_state
[<span class="hljs-link_label" >2015-09-28 16:29:38,607</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >cluster.metadata         </span>] [Thog] [.marvel-2015.09.28] creating index, cause [auto(bulk api)], templates [marvel], shards [1]/[1], mappings [indices<span class="hljs-emphasis" >_stats, cluster_</span>stats, node<span class="hljs-emphasis" >_stats, shard_</span>event, node<span class="hljs-emphasis" >_event, index_</span>event, index<span class="hljs-emphasis" >_stats, _</span>default<span class="hljs-emphasis" >_, cluster_</span>state, cluster<span class="hljs-emphasis" >_event, routing_</span>event]
[<span class="hljs-link_label" >2015-09-28 16:29:39,307</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >cluster.metadata         </span>] [Thog] [.marvel-2015.09.28] update<span class="hljs-emphasis" >_mapping [node_</span>stats] (dynamic)
[<span class="hljs-link_label" >2015-09-28 16:29:39,363</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >cluster.metadata         </span>] [Thog] [.marvel-2015.09.28] update<span class="hljs-emphasis" >_mapping [node_</span>event] (dynamic)
[<span class="hljs-link_label" >2015-09-28 16:29:39,371</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >cluster.metadata         </span>] [Thog] [.marvel-2015.09.28] update<span class="hljs-emphasis" >_mapping [index_</span>event] (dynamic)
[<span class="hljs-link_label" >2015-09-28 16:29:39,384</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >cluster.metadata         </span>] [Thog] [.marvel-2015.09.28] update<span class="hljs-emphasis" >_mapping [routing_</span>event] (dynamic)
[<span class="hljs-link_label" >2015-09-28 16:29:39,394</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >cluster.metadata         </span>] [Thog] [.marvel-2015.09.28] update<span class="hljs-emphasis" >_mapping [cluster_</span>event] (dynamic)
[<span class="hljs-link_label" >2015-09-28 16:29:39,401</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >cluster.metadata         </span>] [Thog] [.marvel-2015.09.28] update<span class="hljs-emphasis" >_mapping [cluster_</span>state] (dynamic)
[<span class="hljs-link_label" >2015-09-28 16:29:39,481</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >cluster.metadata         </span>] [Thog] [.marvel-2015.09.28] update<span class="hljs-emphasis" >_mapping [indices_</span>stats] (dynamic)
[<span class="hljs-link_label" >2015-09-28 16:29:39,563</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >cluster.metadata         </span>] [Thog] [.marvel-2015.09.28] update<span class="hljs-emphasis" >_mapping [index_</span>stats] (dynamic)
[<span class="hljs-link_label" >2015-09-28 16:29:39,581</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >cluster.metadata         </span>] [Thog] [.marvel-2015.09.28] update<span class="hljs-emphasis" >_mapping [cluster_</span>stats] (dynamic)
</code><ul class="pre-numbering" ><li >1</li><li >2</li><li >3</li><li >4</li><li >5</li><li >6</li><li >7</li><li >8</li><li >9</li><li >10</li><li >11</li><li >12</li><li >13</li><li >14</li><li >15</li><li >16</li><li >17</li><li >18</li><li >19</li><li >20</li><li >21</li><li >22</li><li >23</li><li >24</li></ul>
  1. 指定集群名和节点名
<code class="hljs brainfuck has-numbering" ><span class="hljs-comment" >bin/elasticsearch</span> <span class="hljs-literal" >-</span><span class="hljs-literal" >-</span><span class="hljs-comment" >cluster</span> <span class="hljs-string" >.</span><span class="hljs-comment" >name</span> <span class="hljs-comment" >cluster</span><span class="hljs-literal" >-</span><span class="hljs-comment" >1</span> <span class="hljs-literal" >-</span><span class="hljs-literal" >-</span><span class="hljs-comment" >node</span> <span class="hljs-string" >.</span><span class="hljs-comment" >name</span> <span class="hljs-comment" >node</span><span class="hljs-literal" >-</span><span class="hljs-comment" >1</span> <span class="hljs-comment" >&</span>
</code><ul class="pre-numbering" ><li >1</li><li >2</li></ul>

默认,elasticsearch 使用9200端口 提供REST API 访问服务。这个端口是可配置的

验证

  1. 浏览器 打开web ui:localhost:9200

    <code class="hljs json has-numbering" >{
      "<span class="hljs-attribute" >status</span>" : <span class="hljs-value" ><span class="hljs-number" >200</span></span>,
      "<span class="hljs-attribute" >name</span>" : <span class="hljs-value" ><span class="hljs-string" >"White Tiger"</span></span>,
      "<span class="hljs-attribute" >cluster_name</span>" : <span class="hljs-value" ><span class="hljs-string" >"elasticsearch"</span></span>,
      "<span class="hljs-attribute" >version</span>" : <span class="hljs-value" >{
        "<span class="hljs-attribute" >number</span>" : <span class="hljs-value" ><span class="hljs-string" >"1.7.2"</span></span>,
        "<span class="hljs-attribute" >build_hash</span>" : <span class="hljs-value" ><span class="hljs-string" >"e43676b1385b8125d647f593f7202acbd816e8ec"</span></span>,
        "<span class="hljs-attribute" >build_timestamp</span>" : <span class="hljs-value" ><span class="hljs-string" >"2015-09-14T09:49:53Z"</span></span>,
        "<span class="hljs-attribute" >build_snapshot</span>" : <span class="hljs-value" ><span class="hljs-literal" >false</span></span>,
        "<span class="hljs-attribute" >lucene_version</span>" : <span class="hljs-value" ><span class="hljs-string" >"4.10.4"</span>
      </span>}</span>,
      "<span class="hljs-attribute" >tagline</span>" : <span class="hljs-value" ><span class="hljs-string" >"You Know, for Search"</span>
    </span>}</code><ul class="pre-numbering" ><li >1</li><li >2</li><li >3</li><li >4</li><li >5</li><li >6</li><li >7</li><li >8</li><li >9</li><li >10</li><li >11</li><li >12</li><li >13</li></ul>
  2. curl

    <code class="hljs bash has-numbering" >curl <span class="hljs-string" >'http://localhost:9200/?pretty'</span>
    {
      <span class="hljs-string" >"status"</span> : <span class="hljs-number" >200</span>,
      <span class="hljs-string" >"name"</span> : <span class="hljs-string" >"White Tiger"</span>,
      <span class="hljs-string" >"cluster_name"</span> : <span class="hljs-string" >"elasticsearch"</span>,
      <span class="hljs-string" >"version"</span> : {
        <span class="hljs-string" >"number"</span> : <span class="hljs-string" >"1.7.2"</span>,
        <span class="hljs-string" >"build_hash"</span> : <span class="hljs-string" >"e43676b1385b8125d647f593f7202acbd816e8ec"</span>,
        <span class="hljs-string" >"build_timestamp"</span> : <span class="hljs-string" >"2015-09-14T09:49:53Z"</span>,
        <span class="hljs-string" >"build_snapshot"</span> : <span class="hljs-literal" >false</span>,
        <span class="hljs-string" >"lucene_version"</span> : <span class="hljs-string" >"4.10.4"</span>
      },
      <span class="hljs-string" >"tagline"</span> : <span class="hljs-string" >"You Know, for Search"</span>
    }</code><ul class="pre-numbering" ><li >1</li><li >2</li><li >3</li><li >4</li><li >5</li><li >6</li><li >7</li><li >8</li><li >9</li><li >10</li><li >11</li><li >12</li><li >13</li><li >14</li></ul>
  3. health

    <code class="hljs profile has-numbering" >curl <span class="hljs-string" >'localhost:9200/_cat/health?v'</span>
    epoch      timestamp cluster       status <span class="hljs-filename" >node.total node.data shards pri relo init unassign pending_tasks 
    1443429741 16</span>:<span class="hljs-number" >42</span>:<span class="hljs-number" >21</span>  elasticsearch yellow          <span class="hljs-number" >1</span>         <span class="hljs-number" >1</span>      <span class="hljs-number" >1</span>   <span class="hljs-number" >1</span>    <span class="hljs-number" >0</span>    <span class="hljs-number" >0</span>        <span class="hljs-number" >1</span>             <span class="hljs-number" >0</span></code><ul class="pre-numbering" ><li >1</li><li >2</li><li >3</li></ul>

每当我们问集群健康,我们要么得到绿色,黄色和红色。绿色意味着一切是好的(集群功能齐全),黄色意味着所有数据是可用的,但是一些副本尚未分配(集群功能齐全),和红色意味着一些数据不可用无论什么原因。注意,即使一个集群是红色的,它仍然是部分功能(即它将继续搜索请求从服务可用的碎片)但是你可能需要尽快修复它,因为你有缺失的数据。

  1. nodes
<code class="hljs mel has-numbering" >curl <span class="hljs-string" >'localhost:9200/_cat/nodes?v'</span>
host       ip        heap.<span class="hljs-keyword" >percent</span> ram.<span class="hljs-keyword" >percent</span> load node.role master name        
wangyue-um <span class="hljs-number" >127.0</span><span class="hljs-number" >.0</span><span class="hljs-number" >.1</span>           <span class="hljs-number" >13</span>          <span class="hljs-number" >71</span> <span class="hljs-number" >0.39</span> d         *      White Tiger </code><ul class="pre-numbering" ><li >1</li><li >2</li><li >3</li></ul>
  1. list all indices

    <code class="hljs axapta has-numbering" >curl <span class="hljs-string" >'localhost:9200/_cat/indices?v'</span>
    health status <span class="hljs-keyword" >index</span>              pri rep docs.<span class="hljs-keyword" >count</span> docs.deleted store.size pri.store.size 
    yellow open   .marvel-<span class="hljs-number" >2015.09</span><span class="hljs-number" >.28</span>   <span class="hljs-number" >1</span>   <span class="hljs-number" >1</span>        <span class="hljs-number" >390</span>            <span class="hljs-number" >0</span>      <span class="hljs-number" >2.7</span>mb          <span class="hljs-number" >2.7</span>mb </code><ul class="pre-numbering" ><li >1</li><li >2</li><li >3</li></ul>
  2. get shards

    <code class="hljs perl has-numbering" >curl <span class="hljs-string" >'localhost:9200/_cat/shards?v'</span>
    <span class="hljs-keyword" >index</span>              shard prirep <span class="hljs-keyword" >state</span>      docs store ip        node        
    .marvel-<span class="hljs-number" >2015.09</span>.<span class="hljs-number" >28</span> <span class="hljs-number" >0</span>     p      STARTED     <span class="hljs-number" >426</span> <span class="hljs-number" >2.8</span>mb <span class="hljs-number" >127.0</span>.<span class="hljs-number" >0</span>.<span class="hljs-number" >1</span> White Tiger 
    .marvel-<span class="hljs-number" >2015.09</span>.<span class="hljs-number" >28</span> <span class="hljs-number" >0</span>     r      UNASSIGNED                                  </code><ul class="pre-numbering" ><li >1</li><li >2</li><li >3</li><li >4</li></ul>
  3. shutdown

    <code class="hljs markdown has-numbering" > curl -XPOST 'http://localhost:9200/_shutdown'
    [<span class="hljs-link_label" >2015-09-28 16:53:41,417</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >action.admin.cluster.node.shutdown</span>] [White Tiger] [cluster_shutdown]: requested, shutting down in [1s]
    {"cluster<span class="hljs-emphasis" >_name":"elasticsearch","nodes":{"tF-kYPx2TTGUHvdgIuCxog":{"name":"White Tiger"}}}wangyue@wangyue-um:/home/cluster/apps/elasticsearch/elasticsearch-1.7.2$ [2015-09-28 16:53:42,419][INFO ][action.admin.cluster.node.shutdown] [White Tiger] [cluster_</span>shutdown]: done shutting down all nodes except master, proceeding to master
    [<span class="hljs-link_label" >2015-09-28 16:53:42,422</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >action.admin.cluster.node.shutdown</span>] [White Tiger] shutting down in [200ms]
    [<span class="hljs-link_label" >2015-09-28 16:53:42,624</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >action.admin.cluster.node.shutdown</span>] [White Tiger] initiating requested shutdown...
    [<span class="hljs-link_label" >2015-09-28 16:53:42,624</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >node                     </span>] [White Tiger] stopping ...
    [<span class="hljs-link_label" >2015-09-28 16:53:43,200</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >node                     </span>] [White Tiger] stopped
    [<span class="hljs-link_label" >2015-09-28 16:53:43,200</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >node                     </span>] [White Tiger] closing ...
    [<span class="hljs-link_label" >2015-09-28 16:53:43,204</span>][<span class="hljs-link_reference" >INFO </span>][<span class="hljs-link_label" >node                     </span>] [White Tiger] closed</code><ul class="pre-numbering" ><li >1</li><li >2</li><li >3</li><li >4</li><li >5</li><li >6</li><li >7</li><li >8</li><li >9</li></ul>
  4. 浏览 Marvel and Sense 
    http://localhost:9200/_plugin/marvel/ 
     
    cluster: 
     
    index: 
     
    nodes: 
     
    http://localhost:9200/_plugin/marvel/sense/ 

尊重原创,拒绝转载 
原文来自:http://blog.csdn.net/stark_summer/article/details/48786865

相关文章

    暂无相关文章
相关栏目:

用户点评