1. 程式人生 > >大資料面試題(二)

大資料面試題(二)

一、什麼是傳統的訊息傳遞方法?

傳統的訊息傳遞方法有兩種:

  排隊:在佇列中,一組使用者可以從伺服器中讀取訊息,每條訊息都發送給其中一個人。

  釋出--訂閱:在這個模型中,訊息被廣播給所有的使用者。

二、請說明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可以以叢集方