註冊快照倉庫
es是通過快照的方式來實現資料備份,並且是以增量的方式,所以一般第一次做的話會花費較長的時間。為了做快照,那麼就需要註冊乙個快照倉庫,告訴es我們的快照應該如何儲存以及將快照儲存到**.
es的快照倉庫支援如下幾種形式:
共享的檔案系統,如nas
amazon s3
hdfs (hadoop distributed file system)
azure cloud
通常選擇註冊第一種形式。
任意選擇乙個節點,執行如下命令
$ curl -xput -d '
}'
這樣就註冊了乙個名為my_backup的倉庫,這裡的location需要注意,最好是設定乙個每個節點都能訪問並且有寫許可權的共享目錄,如smb目錄等(如果整個集群就乙個節點那麼設定為本地目錄也無所謂)。 我自己在做的時候由於設定了本地目錄/data/backups/elasticsearch, 最後做出來發現快照被分別儲存在集群每個節點的/data/backups/elasticsearch目錄下,並且乙個節點儲存了一些資訊。最後做資料遷移的時候,不得不從每個節點將快照檔案拷貝出來,然後合併到一起。
除了location外,還有一些其他選項可以設定:
compress 是否壓縮
max_snapshot_bytes_per_sec 製作快照的速度,預設20mb/s
max_restore_bytes_per_sec 快照恢復的速度,預設20mb/s
更新倉庫設定如下:
curl -xpost /
}
這裡需要注意一點是,註冊倉庫用的是put, 而更新倉庫設定用的是post.
檢查註冊的倉庫資訊
$ curl -xget
開始備份
指定快照名稱為snapshot_20150812
$ curl -xput /snapshot_20150812
執行上面的上面的命令會馬上返回,並在後台執行備份操作, 如果想等到備份完成,可以加上引數wait_for_completion=true
$ curl -xput /snapshot_20150812?wait_for_completion=true
預設是備份所有的索引indices, 如果要指定index,可以
curl -xput /snapshot_20150812
這個備份過程需要的時間視資料量而定.
檢視備份狀態
整個備份過程中,可以通過如下命令檢視備份進度
curl -xget /snapshot_20150812/_status
主要由如下幾種狀態:
initializing 集群狀態檢查,檢查當前集群是否可以做快照,通常這個過程會非常快
started 正在轉移資料到倉庫
finalizing 資料轉移完成,正在轉移元資訊
done 完成
failed 備份失敗
取消備份
curl -xdelete /snapshot_20150812
恢復備份
curl -xpost /snapshot_20150812/_restore
同備份一樣,也可以設定wait_for_completion=true等待恢復結果
curl -xpost /snapshot_20150812/_restore?wait_for_completion=true
預設情況下,是恢復所有的索引,我們也可以設定一些引數來指定恢復的索引,以及重命令恢復的索引,這樣可以避免覆蓋原有的資料.
curl -xpost /snapshot_20150812/_restore
上面的indices, 表示只恢復索引』index_1』
rename_pattern: 表示重新命名索引以』index_』開頭的索引.
rename_replacement: 表示將所有的索引重新命名為』restored_index_***』.如index_1會被重新命名為restored_index_1.
檢視恢復進度
curl -xget
curl -xget restored_index_1
取消恢復,只需要刪除索引,即可取消恢復
curl -xdelete
備份快照遷移
如果需要將快照遷移到另乙個集群.只需要將備份檔案全部拷貝到要遷移的機器上, 然後再在新的集群上註冊乙個快照倉庫,設定location的位置為備份檔案所在的地方,然後執行恢復備份的命令即可。
檢視所有索引:
curl ''
curl '' -s |less
檢視單個索引:
curl 10.0.67.23:9200/_cat/indices/ad-2017.*
檢視快照資訊:
curl -xget "10.0.67.21:9200/_snapshot/es_backup/snapshot-20171123-16"
恢復快照:
curl -xpost "10.0.67.21:9200/_snapshot/es_backup/snapshot-20171123-16/_restore" -d''
誰在使用Elasticsearch
github github使用elasticsearch搜尋20tb的資料,包括13億的檔案和1300億行的 這個不用介紹了吧,碼農們都懂的,github在2013年1月公升級了他們的 搜尋,由solr轉為elasticsearch,目前集群規模為26個索引儲存節點和8個客戶端節點 負責處理搜尋請求...
ElasticSearch使用入門
es的安裝 啟動 cd.elasticsearch 2 4 3 bin elasticsearch bin elasticsearch d 後台執行 es安裝驗證 注意 預設啟動的時候es繫結的網路ip是本機127.0.0.1,只能通過這個ip訪問 兩種修改方式 1 修改config elastic...
ElasticSearch使用學習
elasticsearch是乙個基於lucene的搜尋服務,它通過倒排索引的方法提供了全文搜尋的能力。1 插入資料 elasticsearch中存放資料的為文件,有索引及型別名,如下插入兩文件 2 檢索文件 1 檢索id為1的文件 curl x get elasticsearch.in.netwa....