You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flume.apache.org by Sergey Sirotkin <se...@globalrelay.net> on 2013/07/22 21:31:45 UTC

Re: Review Request 12822: Run Flume Agent as Windows Service

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/12822/
-----------------------------------------------------------

(Updated July 22, 2013, 7:31 p.m.)


Review request for Flume.


Summary (updated)
-----------------

Run Flume Agent as Windows Service


Bugs: FLUME-1336
    https://issues.apache.org/jira/browse/FLUME-1336


Repository: flume-git


Description
-------

This patch adds files necessary to run Flume Agent as Windows Service.

I added two folders under \bin: win32 and win64. Both of them contain corresponding version of prunsrv.exe and two PowerShell scripts for installing/uninstalling FlumeAgent service: InstallService.ps1 and UninstallService.ps1.

In order to install the service, open PowerShell promptand type (I assume you have 64-bit operating system and 64-bit version of Java). You might need to enable script execution by running
Set-ExecutionPolicy RemoteSigned
then type:
cd \apache-flume\bin\win64
.\InstallService.ps1

After that service will be installed, and you can start it:
net start FlumeAgent

In order to uninstall service, do the following:
cd \apache-flume\bin\win64
.\UninstallService.ps1

Log files (including one created by prunsrv) are stored in logs.

x86 and x64 Versions
There are two versions of prunsrv for different architectures: x86 (32-bit) and x64 (64-bit). You need to choose which one to use based on the version of Java you have installed. I configured prunsrv to use such called JVM-mode. In that mode prunesrv.exe loads jvm.dll from JRE and then runs that VM. If you have 32-bit version of Java, 64-bit prunsrv will not be able to load 32-bit version of jvm.dll and service will not start.


Diffs
-----

  bin/win32/InstallService.ps1 PRE-CREATION 
  bin/win32/UninstallService.ps1 PRE-CREATION 
  bin/win32/prunsrv.exe PRE-CREATION 
  bin/win64/InstallService.ps1 PRE-CREATION 
  bin/win64/UninstallService.ps1 PRE-CREATION 
  bin/win64/prunsrv.exe PRE-CREATION 
  flume-ng-node/src/main/java/org/apache/flume/node/Application.java 5250139 

Diff: https://reviews.apache.org/r/12822/diff/


Testing
-------


Thanks,

Sergey Sirotkin


Re: Review Request 12822: Run Flume Agent as Windows Service

Posted by Roshan Naik <ro...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/12822/#review23668
-----------------------------------------------------------


A few quick notes:
- InstallService should accept the agent name , conf file and other command line arguments .. since user can create multiple agents will need customization ability. 
- It would be better to invoke the actual startup windows script (not yet available) instead of the Application class
- Add a -help option to these service creation/removal scripts



- Roshan Naik


On July 22, 2013, 7:31 p.m., Sergey Sirotkin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/12822/
> -----------------------------------------------------------
> 
> (Updated July 22, 2013, 7:31 p.m.)
> 
> 
> Review request for Flume.
> 
> 
> Bugs: FLUME-1336
>     https://issues.apache.org/jira/browse/FLUME-1336
> 
> 
> Repository: flume-git
> 
> 
> Description
> -------
> 
> This patch adds files necessary to run Flume Agent as Windows Service.
> 
> I added two folders under \bin: win32 and win64. Both of them contain corresponding version of prunsrv.exe and two PowerShell scripts for installing/uninstalling FlumeAgent service: InstallService.ps1 and UninstallService.ps1.
> 
> In order to install the service, open PowerShell promptand type (I assume you have 64-bit operating system and 64-bit version of Java). You might need to enable script execution by running
> Set-ExecutionPolicy RemoteSigned
> then type:
> cd \apache-flume\bin\win64
> .\InstallService.ps1
> 
> After that service will be installed, and you can start it:
> net start FlumeAgent
> 
> In order to uninstall service, do the following:
> cd \apache-flume\bin\win64
> .\UninstallService.ps1
> 
> Log files (including one created by prunsrv) are stored in logs.
> 
> x86 and x64 Versions
> There are two versions of prunsrv for different architectures: x86 (32-bit) and x64 (64-bit). You need to choose which one to use based on the version of Java you have installed. I configured prunsrv to use such called JVM-mode. In that mode prunesrv.exe loads jvm.dll from JRE and then runs that VM. If you have 32-bit version of Java, 64-bit prunsrv will not be able to load 32-bit version of jvm.dll and service will not start.
> 
> 
> Diffs
> -----
> 
>   bin/win32/InstallService.ps1 PRE-CREATION 
>   bin/win32/UninstallService.ps1 PRE-CREATION 
>   bin/win32/prunsrv.exe PRE-CREATION 
>   bin/win64/InstallService.ps1 PRE-CREATION 
>   bin/win64/UninstallService.ps1 PRE-CREATION 
>   bin/win64/prunsrv.exe PRE-CREATION 
>   flume-ng-node/src/main/java/org/apache/flume/node/Application.java 5250139 
> 
> Diff: https://reviews.apache.org/r/12822/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Sergey Sirotkin
> 
>


Re: Review Request 12822: Run Flume Agent as Windows Service

Posted by Sergey Sirotkin <se...@globalrelay.net>.

