日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何合并兩套環(huán)境的FastDFS數(shù)據(jù)?

背景

   由于歷史原因文件數(shù)據(jù)被存到兩套FastDFS環(huán)境中,由于項目需求需要將兩套環(huán)境合為一個,需要提供統(tǒng)一的接口來訪問數(shù)據(jù),這時就要將兩套環(huán)境的數(shù)據(jù)合并到一起了。檢查發(fā)現(xiàn)兩套FastDFS上傳生成的Key不同,顧這里不用考慮文件沖突的問題。
   簡單驗證了下,將環(huán)境B的storage直接拷貝到環(huán)境A,并通過環(huán)境A的域名進(jìn)行訪問,是可以做到數(shù)據(jù)合并(FastDFS通過Nginx訪問數(shù)據(jù),故只要Nginx指向的路徑上存在文件,訪問是沒問題的)。但是這帶來一個問題,后期FastDFS擴容增加節(jié)點時,這些拷貝過來的文件由于不被環(huán)境A的tracerServer所識別,所以這部分?jǐn)?shù)據(jù)在擴容后可能會出現(xiàn)異常。

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、美蘭ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的美蘭網(wǎng)站制作公司

環(huán)境信息

  • 環(huán)境A地址 192.168.1.49 文件key為wKgBMV.....
  • 環(huán)境B地址 172.18.73.129 文件key為rBJJgV...
  • 環(huán)境A新增服務(wù)器地址 192.168.1.50(用于遷移環(huán)境B的數(shù)據(jù))
  • 環(huán)境A的擴展服務(wù)器地址 192.168.1.51(用于合并后驗證集群擴展)

實現(xiàn)原理

  FastDFS4.0后新增storage_id功能,可以為每個storage的節(jié)點指定id別名。當(dāng)storage遷移時,若遷移后的IP與原服務(wù)IP不一致時,只需修改ID的指向即可完成遷移。此次由于兩套環(huán)境都未開啟storage_id,故只需在兩套環(huán)境分別開啟,并為其分配不同的id(id不能不沖突)。然后在環(huán)境A上新增一個節(jié)點,新節(jié)點使用的ID是環(huán)境B已經(jīng)指定的id,再將環(huán)境B的數(shù)據(jù)放到這個新增節(jié)點上,這樣兩個節(jié)點之間會自動相互同步數(shù)據(jù),實現(xiàn)合并。
  若已經(jīng)開啟storage_id,且id沖突,這里猜想只需擴容一次,分配到一個新ID,將新ID的數(shù)據(jù)遷移過去再合并即可。

操作過程

一、開啟storage_id

1. 修改/etc/fdfs/tracker.conf
#use_storage_id = false
use_storage_id = true

將100001的ID分配給環(huán)境A(192.168.1.49),將100002的ID分配給環(huán)境B(172.18.73.129)
2. 修改環(huán)境A /etc/fdfs/storage_ids.conf
[root@localhost fdfs]# cat /etc/fdfs/storage_ids.conf
#     
 100001   group1  192.168.1.49
# 100002   group1  192.168.0.116

3.修改環(huán)境B /etc/fdfs/storage_ids.conf
[root@localhost fdfs]# cat storage_ids.conf
#     
# 100001   group1  192.168.0.196
 100002   group1  172.18.73.129

重啟服務(wù),檢查切換情況

如何合并兩套環(huán)境的FastDFS數(shù)據(jù)?

二、輸出兩套環(huán)境文件的MD5信息,用于校驗。

#生成環(huán)境A的文件摘要
[root@localhost ~]# find /data/fastdfs/storage/data/ -type f -print0 | xargs -0 md5sum > /tmp/1.49.md5
#生成環(huán)境B的文件摘要
[root@localhost ~]# find /data/fastdfs/storage/data/ -type f -print0 | xargs -0 md5sum > /tmp/73.129.md5

三、分別打包兩套環(huán)境的Storage。

#備份環(huán)境A數(shù)據(jù),當(dāng)合并失敗時可用于回滾
[root@localhost data]# cd /data/
[root@localhost data]# tar -czf fastdfs-1.49.bak.tar.gz fastdfs/

#備份環(huán)境B數(shù)據(jù),用于遷移合并
[root@localhost data]# cd /data/
[root@localhost data]# tar -czf fastdfs-73.129.bak.tar.gz fastdfs/

四、遷移合并

#修改192.168.1.49 /etc/fdfs/storage_ids.conf,增加10002的信息(此前10002已經(jīng)預(yù)配置為環(huán)境B)
[root@localhost data]# cat /etc/fdfs/storage_ids.conf
#     
 100001   group1  192.168.1.49
 100002   group1  192.168.1.50

