Hi mark,

Thanks for your answer.
I also do not know to many about ignite.
But moving the ignite jars out of HADOOP_CLASSPATH cause
ClassNotFoundException when accessing IGFS

[root@bigtop1 lib]# hadoop --config /etc/hadoop/ignite.client.conf/ fs -ls /
-ls: Fatal internal error
java.lang.RuntimeException: java.lang.ClassNotFoundException: Class
org.apache.ignite.hadoop.fs.v1.IgniteHadoopFileSystem not found
        at
...

So put it under /usr/lib/hadoop/lib seems to be necessary.

So, back to the packaging problem, follow your logic I think the best way
to do address the problem is to install ignite jars symlinks at the same
time when iginte-hadoop rpm is installed. i.e. we can do this in post
install section of rpm.


2015-05-21 0:51 GMT+08:00 Mark Grover <m...@apache.org>:

> Evans,
> The rule of thumb there usually is to create an extra package that depends
> on hadoop in this case and delivers jars under /usr/lib/hadoop/lib.
>
> The dependency on hadoop makes sure that the directory /usr/lib/hadoop/lib
> already exists because this new package is installed. So, your final users
> will only have to install this new package in order to get hadoop and the
> ignite dependencies in the hadoop classpath. It also allows people who
> don't want ignite in their classpath to simply install hadoop not have it
> in their classpath.
>
> BTW, I admit to not knowing everything about ignite, but if MR classpath is
> all you want it in, it may make sense to put the jars under
> /usr/lib/hadoop-mapreduce (and depend on the hadoop-mapreduce package
> instaead of the hadoop package). No need to have ignite jars in the HDFS
> classpath which will be the case if you were to put them under
> /usr/lib/hadoop, as far I as recall.
>
> Mark
>
> On Wed, May 20, 2015 at 9:42 AM, Evans Ye <evan...@apache.org> wrote:
>
> > Hi all,
> >
> > I'm just thinking about the following problem and would like to get some
> > ideas from you experts.
> >
> > I notice that the ignite-hadoop package needs to rely on puppet recipes
> to
> > symlik  needed jars into /usr/lib/hadoop/lib, otherwise no mapreduce job
> > can be ran w/ ignite hadoop accelerator.
> > However, there might be a case that users are not using bigtop puppet,
> or,
> > sometimes users only need to quickly obtain an environment with specific
> > components installed and running. In that case, installing bigtop
> provided
> > package might be the easiest way. Take RPM packaging as an example, what
> do
> > you think if we can do symlink at the post-install phase of RPMs so that
> > the package can start working functionally right after it is installed?
> >
> > Thanks,
> > Evans
> >
>

Reply via email to