2017-09-01 2 views
0

Quand j'ai essayé d'arrêter la Zookeeper avec la commande « zkServer stop », je me suis résultat suivant:Impossible d'arrêter ZooKeeper dans Windows

C:\zookeeper-3.4.10>call "C:\Program Files\Java\jdk1.8.0_121"\bin\java "-Dzookeeper.log.dir=C:\zookeeper-3.4.10\bin\.." "-Dzookeeper.root.logger=INFO,CONSOLE" -cp "C:\zookeeper-3.4.10\bi 
n\..\build\classes;C:\zookeeper-3.4.10\bin\..\build\lib\*;C:\zookeeper-3.4.10\bin\..\*;C:\zookeeper-3.4.10\bin\..\lib\*;C:\zookeeper-3.4.10\bin\..\conf" org.apache.zookeeper.server.quoru 
m.QuorumPeerMain "C:\zookeeper-3.4.10\bin\..\conf\zoo.cfg" stop 
2017-09-01 13:55:22,070 [myid:] - INFO [main:[email protected]] - autopurge.snapRetainCount set to 3 
2017-09-01 13:55:22,072 [myid:] - INFO [main:[email protected]] - autopurge.purgeInterval set to 0 
2017-09-01 13:55:22,072 [myid:] - INFO [main:[email protected]] - Purge task is not scheduled. 
2017-09-01 13:55:22,072 [myid:] - WARN [main:[email protected]] - Either no config or no quorum defined in config, running in standalone mode 
2017-09-01 13:55:22,145 [myid:] - ERROR [main:[email protected]] - Invalid arguments, exiting abnormally 
java.lang.NumberFormatException: For input string: "C:\zookeeper-3.4.10\bin\..\conf\zoo.cfg" 
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) 
    at java.lang.Integer.parseInt(Integer.java:580) 
    at java.lang.Integer.parseInt(Integer.java:615) 
    at org.apache.zookeeper.server.ServerConfig.parse(ServerConfig.java:59) 
    at org.apache.zookeeper.server.ZooKeeperServerMain.initializeAndRun(ZooKeeperServerMain.java:84) 
    at org.apache.zookeeper.server.ZooKeeperServerMain.main(ZooKeeperServerMain.java:53) 
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:116) 
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78) 
2017-09-01 13:55:22,148 [myid:] - INFO [main:[email protected]] - Usage: ZooKeeperServerMain configfile | port datadir [ticktime] [maxcnxns] 

Je suis sûr que j'ai commencé le Zookeeper, parce que quand j'ai essayé de commencer une nouvelle un, il montre "java.net.BindException: Address already in use: bind"

Un autre problème étrange est que je ne peux pas trouver Zookeeper dans la liste des services Windows. Cependant, quand j'essayé de montrer toute l'utilisation du port dans Windows PowerShell par netstat -and, je trouve le 2181 est en cours d'utilisation:

Proto Local Address   Foreign Address  State 
    TCP 0.0.0.0:2181   0.0.0.0:0    LISTENING 
[java.exe] 
    TCP [::1]:2181    [::1]:62268   ESTABLISHED 
[java.exe] 
    TCP [::1]:2181    [::1]:62279   ESTABLISHED 
[java.exe] 
    TCP [::1]:2181    [::1]:62280   ESTABLISHED 
[java.exe] 
    TCP [::1]:2181    [::1]:62281   ESTABLISHED 
[java.exe] 
+0

Quelle est la commande que vous » ai-je l'habitude de le démarrer? – user10089632

+0

@ user10089632 juste ". \ Bin \ zkServer", mais j'ai aussi essayé ". \ Bin \ zkServer. \ Conf \ zoo.cfg" – Spider

+0

Très bien, alors essayez de le 'tuer' comme un administrateur – user10089632

Répondre

1

Il semble qu'il y ait un open bug concerning the start and stop commands in Zookeeper

  • Pour démarrer le Zookeeper Omettre le paramètre start et appelez bin\zkServer à la place.
  • Pour l'arrêter, si vous ne voyez pas le processus du gestionnaire de tâches, vous devez vous connecter au serveur Zookeeper en tant qu'administrateur et effectuez les kill commandes plus details here
+0

Ouais, merci! Et je l'ai tué par "netstat -ano | findstr: 2181" et "taskkill/PID typeyourPIDhere/F". Voir les détails à https://stackoverflow.com/questions/39632667/how-to-kill-a-currently-using-port-on-localhost-in-windows – Spider

+0

Je vais ajouter que, pour être une réponse plus complète – user10089632