You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@zookeeper.apache.org by Flavio Junqueira <fp...@yahoo.com> on 2014/03/16 17:29:40 UTC

RE: Query regarding Zookeeper Windows API start/stop, using Zk as awindows service(using prunsrv)

I run regularly on Windows 8 and I haven't been having any issues with the scripts.

-Flavio

-----Original Message-----
From: "Patrick Hunt" <ph...@apache.org>
Sent: ‎16/‎03/‎2014 05:46
To: "UserZooKeeper" <us...@zookeeper.apache.org>; "nandini.nelson@gmail.com" <na...@gmail.com>
Cc: "zookeeper-user@hadoop.apache.org" <zo...@hadoop.apache.org>
Subject: Re: Query regarding Zookeeper Windows API start/stop, using Zk as awindows service(using prunsrv)

Hi Nandini, this is great feedback. It's likely that not many people
are using ZK and those cmd scripts on windows. As a result things get
stale. I'd encourage you to provide some patches agains the trunk
which incorporate your fixes. You can see more detail on how to do
that here:
https://cwiki.apache.org/confluence/display/ZOOKEEPER/HowToContribute

Regards,

Patrick

On Wed, Mar 12, 2014 at 2:47 AM, nandini <na...@gmail.com> wrote:
> 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.
>
>
>
>
>
> --
> View this message in context: http://zookeeper-user.578899.n2.nabble.com/Query-regarding-Zookeeper-Windows-API-start-stop-using-Zk-as-a-windows-service-using-prunsrv-tp7579637.html
> Sent from the zookeeper-user mailing list archive at Nabble.com.

RE: Query regarding Zookeeper Windows API start/stop, using Zk as awindows service(using prunsrv)

Posted by "Asta, Greg" <gr...@omnigon.com>.
Same. Haven't had problems with start and stop scripts.  Would suggest reverting and taking another look.

Greg


Sent from a smartphone, apologies for brevity.


-------- Original message --------
From: Flavio Junqueira
Date:03/16/2014 12:31 PM (GMT-05:00)
To: user@zookeeper.apache.org
Subject: RE: Query regarding Zookeeper Windows API start/stop, using Zk as awindows service(using prunsrv)

I run regularly on Windows 8 and I haven't been having any issues with the scripts.

-Flavio

-----Original Message-----
From: "Patrick Hunt" <ph...@apache.org>
Sent: ‎16/‎03/‎2014 05:46
To: "UserZooKeeper" <us...@zookeeper.apache.org>; "nandini.nelson@gmail.com" <na...@gmail.com>
Cc: "zookeeper-user@hadoop.apache.org" <zo...@hadoop.apache.org>
Subject: Re: Query regarding Zookeeper Windows API start/stop, using Zk as awindows service(using prunsrv)

Hi Nandini, this is great feedback. It's likely that not many people
are using ZK and those cmd scripts on windows. As a result things get
stale. I'd encourage you to provide some patches agains the trunk
which incorporate your fixes. You can see more detail on how to do
that here:
https://cwiki.apache.org/confluence/display/ZOOKEEPER/HowToContribute

Regards,

Patrick

On Wed, Mar 12, 2014 at 2:47 AM, nandini <na...@gmail.com> wrote:
> 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.
>
>
>
>
>
> --
> View this message in context: http://zookeeper-user.578899.n2.nabble.com/Query-regarding-Zookeeper-Windows-API-start-stop-using-Zk-as-a-windows-service-using-prunsrv-tp7579637.html
> Sent from the zookeeper-user mailing list archive at Nabble.com.