cassandra streaming 操作(翻譯1)

oxoxooxx發表於2011-09-13
原文:

在0.7版本之後,有連個主要的流例項:
傳輸 - 當源節點把一個給定範圍的key推送到目標節點時產生。由源節點進行初始化和控制。
請求 - 當目標節點向原節點請求一定範圍的key集合時產生。有目標節點進行初始化和控制。

傳輸(Transfer)
進行流傳輸的步驟:
1. 源節點擁有一個必須傳送到其它節點的key範圍。
2. 源節點把此範圍的資料複製到sstable檔案中,以準備進行流傳輸。此步驟被稱作anti-compaction(因為compact歸併多個sstable檔案為一個,而此操作相反。)
3. 源節點構建一個包含需要傳送的sstable檔案的的暫掛檔案列表。
4. 源節點從暫掛檔案列表中啟動流傳輸,併產生日誌輸出"Waiting for transfer to $some_node to complete".流的頭部包含關於流檔案的資訊,目標節點翻譯此頭部以明確如何處理輸入流。
5. 目標節點接收檔案,寫入磁碟並返回檔案狀態。
6. 成功後源節點繼續流傳輸下一個檔案,當出錯後再次流傳輸相同的檔案。[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23937368/viewspace-1054981/,如需轉載,請註明出處,否則將追究法律責任。

相關文章