accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Berman <mber...@sqrrl.com>
Subject Re: Building RPMs
Date Tue, 28 Jan 2014 19:10:15 GMT
Since the init scripts just call the start-server script, the problems I
was seeing there also apply to the init scripts.  I opened ACCUMULO-2267 to
start tracking the issues.

ctubbs, since the new RPM deployment was your project, I'd love your input
on how to proceed.  I'm interested in helping getting it working however I
can, but I'm not sure how to balance RPM conventions against getting
something that actually works.


On Mon, Jan 27, 2014 at 9:19 PM, Michael Berman <mberman@sqrrl.com> wrote:

> I didn't actually try to run it from the init.d scripts; I was using the
> bin/start-* scripts.  I'll try again with the init scripts.  If the scripts
> in bin aren't expected to work in an rpm deployment, should we remove them
> from the package?
>
>
> On Mon, Jan 27, 2014 at 8:08 PM, Christopher <ctubbsii@apache.org> wrote:
>
>> I did automate setting up a yum repo in the assemble module's target
>> directory, to make testing easier.
>>
>> I'm not entirely surprised the services fail to start... there's not
>> been much attempt to update the SysVInit scripts. I had hoped that
>> would be ironed out more thoroughly in testing. I think the idea is
>> that the init script needs to add the start jar and any minimal
>> dependencies to the classpath, and the default  accumulo-site.xml
>> configuration file should have the general.classpaths property set to
>> include the correct locations. I did some testing of this, but have
>> not yet had a chance to push them up, and they may still need more
>> work. I would say to file bugs for anything that's not working (init
>> script can't find start jar, default config can't find jars) and let's
>> fix it.
>>
>> As for the reason these jars are in /usr/share/java, well, that's the
>> de-facto standard for jars in RHEL/CentOS (esp. EPEL) packages, and is
>> the explicit standard in Fedora (the most popular RPM-based community
>> distribution, and the same community that maintains EPEL). The goal
>> for making RPMs that go there was to standardize in a way that would
>> make it easy to transition to a state where we could push RPMs to
>> Fedora/EPEL, as Hadoop, Thrift, and ZooKeeper already have.
>> Eventually, I'd prefer to stop packaging RPMs entirely... and just
>> make it easier for downstream package maintainers in
>> BigTop/Fedora/EPEL/whatever to package Accumulo, so we can focus less
>> on packaging *and* development. This change to standard locations was
>> one step towards that. Unfortunately, the init scripts and config were
>> simply overlooked and you were the first to notice.
>>
>> --
>> Christopher L Tubbs II
>> http://gravatar.com/ctubbsii
>>
>>
>> On Mon, Jan 27, 2014 at 5:55 PM, Michael Berman <mberman@sqrrl.com>
>> wrote:
>> > It looks like you can't just install, say, the tserver RPM to get the
>> > tserver.  It depends on server-base, core, start, etc.  So this means I
>> > either need to figure out the dependencies and put them all on the rpm
>> -i
>> > command, or configure a directory as a local yum repo.  Does anyone
>> know a
>> > convenient way to do that?  It seems like this could use some
>> > documentation, since it's seems like a pretty nonstandard way to
>> distribute
>> > RPMs.
>> >
>> > Independent of all that, having just installed all the packages, I'm not
>> > sure how to get it to actually work.  It looks like the accumulo jars
>> are
>> > installed in /usr/share/java/accumulo rather than $ACCUMULO_HOME/lib,
>> and
>> > all services are failing to start, missing the class
>> > org.apache.accumulo.start.Main.  After I've installed the RPMs, am I
>> > supposed to edit accumulo-env.sh to stick all the jar locations on the
>> > classpath or something?  It's not obvious to me where a good place to do
>> > that would be, or if there are other paths I need.  What was the
>> reasoning
>> > behind having the rpm create such a different installation tree from
>> other
>> > deployments?
>> >
>> > Thanks again,
>> > Michael
>> >
>> >
>> > On Mon, Jan 27, 2014 at 5:40 PM, Josh Elser <josh.elser@gmail.com>
>> wrote:
>> >
>> >> I believe the point of breaking them up the way they are is that you
>> can
>> >> run just what you need on each host. Installing them all would
>> certainly
>> >> give you the runtime flexibility while you can just chkconfig on the
>> >> processes you actually want to start.
>> >>
>> >>
>> >> On 1/27/14, 5:04 PM, Michael Berman wrote:
>> >>
>> >>> Ok, so I've successfully build my RPMs, and I have a whole pile of
>> them.
>> >>>   Is there one that will install all the services?  Or should I
>> install
>> >>> the
>> >>> tserver, master, gc, etc from their own poms just on the machines I
>> want
>> >>> to
>> >>> run those on?  Or do I need to install them all?
>> >>>
>> >>>
>> >>> On Mon, Jan 27, 2014 at 11:53 AM, Josh Elser <josh.elser@gmail.com>
>> >>> wrote:
>> >>>
>> >>>  You probably want/need 'thrift,rpm,docs'.
>> >>>>
>> >>>> And, afaik, no, these are not documented anywhere. You can get a
list
>> >>>> using `mvn help:all-profiles`, but, without descriptions, they're
>> pretty
>> >>>> useless.
>> >>>>
>> >>>>
>> >>>> On 1/27/14, 11:43 AM, Michael Berman wrote:
>> >>>>
>> >>>>  I'm trying to do some testing on the 1.6 RPM.  What maven switches
>> are
>> >>>>> our
>> >>>>> official builds built with?  Is just -Prpm enough, or do I need
>> >>>>> assemble,
>> >>>>> apache-release, etc., too?  Is this stuff documented anywhere?
>> >>>>>
>> >>>>> Thanks,
>> >>>>> Michael
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>
>>
>
>

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