2

9200 나는 분재 Elasticsearch를 설정하는 방법에 Heroku가의 지침을 따랐 난 아직도 다음과 같은 연결 오류가 발생하는 경우 Heroku가 분재 보석와 '분재 - elasticsearch 레일은'

그러나 나는 실행하면

heroku run bundle exec rake environment elasticsearch:import:model CLASS='class' FORCE=true --trace 

- - returns - - 

rake aborted! 
Faraday::ConnectionFailed: Connection refused - connect(2) for "localhost" port 9200 

Elasticsearch가 로컬에서 작동하므로 Heroku에서 제대로 작동하지 않습니다.

class Property < ActiveRecord::Base 
    # Search 
    Elasticsearch::Model.client = Elasticsearch::Client.new log: true 
    include Elasticsearch::Model 
    include Elasticsearch::Model::Callbacks 

end 

Property.import 

가 나는 레이크 파일이 있습니다 :

내 모델은 내가 너무 고안를 사용하고 lib 디렉토리/작업/elasticsearch.rake

require 'elasticsearch/rails/tasks/import' 

을하지만, 나는 그것이 영향을 생각하지 않습니다 이. Rails 4.1, Ruby 2.1.2.

제안 사항?

** 편집 ** 나는 분재 - elasticsearch 레일 보석을 꺼내 추가

: 설정은/초기화/bonsai.rb

Elasticsearch::Model.client = Elasticsearch::Client.new url: ENV['BONSAI_URL'] 

아직도 그와 같은 오류로 실행하면보고 포트 9200

heroku run bundle exec rake environment elasticsearch:import:model CLASS='Property' FORCE=true --trace 
Running `bundle exec rake environment elasticsearch:import:model CLASS=Property FORCE=true --trace` attached to terminal... up, run.8668 
** Invoke environment (first_time) 
** Execute environment 
** Invoke elasticsearch:import:model (first_time) 
** Execute elasticsearch:import:model 
    (1.5ms) SELECT COUNT(*) FROM "properties" 
2014-10-07 22:39:25 +0000: [Faraday::ConnectionFailed] Connection refused - connect(2) for "localhost" port 9200 {:host=>"localhost", :port=>"9200", :protocol=>"http"} 
[!!!] Error when deleting the index: Faraday::ConnectionFailed 
Connection refused - connect(2) for "localhost" port 9200 
2014-10-07 22:39:25 +0000: [Faraday::ConnectionFailed] Connection refused - connect(2) for "localhost" port 9200 {:host=>"localhost", :port=>"9200", :protocol=>"http"} 
2014-10-07 22:39:25 +0000: [Faraday::ConnectionFailed] Connection refused - connect(2) for "localhost" port 9200 {:host=>"localhost", :port=>"9200", :protocol=>"http"} 
[!!!] Error when creating the index: Faraday::ConnectionFailed 
Connection refused - connect(2) for "localhost" port 9200 
    Property Load (1.8ms) SELECT "properties".* FROM "properties" ORDER BY "properties"."id" ASC LIMIT 1000 
