2014-02-27 2 views
2

tutorial을 읽어서 사전 빌드 Elasticsearch 1.0.0 버전을 설치했습니다. elasticsearch를 시작하면 다음 오류 메시지가 나타납니다. ES의 이전 버전을 사용해 야합니까, 아니면이 문제를 해결할 수 있습니까?OpenShift에 elasticsearch를 설치하십시오.

[elastic-dataportal.rhcloud.com elasticsearch-1.0.0]\> ./bin/elasticsearch 
[2014-02-25 10:02:18,757][INFO ][node      ] [Desmond Pitt] version[1.0.0], pid[203443], build[a46900e/2014-02-12T16:18:34Z] 
[2014-02-25 10:02:18,764][INFO ][node      ] [Desmond Pitt] initializing ... 
[2014-02-25 10:02:18,780][INFO ][plugins     ] [Desmond Pitt] loaded [], sites [] 
OpenJDK Server VM warning: You have loaded library /var/lib/openshift/430c93b1500446b03a00005c/app-root/data/elasticsearch-1.0.0/lib/sigar/libsigar-x86-linux.so which might have disabled stack guard. The VM will try to fix the stack guard now. 
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'. 
[2014-02-25 10:02:32,198][INFO ][node      ] [Desmond Pitt] initialized 
[2014-02-25 10:02:32,205][INFO ][node      ] [Desmond Pitt] starting ... 
[2014-02-25 10:02:32,813][INFO ][transport    ] [Desmond Pitt] bound_address {inet[/127.8.212.129:3306]}, publish_address {inet[/127.8.212.129:3306]} 
[2014-02-25 10:02:35,949][INFO ][cluster.service   ] [Desmond Pitt] new_master [Desmond Pitt][_bWO_h9ETTWrMNr7x_yALg][ex-std-node134.prod.rhcloud.com][inet[/127.8.212.129:3306]], reason: zen-disco-join (elected_as_master) 
[2014-02-25 10:02:36,167][INFO ][discovery    ] [Desmond Pitt] elasticsearch/_bWO_h9ETTWrMNr7x_yALg 
{1.0.0}: Startup Failed ... 
- BindHttpException[Failed to bind to [8080]] 
     ChannelException[Failed to bind to: /127.8.212.129:8080] 
       BindException[Address already in use] 

답변

3

이미 포트 8080에 ES를 할당하려고합니다. 거기에서 config의 범인은 http.port: ${OPENSHIFT_DIY_PORT}입니다. 구성에서 port 구성을 그대로 두거나 envvar를 다른 포트에 할당하십시오. ES의 기본 포트는 HTTP를 위해 9200하고 9300

+0

변수'$ {OPENSHIFT_INTERNAL_PORT} '에 대한 토론을 읽었습니다. 제 견해로, 그들은 변수를'$ {OPENSHIFT_DIY_PORT} '로 변경하여 config/elasticsearch.yml을 설명하는 튜토리얼의 해당 부분을 편집합니다. 그러나이 힌트는 나에게도 똑같은 오류를 준다. – user3206010

+0

@ user3206010 아직 구성된 변수가 이미 사용중인 '8080'으로 설정되어있는 것 같습니다. 포트를 변경해야하는 이유가 없으면 ES가 실행되는 포트 (거의 포트가없는 포트)를 구성 파일에서 제외하고 ES의 기본값을 사용할 수 있습니다. – cfrick

+0

이제는 오류가 없습니다. ES' curl -XGET 'http : // XXXX : 9200/_cluster/health? pretty = true''의 인스턴스에 어떻게 도달 할 수 있습니까? – user3206010

4

는 먼저 이미이 명령을 수행 할 수 있습니다 8080이 결합되어 실행중인 데모 애플리케이션, 중지해야 : 실행 한 후

ctl_app stop 

을 이 명령을 사용하면 포트 8080에서 elasticsearch를 시작할 수 있습니다. 그러나 프로덕션 환경에는 권장되지 않습니다.

4

나는이 카트리지 ElasticSearch를 설치하는 것이 좋습니다 : https://github.com/ncdc/openshift-elasticsearch-cartridge

그것은 당신에게 수동 정의 구성의 두통을 저장합니다.

+0

catridge는 매우 오래된 것 같습니다. 카 트리지를 업데이트하는 방법을 알고 있습니까? –

관련 문제