国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Elasticsearch備份與還原:使用elasticdump

這篇具有很好參考價(jià)值的文章主要介紹了Elasticsearch備份與還原:使用elasticdump。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

在數(shù)據(jù)管理的世界里,備份和還原數(shù)據(jù)是重中之重的日常工作,特別是對于Elasticsearch這樣的強(qiáng)大而復(fù)雜的搜索引擎。備份不僅可以用于災(zāi)難恢復(fù),還可以在數(shù)據(jù)遷移、測試或者升級等場景中發(fā)揮重要作用。

在本博客中,我們將會重點(diǎn)介紹如何使用一個(gè)非常實(shí)用的工具——elasticdump——來對Elasticsearch數(shù)據(jù)進(jìn)行備份和還原。我們會覆蓋單索引備份還原,全部索引備份還原以及特定前綴索引的備份還原。
注:我的使用場景是從A集群同步數(shù)據(jù)到B集群遷移

Elasticdump 簡介

Elasticdump是一個(gè)開源工具,它可以用于對Elasticsearch索引的數(shù)據(jù)和映射(mapping)進(jìn)行導(dǎo)入、導(dǎo)出操作。Elasticdump工作在命令行接口,通過簡單直觀的指令集操作Elasticsearch的索引數(shù)據(jù)。

安裝 Elasticdump

Elasticdump是一個(gè)基于Node.js的工具,因此首先你需要確保你的系統(tǒng)中安裝有Node.js。然后,你可以使用以下npm命令安裝Elasticdump:

npm install -g elasticdump

單索引備份與還原

下面,我們首先介紹如何對單個(gè)索引進(jìn)行備份和還原:

備份單個(gè)索引

為了備份一個(gè)特定的索引,我們可以使用以下命令:

elasticdump \
  --input=http://localhost:9200/INDEX \
  --output=/path/to/output/INDEX.json \
  --type=data

這個(gè)命令將會將索引INDEX的數(shù)據(jù)導(dǎo)出到指定路徑下的INDEX.json文件。
對于有賬號密碼的Elasticsearch實(shí)例,則可以使用以下腳本:

elasticdump \
  --input=http://user:passwd@localhost:9200/INDEX \
  --output=/path/to/output/INDEX.json \
  --type=data

elasticsearch 備份腳本,linux工具,elastic,elasticsearch,elasticsearch,大數(shù)據(jù),搜索引擎
默認(rèn)的速率是100條,可以通過limit 修改默認(rèn)的導(dǎo)出數(shù)量:

elasticdump \
  --input=http://user:passwd@localhost:9200/INDEX \
  --output=/path/to/output/INDEX.json \
  --type=data --limit 10000

elasticsearch 備份腳本,linux工具,elastic,elasticsearch,elasticsearch,大數(shù)據(jù),搜索引擎

還原單個(gè)索引

相反,如果我們想從之前創(chuàng)建的備份中還原單個(gè)索引,可以使用以下命令:

elasticdump \
  --input=/path/to/output/INDEX.json \
  --output=http://localhost:9200/INDEX \
  --type=data --limit 10000

這將會將INDEX.json文件中的數(shù)據(jù)導(dǎo)入到Elasticsearch中的指定索引。
帶賬號密碼的elasticsearch實(shí)例:

elasticdump \
  --input=/path/to/output/INDEX.json \
  --output=http://user:passwd@localhost:9200/INDEX \
  --type=data --limit 10000

所有索引備份與還原

備份所有索引

備份Elasticsearch中的所有索引可能需要一些額外的腳本,因?yàn)镋lasticdump沒有直接的方式來備份所有索引。以下是一個(gè)簡單的bash腳本示例,用于備份所有索引:

