【Redis】redis遷移資料到redis-cluster
不管是單節點還是叢集都可以用以下的思路遷移至cluster叢集中去
方案步驟 1)獲取原單例項節點D的持久化AOF(rdb)檔案,如果是叢集就先將所有的solt移動到一臺機器上 2)新準備三個節點A,B,C,建立叢集,目前叢集為空 3)把節點B,C上的slots,全部分配給A,關閉新的叢集(記住:一定要關閉新的叢集) 4)把1)中獲取的rdb檔案SCP到A上 5)重啟A節點,把資料全部載入到記憶體,再啟動BC節點 6)把A節點上的slots再均勻分配給B,C 7)新準備A1,B1,C1,分別作為A,B,C的slave加入到叢集 8)驗證資料的完整性和叢集狀態
步驟中的第6步分配時可能報以下的錯誤
[ERR] Calling MIGRATE ERR Syntax error, try CLIENT (LIST | KILL | GETNAME | SETNAME | PAUSE | REPLY)
解決辦法:
ruby gem安裝的redis庫,版本不能使用最新的4.0,否則redis-trib.rb reshard 127.0.0.1:7000 重新分片時會報語法錯誤。 1、解除安裝最新redis庫,gem uninstall redis 2、安裝3.x版本,gem install redis -v 3.3.5 測試3.2.1到3.3.5都可以,4.x以上的分片報錯。
reshard失敗之後如果check要是有如下錯誤
[WARNING] Node 192.168.0.11:6380 has slots in migrating state (5461). [WARNING] The following slots are open: 5461 可以使用redis命令取消slots遷移(5461為slot的ID): cluster setslot 5461 stable 需要注意,須登入到192.168.0.11:6380上執行redis的setslot子命令。
遷移方式二:
只有在無密碼的情況下才好用(單節點>>>叢集) /usr/local/src/redis-4.0.8/src/redis-trib.rb.bak import --from 172.31.47.95:6381 --copy 172.31.32.223:6379 檢視 每個節點的size 127.0.0.1:6379> dbsize (integer) 466 127.0.0.1:6379> dbsize (integer) 478 127.0.0.1:6379> dbsize (integer) 441 所有的key已經自動幫忙分到不同的slot去了
參考:
http://blog.51cto.com/13544424/2058280
http://blog.51cto.com/362475097/1890301
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-2154987/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Redis】 redis資料遷移Redis
- 【Redis】redis-cluster到redis-cluster的快速複製Redis
- redis資料庫遷移Redis資料庫
- Redis資料遷移同步工具(redis-shake)Redis
- Redis migrate 資料遷移工具Redis
- 遷移sqlserver資料到MongoDbSQLServerMongoDB
- redis叢集 資料遷移方案Redis
- 【Redis】 redis-cluster刪除指定的keyRedis
- redis 單機和cluster資料遷移Redis
- 線上redis遷移思路Redis
- 【Redis】redis-cluster 安裝遇到的問題Redis
- redis-cluster主從搭建Redis
- mysqldump從mysql遷移資料到OceanBaseMySql
- 【Redis】redis-cluster需要注意的幾個地方Redis
- redis-cluster叢集安裝(基於redis-3.2.10)Redis
- SpringBoot 2.0 如何使用Redis-ClusterSpring BootRedis
- 大神推薦Redis叢集遷移工具:redis-migrate-toolRedis
- redis資料備份和遷移工具redis-dump安裝和使用初探Redis
- Oracle使用RMAN從Windows遷移資料到LinuxOracleWindowsLinux
- Redis-cluster叢集搭建部署Redis
- Redis 架構演變與 Redis-cluster 群集讀寫方案Redis架構
- 【Redis 技術探索】「資料遷移實戰」手把手教你如何實現線上 + 離線模式進行遷移 Redis 資料實戰指南(scan模式遷移)Redis模式
- Redis叢集slot遷移改造實踐Redis
- Redis-cluster命令 cluster info 引數資訊解釋Redis
- 比Redis-cluster還好的redis分散式叢集(twemproxy代理)Redis分散式
- kubernetes生產實踐之redis-clusterRedis
- 在滴滴雲上搭建 Redis-Cluster 叢集Redis
- 高速遷移MySQL資料到分散式時序資料庫DolphinDBMySql分散式資料庫
- 【Redis 技術探索】「資料遷移實戰」手把手教你如何實現線上 + 離線模式進行遷移Redis資料實戰指南(離線同步資料)Redis模式
- Kubernetes(k8s)部署redis-cluster叢集K8SRedis
- 自動化遷移七牛雲的資料到阿里雲OSS阿里
- 自動化遷移七牛雲的資料到阿里雲 OSS阿里
- 遷移ORACLE資料到MogDB/openGauss時的字符集問題Oracle
- Redis Cluster高可用叢集線上遷移操作記錄Redis
- 【Redis】Redis Cluster-叢集故障轉移Redis
- docker 容器操作、應用部署、mysql,redis,nginx、遷移與備份、DockerfileDockerMySqlRedisNginx
- 乾貨 | 攜程一次Redis遷移容器後Slowlog“異常”分析Redis
- SpringBoot(18)---通過Lua指令碼批量插入資料到Redis布隆過濾器Spring Boot指令碼Redis過濾器