自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

分享AWS的Redis如何正確遷移至阿里云項(xiàng)目實(shí)踐

數(shù)據(jù)庫 Redis
本案例通過使用Redis-shake的restore(恢復(fù))模式,將本地RDB文件中的數(shù)據(jù)恢復(fù)至云數(shù)據(jù)庫Redis,從而實(shí)現(xiàn)數(shù)據(jù)遷移上云。

一、背景

最近項(xiàng)目上有一個(gè)需求,需要把a(bǔ)ws的redis遷移至阿里云的redis,本來是想著用阿里云的dts實(shí)現(xiàn)在線遷移,但是aws對(duì)自己產(chǎn)品的redis高級(jí)命令作了限制,不允許用戶使用,所以無法實(shí)現(xiàn)用dts遷移aws的redis。經(jīng)過一番曲折之后,用下面的方法成功實(shí)現(xiàn)了aws的redis遷移至阿里云的redis。下面分享一下具體實(shí)現(xiàn)的過程。分享AWS的redis如何正確遷移至阿里云項(xiàng)目實(shí)踐

二、實(shí)施過程

1、安裝配置AWS的CLI

(1)安裝AWS CLI

Amazon Linux(本環(huán)境) AWS CLI 預(yù)安裝在 Amazon Linux AMI 上。

檢查當(dāng)前安裝的版本,請(qǐng)使用以下命令:

$ aws --version
aws-cli/2.4.5 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

(2)配置AWS CLI

AWS CLI 將此信息存儲(chǔ)在文件中指定的配置文件(設(shè)置集合)default中 credentials。默認(rèn)情況下,當(dāng)您運(yùn)行未明確指定要使用的配置文件的 AWS CLI 命令時(shí),將使用此配置文件中的信息。

$aws configure
AWS Access Key ID [None]: ***************
AWS Secret Access Key [None]: wJa***************LEKEY
Default region name [None]: cn-northwest-1
Default output format [None]: json

注:regoin name根據(jù)自己的實(shí)際情況填寫,目前國內(nèi)主要有寧夏(cn-northwest-1)、北京(cn-north-1)兩個(gè)區(qū)。

2、安裝遷移工具redis-shake

前提條件

目標(biāo)Redis實(shí)例的版本社區(qū)版(4.0或5.0版本)或企業(yè)版(5.0版本)

Redis-shake介紹

Redis-shake是阿里云自研的開源Redis數(shù)據(jù)傳輸工具,支持對(duì)Redis數(shù)據(jù)進(jìn)行解析(decode)、恢復(fù)(restore)、備份(dump)和同步(sync或rump),易于部署,靈活高效。本案例通過使用Redis-shake的restore(恢復(fù))模式,將本地RDB文件中的數(shù)據(jù)恢復(fù)至云數(shù)據(jù)庫Redis,從而實(shí)現(xiàn)數(shù)據(jù)遷移上云。

安裝Redis-shake

1、登陸待安裝的Redis-shake機(jī)器。

2、下載Redis-shake文件。

wget 'http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/120287/cn_zh/1608173646665/redis-shake-v2.0.3.tar.gz'

3、解壓Redis-shake文件。

tar xzf redis-shake-v2.0.3.tar.gz

4、修改參數(shù)文件。

參數(shù)

是否必填

說明

示例

source.rdb.input

備份文件(RDB文件)的相對(duì)路徑或絕對(duì)路徑。多個(gè)文件請(qǐng)使用英文分號(hào)(;)分隔。

/root/tools/RedisShake/demo.rdb

target.address

目標(biāo)Redis實(shí)例的連接地址與端口號(hào),連接地址和端口號(hào)之間使用英文冒號(hào)(:)分隔。

r-bp1wcw2rlw76acc5k.redis.rds.aliyuncs.com:6379

target.password_raw

目標(biāo)Redis實(shí)例的賬號(hào)(需具備讀寫權(quán)限)及其密碼,賬號(hào)和密碼之間使用英文冒號(hào)(:)分隔。

testaccount:Rp829dlwa

key_exists

