upstart를 통해 Java 응용 프로그램과 Elasticsearch 1.4.2를 시작합니다. 때로는 서버를 다시 시작하면 처음 5 회의 doc 요청에 NoShardAvailableActionException
이 표시됩니다.Elasticsearch : NoShardAvailableActionException 시작 후
내 응용 프로그램은 먼저 Elasticsearch에서 일부 워드 프로세서를 읽고 Elasticsearch는 준비가되어 있지 않은 것 같습니다. 잠시 기다렸다가 내 앱을 다시 시작하면 모든 것이 작동합니다.
내 Elasticsearch 클러스터 (노드가 하나뿐입니다)에서 문서를 가져올 준비가되었는지 어떻게 확인할 수 있습니까?
는 이미 클러스터의 상태를 확인하려했지만, 심지어, 나는 때때로 NoShardAvailableActionException
이미 노란색 얻을 수있다 :
private static void checkClusterStateNotRed() throws Exception {
while(clusterState() == ClusterHealthStatus.RED) {
Logger.info("Elasticsearch cluster state is red);
Thread.sleep(1000);
}
}
private static ClusterHealthStatus clusterState() throws Exception {
return ElasticsearchClient.getInstance()
.admin().cluster()
.clusterStats(new ClusterStatsRequest())
.get()
.getStatus();
}