2017-04-20 1 views
0

elasticsearch 서버에 POST를 수행하기 위해 C++ 스 니펫을 작성하려고합니다. , "POST_DATE"을 "kimchy": 서버의 IP 172.20.1.160에서 실행되고, 나는 Elasticsearch 튜토리얼처럼 컬을 사용하여 데이터를 넣을 수 있습니다 :부스트 asio를 사용하여 elasticsearch에 연결하는 방법?

curl -XPUT 'localhost:9200/twitter/tweet/1?op_type=create&pretty' -H 'Content-Type: application/json' -d' 

{ "사용자", "2009-11 -15T14 : 12 : 12 ", "메시지 ":" '} "

을 을 Elasticsearch을 시도하지만 부스트 ASIO와 비슷한 일을하려고 할 때, 내 연결이 분명히 거부됩니다.

가 여기에 연결을 만들려고 방법을 보여주는 최소한의 compileable 코드를, 그리고 어떤 오류 발생 : 그것은 가치가 무엇인지를 들어

/// Compiled with: 
///  g++ --std=c++14 foo.cpp -lboost_system -lpthread 
#include <boost/asio.hpp> 

constexpr const char *carbon_port = "2003"; 
constexpr const char *ES_port  = "9200"; 
constexpr const char *server_ip  = "172.20.1.160"; 


int main() 
{ 
    boost::asio::io_service io_service; 
    boost::asio::ip::tcp::resolver resolver(io_service); 
    boost::asio::ip::tcp::resolver::query query(server_ip, ES_port); 
    auto endpoint = *resolver.resolve(query); 
    boost::asio::ip::tcp::socket socket (io_service); 
    socket.connect(endpoint); 
} 

을, 나 또한 같은 시스템에서 실행중인 탄소 흑연 서버를 가지고 있고,

terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::system::system_error> >' 
    what(): connect: Connection refused 

누군가가 내가 도착하기 위해 알아야하는 무엇을 가르치 려 수 : I 연결하고 일반 텍스트 프로토콜을 통해이 데이터를 전송,하지만 난 소켓 연결이 elasticsearch 수 있도록 드릴 수 없습니다 수 있습니다, 나는 예외를 얻을 이게 효과가 있니? 기본 elasticsearch 로컬 호스트-을 청취하여

+0

같은 IP에서 전송 요청입니까? – Satya

+0

예. 그게 중요합니까? – Spacemoose

+0

IP 대신에 localhost를 사용해도 되겠습니까? 단지 1 센트 – Satya

답변

0

만, 당신이 선 network.host: 0.0.0.0을 추가하고 elasticsearch를 다시 시작 config/elasticsearch.yml에, 모든 포트에 듣고 싶은 경우.

+0

글쎄, 정말 고마워, 나는 분명히 그것을 놓쳤다. – Spacemoose

+0

] 우리 모두 배울 :) – Satya

관련 문제