Endeca에 대한 지식이있는 한 Endeca 구성에 새 dgraph 정의를 추가 할 때마다 initializeServices.sh
을 실행하여 업데이트 된 구성을 설정해야합니다 EAC에Endeca에서 새 Dgraphs를 동적으로 정의하고 등록하는 방법이 있습니까
initalizeServices.sh
을 실행하지 않고 수행 할 수있는 방법이 있는지 궁금합니다 (EAC에 등록 된 Dgraph 목록을 업데이트하는 것 이상을 수행하고 있으므로이를 방지하기 위해).
나는 ./runcommand.sh --update-definition
이미 EAC에 등록 된 Dgraph, 구성 변경을 수행 할 수 있습니다 명령을 찾았지만, 내가 설정에 새로운 dgraph을 추가하고 명령을 실행하는 경우 아래의 오류와 함께 실패 :
[11.17.16 16:00:07] INFO: Setting definition for host 'MDEXLiveHost2'.
[11.17.16 16:00:07] SEVERE: Caught an exception while checking provisioning
Caused by com.endeca.soleng.eac.toolkit.exception.EacCommunicationException
com.endeca.soleng.eac.toolkit.host.Host setDefinition - Caught exception while setting host definition.
Caused by com.endeca.eac.client.ProvisioningFault
sun.reflect.NativeConstructorAccessorImpl newInstance0 - null
PlatformServices 로그의 아무 곳에서나 생성 된이 오류에 대한 자세한 로그를 찾을 수 없기 때문에 디버깅을 더 진행할 수 있습니다.
그러나 나는 /eac/ProvisioningService
스크립트가 MDEXLiveHost2
의 현재 구성을 찾기 위해 노력하고 그것을 찾을 수없는 것을 믿고 날 리드 500
의 HTTP 코드를 준 것을 요청 로그에서 볼 수 있었다.
에 대한 구성을 추가하려면 편집 :
새로운 호스트 :
<host id="MDEXLiveHost2" hostName="${mdexLive.host2}" port="${mdexLive.eac.port}" useSsl="false" />
새로운 Dgraph : 수동으로 사용하여 호스트를 추가 한 후 오류를 추가하려면
<dgraph id="DgraphLive2" host-id="MDEXLiveHost2" port="${dgraphLive1.port}"
post-startup-script="LiveDgraphPostStartup">
<properties>
<property name="restartGroup" value="A" />
<property name="updateGroup" value="a" />
<property name="DgraphContentGroup" value="Live" />
</properties>
<log-dir>./logs/dgraphs/DgraphLive</log-dir>
<input-dir>./data/dgraphs/DgraphLive/dgraph_input</input-dir>
<update-dir>./data/dgraphs/DgraphLive/dgraph_input/updates</update-dir>
</dgraph>
편집 eaccmd.sh
호스트 정의
호스트가 성공적으로 추가<host host-id="MDEXLiveHost2" host-name="172.18.0.7" port="9999" useSsl="false"/>
(describe-app
를 통해 확인)
$./eaccmd.sh describe-app --app myapp | grep MDEXLiveHost2 <host host-name="172.18.0.7" port="9999" host-id="MDEXLiveHost2" useSsl="false">
하지만,이 오류가 얻을 수있는 명령을 실행 : ition 파일 만이 오류 경우
[11.18.16 11:00:58] INFO: Updating provisioning for host 'MDEXLiveHost2'.
[11.18.16 11:00:58] INFO: Host name of host 'MDEXLiveHost2' has changed from 172.18.0.7 to 172.18.0.7 . Components on this host will be re-provisioned.
[11.18.16 11:00:58] INFO: Updating definition for host 'MDEXLiveHost2'.
[11.18.16 11:00:58] SEVERE: Caught an exception while checking provisioning.
Caused by com.endeca.soleng.eac.toolkit.exception.EacCommunicationException
com.endeca.soleng.eac.toolkit.host.Host updateEacDefinition - Caught exception while updating host definition.
Caused by com.endeca.eac.client.ProvisioningFault
sun.reflect.NativeConstructorAccessorImpl newInstance0 - null
을 좀 더 장황하게 만들 수 있는데 도움이 될 것입니다.
응답 해 주셔서 감사합니다. 나는 새로운 호스트에 대한 정의를 추가했다. (원래 게시물의 편집으로 구성을 추가 할 것이다.) 로드 균형 조정기에 새 dgraphs를 추가하는 제안에 대해서는 dgraphs를 올바르게 추가 할 수있을 때만 이미 달성되었다. 먼저 :) – Amit
'mdexLive.host2'는 클러스터에 동적으로 추가하려고 할 때 이미'MDEX'와'PlatformServices'가 설치된 별도의 머신이라고 가정합니다. 'runcommand.sh DgraphLive2 stop'과'runcommand.sh DgraphLive2 start'를 실행하여 연결성을 확인하는 방법을 보았습니까? – radimpe
죄송합니다, 주사위가 없습니다. 나는 똑같은 오류가있다. 그 사이에'eaccmd.sh'를 발견하고'./eaccmd.sh describe-app --app myapp'을 시도했으며 MDEXLiveHost2에 대한 정의가 없습니다. 그래서 나는이 호스트를'eaccmd.sh'를 사용하여 추가하려고 시도했는데 다른 오류가 발생했습니다 (다시 편집으로 추가됩니다) – Amit