2014-10-07 22:39:25 +0000: [Faraday::ConnectionFailed] Connection refused - connect(2) for "localhost" port 9200 {:host=>"localhost", :port=>"9200", :protocol=>"http"} 
rake aborted! 
Faraday::ConnectionFailed: Connection refused - connect(2) for "localhost" port 9200 
/app/vendor/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:879:in `initialize' 
/app/vendor/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:879:in `open' 
/app/vendor/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:879:in `block in connect' 
/app/vendor/ruby-2.1.2/lib/ruby/2.1.0/timeout.rb:76:in `timeout' 
/app/vendor/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:878:in `connect' 
/app/vendor/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:863:in `do_start' 
/app/vendor/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:852:in `start' 
/app/vendor/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:1369:in `request' 
/app/vendor/bundle/ruby/2.1.0/gems/faraday-0.9.0/lib/faraday/adapter/net_http.rb:80:in `perform_request' 
/app/vendor/bundle/ruby/2.1.0/gems/faraday-0.9.0/lib/faraday/adapter/net_http.rb:39:in `call' 
/app/vendor/bundle/ruby/2.1.0/gems/faraday-0.9.0/lib/faraday/rack_builder.rb:139:in `build_response' 
/app/vendor/bundle/ruby/2.1.0/gems/faraday-0.9.0/lib/faraday/connection.rb:377:in `run_request' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-transport-1.0.5/lib/elasticsearch/transport/transport/http/faraday.rb:21:in `block in perform_request' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-transport-1.0.5/lib/elasticsearch/transport/transport/base.rb:187:in `call' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-transport-1.0.5/lib/elasticsearch/transport/transport/base.rb:187:in `perform_request' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-transport-1.0.5/lib/elasticsearch/transport/transport/http/faraday.rb:20:in `perform_request' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-transport-1.0.5/lib/elasticsearch/transport/client.rb:104:in `perform_request' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-api-1.0.5/lib/elasticsearch/api/actions/bulk.rb:81:in `bulk' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-model-0.1.6/lib/elasticsearch/model/importing.rb:120:in `block in import' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-model-0.1.6/lib/elasticsearch/model/adapters/active_record.rb:96:in `block in __find_in_batches' 
/app/vendor/bundle/ruby/2.1.0/gems/activerecord-4.1.4/lib/active_record/relation/batches.rb:125:in `find_in_batches' 
/app/vendor/bundle/ruby/2.1.0/gems/activerecord-4.1.4/lib/active_record/querying.rb:9:in `find_in_batches' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-model-0.1.6/lib/elasticsearch/model/proxy.rb:80:in `method_missing' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-model-0.1.6/lib/elasticsearch/model/adapters/active_record.rb:95:in `__find_in_batches' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-model-0.1.6/lib/elasticsearch/model/importing.rb:119:in `import' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-rails-0.1.6/lib/elasticsearch/rails/tasks/import.rb:63:in `block (3 levels) in <top (required)>' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:240:in `call' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:240:in `block in execute' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:235:in `each' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:235:in `execute' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain' 
/app/vendor/ruby-2.1.2/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:165:in `invoke' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:150:in `invoke_task' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `block (2 levels) in top_level' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `each' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `block in top_level' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:115:in `run_with_threads' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:100:in `top_level' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:78:in `block in run' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:176:in `standard_exception_handling' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:75:in `run' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/bin/rake:33:in `<top (required)>' 
/app/vendor/bundle/ruby/2.1.0/bin/rake:23:in `load' 
/app/vendor/bundle/ruby/2.1.0/bin/rake:23:in `<main>' 
Errno::ECONNREFUSED: Connection refused - connect(2) for "localhost" port 9200 
/app/vendor/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:879:in `initialize' 
/app/vendor/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:879:in `open' 
/app/vendor/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:879:in `block in connect' 
/app/vendor/ruby-2.1.2/lib/ruby/2.1.0/timeout.rb:76:in `timeout' 
/app/vendor/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:878:in `connect' 
/app/vendor/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:863:in `do_start' 
/app/vendor/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:852:in `start' 
/app/vendor/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:1369:in `request' 
/app/vendor/bundle/ruby/2.1.0/gems/faraday-0.9.0/lib/faraday/adapter/net_http.rb:80:in `perform_request' 
/app/vendor/bundle/ruby/2.1.0/gems/faraday-0.9.0/lib/faraday/adapter/net_http.rb:39:in `call' 
/app/vendor/bundle/ruby/2.1.0/gems/faraday-0.9.0/lib/faraday/rack_builder.rb:139:in `build_response' 
/app/vendor/bundle/ruby/2.1.0/gems/faraday-0.9.0/lib/faraday/connection.rb:377:in `run_request' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-transport-1.0.5/lib/elasticsearch/transport/transport/http/faraday.rb:21:in `block in perform_request' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-transport-1.0.5/lib/elasticsearch/transport/transport/base.rb:187:in `call' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-transport-1.0.5/lib/elasticsearch/transport/transport/base.rb:187:in `perform_request' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-transport-1.0.5/lib/elasticsearch/transport/transport/http/faraday.rb:20:in `perform_request' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-transport-1.0.5/lib/elasticsearch/transport/client.rb:104:in `perform_request' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-api-1.0.5/lib/elasticsearch/api/actions/bulk.rb:81:in `bulk' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-model-0.1.6/lib/elasticsearch/model/importing.rb:120:in `block in import' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-model-0.1.6/lib/elasticsearch/model/adapters/active_record.rb:96:in `block in __find_in_batches' 
/app/vendor/bundle/ruby/2.1.0/gems/activerecord-4.1.4/lib/active_record/relation/batches.rb:125:in `find_in_batches' 
/app/vendor/bundle/ruby/2.1.0/gems/activerecord-4.1.4/lib/active_record/querying.rb:9:in `find_in_batches' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-model-0.1.6/lib/elasticsearch/model/proxy.rb:80:in `method_missing' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-model-0.1.6/lib/elasticsearch/model/adapters/active_record.rb:95:in `__find_in_batches' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-model-0.1.6/lib/elasticsearch/model/importing.rb:119:in `import' 
/app/vendor/bundle/ruby/2.1.0/gems/elasticsearch-rails-0.1.6/lib/elasticsearch/rails/tasks/import.rb:63:in `block (3 levels) in <top (required)>' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:240:in `call' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:240:in `block in execute' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:235:in `each' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:235:in `execute' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain' 
/app/vendor/ruby-2.1.2/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:165:in `invoke' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:150:in `invoke_task' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `block (2 levels) in top_level' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `each' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `block in top_level' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:115:in `run_with_threads' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:100:in `top_level' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:78:in `block in run' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:176:in `standard_exception_handling' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:75:in `run' 
/app/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/bin/rake:33:in `<top (required)>' 
/app/vendor/bundle/ruby/2.1.0/bin/rake:23:in `load' 
/app/vendor/bundle/ruby/2.1.0/bin/rake:23:in `<main>' 
Tasks: TOP => elasticsearch:import:model 

** 편집 2 **

사용하여3210 같은 오류 :

Elasticsearch::Model.client = Elasticsearch::Client.new url: ENV['BONSAI_URL'], log: true 

감사 :이로 설정하면이 오류가 사라집니다

Elasticsearch::Model.client = Elasticsearch::Client.new log: true 

:

elasticsearch-model 0.1.4 or 0.1.6 
elasticsearch-rails 0.1.4 or 0.1.6 

답변

4

내 모델이 행을 찾을 수는 다른 설정을 덮어했다 나를 돕는 닉과 롭에게. 이제 다음 오류 ...

** 갱신 2014년 12월 29일 I가 콘솔에

$ elasticsearch 

를 입력 고정 설치, 새로운에서 이것을 실행하는 동일한 오류로 실행 elasticsearch를 시작하십시오. 희망이 다른 사람을 도와줍니다.

+0

어디에서 $ elasticsearch를 실행 했습니까? 같은 문제가 나에게 미치고 힘을 안겨주고있다. – rs19

+0

이것은 서버의 콘솔에서 가져온 것입니다. 콘솔에서 실행하면 시작됩니다 : heroku rails console – ecoding5

0

은 내가 그랬어 :

/etc/init.d/elasticsearch restart 

와 나를 위해이 문제를 해결했다.