近期遇到以下問題:跨網路的hadoop集群資料同步。
因為一些安全性原因,內部在大集群之外搭建了一套網路隔離的hadoop集群,而且需要從大集群同步資料到該網路隔離的hadoop集群上去。
在不存在網路問題的情況下,可以使用distcp跨集群拷貝,但是因為網路的問題,distcp就失效了。在起初,使用了datax來實現資料的同步,但缺陷也比較明顯:
配置複雜,需要配置字段級的資訊,而這種在檔案拷貝的場景下其實是不需要的
對檔案的壓縮格式要求很高
無法支援hive的動態分割槽。
此外,可能會有人提出其他的方案,譬如通過hadoop客戶端拉取檔案到中轉機,再從中轉機推到另乙個集群,但這種方式的缺陷也比較明顯:
太慢了監控和錯誤處理機制不夠,無法線上穩定排程
對中轉機的儲存也有很高的要求
借鑑了datax的框架+外掛程式的思想,可以在計算資源和網路io資源之間尋找平衡,最大化的提公升效率。為此,在datax上進行改造,復用了datax的框架部分,對協議和外掛程式做了一些定製化的改造,使之成為檔案拷貝的工具。
該方案不僅能用於解決網路隔離場景下的檔案同步,也能解決不同檔案系統之間的資料同步。
目前寫了初步版本,**見:
不知道有沒有其他的合適的方案,也不吝指導。
網路檔案系統
作用 smb server message block sum cifs common internet file system miscrosoft 伺服器是linux,共享檔案 1 selinux 要開啟enforcing 3 sumba使用者必須是本地使用者 4 檢視sumba使用者 pdbe...
網路檔案系統
1 讀取光碟 2 安裝rpcbind和nfs utils安裝包 3 列出檔案是否在執行 4 啟動服務nfs nfs server 5 檢視啟動服務情況 13 在客戶端上檢視,使用showmount e 伺服器ip 確認被防火牆攔截 14 在伺服器上禁用防火牆 systemctl stop firew...
NFS網路檔案系統
一 samba伺服器與nfs伺服器的區別 samba伺服器用於建立windows與linux虛擬機器之間的檔案共享.nfs伺服器用於建立linux虛擬機器與arm嵌入式系統之間的檔案共享.二 nfs網路檔案系統的建立 1 在linux虛擬機器下執行選單 系統設定 伺服器設定 nfs伺服器,開啟nfs...