Я установил zookeeperd на Ubuntu 14.04 (Trusty Tahr), как было предложено Вот:
К сожалению, остановить этот процесс как-то невозможно. Я пробовал даже убить -9
user@node1:/opt/zookeeper-3.4.6$ ps -ef | grep zookeeper
zookeep+ 4008 1 8 01:07 ? 00:00:00 /usr/bin/java -cp /etc/zookeeper/conf:/usr/share/java/jline.jar:/usr/share/java/log4j-1.2.jar:/usr/share/java/xercesImpl.jar:/usr/share/java/xmlParserAPIs.jar:/usr/share/java/netty.jar:/usr/share/java/slf4j-api.jar:/usr/share/java/slf4j-log4j12.jar:/usr/share/java/zookeeper.jar -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false -Dzookeeper.log.dir=/var/log/zookeeper -Dzookeeper.root.logger=INFO,ROLLINGFILE org.apache.zookeeper.server.quorum.QuorumPeerMain /etc/zookeeper/conf/zoo.cfg
показать процесс
user 4055 2823 0 01:07 pts/3 00:00:00 grep --color=auto zookeeper
убей это
user@node1:/opt/zookeeper-3.4.6$ sudo kill -9 4008
Проверьте:
user@node1:/opt/zookeeper-3.4.6$ ps -ef | grep zookeeper
zookeep+ 4075 1 24 01:07 ? 00:00:00 /usr/bin/java -cp /etc/zookeeper/conf:/usr/share/java/jline.jar:/usr/share/java/log4j-1.2.jar:/usr/share/java/xercesImpl.jar:/usr/share/java/xmlParserAPIs.jar:/usr/share/java/netty.jar:/usr/share/java/slf4j-api.jar:/usr/share/java/slf4j-log4j12.jar:/usr/share/java/zookeeper.jar -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false -Dzookeeper.log.dir=/var/log/zookeeper -Dzookeeper.root.logger=INFO,ROLLINGFILE org.apache.zookeeper.server.quorum.QuorumPeerMain /etc/zookeeper/conf/zoo.cfg
Попробуйте скрипт
user@node1:/opt/zookeeper-3.4.6$ sudo /etc/init.d/zookeeper stop
user@node1:/opt/zookeeper-3.4.6$ ps -ef | grep zookeeper
zookeep+ 4075 1 29 01:07 ? 00:00:04 /usr/bin/java -cp /etc/zookeeper/conf:/usr/share/java/jline.jar:/usr/share/java/log4j-1.2.jar:/usr/share/java/xercesImpl.jar:/usr/share/java/xmlParserAPIs.jar:/usr/share/java/netty.jar:/usr/share/java/slf4j-api.jar:/usr/share/java/slf4j-log4j12.jar:/usr/share/java/zookeeper.jar -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false -Dzookeeper.log.dir=/var/log/zookeeper -Dzookeeper.root.logger=INFO,ROLLINGFILE org.apache.zookeeper.server.quorum.QuorumPeerMain /etc/zookeeper/conf/zoo.cfg
Ничего не помогает.
Как я мог остановить ZooKeeper?
Вы можете попробовать:
sudo service zookeeper stop
чтобы остановить процесс. Если это не сработает, вы можете проверить эта ссылка:
Stop ZooKeeper. On the ZooKeeper host machine, execute the following command:
su - zookeeper -c "export ZOOCFGDIR=/etc/zookeeper/conf ; export ZOOCFG=zoo.cfg ;source /etc/zookeeper/conf/zookeeper-env.sh ; /usr/lib/zookeeper/bin/zkServer.sh stop"
Если вышеуказанные команды не останавливают Zookeeper и kill -9 также не может остановить, возможно, это зомби-процесс. Вы можете проверить этот вопрос и ответ как остановить такие процессы, если это так.
Из корневого каталога zookeeper (cd ~/zookeeper-3.4.6
) выполните следующую команду
sudo bin/zkServer.sh stop
bin/zookeeper-server-stop.sh
не работал на Mac. И новый процесс порождался при попытке убить процесс, даже с SIGTERM
.
Вместо, остановить ZooKeeper с помощью Homebrew:
$ brew services stop zookeeper
Лично я установил переменную окружения $ KAFKA_HOME - это облегчает мне жизнь. Если вы это сделаете, вы можете создать псевдоним для такого рода вещей следующим образом:
alias zstop='sudo $KAFKA_HOME/bin/zookeeper-server-stop.sh'
А затем вы можете просто ввести
zstop
Или, если вы установили в /opt/kafka
например, вы можете просто ввести:
sudo /opt/kafka/bin/zookeeper-server-stop.sh
Мне также нравится создавать псевдоним для запуска zookeeper, вот две строки, которые я добавил в нижнюю часть своего ~/.bashrc
файл:
alias zstart='$KAFKA_HOME/bin/zookeeper-server-start.sh $KAFKA_HOME/config/zookeeper.properties'
alias zstop=''$KAFKA_HOME/bin/zookeeper-server-stop.sh'