经过几个月的弹性搜索和rspec完美结合后,我在运行Faraday:TimeoutError
时遇到了许多新的看似随机的rspec
错误,而我正在尝试解决问题。我开始使用经典重新启动整个系统。从那里我查看了弹性搜索正在做什么。首先我跑了这个:
$ curl localhost:9200
{
"status" : 200,
"name" : "Rigellian Recorder",
"cluster_name" : "elasticsearch_eliduke",
"version" : {
"number" : "1.4.2",
"build_hash" : "927caff6f05403e936c20bf4529f144f0c89fd8c",
"build_timestamp" : "2014-12-16T14:11:12Z",
"build_snapshot" : false,
"lucene_version" : "4.10.2"
},
"tagline" : "You Know, for Search"
}
所以不知怎的,我已经在重新启动后立即运行elasticsearch。这是以某种方式重新启动?我想也许某事可能出现在.bash_profile
中,但没有任何内容。
然后我检查了我的弹性搜索测试端口:
$ curl localhost:9250
curl: (7) Failed to connect to localhost port 9250: Connection refused
显然,测试节点没有运行,所以我尝试使用chewy rake任务启动它:
$ rake elasticsearch:start
Starting 2 Elasticsearch nodes...........rake aborted!
Timeout::Error: execution expired
/Users/eliduke/.rvm/gems/ruby-2.1.0/gems/elasticsearch-extensions-0.0.17/lib/elasticsearch/extensions/test/cluster.rb:222:in `block (2 levels) in __wait_for_status'
/Users/eliduke/.rvm/gems/ruby-2.1.0/gems/elasticsearch-extensions-0.0.17/lib/elasticsearch/extensions/test/cluster.rb:220:in `loop'
/Users/eliduke/.rvm/gems/ruby-2.1.0/gems/elasticsearch-extensions-0.0.17/lib/elasticsearch/extensions/test/cluster.rb:220:in `block in __wait_for_status'
/Users/eliduke/.rvm/gems/ruby-2.1.0/gems/elasticsearch-extensions-0.0.17/lib/elasticsearch/extensions/test/cluster.rb:219:in `__wait_for_status'
/Users/eliduke/.rvm/gems/ruby-2.1.0/gems/elasticsearch-extensions-0.0.17/lib/elasticsearch/extensions/test/cluster.rb:201:in `wait_for_green'
/Users/eliduke/.rvm/gems/ruby-2.1.0/gems/elasticsearch-extensions-0.0.17/lib/elasticsearch/extensions/test/cluster.rb:125:in `start'
/Users/eliduke/.rvm/gems/ruby-2.1.0/gems/elasticsearch-extensions-0.0.17/lib/elasticsearch/extensions/test/cluster/tasks.rb:6:in `block (2 levels) in <top (required)>'
/Users/eliduke/.rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `eval'
/Users/eliduke/.rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => elasticsearch:start
(See full trace by running task with --trace)
似乎它会正确启动,因为那些小点在屏幕上爬行,但随后 BONK !谁知道是什么导致它超时:它只是试图开始可能20或30秒。但接下来是奇怪的部分:
$ curl localhost:9250
{
"status" : 200,
"name" : "node-1",
"cluster_name" : "elasticsearch_test",
"version" : {
"number" : "1.4.2",
"build_hash" : "927caff6f05403e936c20bf4529f144f0c89fd8c",
"build_timestamp" : "2014-12-16T14:11:12Z",
"build_snapshot" : false,
"lucene_version" : "4.10.2"
},
"tagline" : "You Know, for Search"
}
它开始了吗?!太奇怪了。这里似乎有些不对劲,所以我想我只是把它扔出去看看是否有其他人遇到过这个问题。
rake elasticsearch:start
会超时吗?Faraday:TimeoutError
错误与这一切有任何关联吗?