내 Zookeeper는 컴퓨터가 처리 할 준비가 될 때까지 각 노드에 관련 작업 데이터를 보유하여 여러 작업에 대한 몇 가지 다른 큐를 제어합니다. 전체 서비스를 중지하면 ZooKeeper를 다시 시작한 후에도 아무 작업도 시작할 수 없습니다. 그러나 이러한 작업 중 일부는 사육사 로그에 다음과 같은 메시지가 충돌 사육사가 발생할 것 : 나는 원래 설정 사람에서 접수하고 같은ZooKeeper에서 EndOfStreamException이 계속 발생하여 충돌이 발생합니다.
WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:[email protected]] - caught end of stream exception
EndOfStreamException: Unable to read additional data from client sessionid 0x15677f740ad002a, likely client has closed socket
at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:220)
at org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:208)
at java.lang.Thread.run(Thread.java:745)
INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:[email protected]] - Closed socket connection for client /127.0.0.1:46998 which had sessionid 0x15677f740ad002a
내 사육사의 지식은 매우 제한적이다.
나는, (아무 소용의/남은 한 50K + 노드를 삭제) 일부 영향을 미칠 것 같았다 사육사 쉘에 rmr [path]
로 노드를 많이 삭제하려고 노력하지만 매일 충돌 유지하고 있으며, 지난 밤에 동일한 오류/충돌이 발생하기 전에 2 분 이상 실행하지 못했습니다.
원인을 찾는 방법은 무엇입니까?
나는 그것이 수신되는 데이터 또는 저장된 데이터/노드에 대한 몇 가지 일반적인 문제점이라고 확신한다. 디스크는 92 % 만 가득합니다. 나는 또한이 게시물을 발견 : Zookeeper keeps getting the WARN: "caught end of stream exception",하지만 해결책은 나에게 많은 의미가 없습니다. 또한 내 znodes에 보관 된 메시지가 1MB 이상은 없다는 것을 확신하지만이를 확인하는 방법을 모르겠습니다.
충돌하기 전에 작동중인 znode의 내용/이름과 같은 추가 정보를 인쇄 할 수 있도록 ZooKeeper 로그를 변경할 수있는 방법이 있습니까?
사육사 스냅 샷 및 로그를 삭제 한 후에도 서버가 계속 정상적으로 실행되고 있습니까? 아니면 수시로해야합니까? – zochhuana
한동안 충돌이 계속됩니다. 문제가 영구적으로 해결되지 않았습니다. 로그와 스냅 샷을 삭제하는 것은 매번 도움이되는 것처럼 보이지만 이제는 ZooKeeper에서 모든 노드를 삭제하려고합니다. – Nixxon