Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document how to mount solr data on ext drive #246

Open
bseeger opened this issue Apr 17, 2019 · 3 comments
Open

Document how to mount solr data on ext drive #246

bseeger opened this issue Apr 17, 2019 · 3 comments
Labels
Documentation Update the docs or kind request for documentation.

Comments

@bseeger
Copy link
Contributor

bseeger commented Apr 17, 2019

I have a use case where I'd like to mount solr data on an external drive. Essentially my rootfs is small and I want to make sure that the solr docker volume doesn't fill it up.

If I, on a fresh install, create a bind mount via the docker-compose file in ISLE, I run into a snag where the solr docker container already has the solr collection info in /usr/local/solr, so if I tell it to bind mount that directory, my external mount point essentially squashes what's there in the container already. This renders solr unusable because it's collection info is no longer accessible. (removing the bind mount makes it work again).

The proper way to do what I want to do, with the system they way it is, is to (for solr):

  • leave the solr section of the docker-compose.yml file alone. Start ISLE.
  • copy the solr data out of the solr container: (from host machine) docker cp isle-solr-ld:/usr/local/solr /mnt/data/your/path
  • Then you can docker-compose down, update the mount point for solr to be a bind mount
  • restart ISLE.

I think we should document this - but I'm not sure how rare this use case will be. I like to partition off things that might grow, so I'd probably want to do this anyways even if I didn't have small rootfs disk space.

@SummittDweller
Copy link
Contributor

SummittDweller commented Apr 17, 2019 via email

@g7morris
Copy link
Member

g7morris commented Apr 22, 2019

I agree this should be documented and data storage is a challenge with ISLE and Docker itself for sure.

I think I've also found another method as what you're both proposing in my opinion is simply to reconstruct the Solr build process?

Absolutely what you discuss re starting up and copying out Solr data is a legit method but one can also accomplish this process by:

  • Update the mount point for solr to be a bind mount. Start ISLE.

  • Repeat the docker build steps, one could even make a script to this effect.

  • cd /tmp

  • git clone -b 4.10.x https://github.com/discoverygarden/basic-solr-config.git

  • curl -O -L http://archive.apache.org/dist/lucene/solr/4.10.4/solr-4.10.4.tgz

  • tar -xvzf /tmp/solr-4.10.4.tgz

  • cp -rv /tmp/solr-4.10.4/example/solr/* /<path to the bindmounted>/solr/

  • cp -v /tmp/basic-solr-config/conf/* /<path to the bindmounted>/solr/collection1/conf

I would be curious to see if this works as another utility-script candidate?

@dwk2 dwk2 transferred this issue from Islandora-Collaboration-Group/deprecated-ISLE-Documentation May 20, 2019
@dwk2 dwk2 added the Documentation Update the docs or kind request for documentation. label May 20, 2019
@g7morris
Copy link
Member

@bseeger Sorry for late reply here. What is the path for your bind-mount for Solr? Have you considered testing bind-mounting this path /usr/local/solr/collection1/data:/<path to the bindmounted>/solr/ I think that would allow things to work

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Documentation Update the docs or kind request for documentation.
Projects
None yet
Development

No branches or pull requests

4 participants