> On July 23, 2013, 12:43 a.m., Roshan Naik wrote:
> > A few quick notes:
> > - InstallService should accept the agent name , conf file and other command line arguments .. since user can create multiple agents will need customization ability. 
> > - It would be better to invoke the actual startup windows script (not yet available) instead of the Application class
> > - Add a -help option to these service creation/removal scripts
> > 
> >

Hi Roshan, I updated the code. 


- Sergey


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/12822/#review23669
-----------------------------------------------------------


On July 22, 2013, 7:31 p.m., Sergey Sirotkin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/12822/
> -----------------------------------------------------------
> 
> (Updated July 22, 2013, 7:31 p.m.)
> 
> 
> Review request for Flume.
> 
> 
> Bugs: FLUME-1336
>     https://issues.apache.org/jira/browse/FLUME-1336
> 
> 
> Repository: flume-git
> 
> 
> Description
> -------
> 
> This patch adds files necessary to run Flume Agent as Windows Service.
> 
> I added two folders under \bin: win32 and win64. Both of them contain corresponding version of prunsrv.exe and two PowerShell scripts for installing/uninstalling FlumeAgent service: InstallService.ps1 and UninstallService.ps1.
> 
> In order to install the service, open PowerShell promptand type (I assume you have 64-bit operating system and 64-bit version of Java). You might need to enable script execution by running
> Set-ExecutionPolicy RemoteSigned
> then type:
> cd \apache-flume\bin\win64
> .\InstallService.ps1
> 
> After that service will be installed, and you can start it:
> net start FlumeAgent
> 
> In order to uninstall service, do the following:
> cd \apache-flume\bin\win64
> .\UninstallService.ps1
> 
> Log files (including one created by prunsrv) are stored in logs.
> 
> x86 and x64 Versions
> There are two versions of prunsrv for different architectures: x86 (32-bit) and x64 (64-bit). You need to choose which one to use based on the version of Java you have installed. I configured prunsrv to use such called JVM-mode. In that mode prunesrv.exe loads jvm.dll from JRE and then runs that VM. If you have 32-bit version of Java, 64-bit prunsrv will not be able to load 32-bit version of jvm.dll and service will not start.
> 
> 
> Diffs
> -----
> 
>   bin/win32/InstallService.ps1 PRE-CREATION 
>   bin/win32/UninstallService.ps1 PRE-CREATION 
>   bin/win32/prunsrv.exe PRE-CREATION 
>   bin/win64/InstallService.ps1 PRE-CREATION 
>   bin/win64/UninstallService.ps1 PRE-CREATION 
>   bin/win64/prunsrv.exe PRE-CREATION 
>   flume-ng-node/src/main/java/org/apache/flume/node/Application.java 5250139 
> 
> Diff: https://reviews.apache.org/r/12822/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Sergey Sirotkin
> 
>


Re: Review Request 12822: Run Flume Agent as Windows Service

Posted by Roshan Naik <ro...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/12822/#review23669
-----------------------------------------------------------


A few quick notes:
- InstallService should accept the agent name , conf file and other command line arguments .. since user can create multiple agents will need customization ability. 
- It would be better to invoke the actual startup windows script (not yet available) instead of the Application class
- Add a -help option to these service creation/removal scripts



- Roshan Naik


On July 22, 2013, 7:31 p.m., Sergey Sirotkin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/12822/
> -----------------------------------------------------------
> 
> (Updated July 22, 2013, 7:31 p.m.)
> 
> 
> Review request for Flume.
> 
> 
> Bugs: FLUME-1336
>     https://issues.apache.org/jira/browse/FLUME-1336
> 
> 
> Repository: flume-git
> 
> 
> Description
> -------
> 
> This patch adds files necessary to run Flume Agent as Windows Service.
> 
> I added two folders under \bin: win32 and win64. Both of them contain corresponding version of prunsrv.exe and two PowerShell scripts for installing/uninstalling FlumeAgent service: InstallService.ps1 and UninstallService.ps1.
> 
> In order to install the service, open PowerShell promptand type (I assume you have 64-bit operating system and 64-bit version of Java). You might need to enable script execution by running
> Set-ExecutionPolicy RemoteSigned
> then type:
> cd \apache-flume\bin\win64
> .\InstallService.ps1
> 
> After that service will be installed, and you can start it:
> net start FlumeAgent
> 
> In order to uninstall service, do the following:
> cd \apache-flume\bin\win64
> .\UninstallService.ps1
> 
> Log files (including one created by prunsrv) are stored in logs.
> 
> x86 and x64 Versions
> There are two versions of prunsrv for different architectures: x86 (32-bit) and x64 (64-bit). You need to choose which one to use based on the version of Java you have installed. I configured prunsrv to use such called JVM-mode. In that mode prunesrv.exe loads jvm.dll from JRE and then runs that VM. If you have 32-bit version of Java, 64-bit prunsrv will not be able to load 32-bit version of jvm.dll and service will not start.
> 
> 
> Diffs
> -----
> 
>   bin/win32/InstallService.ps1 PRE-CREATION 
>   bin/win32/UninstallService.ps1 PRE-CREATION 
>   bin/win32/prunsrv.exe PRE-CREATION 
>   bin/win64/InstallService.ps1 PRE-CREATION 
>   bin/win64/UninstallService.ps1 PRE-CREATION 
>   bin/win64/prunsrv.exe PRE-CREATION 
>   flume-ng-node/src/main/java/org/apache/flume/node/Application.java 5250139 
> 
> Diff: https://reviews.apache.org/r/12822/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Sergey Sirotkin
> 
>