#!/bin/bash
for index in $(curl -s http://localhost:9200/_cat/indices?h=index)
do
  elasticdump \
    --input=http://localhost:9200/${index} \
    --output=/path/to/output/${index}.json \
    --type=data
done

還原所有索引

還原所有索引通常涉及到遍歷包含備份數(shù)據(jù)的文件,并將它們導(dǎo)入到相應(yīng)的Elasticsearch索引中。這是一個(gè)簡單的bash腳本示例,用于還原在一個(gè)文件夾中的所有索引備份:

#!/bin/bash
BACKUP_DIR="/path/to/backup/directory"
for backup_file in $(ls ${BACKUP_DIR}/*.json); do
  index_name=$(basename ${backup_file} .json)
  elasticdump \
    --input=${backup_file} \
    --output=http://localhost:9200/${index_name} \
    --type=data
done

在這個(gè)腳本中,我們假設(shè)備份文件的名字與索引的名字相對應(yīng),備份文件的擴(kuò)展名為.json,通過移除.json,我們獲取了原始的索引名以便于還原。

匹配前綴索引備份與還原

匹配前綴索引備份

有時(shí)我們可能需要備份名稱有共同前綴的多個(gè)索引。下面是一個(gè)通過前綴備份多個(gè)索引的bash腳本示例:

#!/bin/bash
PREFIX="INDEX"
for index in $(curl -s http://localhost:9200/_cat/indices?h=index | grep ^${PREFIX})
do
  elasticdump \
    --input=http://localhost:9200/${index} \
    --output=/path/to/output/${index}.json \
    --type=data
done

帶賬號密碼的備份腳本:

#!/bin/bash

# Elasticsearch的主機(jī)和認(rèn)證信息
ELASTIC_HOST="xxxx:9200"
ELASTIC_USER="xxxx"
ELASTIC_PASS="xxxxx"

# 要備份的索引的前綴
INDEX_PREFIX="xxxx"

# 輸出的備份目錄
BACKUP_DIR="/root/elastic1/back2"

# 獲取所有以master開頭的索引
INDICES=$(curl --silent --user $ELASTIC_USER:$ELASTIC_PASS \
                 --request GET "http://$ELASTIC_HOST/_cat/indices/$INDEX_PREFIX*" | \
                 awk '{ print $3 }')

# 檢查備份目錄是否存在,如果不存在就創(chuàng)建它
mkdir -p "$BACKUP_DIR"

# 逐個(gè)備份索引
for INDEX in $INDICES; do
  elasticdump \
    --input=http://$ELASTIC_USER:$ELASTIC_PASS@$ELASTIC_HOST/$INDEX \
    --output=$BACKUP_DIR/$INDEX.json \
    --type=data --limit 10000 
done

還原符合特定前綴的索引

如果只希望還原帶有特定前綴的索引,您可以使用以下bash腳本作為參考:

#!/bin/bash
PREFIX="your_prefix_here"
BACKUP_DIR="/path/to/backup/directory"
for backup_file in $(ls ${BACKUP_DIR}/${PREFIX}*.json); do
  index_name=$(basename ${backup_file} .json)
  elasticdump \
    --input=${backup_file} \
    --output=http://localhost:9200/${index_name} \
    --type=data
done

帶密碼的可以參考以下腳本(未實(shí)踐,chatgpt生成,但是基本一眼掃過沒有多大問題)

#!/bin/bash

# 源 Elasticsearch 的主機(jī)和認(rèn)證信息
SOURCE_ELASTIC_HOST="xxxx:9200"
SOURCE_ELASTIC_USER="xxxx"
SOURCE_ELASTIC_PASS="xxxxx"

# 目標(biāo) Elasticsearch 的主機(jī)和認(rèn)證信息
RESTORE_ELASTIC_HOST="yyyy:9200"
RESTORE_ELASTIC_USER="yyyy"
RESTORE_ELASTIC_PASS="yyyyy"

# 要備份的索引的前綴 - 對于恢復(fù)來說不需要改變
INDEX_PREFIX="xxxx"

# 輸入的備份目錄 - 同時(shí)用于備份和恢復(fù)
BACKUP_DIR="/root/elastic1/back2"

# 獲取所有以 INDEX_PREFIX 開頭的索引備份文件
BACKUP_FILES=$(ls $BACKUP_DIR | grep "$INDEX_PREFIX")

# 檢查備份目錄是否存在,并且是否有備份文件
if [ -z "$BACKUP_FILES" ]; then
  echo "沒有發(fā)現(xiàn)匹配前綴的備份文件, 請檢查你的備份目錄."
  exit 1
fi

# 逐個(gè)恢復(fù)備份文件到新實(shí)例
for FILE in $BACKUP_FILES; do
  INDEX_NAME=$(basename $FILE .json)

  elasticdump \
    --input=$BACKUP_DIR/$FILE \
    --output=http://$RESTORE_ELASTIC_USER:$RESTORE_ELASTIC_PASS@$RESTORE_ELASTIC_HOST/$INDEX_NAME \
    --type=data --limit 10000

  # 可選: 如果你還想恢復(fù) mapping 和 settings, 添加如下命令:
  # elasticdump \
  #   --input=$BACKUP_DIR/$INDEX_NAME-mapping.json \
  #   --output=http://$RESTORE_ELASTIC_USER:$RESTORE_ELASTIC_PASS@$RESTORE_ELASTIC_HOST/$INDEX_NAME \
  #   --type=mapping

  # elasticdump \
  #   --input=$BACKUP_DIR/$INDEX_NAME-settings.json \
  #   --output=http://$RESTORE_ELASTIC_USER:$RESTORE_ELASTIC_PASS@$RESTORE_ELASTIC_HOST/$INDEX_NAME \
  #   --type=settings
done

echo "恢復(fù)完成."

與還原所有索引的腳本類似,但這里通過限定文件路徑 ${BACKUP_DIR}/${PREFIX}*.json 只選取帶有特定前綴的備份文件。

值得注意的是,進(jìn)行大規(guī)模數(shù)據(jù)還原時(shí),可能會因?yàn)镋lasticsearch集群的性能限制、配置或者網(wǎng)絡(luò)條件等因素影響執(zhí)行效率。建議優(yōu)化Elasticsearch配置,并可能需要調(diào)整批次大小或者并發(fā)數(shù)來適應(yīng)你的環(huán)境。

在還原環(huán)境之前,最好確保Elasticsearch集群處于健康狀態(tài)并有足夠的資源來處理數(shù)據(jù)恢復(fù)過程。這些腳本是簡化版本,視具體環(huán)境可能需要進(jìn)一步的優(yōu)化和調(diào)整。請注意,在生產(chǎn)環(huán)境下執(zhí)行腳本前務(wù)必進(jìn)行充分測試。

其他備份實(shí)現(xiàn)方式

Elasticdump是實(shí)現(xiàn)Elasticsearch備份與還原的一種方式,但并不是唯一方式。以下列舉了其他的一些方法:

  • 使用Elasticsearch自帶的Snapshot and Restore功能,可以創(chuàng)建索引的快照并存儲在文件系統(tǒng)或者支持的云存儲服務(wù)中;
  • 使用Curator工具管理索引生命周期,包括創(chuàng)建和刪除快照;
  • 第三方服務(wù)和插件如Elastic Cloud的備份功能或者開源插件如Cerebro。

確保在實(shí)施任何備份策略之前,都應(yīng)該先在非生產(chǎn)環(huán)境下進(jìn)行測試,以保證恢復(fù)過程中數(shù)據(jù)的完整性和準(zhǔn)確性。

通過Elasticdump,我們可以靈活高效地進(jìn)行Elasticsearch的數(shù)據(jù)備份和還原,但始終記得選擇適合自己業(yè)務(wù)場景和數(shù)據(jù)規(guī)模的備份方案。

值的注意的

  1. 以上備份還原主要實(shí)現(xiàn)了data的部分,mappingsettings正常來說也最好能備份一下!
  2. **multielasticdump **之前也嘗試過,可以使用一下!
  3. 有沒有增量同步的方式?貌似也可以通過logstash 這樣的去做?還有企業(yè)版的ccr(Cross-Cluster Replication)?還有**INFINI **企業(yè)版的也可以?
  4. –limit 的添加可以增加一下備份還原的速度的!

注:以上博客基本chatgpt生成,大部分腳本代碼沒有問題,有問題的應(yīng)該略微調(diào)試一下就可以了文章來源地址http://www.zghlxwxcb.cn/news/detail-757619.html

到了這里,關(guān)于Elasticsearch備份與還原:使用elasticdump的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Armbian 筆記六_使用 armbian-ddbr 命令 備份/還原 eMMC 系統(tǒng)

    Armbian 筆記六_使用 armbian-ddbr 命令 備份/還原 eMMC 系統(tǒng)

    ################################################## 目錄 備份還原盒子內(nèi)置儲存 emmc 上的系統(tǒng) 為什么需要備份系統(tǒng)? 準(zhǔn)備工作 從系統(tǒng)盤啟動 Armbian 如何使用 armbian-ddbr 命令備份和恢復(fù) emmc 分區(qū) b/Backup/備份 r/Restore/恢復(fù) ################################################## —————————— ? ? ?

    2024年02月02日
    瀏覽(64)
  • linux備份與還原系統(tǒng)(類似window上ghost備份還原)

    linux備份與還原系統(tǒng)(類似window上ghost備份還原)

    ? ? ?在linux上進(jìn)行了幾年的開發(fā)工作 (qt? ros) 突然發(fā)現(xiàn),現(xiàn)在有公司硬件、筆記本臺式機(jī)一臺占一個(gè)系統(tǒng),導(dǎo)致硬件太浪費(fèi),又不能用虛擬機(jī)(有時(shí)候要鏈接硬件必須物理機(jī))怎么辦? ? ? 臺式機(jī):? ?????????centos7?一臺?開發(fā)環(huán)境, ????????centos stream9一臺? 開

    2024年02月03日
    瀏覽(22)
  • 使用 Easysearch 還原 Elasticsearch 快照數(shù)據(jù)

    本文主要測試驗(yàn)證 Elasticsearch 各版本快照在 Easysearch 中進(jìn)行數(shù)據(jù)恢復(fù)。 ignore_unavailable:如果 indices 列表中的索引不存在,則是否忽略該索引而不是使快照失敗。默認(rèn)值為 false 。 include_global_state:是否在快照中包含集群狀態(tài)(包括索引模版、生命周期配置、持久化配置等)。

    2024年02月09日
    瀏覽(14)
  • 人大金倉邏輯備份與還原

    人大金倉邏輯備份與還原

    邏輯備份 sys_dump 備份 切換用戶 su - kingbase 進(jìn)入到邏輯備份工具目錄 /data/KingbaseES/ES/V8/ClientTools/bin 參數(shù)-F表示文件輸出格式,p為plain模式,這里輸出為sql格式;-U用戶,-p密碼 -d數(shù)據(jù)庫 邏輯還原 進(jìn)入到邏輯備份工具目錄 /data/KingbaseES/ES/V8/ClientTools/bin 參數(shù)-F表示文件輸出格式,

    2024年01月16日
    瀏覽(24)
  • ES索引備份還原

    ES索引備份還原

    es數(shù)據(jù)出于線上數(shù)據(jù)安全考慮,對于es已有的索引數(shù)據(jù)可以進(jìn)行安全備份,通??梢詫s備份到共享文件目錄或者一些其它的數(shù)據(jù)存儲的文件系統(tǒng)eg:HDFS、Amazon S3、Azure Cloud。備份會生成索引的快照存儲到指定的倉庫路徑下,當(dāng)需要進(jìn)行數(shù)據(jù)還原的時(shí)候,就可以通過訪問備份還

    2024年02月06日
    瀏覽(17)
  • MySQL備份還原

    mysql create database school; mysql use school; /* ?1.創(chuàng)建student和score表 ?*/ ? --創(chuàng)建student表 ? CREATE TABLE student ( ? id INT(10) NOT NULL UNIQUE PRIMARY KEY , ? name VARCHAR(20) NOT NULL , ? sex VARCHAR(4) , ? birth YEAR, ? department VARCHAR(20) , ? address VARCHAR(50) ? ); ? --創(chuàng)建score表 ? CREATE TABLE score ( ? id INT(10) NO

    2024年02月14日
    瀏覽(52)
  • 備份還原剪切板

    忘記是抄誰的了,這里改進(jìn)了一下。還原后沒有clear 并再一次備份。 因?yàn)檫€原一次后,如果再還原,會句柄無效的。 ?

    2024年02月05日
    瀏覽(18)
  • MySQL的備份與還原

    MySQL的備份與還原

    1、MySQL的備份說明 熱備: 在數(shù)據(jù)庫正在運(yùn)行下進(jìn)行備份,備份期間,數(shù)據(jù)庫讀寫均可以正常進(jìn)行; 溫備: 數(shù)據(jù)庫可用性弱于熱備,備份期間,數(shù)據(jù)庫只能進(jìn)行讀操作,不能進(jìn)行寫操作。 冷備: 在備份期間,應(yīng)用的讀寫操作不可進(jìn)行。 2、 基于mysqldump命令進(jìn)行數(shù)據(jù)備份 數(shù)據(jù)

    2024年02月15日
    瀏覽(17)
  • mysql備份與還原

    mysql日志管理 、備份與恢復(fù) 備份的主要目的是災(zāi)難恢復(fù),備份還可以測試應(yīng)用、回滾數(shù)據(jù)修改、查詢歷史數(shù)據(jù)、審計(jì)等。 而備份、恢復(fù)中,日志起到了很重要的作用 #######前言:日志?? MySQL 的日志默認(rèn)保存位置為 /usr/local/mysql/data ##配置文件 vim /etc/my.cnf [mysqld] ##錯(cuò)誤日志,

    2024年02月11日
    瀏覽(19)
  • etcd 備份還原

    1. 查看 etcdctl 是否已經(jīng)安裝 2. 安裝 etcdctl 3. 備份 4. 還原

    2024年02月10日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包