Difference between revisions of "Update ElasticSearch"

From Archivematica
Jump to navigation Jump to search
Line 66: Line 66:
 
         || (echo 'Environment file not found'; exit 1)
 
         || (echo 'Environment file not found'; exit 1)
 
   cd /usr/share/archivematica/dashboard
 
   cd /usr/share/archivematica/dashboard
   /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py manage.py \  
+
   /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py \  
 
     reindex_from_remote_cluster http://localhost:9500
 
     reindex_from_remote_cluster http://localhost:9500
 
   ";
 
   ";

Revision as of 09:59, 19 February 2019

ElasticSearch update

1. Check that ES is up and running, and note the results:

 curl -X GET "localhost:9200/_cat/indices?v"
 health status index     pri rep docs.count docs.deleted store.size pri.store.size 
 yellow open   aips        5   1         11            0    267.9kb        267.9kb 
 yellow open   transfers   5   1         24            0     35.2kb         35.2kb 

2. Stop elasticsearch service

 sudo service elasticsearch stop


3. Download a temporary copy of elasticsearch (same version than intalled)

 wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.tar.gz


4. Uncompress the downloaded tar.gz and go into it

 tar zxvf elasticsearch-1.7.5.tar.gz
 cd elasticsearch-1.7.5


5. Copy data from system wide installed elasticsearch, ot the temporary copy

 cp /var/lib/elasticsearch data -rf

6. Adjust file permissions

 chown <your user>:<your group> data -R

7. Launch the temporary elasticsearch instance

 ./bin/elasticsearch -d -p elastic-tmp.pid -Des.http.port=9500

8. Verify that the indexes were properly copied

 curl -X GET "localhost:9500/_cat/indices?v"

9. Remove elasticsearch 1.7.5 and it's files

 Redhat: sudo yum remove elasticsearch
 Ubuntu: sudo apt-get remove elasticsearch
 rm -rf /var/lib/elasticsearch

10. Upgrade archivematica and install elasticsearch 6

 ansible-playbook -i hosts singlenode.yml --tags=elasticsearch,archivematica-src

11. Configure ElasticSearch 6 to handle reindex from the temporary es

 echo 'reindex.remote.whitelist: localhost:9500' | sudo tee -a /etc/elasticsearch/elasticsearch.yml
 sudo service elasticsearch restart

12. Migrate the indexes

 sudo -u archivematica bash -c " \
 set -a -e -x
 source /etc/default/archivematica-dashboard || \
 source /etc/sysconfig/archivematica-dashboard \
       || (echo 'Environment file not found'; exit 1)
 cd /usr/share/archivematica/dashboard
 /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py \ 
   reindex_from_remote_cluster http://localhost:9500
 ";

13. Verify that the sum of aips and aipfiles in the new ES index, is the same than in the previous one:

 TBD

14. Stop the temporary elasticsearch service

 kill $(cat ~/elasticsearch-1.7.5/elastic-tmp.pid)