zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ram Bahadur, Nandini" <nramb...@informatica.com>
Subject Query regarding Zookeeper Windows API start/stop, using Zk as a windows service(using prunsrv)
Date Wed, 12 Mar 2014 11:13:58 GMT
Hi,

I am using zookeeper in my product.
While working with zookeeper on Windows, I am creating a service(using prunsrv) ,
I have few queries and issues. Listed them all,

Issues:

1)      zkServer.cmd didn't start on Win server 2008 machine & Win 7 Enterprise(64 bit
both), had to replace the following line,

java "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" -cp "%CLASSPATH%"
%ZOOMAIN% "%ZOOCFG%" %*

to

java "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" -cp "%CLASSPATH%"
%ZOOMAIN% "%ZOOCFG%"
              And it worked, could it be fixed in some other way?


2)      In the zoo.cnf I specified the dataDir, still it creates some other directory (bin/zookeeper-3.4.5zookeeper-3.4.5data/
version-2/snapshot) and stores the snapshots there.

Queries:

1)      There is no start/stop with zkServer.cmd as it is in zkServer.sh, so basically it
is started with zkServer.cmd but to stop I do a Ctrl+C/Z

So if I start the process, it is a foreground process and gets killed when I do a ctrl+C



2)      I have to create a zookeeper service, and I am using prunsrv to do that. I figured
out the following 2 ways to do so.



a)       prunsrv //IS//Zookeeper --DisplayName=" ZOOKEEPER Service" --Description=" ZOOKEEPER
Service" --Startup=auto --StartMode=exe --StartPath=%ZOOKEEPER_HOME% --StartImage=%ZOOKEEPER_HOME%\bin\zkServer.cmd
--StopTimeout=5 --LogPath=%LOGS_DIR% --LogPrefix=zookeeper --LogLevel=Info --PidFile=zookeeper.pid
--StdOutput=auto --StdError=auto




b)      cd %ZOOKEEPER_HOME%\bin\
                        call "%~dp0zkEnv.cmd"
                        set ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain
                        prunsrv //IS//Zookeeper --DisplayName=" ZOOKEEPER Service" --Description="
ZOOKEEPER Service" --Jvm="%JVM_DLL%" --JvmOptions=!JAVA_OPTS!  --Environment=zookeeper.log.dir=%ZOO_LOG_DIR%;zookeeper.root.logger=%ZOO_LOG4J_PROP%;
--Startup=auto --LibraryPath=%LIB_DIR% --StartMode=jvm --Classpath=%CLASSPATH% %ZOOMAIN% %ZOOCFG%
--StartClass=org.apache.zookeeper.server.quorum.QuorumPeerMain --StartMethod=start --StopMode=jvm
--StopClass=org.apache.zookeeper.server.quorum.QuorumPeerMain --StopMethod=stop --StopTimeout=10
--LogPath=%LOGS_DIR% --LogPrefix=zookeeper --LogLevel=Info --PidFile=zookeeper.pid --StdOutput=auto
--StdError=auto

basically in the second approach I am myself doing all tasks done by the zkServer.cmd

=>> My Query is in the second step(2b), that to stop  the service there should be a
stop method exposed, so that when I stop the service it is called.
So right now if I create a service and start it, ZK runs fine, but stopping it takes indefinitely,
so I have to go and kill the process.
Is there some stop() for the same, I see a shutdown() but there is no description for it

I went through the class org.apache.zookeeper.server.quorum.QuorumPeerMain, here the main()
is the start method( if my understanding is correct), and there should be some method to shutdown
the process.


https://issues.apache.org/jira/browse/ZOOKEEPER-1122, exposes a start/stop, but the stop has
some issues

it throws the following error:

E:\zookeeper-3.4.5\zookeeper-3.4.5\bin>zkServer.cmd stop
"JMX enabled by default"
"Using config: E:\zookeeper-3.4.5\zookeeper-3.4.5\bin\..\conf\zoo.cfg"
"Stopping zookeeper ... "
ERROR: The process with PID 452 (child process of PID 4) could not be terminated.
Reason: This is critical system process. Taskkill cannot end this process.
ERROR: The process with PID 4 (child process of PID 0) could not be terminated.
Reason: Access is denied.
ERROR: The process with PID 0 (child process of PID 0) could not be terminated.
Reason: This is critical system process. Taskkill cannot end this process.
STOPED

I am running this stop command on a Administrator console.

E:\zookeeper-3.4.5\zookeeper-3.4.5\bin>tasklist | findstr "java"
java.exe                     10324 Console                    1     36,036 K.


Any help will be highlt appreciated,

Thanks,
Nandini

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message