ElasticSearchå°å ¥ã®ããã®å¦ç¿ã¨ã¡ã¢
ç°å¢
- vagrant1.7.2
- centos6.5
ãã¦、ãã®1,ãã®2,ãã®3ã§æ¤ç´¢ã®åºç¤ã¯ç解ã§ããã®ã§、å®æ¦æå ¥ã«åããå¦ç¿ã«åãæ¿ãã¾ã。ãã¨ã¯èµ°ããªããPDCAãåãã¦ããã¾ã。
éç¨ã§æä½éå©ç¨ããªãã¨è¡ããªãã®ã¯、ããã¾ã§ã®ç¥èã«å ãã¦、
- ããã¯ã¢ãã
- ããã¯ã¢ãããã¼ã¿ã®å¾©å
- ãã°
- ã¦ã¼ã¶ã¼è¾æ¸(å¿ é ã§ã¯ãªãããª)
ã§ã。ã¨ããããã§ã¾ãã¯ããã¯ã¢ãããã。(ElasticSearchã§ã¯ããã¯ã¢ããã®ãã¨ãã¹ãããã·ã§ããã¨èªãã§ããã®ã§、以é「ã¹ãããã·ã§ãã」ã§çµ±ä¸)
Snapshot And Restore
ã¾ãã¯ãã¹ããã¼ã¿ã®ç»é²
curl -XPUT 'http://192.168.33.19:9200/game/nintendo/1' -d ' { "gama_name" : "mario brothers", "main_character_name" : "marip", "price" : 5000 } ' curl -XPUT 'http://192.168.33.19:9200/game/nintendo/2' -d ' { "gama_name" : "zelda", "main_character_name" : "Smith", "price" : 6000 } ' curl -XPUT 'http://192.168.33.19:9200/game/nintendo/3' -d ' { "gama_name" : "donkey kong", "main_character_name" : "donkey", "price" : 7000 } ' // æ¤ç´¢ curl -XGET 'http://192.168.33.19:9200/game/nintendo/_count?pretty' -d ' { "query": { "match_all": {} } } ' // çµæ { "count" : 3, "_shards" : { "total" : 5, "successful" : 5, "failed" : 0 } }
ãã¼ã¿ç»é²ãå®äºããã、ã¹ãããã·ã§ãããä½æãã¾ã。
repositories
ã¹ãããã·ã§ããã®ä½æã®åã«repositoryãä½æãã¾ã。
// snapshotç¨ã®ãã©ã«ããä½æ mkdir -p /var/elastic_search/my_backup // ãã©ã«ãã®æ¨©éãelastic_searchã«ãã sudo chown elasticsearch:elasticsearch /var/elastic_search/my_backup/ // repositoryç»é²ãã curl -XPUT 'http://192.168.33.19:9200/_snapshot/my_backup' -d '{ "type": "fs", "settings": { "location": "/var/elastic_search/my_backup", "compress": true } } ' // çµæ {"acknowledged":true}
ä¸æããã£ãã¿ããã§ãã。ä¸å¿ã³ãã³ããã確èªãã¦ã¿ã¾ããã。
curl -XGET 'http://192.168.33.19:9200/_snapshot/my_backup?pretty' // çµæ { "my_backup" : { "type" : "fs", "settings" : { "compress" : "true", "location" : "/var/elastic_search/my_backup" } } }
ãªãã¸ããªãä½æã§ããã®ã§、ã¹ãããã·ã§ãããä½æãã¾ã。ã、ãã®åã«ç解ãã¦ãããªãã¨ãããªãã¹ãããã·ã§ããã®ä»æ§ã以ä¸ã«ã¾ã¨ã。
- ã¹ãããã·ã§ããã¯clusterã®ä¸ã®、ä¸æãªå称ã«ãã£ã¦ç¹å®ããã。
- http://192.168.33.19:9200/_snapshot/my_backup/snapshot_1ãªã「my_backup」ããªãã¸ããªã§「snapshot_1」ãã¹ãããã·ã§ãã。
- index ã¹ãããã·ã§ãããä½æããéç¨ã§、Elasticsearchã¯ãªãã¸ããªã®ä¸ã«ä¿åãããindexãã¡ã¤ã«ã®ä¸è¦§ãåæãã。ããã¦、æå¾ã®ã¹ãããã·ã§ããããå¤æ´、ãããã¯ä½æããããã¡ã¤ã«ã ããä¿åãã。
- ã¹ãããã·ã§ããããªãã¸ããªããåé¤ãããæ、Elasticsearchã¯ãªãã¸ããªãã¹ãããã·ã§ãããä¿åãã¦ããå ´æã®åç §ã ãåé¤ãã。ã¤ã¾ã、ã¹ãããã·ã§ããèªä½ã¯ãã®å ´ã«æ®ã£ã¦ãã。
ã¹ãããã·ã§ãããä½æ
// ä½æ curl -XPUT "http://192.168.33.19:9200/_snapshot/my_backup/snapshot_1?wait_for_completion=true" // çµæ {"snapshot":{"snapshot":"snapshot_1","indices":["game","test","megacorp"],"state":"SUCCESS","start_time":"2015-02-06T06:59:29.624Z","start_time_in_millis":1423205969624,"end_time":"2015-02-06T06:59:30.186Z","end_time_in_millis":1423205970186,"duration_in_millis":562,"failures":[],"shards":{"total":15,"failed":0,"successful":15}}}
å ¨ã¦ã®indexãä¿åããã¦ãã¾ãã。ãªã¯ã¨ã¹ãã®jsonã§ã¹ãããã·ã§ãããä½æãããindexã ããæå®ãããã¨ãã§ãã¾ã。
ãã¦、ã¹ãããã·ã§ãããä½æããã®ã§、ãã¼ã¿ãå¤æ´ãã¦ã¿ã¾ããã。index[game]ã«ãã¼ã¿ã2件追å ãã¾ã。
// ãã¼ã¿ç»é² curl -XPUT 'http://192.168.33.19:9200/game/nintendo/4' -d ' { "gama_name" : "metoroido", "main_character_name" : "Samusu", "price" : 7000 } ' // ãã¼ã¿ç»é² curl -XPUT 'http://192.168.33.19:9200/game/nintendo/5' -d ' { "gama_name" : "pokemon", "main_character_name" : "Pikachu", "price" : 8000 } ' // æ¤ç´¢ curl -XGET 'http://192.168.33.19:9200/game/nintendo/_count?pretty' -d ' { "query": { "match_all": {} } } ' // çµæ { "count" : 5, "_shards" : { "total" : 5, "successful" : 5, "failed" : 0 } }
3件ãã5件ã«ãã¼ã¿ãå¢ãã¾ãã。
次ã¯ããã¯ã¢ãããã¼ã¿ã®å¾©å
ããã¾ããã。(ElasticSearchã§ã¯ããã¯ã¢ãããã¼ã¿ã®å¾©å
ã®ãã¨ããªã¹ãã¢ã¨èªãã§ããã®ã§、以é「ãªã¹ãã¢」ã§çµ±ä¸)
// ãªã¹ã㢠curl -XPOST "http://192.168.33.19:9200/_snapshot/my_backup/snapshot_1/_restore" -d '{ "indices": "game", "rename_pattern": "game", "rename_replacement": "game2" }' // æ¤ç´¢ curl -XGET 'http://192.168.33.19:9200/game2/nintendo/_count?pretty' -d ' { "query": { "match_all": {} } } ' // çµæ { "count" : 3, "_shards" : { "total" : 5, "successful" : 5, "failed" : 0 } } curl -XGET "http://192.168.33.19:9200/_aliases?pretty"
rename_patternã¨rename_replacementãæå®ããªãã¨"error":"SnapshotRestoreException[[my_backup:snapshot_1] cannot restore index [game] because it's openãçºçãã。ãªãåãååã ã¨ãªã¹ãã¢ãã§ããªãã®ã ããã。
indexã®ä¸è¦§ã確èªãã
// indexã®ä¸è¦§ãç¢ºèª curl -XGET "http://192.168.33.19:9200/_aliases?pretty" // çµæ { "game" : { }, "test" : { }, "megacorp" : { }, "game2" : { } }
indexãå¢ãã¦ãã¾ã。indexãåå¨ãã¦ããã¨ãªã¹ãã¢ãã§ããªãã®ãããããªã。indexãåé¤、ãªã¹ãã¢ã®é ããª。
// game indexåé¤ curl -XDELETE 'http://192.168.33.19:9200/game/' // game2 indexåé¤ curl -XDELETE 'http://192.168.33.19:9200/game2/' // indexã®ä¸è¦§ãç¢ºèª curl -XGET "http://192.168.33.19:9200/_aliases?pretty" // çµæ { "test" : { }, "megacorp" : { } } // ãªã¹ã㢠curl -XPOST "http://192.168.33.19:9200/_snapshot/my_backup/snapshot_1/_restore" -d '{ "indices": "game" } ' // çµæ {"accepted":true} // indexã®ä¸è¦§ãç¢ºèª curl -XGET "http://192.168.33.19:9200/_aliases?pretty" // çµæ { "test" : { }, "megacorp" : { } } // game indexã®ç¢ºèª curl -XGET 'http://192.168.33.19:9200/game/nintendo/_count?pretty' -d ' { "query": { "match_all": {} } } ' // çµæ { "count" : 3, "_shards" : { "total" : 5, "successful" : 5, "failed" : 0 } }
ãã³ã´!!。ãªã¹ãã¢ã§ãã¼ã¿ã復活ãããå ´åã¯、indexãåé¤ããªãã¨ãããªãããã§ãã。
ãã¦、次ã¯ãã°ã®å¦ç¿ã§ã。
ã§ã¯、ã¾ã。
0 件ã®ã³ã¡ã³ã:
ã³ã¡ã³ããæ稿