#在192.168.1.50安裝FastDFS,修改/etc/fdfs/storage.conf中的服務(wù)器信息(與49使用同一tracker,先不啟動)
bind_addr=192.168.1.50
tracker_server=192.168.1.49:22122

#重啟1.49的tracker服務(wù)
[root@localhost data]# ps -ef|grep trac
root       1938      1  0 10:55 ?        00:00:00 /usr/local/FastDFS/bin/fdfs_trackerd /etc/fdfs/tracker.conf
root       2079   2014  0 11:49 pts/2    00:00:00 grep trac
[root@localhost data]# kill 1938
[root@localhost data]# /usr/local/FastDFS/bin/fdfs_trackerd /etc/fdfs/tracker.conf

#將172.18.73.129的數(shù)據(jù)拷貝到1.50的storage上
#啟動1.50的storage服務(wù)
[root@localhost etc]# /usr/local/FastDFS/bin/fdfs_storaged  /etc/fdfs/storage.conf

五、分別檢查1.49/1.50的binlog狀態(tài)。

可以看到兩個節(jié)點相互同步的日志,最終兩個節(jié)點狀態(tài)為ACTIVE為同步完成。

如何合并兩套環(huán)境的FastDFS數(shù)據(jù)?
如何合并兩套環(huán)境的FastDFS數(shù)據(jù)?

六、用步驟二中生成的md5同時檢驗兩個節(jié)點上所有的數(shù)據(jù)。

在1.49上檢驗兩個md5文件

如何合并兩套環(huán)境的FastDFS數(shù)據(jù)?

在1.50上檢驗兩個md5文件

如何合并兩套環(huán)境的FastDFS數(shù)據(jù)?

可以看到只有dat和binlog文件的MD5校驗不通過,由于合并時這兩個文件會被修改,所有這里不用擔(dān)心。另外沒有出現(xiàn)文件丟失的情況。

七、訪問數(shù)據(jù)驗證。

通過環(huán)境A的url訪問原環(huán)境B的數(shù)據(jù),可以正常讀取到。

如何合并兩套環(huán)境的FastDFS數(shù)據(jù)?

到此,合并已經(jīng)完成。

八、擴展節(jié)點,驗證新節(jié)點上的所有數(shù)據(jù)。

前面已經(jīng)完成了兩個環(huán)境的數(shù)據(jù)合并,從校驗結(jié)果上可以看出所有用戶文件都已經(jīng)正常同步,此處可以測試另加一個storage節(jié)點進(jìn)一步論證合并成功的結(jié)論。若合并后的數(shù)據(jù)能完整的同步到新增節(jié)點上,說明合并的信息完整的記錄到FastDFS中,確保合并是成功的。
新增一臺storage節(jié)點,假定IP:192.168.1.51,指定ID為100003。

#修改192.168.1.49 /etc/fdfs/storage_ids.conf,增加10002的信息(此前10002已經(jīng)預(yù)配置為環(huán)境B)
[root@localhost data]# cat /etc/fdfs/storage_ids.conf
#     
 100001   group1  192.168.1.49
 100002   group1  192.168.1.50
100003   group1  192.168.1.51

#在192.168.1.51安裝FastDFS,修改/etc/fdfs/storage.conf中的服務(wù)器信息
bind_addr=192.168.1.51
tracker_server=192.168.1.49:22122

#重啟1.49的tracker服務(wù)
[root@localhost ~]# ps -ef|grep trac
root       2082      1  0 11:49 ?        00:00:00 /usr/local/FastDFS/bin/fdfs_trackerd /etc/fdfs/tracker.conf
root       2178   2014  0 12:14 pts/2    00:00:00 grep tra
[root@localhost ~]# kill 2082
[root@localhost ~]# /usr/local/FastDFS/bin/fdfs_trackerd /etc/fdfs/tracker.conf

#啟動1.51的storage服務(wù)
[root@localhost etc]# /usr/local/FastDFS/bin/fdfs_storaged  /etc/fdfs/storage.conf

在1.49上檢查storage信息

如何合并兩套環(huán)境的FastDFS數(shù)據(jù)?

在1.51上校驗MD5摘要信息。此時可以看到新擴容的節(jié)點能同步兩套環(huán)境的所有文件

如何合并兩套環(huán)境的FastDFS數(shù)據(jù)?

在1.49上傳一個文件,然后再3個節(jié)點上檢查文件是否可以同步??梢钥吹叫律蟼鞯奈募梢酝降剿袛?shù)據(jù)節(jié)點上。

如何合并兩套環(huán)境的FastDFS數(shù)據(jù)?


網(wǎng)頁名稱:如何合并兩套環(huán)境的FastDFS數(shù)據(jù)?
標(biāo)題鏈接:http://www.dlmjj.cn/article/jodcje.html