大資料面試題(二)
一、什麼是傳統的訊息傳遞方法?
傳統的訊息傳遞方法有兩種:
排隊:在佇列中,一組使用者可以從伺服器中讀取訊息,每條訊息都發送給其中一個人。
釋出--訂閱:在這個模型中,訊息被廣播給所有的使用者。
二、請說明kafka相對傳統技術有什麼優勢?
Kafka與傳統的訊息傳遞技術相比優勢在於:
快速:單一的kafka代理可以處理成千上萬的客戶端,每秒處理數兆位元組的讀寫操作。
可伸縮:在一組機器上對資料進行分割槽和簡化,以支援更大的資料。
持久:訊息是永續性的,並在叢集中進行復制,以防止資料丟失。
設計:它提供了容錯保證和永續性。
三、HDFS是通過什麼機制保證資料可靠性的?
主要有以下6點:
1.安全模式:
HDFS剛啟動時,namenode進入安全模式,處於安全模式的namenode不能做任何的檔案操作,甚至內部的副本建立也是不允許的,namenode此時需要和各個datanode通訊,獲得datanode儲存的資料塊資訊,並對資料塊資訊進行檢查,只有通過了namenode的檢查,一個數據塊才被認為是安全的。當認為安全的資料塊所佔比例達到了某個閾值,namenode才會啟動。
2.SecondaryNamenode:
Hadoop中使用SecondaryNameNode來備份namenode的元資料,以便在namenode失效時能從SecondaryNameNode恢復出namenode上的元資料。SecondaryNameNode充當namenode的一個副本,它本身並不處理任何請求,因為處理這些請求都是NameNode的責任。
namenode中儲存了整個檔案系統的元資料,而SecondaryNameNode的作用就是週期性(週期長短也可配)儲存NameNode的元資料。這些源資料中包括檔案映象資料FSImage和編輯日誌EditLog。FSImage相當於HDFS的檢查點,namenode啟動時候會讀取FSImage的內容到記憶體,並將其與EditLog日誌中的所有修改資訊合併生成新的FSImage;在namenode
執行過程中,所有關於HDFS的修改都將寫入EditLog。這樣,如果namenode失效,可以通過SecondaryNameNode中儲存的FSImage和EditLog資料恢復出namenode最近的狀態,儘量減少損失。
3.心跳機制和副本重新建立
為了保證namenode和各個datanode的聯絡,HDFS採用了心跳機制。位於整個HDFS核心的namenode,通過週期性的活動來檢查datanode的活性,像跳動的心臟一樣。Namenode週期性向各個datanode傳送心跳包,而收到心跳包的datanode要進行回覆。因為心跳包是定時傳送的,所以namenode就把要執行的命令也通過心跳包傳送給datanode,而datanode收到心跳包,一方面回覆namenode,另一方面就開始了使用者或者應用的資料傳輸。
如果偵測到datanode失效,namenode之前儲存在這個datanode上的資料就變成不可用資料。如果有的副本儲存在失效的datanode上,則需要重新建立這個副本,放到另外可用的地方。
4.資料一致性:
一般來講,datanode與應用互動的大部分情況都是通過網路進行的,而網路資料傳輸帶來的一大問題就是資料是否原樣到達。為了保證資料的一致性,HDFS採用了資料校驗和(checkSum)機制。建立檔案時,HDFS會為這個檔案生成一個校驗和,校驗和檔案和檔案本身儲存在同一空間中。傳輸資料時會將資料與校驗資料和一同傳輸,應用收到資料後可以進行校驗,如果兩個校驗的結果不同,則檔案肯定出錯了,這個資料塊就變成無效的。如果判定無效,則需要從其他datanode上讀取副本。
5.租約:
在linux中,為了防止多個程序向同一個檔案寫資料的情況,採用了檔案加鎖的機制。而在HDFS中,同樣需要一個機制來防止同一個檔案被多個人寫入資料。這種機制就是租約(Lease),每當寫入資料之前,一個客戶端必須獲得namenode發放的一個租約。Namenode保證同一個檔案只發放一個允許寫的租約。那麼就可以有效防止多人寫入的情況。
6.回滾:
HDFS安裝或升級時,會將當前的版本資訊儲存起來,如果升級一段時間內執行正常,可以認為這次升級沒有問題,重新儲存版本資訊,否則,根據儲存的舊版本資訊,將HDFS恢復至之前的版本。
四、如何修改hadoop Block Size?
修改方法有兩種:
1.修改hdfs塊大小的方法的方法
在hdfs-site.xml檔案中修改配置塊大小的地方,dfs.block.size節點
重啟集群后,重新上傳檔案到hadoop叢集中,新增的檔案會按照新的塊大小儲存,舊的不會改變。
2.hadoop指定某個檔案的blocksize,而不改變整個叢集的blocksize
檔案上傳的時候,使用下面的命令即可:
hadoop fs -D fs.block.size=134217728 -put local_name remote_location
相關推薦
大資料面試題(二)
一、什麼是傳統的訊息傳遞方法? 傳統的訊息傳遞方法有兩種: 排隊:在佇列中,一組使用者可以從伺服器中讀取訊息,每條訊息都發送給其中一個人。 釋出--訂閱:在這個模型中,訊息被廣播給所有的使用者。 二、請說明kafka相對傳統技術有什麼優勢? Kafka與
大資料面試題01
Spark Application 使用者自己寫的程式,批處理作業的集合,Application的main方法時程式的入口,定義了RDD以及對RDD的操作 SparkContext spark的重要api,使用者邏輯與spark的互動介面。會和Cluster manager
網際網路大資料面試題集錦
原文地址:http://hbase.group/article/89 以下面試題都是群裡小夥伴提供的,現場真題(包含校招題)1.網易大資料面試題 說說專案 Spark哪部分用得好,如何調優 Java哪部分了解比較好 聊聊併發,併發實現方法,volatile關鍵字說說
網易杭研大資料面試題
一面: hdfs讀寫過程 MR原理 講專案 balabala... 差不多40幾分鐘吧 二面: 講專案,專案一個點一個點的問。 主要講的是PV、UV的統計、其中設計到rowkey衝突怎麼處理。 接著講專案balabala 差不多40多分鐘吧 HR面(一個男
2019最新大資料面試題及答案整理
大資料面試題總結一波,助力準備在金三銀四尋找好工作的小夥伴們,只有度過筆試這一關才能在下面的關卡中大展巨集圖! 一、如何檢查namenode是否正常執行?重啟namenode的命令是什麼? 通過節點資訊和瀏覽器檢視,通過指令碼監控 hadoop-daemon.sh start namenod
網際網路公司大資料面試題參考指南
以下面試題都是群裡小夥伴提供的,現場真題(包含校招題) 1.網易大資料面試題 說說專案 Spark哪部分用得好,如何調優 Java哪部分了解比較好 聊聊併發,併發實現方法,volatile關鍵字說說 HashMap的底層原理 為什麼要重寫hashcode和equ
大資料面試題分享之spark面試題
一 什麼是spark Spark是大資料的排程,監控和分配引擎。它是一個快速通用的叢集計算平臺.Spark擴充套件了流行的MapReduce模型.Spark提供的主要功能之一就是能夠在記憶體中執行計算 ,但對於在磁碟上執行的複雜應用程式,系統也比MapReduce更有效。
大資料面試題以及答案整理(一)
kafka的message包括哪些資訊 一個Kafka的Message由一個固定長度的header和一個變長的訊息體body組成 header部分由一個位元組的magic(檔案格式)和四個位元組的CRC32(用於判斷body訊息體是否正常)構成。當magic的值為
大資料面試題彙總版
作者 大資料面試題及答案 彙總版 當前版本: Ver 1.0 製作單位: 編寫人員: 審 核 人: 籤 收 人: 簽署日期: 201
2018年大資料面試題總結
目前面試了多家大資料開發工程師,成長了很多,也知道了很多知識,下面和大家分享一下我遇到的面試題和答案。 1.kafka叢集的規模,消費速度是多少。 答:一般中小型公司是10個節點,每秒20M左右。 2.hdfs上傳檔案的流程。 答:這裡描述的 是一個256M的檔
大資料面試題必會2018.01.07
資料分析師常見的10道面試題解答 1.海量日誌資料,提取出某日訪問百度次數最多的那個IP。 首先是這一天,並且是訪問百度的日誌中的IP取出來,逐個寫入到一個大檔案中,注意到IP是32位的,最多有個2*32個IP。同樣可以採用對映的方法,比如模1000,把整個大檔案對映為100
大資料面試題—7
9. 面試問題: 1.從前到後從你教育背景(學過哪些課)到各個專案你負責的模組,問的很細(本以為他是物理學博士,但是所有的技術都懂) 2.hadoop 的 namenode 宕機,怎麼解決 先分析宕機後的損失,宕機後直接導致client無法訪問,記憶體中的元資料丟失,但是硬碟中的元資料應該還存在
大資料面試題—6
3.14 1、一個Hadoop環境,整合了HBase和Hive,是否有必要給HDFS和Hbase都分別配置壓縮策略?請給出對壓縮策略的建議。 hdfs在儲存的時候不會將資料進行壓縮,如果想進行壓縮,我們可以在向hdfs上傳資料的時候進行壓縮。 1)、 採用壓縮流 2)、 &nb
2019最新大資料面試題 助力大家度過筆試關
大資料面試題總結一波,助力準備在金三銀四尋找好工作的小夥伴們,只有度過筆試這一關才能在下面的關卡中大展巨集圖! 一、如何檢查namenode是否正常執行?重啟namenode的命令是什麼? 通過節點資訊和瀏覽器檢視,通過指令碼監控 hadoop-d
經典大資料面試題
什麼是大資料? 大資料(big data,mega data),或稱巨量資料,指的是需要新處理模式才能具有更強的決策力、洞察力和流程優化能力的海量、高增長率和多樣化的資訊資產。 在維克托·邁爾-舍恩伯格及肯尼斯·庫克耶編寫的《大資料時代》中大資料指不用隨機分析法(抽樣調查)
你不知道的BAT大資料面試題
你不知道的BAT大資料面試題 1、kafka的message包括哪些資訊 一個Kafka的
30個常見的大資料面試題 --讓你的薪資更上一層
30個常見的大資料面試題: 包含spark、scala、storm、hadoop等常見的大資料處理工具; 常用的分散式資料庫如hbase、MongoDB、Redis等; 其他常用的java基礎、linux相關技術等 1.scala 語言有什麼特點,什
大資料面試題之Hadoop叢集搭建步驟
一、開啟需要搭建Hadoop叢集的主從節點伺服器 ,配置好靜態IP、主機名hostname、主機IP對映檔案hosts、關掉防火牆二、通過遠端登入工具(我用的是SecureSRT) 登入到Linux系統,登入前需要在Windows系統中C:\Windows\System32\
京東商城大資料面試題
Java篇 1、JVM,GC(演算法,新生代,老年代),JVM結構2、hashcode,hashMap,list,hashSet,equals(結構原理),A extends B(類的載入順序)1.父類靜態程式碼塊;2.子類靜態程式碼塊;3.父類非靜態程式碼塊;4.父類
大資料面試題之2018.01.05
5.簡述Hadoop1和Hadoop2架構異同 Hadoop2相比較於Hadoop1來說,HDFS的架構與Mapreduce的都有較大的變化,且速度上和可用性上都有了很大的提高,Hadoop2中有兩個重要的變更。 1 Hdfs的NameNodes可以以叢集方