[ 
https://issues.apache.org/jira/browse/BIGTOP-1159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14081473#comment-14081473
 ] 

Bruno Mahé commented on BIGTOP-1159:
------------------------------------

I don't want to force that patch without consensus. I also want to make sure I 
understand your use case so we don't miss any potential issue.

Thanks! With your explanation I understand better why you support /var/.
But why shouldn't plugins be managed through packages as well? A plugin for 
Apache Flume 1.4 cannot be considered safe for Apache Flume 1.5 and we don't 
want /var to become a dump. Also as more Apache Hadoop related projects 
integrate with Apache Flume, we will need to manage them through packages 
anyway.
Here is how I see things. Feel free to comment on it:
* Simple jar-based plugins like the ones for Apache Flume are no different than 
the symlinks we put for hadoop. Apache Flume depends on Apache Hadoop package 
because it needs its jars.
* A plugin can be packaged and depend on Apache Flume to be installed.
* A plug in is a simple set of jars. So removing it when we remove Apache Flume 
should bear no effect. Local state should still be in /var

Here are 2 examples:
1/ For instance Apache Phoenix has added an Apache Flume plugin. Apache Phoenix 
should provide a flume-ng-phoenix-plugin (or phoenix-flume-plugin) package 
which depends on the Apache Flume version it was built against and gets 
deployed in /usr/lib/flume-ng/plugins.d/phoenix/. Apache Phoenix libraries are 
symlinked to avoid duplicates (like the Apache Hadoop ones). So plugins can be 
upgraded/removed along with Apache Flume according to their relationship.

2/ At current job we have developped a few source and sinks (Redis, Bigquery, 
Kinesis...). We made packages out of them. It enables us to easily deploy and 
manage through our configuration management system and I will be sure that the 
Apache Flume version I use for my plugin has the required version for my 
plug-ins.
Here is one of them which also builds an RPM as part of the pom.xml: 
https://github.com/DevOps-TangoMe/flume-redis




> /usr/lib/flume-ng/plugins.d/ needs to be created and owned by flume
> -------------------------------------------------------------------
>
>                 Key: BIGTOP-1159
>                 URL: https://issues.apache.org/jira/browse/BIGTOP-1159
>             Project: Bigtop
>          Issue Type: Bug
>            Reporter: Bruno Mahé
>            Assignee: Bruno Mahé
>         Attachments: 
> 0001-BIGTOP-1159.-usr-lib-flume-ng-plugins.d-needs-to-be-.patch
>
>
> Apache Flume expects plugins to be dropped in /usr/lib/flume-ng/plugins.d/.
> But our package do not provide such directory since flume does not ship any 
> plugin.
> Apache Flume package should create an empty directory 
> /usr/lib/flume-ng/plugins.d/ and owned it.
> So plugins can be dropped automatically as packages into their own 
> subdirectories.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to