zookeeper 부팅 응답 없음

7985 단어 zookeeper

zookeeper 부팅 응답 없음


1. 질문 1


다음과 같은 오류 메시지가 표시됩니다.
2018-08-16 21:51:35,557 [myid:1] - ERROR [main:QuorumPeerMain@92] - Unexpected exception, exiting abnormally
java.lang.RuntimeException: My id 1 not in the peer list
    at org.apache.zookeeper.server.quorum.QuorumPeer.startLeaderElection(QuorumPeer.java:718)
    at org.apache.zookeeper.server.quorum.QuorumPeer.start(QuorumPeer.java:637)
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:170)
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:114)
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:81)

오류 원인: 오류 로그에 의하면 myid 파일에 오류가 설정되어 있음을 알 수 있습니다.이 myid=1의 peer를 찾을 수 없습니다.해결 방법:conf/zoo에 따라.cfg의 값은 myid의 값을 설정합니다.보기conf/zoo.cfg 파일

[root@server4 conf]# cat zoo.cfg 
# The number of milliseconds of each tick
tickTime=2000

# The number of ticks that the initial synchronization phase can take
initLimit=10

# The number of ticks that can pass between sending a request and getting an acknowledgement
syncLimit=5


# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just example sakes.
dataDir=/tmp/zookeeper


# the port at which the clients will connect
clientPort=2181

# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.4=server4:2888:3888
server.5=server5:2888:3888
server.6=server6:2888:3888

마지막 세 줄을 보면 여기 server.4 의 4가 myid의 파일 내용입니다.그래서 서버 4라는 호스트에서 zookeeper의 myid 파일 내용은 4입니다.server5, server6 동리.myid 파일의 내용을 수정하면 정상적으로 시작할 수 있습니다.

2. 문제2


지난번에 Zookeeper가 시작할 수 없는 것을 해결한 후에 필자는 다시 켜서 Zookeeper가 다시 시작할 수 없는 것을 발견하였다.나는 왜 또 실패했는지 궁금하다.그래서 나는 나의 서류를 검사했다.
[root@server6 /]# ll
  20
lrwxrwxrwx.   1 root root    7 6   16 01:12 bin -> usr/bin
····
dr-xr-xr-x.  13 root root    0 9    2 10:52 sys
drwxrwxrwt.  15 root root 4096 9    2 11:09 tmp
[root@server6 /]# cd tmp
[root@server6 tmp]# cd zookeeper/
[root@server6 zookeeper]# ll
  4
-rw-r--r--. 1 root root 4 9    2 11:09 zookeeper_server.pid

이전에 추가한 myid 파일이 없습니까?,설마 온데간데없단 말인가?나중에야 나는 tmp가 특수한 폴더여서 시스템이 자동으로 정리할 것이라고 생각했다.그래서 여기에 놓인 myid 파일이 정리되어 zookeeper를 시작할 수 없습니다.올바른 방법은 myidzoo.cfg의 속성 값을 조정하는 것이다
[root@server4 conf]# cat zoo.cfg 
# The number of milliseconds of each tick
tickTime=2000

···

# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just example sakes.
dataDir=/tmp/zookeeper

····

주의dataDir 위에서 말한 내용입니다./tmp를 저장소로 사용하지 마십시오. 이곳의/tmp는 단지 하나의 예일 뿐입니다!수정은 다음과 같습니다: dataDir.

참고문

  • https://www.tuicool.com/articles/6Jj6rq
  • 좋은 웹페이지 즐겨찾기