在Travis上将Elasticsearch版本指定为2.3.1

时间:2016-04-11 17:37:14

标签: ruby elasticsearch travis-ci

我正在尝试更新我们的Travis.ml文件以使用我们最近将ES升级到2.3.1,并且似乎无法正确传递/构建索引。我使用以下方法将弹性搜索安装到容器(source):

- mkdir /tmp/elasticsearch
- wget -O - https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/${ES_VERSION}/elasticsearch-${ES_VERSION}.tar.gz | tar xz --directory=/tmp/elasticsearch --strip-components=1
- /tmp/elasticsearch/bin/elasticsearch -d -D es.path.data=/tmp -D es.index.store.type=memory -D es.discovery.zen.ping.multicast.enabled=false

在我执行此操作后,当我在Travis构建中运行curl http://localhost:9200/时,我总是在日志中得到以下响应:

{
  "name" : "Garrison Kane",
  "cluster_name" : "elasticsearch",
  "version" : {
    "number" : "2.3.1",
    "build_hash" : "bd980929010aef404e7cb0843e61d0665269fc39",
    "build_timestamp" : "2016-04-04T12:25:05Z",
    "build_snapshot" : false,
    "lucene_version" : "5.5.0"
  },
  "tagline" : "You Know, for Search"
}

这就是我想要的。但是,当我在Travis构建中构建实际索引时,我收到以下错误:

Elasticsearch::Transport::Transport::Errors::BadRequest: [400] {
  "error":{
    "root_cause":[
      {"type":"index_creation_exception",
       "reason":"failed to create index"
      }],
      "type":"illegal_argument_exception",
      "reason":"Unknown store type [memory]"
    },
  "status":400
}

因此,当我尝试使用Google搜索时,我可以找到的有关它的少量信息让我相信原因是两个弹性搜索节点在容器中串联运行。要验证这一点,我只需将elasticsearch -v添加到我的travis.ml文件中,并始终获得Version: 1.4.0, Build: bc94bd8/2014-11-05T14:26:12Z, JVM: 1.7.0_76,这似乎是Travis尝试在开始时安装的默认版本(无论我是否添加ES作为travis.yml文件中的服务。)

在尝试使用上述方法安装v 2.3.1之前,我尝试使用apt-get purge elasticsearch显式杀死所有正在运行的elasticsearch实例,但是当我尝试这样做时,它不允许我在9200处卷曲localhost它显然只是没有运行。

TL;博士

我的问题是:如何指定要在Travis容器(不作为受支持的软件包存在的版本)中运行的ES版本以及如何在不禁用elasticsearch的情况下终止容器上的默认ES进程共?

1 个答案:

答案 0 :(得分:1)

您似乎正在尝试创建内存索引。在内存索引已在Elasticsearch 2.x中弃用,只需从<Ratings> <Rating Ratingtype="unknown"> <AppliedKnowledge Value="Yes">3.0</AppliedKnowledge> <ToolSkills>3.5</ToolSkills> </Rating> <Rating Ratingtype="known"> <AppliedKnowledge Value="%Yes%">3.0</AppliedKnowledge> <Experience>9.5</Experience> <Education>16.0</Education> <DbDevelopment>4.5</DbDevelopment> </Rating> <Rating Ratingtype="unknown"> <AppliedKnowledge Value="No">4.0</AppliedKnowledge> <ToolSkills>4.5</ToolSkills> </Rating> </Ratings> 设置中删除memory