We'll need a bit more information to help you resolve this error.
- What version of AtoM do you have installed?
- Did you follow our recommended installation instructions?
- If yes, what version of Ubuntu are you using?
- If no, what changes have you made?
- What version of Elasticsearch do you have installed?
- How much RAM do you have available on your server?
First, let's check the version and status of Elasticsearch. Please share the output of the following commands - these commands use cURL (so you an run sudo apt-get install curl to install it if it's not already installed). Run from the server where ES is installed and using the default port, you could try:
If you are running AtoM 2.5 or later with Elasticsearch 5.6, you can also run the following command from AtoM's root installation directory (/usr/share/nginx/atom if you have followed our recommended installation instructions. Please share the task output if running 2.5:
- php symfony search:status
Other useful ES commands in Ubuntu 16.04 and 18.04:
- sudo systemctl stop elasticsearch
- sudo systemctl enable elasticsearch
- sudo systemctl start elasticsearch
- sudo systemctl status elasticsearch
- sudo systemctl restart elasticsearch
You could try stopping and restarting ES to see if that helps.
Another thing you could try is manually deleting the search index from AtoM, and then repopulating it. To manually delete the search index from AtoM, use:
- curl -XDELETE 'localhost:9200/atom'
To repopulate it, run the following from AtoM's root installation directory. We will also clear the application cache first:
- php symfony cc
- php symfony search:populate
My next recommendation is to make sure you have enough system resources - particularly memory - for the installation. Our requirements page includes some notes on what we use when deploying to hosted instances (such as via OVH or DigitalOcean, two external hosting providers we have used in the past for AtoM). There, we list the following recommendations:
- Processor: 2 vCPUs @ 2.3GHz
- Memory: 7GB
- Disk space (processing): 50GB at a minimum for AtoM’s core stack plus more storage would be required for supporting any substantial number of digital objects.
You can likely get away with less memory once AtoM is installed, but ES is a memory hog during installation, so I would try to give it as much memory as you possibly can during installation - you can always scale it back down after if needed.
One of the most common problems we see with ES is that there has not been enough memory allocated. The size of the heap is declared in /etc/default/elasticsearch - - specifically the ES_HEAP_SIZE for your install. So you could try changing this value - for example, you could change the heap size value to "2g" if you have two GB of memory available. For an small to medium institution with 10,000 - 50,000 descriptions and low traffic, 4 GB of RAM should be sufficient. For more data or more traffic, higher allocations of RAM may be required. Once the value is changed you have to restart Elasticsearch.
There are more details here:
Finally, if none of the above has helped resolve the issue, the next thing you could try is to see if the ES logs have any more information than what you've found in your stack trace. In our recommended Ubuntu installation instructions, the Elasticsearch (ES) log is normally located in /var/log/elasticsearch/elasticsearch.log and you could check there to see if there's more information available. Try doing some web searches with the error message to see if you can find further suggestions online - and remember to make sure they are for the correct version of ES!
Let us know how it goes!