大資料技術原理與應用-林子雨版-課後習題答案
出錯節點
探測錯誤及恢復
namenode
名稱節點儲存了所有的元資料資訊,其中,最核心的兩大資料結構是fsimage和editlog,如果這兩個檔案發生損壞,那麼整個hdfs例項將失效。因此,hdfs設定了備份機制,把這些核心檔案同步複製到備份伺服器secondarynamenode上。當名稱節點出錯時,就可以根據備份伺服器 secondary namenode中的fsimage和editlog資料進行恢復。
secondary namenode
每個資料節點會定期向名稱節點傳送「心跳」資訊,向名稱節點報告自己的狀態當資料節點發生故障,或者網路發生斷網時,名稱節點就無法收到來自一些資料節點的心跳資訊,這時,這些資料節點就會被標記為「宕機」,節點上面的所有資料都會被標記為「不可讀」,名稱節點不會再給它們傳送任何i/o請求 .這時,有可能出現一種情形,即由於一些資料節點的不可用,會導致一些資料塊的副本數量小於冗餘因子.名稱節點會定期檢查這種情況,一旦發現某個資料塊的副本數量小於冗餘因子,就會啟動資料冗餘複製,為它生成新的副本hdfs可以調整冗餘資料的位置。
datanode
網路傳輸和磁碟錯誤等因素,都會造成資料錯誤.客戶端在讀取到資料後,會採用md5和sha1對資料塊進行校驗,以確定讀取到正確的資料.在檔案被建立時,客戶端就會對每乙個檔案塊進行資訊摘錄,並把這些資訊寫入到同乙個路徑的隱藏檔案裡面.當客戶端讀取檔案的時候,會先讀取該資訊檔案,然後,利用該資訊檔案對每個讀取的資料塊進行校驗,如果校驗出錯,客戶端就會請求到另外乙個資料節點讀取該檔案塊,並且向名稱節點報告這個檔案塊有錯誤,名稱節點會定期檢查並且重新複製這個塊。
hadoop mapreduce
zookeeper
hdfs
sqoop
pig&hive
利用其來處理hbase中的海量資料,實現高效能計算
作為協同服務,實現穩定服務和失敗恢復
作為高可靠的底層儲存,利用廉價集群提供海量資料儲存能力
sqoop為hbase的底層資料提供匯入功能
提供高層語言支援
行鍵列族
時間戳唯一,在乙個表裡只出現一次,否則就是在更新同一行,行鍵可以是任意的位元組陣列。
需要在建立表的時候就定義好,數量也不宜過多。列族名必須由可列印字元組成,建立表的時候不需要定義好列。
預設由系統指定,使用者也可以顯示設定。使用不同的時間戳來區分不同的版本。
庫函式乙個master主伺服器
許多個region伺服器
鏈結到每個客戶端
主伺服器master主要負責表和region的管理工作
region伺服器是hbase中最核心的模組,負責維護分配給自己的region,並響應使用者的讀寫請求
客戶端zookeeper伺服器
master
region伺服器
客戶端包含訪問hbase的介面,同時在快取中維護著已經訪問過的region位置資訊,用來加快後續資料訪問過程
zookeeper可以幫助選舉出乙個master作為集群的總管,並保證在任何時刻總有唯一乙個master在執行,這就避免了master的「單點失效」問題
主伺服器master主要負責表和region的管理工作:管理使用者對錶的增加、刪除、修改、查詢等操作;實現不同region伺服器之間的負載均衡;在region**或合併後,負責重新調整region的分布;對發生故障失效的region伺服器上的region進行遷移
region伺服器是hbase中最核心的模組,負責維護分配給自己的region,並響應使用者的讀寫請求
會話一致性
單調寫一致性
單調讀一致性
因果一致性
「讀己之所寫」一致性
它把訪問儲存系統的程序放到會話(session)的上下文中,只要會話還存在,系統就保證「讀己之所寫」一致性。如果由於某些失敗情形令會話終止,就要建立新的會話,而且系統保證不會延續到新的會話;
系統保證來自同乙個程序的寫操作順序執行。系統必須保證這種程度的一致性,否則就非常難以程式設計了
如果程序已經看到過資料物件的某個值,那麼任何後續訪問都不會返回在那個值之前的值
如果程序a通知程序b它已更新了乙個資料項,那麼程序b的後續訪問將獲得a寫入的最新值。而與程序a無因果關係的程序c的訪問,仍然遵守一般的最終一致性規則
可以視為因果一致性的乙個特例。當程序a自己執行乙個更新操作之後,它自己總是可以訪問到更新過的值,絕不會看到舊值
原子性(atomicity)
一致性(consistency)
隔離性(isolation)
永續性(durability)
指事務必須是原子工作單元,對於其資料修改,要麼全都執行,要麼全都不執行。
指事務在完成時,必須使所有的資料都保持一致狀態。
指併發事務所做的修改必須與其他併發事務所做的修改隔離。
指事務完成之後,它對於系統的影響是永久性的,該修改即使出現致命的系統故障也將一直保持。
第二次課後作業
姓名 趙意 班級 電子資訊工程一班 學號 120705117 例4 12 1 程式語言 源程式 exp4 12 1 cpp include includevoid main 執行程式 例4 12 2 程式語言 源程式 exp4 12 2 cpp include includevoid main 執行...
第二章 課後作業 2 82,2 90
a 格式 seeeeeee emmmmmmm mmmmmmmm mmmmmmmm pi的二進位制數表示為 0 10000000 10010010000111111101011,s 為0,是個正數。e 為 10000000 轉為10進製為128,128 127 1,即實際指數部分為1.m 為 1001...
資料庫程式設計 第二章,課後作業
1,使用子查詢獲得當前沒有被讀者借閱的圖書資訊 select bname as 圖書名稱 bid as 圖書編號 author as 作者名稱 pubcomp as 出版社 price as 單價 from book where bid not in select nif from borrow 2...