當(dāng)源庫中的Key與目標(biāo)庫中的Key相同時(shí),采取的數(shù)據(jù)寫入策略,取值:rewrite:覆蓋寫入至目標(biāo)庫。none:默認(rèn)值,停止運(yùn)行Redis-shake程序并提示沖突的Key。ignore:直接跳過當(dāng)前遷移的Key,保留目標(biāo)庫的數(shù)據(jù),繼續(xù)執(zhí)行數(shù)據(jù)遷移。

rewrite

parallel

Redis-shake執(zhí)行遷移的并發(fā)線程數(shù),適當(dāng)調(diào)大該值可提高同步性能。默認(rèn)值為32,最小值為1。

32

3、開始執(zhí)行遷移

為了實(shí)現(xiàn)遷移的自動(dòng)化,寫了一個(gè)一鍵遷移腳本。

遷移流程簡(jiǎn)介:

  • 源庫redis備份。
  • 把備份文件復(fù)制至S3。
  • 從s3下載備份文件至本地。
  • 運(yùn)行Redis-shake程序,開始執(zhí)行遷移。
#!/bin/bash
date=$(date +%Y%m%d%H%M%S)
#dump redis file
aws elasticache create-snapshot --cache-cluster-id deviceredis --snapshot-name myredis${date}
sleep 120s
copy_status=`aws elasticache describe-snapshots --cache-cluster-id deviceredis --snapshot-name myredis${date} |grep "available" |wc -l`
until [ $copy_status -eq 1 ]
do
copy_status=`aws elasticache describe-snapshots --cache-cluster-id deviceredis --snapshot-name myredis${date} |grep "available" |wc -l`
sleep 5s
done
#copy redisfile to s3
aws elasticache copy-snapshot --source-snapshot-name myredis${date} --target-snapshot-name myredis${date} --target-bucket redistmp
#download redisfile from s3
get_status=`aws elasticache describe-snapshots --cache-cluster-id deviceredis --snapshot-name myredis${date} |grep "available" |wc -l`
until [ $get_status -eq 1 ]
do
get_status=`aws elasticache describe-snapshots --cache-cluster-id deviceredis --snapshot-name myredis${date} |grep "available" |wc -l`
sleep 5s
done
aws s3api get-object --bucket redistmp --key myredis${date}-0001.rdb ./myredis${date}-0001.rdb
#restore to aliyun redis
sed -i "s/\/root\/redis-shake-v2.0.3\/.*rdb$/\/root\/redis-shake-v2.0.3\/myredis${date}-0001.rdb/g" redis-shake.conf
./redis-shake.linux -type=restore -conf=redis-shake.conf

說明:

日志中出現(xiàn)restore: rdb done表示數(shù)據(jù)恢復(fù)完成,此時(shí)使用Ctrl+C組合鍵停止運(yùn)行Redis-shake。如下圖所示:

分享AWS的redis如何正確遷移至阿里云項(xiàng)目實(shí)踐

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2015-03-11 10:01:31

2019-04-10 09:00:23

AWSOracle數(shù)據(jù)庫

2015-03-12 10:26:41

2019-06-20 11:11:19

太古可口可樂AWS

2022-09-16 13:26:49

云計(jì)算云遷移數(shù)據(jù)

2020-02-04 14:25:29

云遷移云計(jì)算云平臺(tái)

2020-11-03 10:50:52

云遷移云開發(fā)云計(jì)算

2016-03-30 11:31:30

AWS云環(huán)境

2019-11-27 10:55:36

云遷移云計(jì)算云平臺(tái)

2015-02-13 18:43:34

Windows Azu阿里云遷移

2015-05-19 09:53:41

AWS漏洞管理云漏洞管理

2023-02-07 15:33:16

云遷移數(shù)據(jù)中心云計(jì)算

2022-12-12 16:37:31

云遷移云計(jì)算IaaS

2013-07-29 09:29:13

PaaS云IaaS云管理

2021-12-06 16:06:39

云聯(lián)絡(luò)中心云遷移云平臺(tái)

2016-10-26 16:44:44

WatchfinderAWS云計(jì)算

2015-10-10 09:50:26

AWS云遷移云遷移工具

2012-11-19 10:35:18

阿里云云計(jì)算

2018-06-12 16:04:30

2016-01-29 10:26:47

云端云遷移
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)