I want to upgrade to 2.3.3 from 1.5.1. 
So I got 1.5.1 snapshot and I want to restore the 1.5.1 snapshot in 2.3.3. 
By the way, 2.3.3 is newly built.
However, the following error occurred. 
Because maybe snap-posts_v3_20160628.dat not found.
{
  "error" : {
    "root_cause" : [ {
      "type" : "snapshot_missing_exception",
      "reason" : "[snapshot1:posts_v3_20160628] is missing"
    } ],
    "type" : "snapshot_missing_exception",
    "reason" : "[snapshot1:posts_v3_20160628] is missing",
    "caused_by" : {
      "type" : "no_such_file_exception",
      "reason" : "/var/elasticsearch/snapshot/snapshot1/snap-posts_v3_20160628.dat"
    }
  },
  "status" : 404
}
 
Getting snapshot in 1.5.1, *.dat file is not created.
drwxr-xr-x 3 elasticsearch elasticsearch 4096  6月 29 02:30 .
drwxr-xr-x 4 elasticsearch elasticsearch 4096  6月 29 01:46 ..
-rw-r--r-- 1 elasticsearch elasticsearch   58  6月 28 08:31 index
drwxr-xr-x 4 elasticsearch elasticsearch 4096  6月 28 08:31 indices
-rw-r--r-- 1 elasticsearch elasticsearch   61  6月 28 08:30 metadata-posts_v3_20160628
-rw-r--r-- 1 elasticsearch elasticsearch  188  6月 28 08:30 snapshot-posts_v3_20160628
 
How do I restore the 1.5.1 of the data ?
             
            
               
               
               
            
            
           
          
            
              
                dadoonet  
                (David Pilato)
               
              
                  
                    June 29, 2016,  4:25am
                   
                   
              2 
               
             
            
              Here is my opinion.
First upgrade all machines to the latest 1.7 version. You can do a rolling upgrade. 
Then install the migration plugin. It will tell you if you can directly upgrade to 2.x or not.
Depending on the result, you might have to run the upgrade API then snapshot.
Then you could restore in the 2.3 instances.
My 2 cents
             
            
               
               
              2 Likes 
            
            
           
          
            
            
              Thanks. But it failed. 
By 1.7 getting snapshot, *.dat file is not created and failed to restore to 2.3.
             
            
               
               
               
            
            
           
          
            
              
                dadoonet  
                (David Pilato)
               
              
                  
                    June 29, 2016,  5:01pm
                   
                   
              4 
               
             
            
              Can you describe all the exact steps you did so far?
             
            
               
               
               
            
            
           
          
            
            
              Yes. 
Raise the version from 1.5 to 1.7 in the First.
$ sudo rpm -ivh --replacefiles https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.0.noarch.rpm
$ sudo mv /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml_1.5.1
$ sudo mv /etc/elasticsearch/elasticsearch.yml.rpmsave /etc/elasticsearch/elasticsearch.yml
$ sudo survice elasticsearch start
$ curl localhost:9200
{
  "status" : 200,
  "name" : "Caleb Alexander",
  "cluster_name" : "elasticsearch",
  "version" : {
    "number" : "1.7.0",
    "build_hash" : "929b9739cae115e73c346cb5f9a6f24ba735a743",
    "build_timestamp" : "2015-07-16T14:31:07Z",
    "build_snapshot" : false,
    "lucene_version" : "4.10.4"
  },
  "tagline" : "You Know, for Search"
}
 
Next take a snapshot
$ sudo mkdir -p /var/elasticsearch/snapshot
$ sudo chown -R elasticsearch:elasticsearch /var/elasticsearch
...
Append the following to elasticsearch.yml
path.repo: ["/var/elasticsearch/snapshot"]
...
$ sudo service elasticsearch restart
$ curl -XPUT 'http://localhost:9200/_snapshot/snapshot1' -d '
{
  "type": "fs",
  "settings": {
    "location": "/var/elasticsearch/snapshot/snapshot1",
    "compress": true
  }
}
'
$ curl -XPUT localhost:9200/_snapshot/snapshot1/posts_v2_20160622?wait_for_completion=true -d '
{
  "indices": "posts_v2",
  "ignore_unavailable": "true",
  "include_global_state": false
}
'
$ exit
 
Copy snapshot directory to /tmp in 2.3.3 server, And then restore to 2.3.3
$ sudo mkdir -p /var/elasticsearch/snapshot
$ mv /tmp/snapshot1 /var/elasticsearch/snapshot/snapshot1
$ sudo chown -R elasticsearch:elasticsearch /var/elasticsearch
...
Append the following to elasticsearch.yml
path.repo: ["/var/elasticsearch/snapshot"]
...
$ sudo service elasticsearch restart
$ curl -XPUT 'http://localhost:9200/_snapshot/snapshot1' -d '
{
  "type": "fs",
  "settings": {
    "location": "/var/elasticsearch/snapshot/snapshot1",
    "compress": true
  }
}
'
$ curl -XPOST localhost:9200/_snapshot/snapshot1/posts_v2_20160622/_restore?pretty -d '
{
  "indices": "posts_v2",
  "ignore_unavailable": "true",
  "include_global_state": false,
  "rename_pattern": "posts_v2",
  "rename_replacement": "posts_v3"
}
'
{
  "error" : {
    "root_cause" : [ {
      "type" : "snapshot_missing_exception",
      "reason" : "[snapshot1:posts_v2_20160622] is missing"
    } ],
    "type" : "snapshot_missing_exception",
    "reason" : "[snapshot1:posts_v2_20160622] is missing",
    }
  },
"status" : 404
}
 
Upgrading to 1.7, no_such_file_exception didn't show but it failed restore.
             
            
               
               
               
            
            
           
          
            
              
                dadoonet  
                (David Pilato)
               
              
                  
                    June 29, 2016,  6:26pm
                   
                   
              6 
               
             
            
              Thanks for the detailed report. I'm pinging @Igor_Motov  about it in case I missed something obvious.
I wonder why you installed 1.7.0 instead of 1.7.5?
             
            
               
               
              1 Like 
            
            
           
          
            
            
              @dadoonet  
Thank you for the important tips ! 
Then I tried to restore from 1.7.5 to 2.2.3 . 
And it was successful .
             
            
               
               
               
            
            
           
          
            
              
                dadoonet  
                (David Pilato)
               
              
                  
                    June 30, 2016,  7:24am
                   
                   
              8 
               
             
            
              Great! Thanks for confirming.
             
            
               
               
              1 Like