fluo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aishwarya Thangappa <aishwarya.thanga...@gmail.com>
Subject Re: Run Accumulo and Hadoop services under systemd
Date Fri, 20 Dec 2019 02:57:37 GMT
Thanks, Christopher. I see your point. The changes to the accumulo-cluster scripts aside, 

1. Is there a value in landing the systemd changes in muchos repo? If it is deemed valuable,
we can put up a PR with the systemd units as template files and ansible tasks to copy these
to the cluster nodes and enable/start them. This will be easy for us to upstream as we already
have the work done.

2. Alternatively would you find value if we re-worked a set of shell scripts which would do
the equivalent of above changes and have a PR opened against the Accumulo repo?
  2.1 . In this case, would reference scripts to do the start/stop operations using systemd
similar to that of accumulo-cluster scripts be of value? 
  2.2 . We found that it was necessary to do minor changes to accumulo-service script to support
the multiple tserver case. Is there any concerns on modifying it?

And, not sure why you are getting a 404 on the gist files. I am able to access them from a
private browser window without issues. 

On 2019/12/18 01:54:00, Christopher <ctubbsii@apache.org> wrote: 
> On Tue, Dec 17, 2019 at 8:07 PM Aishwarya Thangappa
> <aishwarya.thangappa@gmail.com> wrote:
> >
> > Sorry, I wasn't aware that attachments are not allowed in ASF Mailing lists. I have
 now created them as gists. Please have a look.
> >
> > master systemd unit:  https://gist.github.com/ata18/e8f7577c99cd08ba46544aacef26969f
> > accumulo-service: https://gist.github.com/ata18/48014ea78b09e4febb88480ea48ed62c
> 
> These first two links don't work for me. I get a 404 error message.
> 
> For reference, here's the basic unit files I wrote for Accumulo from
> Fedora 29: https://src.fedoraproject.org/rpms/accumulo/tree/f29
> They used a /usr/bin/accumulo script generated using the
> %jpackage_script macro (see accumulo.spec file for that) which worked
> a lot like Accumulo 2.0's bin/accumulo file works (not a coincidence,
> since the 2.0 script was written with insight gained from the attempt
> to package in Fedora).
> 
> > accumulo-cluster: https://gist.github.com/ata18/234c2e63d2718aec65bd2037ec3125cd
> 
> This appears to be based on an older version of our accumulo-cluster
> script (from 2.0?) rather than the current one in the master branch,
> but I think I got the sense of what was changed by glancing at the
> diff. Once you have systemd, I'm not convinced it's beneficial to use
> something like accumulo-cluster anymore, as it doesn't really serve
> any added value beyond what you would get with using systemctl via
> pssh or pdsh and a hostsfile. The accumulo-cluster script's purpose is
> for when you don't have an existing service management tool for the
> cluster, and its intent is to be very basic, to support the "deploy
> out of tarball" use case, with no other vendor or downstream
> packaging. Modifying it to wrap systemd seems a bit unnecessarily
> complex to me, since I don't think you need it when using systemd.
> 
> It might be better to create a simpler script that makes it easy to
> run specific tasks using pdsh or pssh, a hostsfile, to be used when
> using systemd, rather than trying to put those features into the
> accumulo-cluster script.
> 
> >
> > Thanks,
> > Aishwarya
> >
> > On 2019/12/15 16:16:56, Michael Wall <mjwall@gmail.com> wrote:
> > > Hi Aishwarya,
> > >
> > > I didn't get any attachments on this.
> > >
> > > Thanks
> > >
> > > Mike
> > >
> > > On Fri, Dec 13, 2019 at 5:46 PM Aishwarya Thangappa
> > > <Aishwarya.Thangappa@microsoft.com.invalid> wrote:
> > >
> > > > Hello everyone,
> > > >
> > > > I have not subscribed to the dev mailing list earlier and missed on some
> > > > of your questions. I will address them here.
> > > >
> > > > @Christopher
> > > > Most of the changes except the actual installation of the systemd units
> > > > could possibly go into Accumulo. These would be the systemd units for
> > > > various accumulo services, modification to cluster-wide scripts in accumulo
> > > > to use systemd instead of directly starting/stopping the processes. We
> > > > would be happy to accommodate/answer any suggestions or follow-up questions
> > > > you may have.
> > > >
> > > > Attached the accumulo_cluster and accumulo_service scripts with systemd
> > > > changes.
> > > >
> > > >
> > > > @Keith Turner
> > > > Once we determine where the different pieces should land, I can post PRs
> > > > accordingly. In our current setup, in muchos.properties file I have added
a
> > > > `use_systemd` flag which when set to true, will overwrite the accumulo
> > > > cluster-wide scripts in the nodes with the attached ones. These files
> > > > currently reside at ansible/roles/accumulo/files. If we determine that
> > > > these scripts and the systemd unit files will instead go to Accumulo
> > > > project, I will have to make changes accordingly.
> > > >
> > > > @Michael Wall
> > > > Systemd units internally call the same scripts that accumulo_cluster
> > > > commands currently use. The change is that accumulo_cluster commands would
> > > > call systemd start/stop which inturn would call accumulo_service commands.
> > > > Attached a sample systemd_unit template. Can you please elaborate if this
> > > > is still an issue?
> > > >
> > > > ------------------------------
> > > > *From:* Aishwarya Thangappa
> > > > *Sent:* Thursday, December 12, 2019 11:25 AM
> > > > *To:* dev@fluo.apache.org <dev@fluo.apache.org>
> > > > *Cc:* Arvind Shyamsundar <arvindsh@microsoft.com>; Billie Rinaldi
<
> > > > Billie.Rinaldi@microsoft.com>
> > > > *Subject:* Run Accumulo and Hadoop services under systemd
> > > >
> > > > Hi everyone,
> > > >
> > > > While using fluo-muchos to deploy an Accumulo cluster, we recognized the
> > > > need for various Accumulo and Hadoop services to be run under a service
> > > > manager like systemd which will ensure that all these services are brought
> > > > up correctly in the event of VM / OS reboots / cold starts. We have made
> > > > the required changes for this and would like to contribute it back to
the
> > > > community if there is any interest around it.
> > > >
> > > > Summarizing what we have done:
> > > >
> > > >    - Crafted separate systemd unit files for Accumulo (master, monitor,
> > > >    gc, traser, tserver), Hadoop (journalnode, namenode, datanode,
> > > >    resourcemanager, nodemanager, zkfc) and Zookeeper services.
> > > >    - All of these unit files will be copied to the respective nodes'
> > > >    /etc/systemd/system directory; the services will then be started and
> > > >    enabled by ansible systemd module.
> > > >    - In case of num_tservers > 1, multiple tserver systemd units will
be
> > > >    copied to the node and each will be independently managed.
> > > >    - Also made necessary changes to the existing cluster-wide scripts
> > > >    including accumulo_cluster, accumulo_service, start_dfs, start_yarn
etc.,
> > > >    to have them work seamlessly with sytemd.
> > > >
> > > > Is there an appetite to look at the details? If so, we can post a PR or
if
> > > > there are any feedbacks and other considerations, please let us know and
we
> > > > can discuss them.
> > > >
> > > > Thanks,
> > > > Aishwarya
> > > >
> > > >
> > >
> 

Mime
View raw message