More Related Content
PDF
Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介 PDF
PDF
hs_spider_hs_something_20110906 PDF
PDF
MariaDB 10.3から利用できるSpider関連の性能向上機能・便利機能ほか PDF
Meets IT and AED ハンズオン 20150516 PDF
Elasticsearch Authプラグインでアクセスコントロール PDF
Spider storage engine (dec212016) What's hot
PDF
PDF
PDF
DBFluteを用いて開発されている全文検索システムFess PDF
PDF
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ PDF
SolrとElasticsearchを比べてみよう PDF
PDF
Asakusa FrameworkとScalaの密かな関係 PDF
polidog に elasticsearch を教える PDF
PDF
Zabbix Conference Japan 2018 LT Configure by Ansible PDF
PDF
traceur-compilerで未来のJavaScriptを体験 PDF
Open Stack Day - Ansibleによる環境構築の自動化 PDF
PDF
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch" PDF
PPTX
PDF
インターンシップの学生にお届けしようとしたScalaの文法(初級編) PDF
ElasticsearchとTasteプラグインで作るレコメンドシステム Viewers also liked
PDF
PDF
elasticsearchソースコードを読みはじめてみた PPTX
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjp PDF
Elasticsearchを用いたはてなブックマークのトピック生成 PDF
PDF
はてなブックマークのトピックページの裏側 in YAPC::Asia Tokyo 2015 PDF
はてなブックマークに基づく関連記事レコメンドエンジンの開発 PDF
Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見 前半(15分): SPIAS のご紹介と主な課題 Similar to 検索のダウンタイム0でバックアップからindexをリストアする方法
PDF
Elasticsearchを使うときの注意点 公開用スライド PDF
Elastic 7.13-new-features-20210624 PDF
Elasticsearch at CrowdWorks PDF
Integrating elasticsearch with asp dot net core PDF
What's New in the Elastic 8.4 Release PDF
[DI08] その情報うまく取り出せていますか? ~ 意外と簡単、Azure Search で短時間で検索精度と利便性を向上させるための方法 PDF
検索のダウンタイム0でバックアップからindexをリストアする方法
- 1.
- 2.
- 3.
Snapshot & RestoreAPI
Elasticsearch 1.0.0で追加された機能
バージョン1.0.0未満
○ Indexをバックアップするためには
クラスタの停止が必要
バージョン1.0.0以降
○ Indexのバックアップが無停止で可能!
- 4.
- 5.
典型的シナリオ
1. 音楽サイトAでの検索結果が何かおかしい…
「嵐」で検索してジャニーズのグループがでな
い!やばい!
2. Indexを今朝の状態に戻したいが、
普通にRestore APIを叩こうとすると
対象のIndexを一度closeする必要がある
一時的にまったく検索できなくなる
なるべく避けたい
- 6.
- 7.
Index Aliases機能とリストア時のリネー
ムを組み合わせて無停止で復元しよう!
次の2つを組み合わせる
1. Index aliases - Indexへ別名を与える機能
○ 例: インデックス“artist20140716” に対して
エイリアス“artist” を付与
http://localhost:9200/artist20140716/artist/1234
http://localhost:9200/artist/artist/1234
1. リストアするindexをリネーム可能
全く等価
になる!
このようにprefixや
suffixをつけることが
可能!
- 8.
事前準備
1. indexは日付、versionなどのサフィックス
をつけて作成
artist_20140716, product_v5
2. 各indexにサフィックスを削除した文字列で
aliasを付与
artist_20140716 → artist, product_v5 → product
3. 検索は必ずalias名を通して実行
http://{{domain}}/artist_20140716/artist/_search?q=水樹奈々
http://{{domain}}/artist/artist/_search?q=水樹奈々
- 9.
障害時の対応手順(1/2)
1. リストアAPIでスナップショットを復元
$ curl -XPOST "localhost:9200/_snapshot/my_backup/full_20140716/_restore?pretty" -d '{
> "indices": “artist_20140716",
> "ignore_unavailable": "true",
> "include_global_state": false,
> "rename_pattern": "artist_20140716",
> "rename_replacement": “artist_20140716_restored“
> }‘ && curl -XPOST "localhost:9200/_aliases" -d '{
> "actions" : [
> { "remove" : { "index" : "artist_20140716_restored", "alias" : “artist" } }
> ]
> }'
Indexをリネーム
ポイント:リストアAPIはエイリアスも復
元してしまうので、即座に復元中のIndex
に付いているエイリアスは削除する
(これを忘れるとそのエイリアス経由で
の検索がすべて500エラーになる)
2. Elasticsearch-Headなどで
リストアしたIndexがGreenに
なるまで待機
- 10.
障害時の対応手順(2/2)
3. リストア完了後、壊れたIndexと
リストアしたIndexをスイッチする
$ curl -XPOST "localhost:9200/_aliases" -d '
> {
> "actions" : [
> { "remove" : { "index" : “artist_20140716", "alias" : “artist" } },
> { "add" : { "index" : "artist_20140716_restored", "alias" : “artist" } }
> ]
> }'
4. 動作確認後、不要であれば壊れたIndex
を削除
- 11.
補足情報
バージョン1.3.0からaliasなしでの
restoreが可能になった少しだけ手順が
楽になる
$ curl -XPOST "localhost:9200/_snapshot/my_backup/full_20140716/_restore?pretty" -d '{
> "indices": “artist_20140716",
> "ignore_unavailable": "true",
> "include_global_state": false,
> "rename_pattern": "artist_20140716",
> "rename_replacement": “artist_20140716_restored“
> }‘ && curl -XPOST "localhost:9200/_aliases" -d '{
> "actions" : [
> { "remove" : { "index" : "artist_20140716_restored", "alias" : “artist" } }
> ]
> }'
$ curl -XPOST "localhost:9200/_snapshot/my_backup/full_20140716/_restore?pretty" -d '{
> "indices": “artist_20140716",
> "ignore_unavailable": "true",
> "include_global_state": false,
> "rename_pattern": "artist_20140716",
> "rename_replacement": “artist_20140716_restored“,
> “include_aliases": false
> }‘