Update ElasticSearch

From Archivematica
Revision as of 04:37, 19 February 2019 by Scollazo (talk | contribs)
Jump to navigation Jump to search

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 su - archivematica -s /bin/bash
 export $(cat /etc/sysconfig/archivematica-dashboard)
 cd /usr/share/archivematica/dashboar
 /usr/share/archivematica/virtualenvs/archivematica-dashboard/bin/python manage.py reindex_from_remote_cluster http://localhost:9500
 exit

13. Stop the temporary elasticsearch service

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