Hadoop期末復習


Hadoop期末復習

選擇題

  1. 以下選項中,哪個程序負責HDFS數據存儲。 B

    A、NameNode B、DataNode C、Secondary NameNode D、ResourceManager

  2. 下列哪項通常是集群的最主要的性能瓶頸? C

    A、CPU B、 網絡 C、磁盤 D、內存

  3. 下面哪項是Hadoop的作者?B

    A、Martin Fowler B、Doug cutting C、Mark Elliot Zuckerberg D、Kent Beck

  4. HDFS默認備份數量?D

    A、0 B、1 C、2 D、3

  5. 下列描述說法錯誤的是? D

    A、SecureCRT是一款支持SSH的終端仿真程序,它能夠在Windows操作系統上遠程連接Linux服務器執行操作。

    B、Hadoop是一個用於處理大數據的分布式集群架構,支持在GNU/Linux系統以及Windows系統上進行安裝使用。

    C、VMware Workstation是一款虛擬計算機的軟件,用戶可以在單一的桌面上同時操作不同的操作系統。

    D、 SSH是一個軟件,專為遠程登錄會話和其他網絡服務提供安全性功能的軟件。

  6. 配置Hadoop集群時,下列哪個Hadoop配置文件需要進行修改?(多選) AC

    A、hadoop-env.sh B、profile C、core-site.xml D、ifcfg-eth0

  7. Hadoop2.x版本中的數據塊大小默認是多少? B
    A、 64M B、 128M C、 256M D、 512M

  8. 關於Secondary NameNode哪項是正確?C

    A、它是 NameNode 的熱備

    B、它對內存沒有要求

    C、它的目的是幫助 NameNode合並編輯日志,減少NameNode啟動時間

    D、SecondaryNameNode 應與NameNode部署到一個節點

  9. 客戶端上傳文件的時候哪項是正確的?(多選)BD

    A、數據經過 NameNode 傳遞給 DataNode

    B、客戶端端將文件切分為多個Block,依次上傳

    C、客戶端只上傳數據到一台 DataNode,然后由 NameNode 負責 Block 復制工作

    D、客戶端發起文件上傳請求,通過RPC與NameNode建立通訊。

  10. MapReduce適用於(D

    A、任意應用程序 

    B、任意可以在Windows Server 2008上的應用程序

    C、可以串行處理的應用程序 

    D、可以並行處理的應用程序

  11. 下面關於MapReduce模型中Map函數與Reduce函數的描述正確的是(A

    A、一個Map函數就是對一部分原始數據進行指定的操作。

    B、一個Map操作就是對每個Reduce所產生的一部分中間結果進行合並操作。

    C、Map與Map之間不是相互獨立的。

    D、Reducee與Reduce之間不是相互獨立的。

  12. MapReduce自定義排序規則需要重寫下列那項方法(B

    A、readFields()

    B、 compareTo()

    C、 map()

    D、reduce()

  13. Zookeeper啟動時會最多監聽幾個端口(B

    A、1

    B、2

    C、3

    D、4

  14. 下列哪些操作可以設置一個監聽器Watcher(D

    A、getData

    B、getChildren

    C、exists

    D、setData

  15. 下列關於zookeeper描述正確的是:(A

    A、無論客戶端連接的是哪個Zookeeper服務器,其看到的服務端數據模型都是一致的

    B、從同一個客戶端發起的事務請求,最終將會嚴格按照其發起順序被應用到zookeeper中

    C、在一個5個節點組成的Zookeeper集群中,如果同時有3台機器宕機,服務不受影響

    D、如果客戶端連接到Zookeeper集群中的那台機器突然宕機,客戶端會自動切換連接到集群其他機器

  16. 下列選項中那些是Hadoop2.x版本獨有的進程(C

    A、JobTracker 

    B、TaskTracker 

    C、NodeManager 

    D、NameNode

  17. 下列選項描述錯誤的是?A

    A、Hadoop HA即集群中包含Secondary NameNode作為備份節點存在。

    B、ResourceManager負責的是整個Yarn集群資源的監控、分配和管理工作

    C、NodeManager負責定時的向ResourceManager匯報所在節點的資源使用情況以及接收並處理來自ApplicationMaster的啟動停止容器(Container)的各種請求。

    D、初次啟動Hadoop HA集群時,需要將格式化文件系統后的目錄拷貝至另外一台NameNode節點上。

  18. Hive是建立在(C)之上的一個數據倉庫

    A、HDFS

    B、MapReduce

    C、Hadoop

    D、HBase

  19. Hive查詢語言和SQL的一個不同之處在於(C)操作

    A、Group by

    B、Join

    C、Partition

    D、Union

  20. Hive最重視的性能是可測量性、延展性、(B)和對於輸入格式的寬松匹配性

    A、較低恢復性

    B、容錯性

    C、快速查詢

    D、可處理大量數據

  21. 以下選項中,哪種類型間的轉換是被Hive查詢語言所支持的(D

    A、Double—Number

    B、BigInt—Double

    C、Int—BigInt

    D、String--Double

  22. 按粒度大小的順序,Hive數據被分為:數據庫、數據表、(C)、桶?

    A、元祖

    B、欄

    C、分區

    D、行

  23. 下面說法選項錯誤的是(多選)AD

    A、在一個Agent中,同一個source可以有多個channel

    B、在一個Agent中,同一個sink可以有多個channel

    C、在一個Agent中,同一個source只能多1個channel

    D、在一個Agent中,同一個sink只能有1個channel

  24. 下列選項參數是Sqoop指令的是?(多選)AD

    A、import

    B、output

    C、input

    D、export

  25. 下列語句描述錯誤的是(C

    A、可以通過CLI方式、Java API方式調用Sqoop

    B、Sqoop底層會將Sqoop命令轉換為MapReduce任務,並通過Sqoop連接器進行數據的導入導出操作。

    C、Sqoop是獨立的數據遷移工具,可以在任何系統上執行。

    D、如果在Hadoop分布式集群環境下,連接MySQL服務器參數不能是localhost或127.0.0.1。

判斷題

1、Cloudera CDH是需要付費使用的。X

2、JobTracker是HDFS重要角色。X

3、在Hadoop集群中,NameNode負責管理所有DataNode。√

4、在Hadoop1.x版本中,MapReduce程序是運行在Yarn集群之上。X

5、Hadoop是由Java語言開發的。√

6、Hadoop是Java語言開發的,因此在搭建Hadoop集群時,需要為集群安裝JDK環境變量。√

7、偽分布式模式下的Hadoop功能與完全分布式模式下的Hadoop功能相同。√

8、啟動Hadoop集群服務之前需要格式化文件系統。√

9、Hadoop存在多個副本,且默認備份數量是3。√

10、配置Hadoop集群只需要修改core-site.xml配置文件就可以。X

11、Secondary NameNode是NameNode的備份,可以有效解決Hadoop集群單點故障問題。X

12、NameNode負責管理元數據,客戶端每次讀寫請求時,都會從磁盤中讀取或寫入元數據信息並反饋給客戶端。。√

13、NameNode本地磁盤保存了數據塊的位置信息。X

14、Map階段處理數據時,是按照Key的哈希值與ReduceTask數量取模進行分區的規則。√

15、分區數量是ReduceTask的數量。√

16、在MapReduce程序中,必須開發Map和Reduce相應的業務代碼才能執行程序。X

17、Zookeeper對節點的Watch監聽通知是永久性的。X

18、Zookeeper集群宕機數超過集群數一半,則Zookeeper服務失效。√

19、Zookeeper可以作為文件存儲系統,因此可以將大規模數據文件存在該系統中。X

20、ResourceManager負責監控ApplicationMaster,並在ApplicationMaster運行失敗的時候重啟它,因此ResouceManager負責ApplicationMaster內部任務的容錯。X

21、NodeManager是每個節點上的資源和任務管理器。√

22、Hadoop HA是集群中啟動兩台或兩台以上機器充當NameNode,避免一台NameNode節點發生故障導致整個集群不可用的情況。√

23、Hadoop HA是兩台NameNode同時執行NameNode角色的工作。X

24、在Hadoop HA中,Zookeeper集群為每個NameNode都分配了一個故障恢復控制器,該控制器用於監控NameNode的健康狀態。√

25、Hive使用length()函數可以求出輸出的數量。X

26、再創建外部表的同時要加載數據文件,數據文件會移動到數據倉庫指定的目錄下。X

27、Hive是一款獨立的數據倉庫工具,因此在啟動前無需啟動任何服務。X

28、Hive默認不支持動態分區功能,需要手動設置動態分區參數開啟功能。√

29、Hive分區字段不能與已存在字段重復,且分區字段是一個虛擬的字段,它不存放任何數據,該數據來源於裝載分區表時所指定的數據文。√

30、Flume Agent是一個JVM進程,它承載着數據從外部源流向下一個目標的三個核心組件是Source、Channel和Sink。√

31、Taildir Source用於觀察指定的文件,可以實時監測到添加到每個文件的新行,如果文件正在寫入新行,則此采集器將重試采集它們以等待寫入完成。√

32、Flume采集方案的名稱、位置、以及sources、channels、sinks參數配置信息可以隨定義。X

33、在整個數據傳輸的過程中,Flume將流動的數據封裝到一個event(事件)中,它是Flume內部數據傳輸的基本單元。 √

34、Sqoop是關系型數據庫與Hadoop之間的數據橋梁,這個橋梁的重要組件是Sqoop連接器。√

35、Sqoop從Hive表導出MySQL表時,首先需要在MySQL中創建表結構。√

36、--target-dir參數是指定HDFS目標目錄地址,因此需要提前創建目標文件。X

填空題

1、大數據的4V特征包含____大量、多樣、高速、價值____

2、Hadoop三大組件包含___ HDFS、MapReduce、Yarn______。

3、Hadoop2.x版本中的HDFS是由____ NameNode、DataNode、Secondary NameNode___組成。

4、Hadoop發行版本分為____開源社區版、商業版______。

5、目前Apache Hadoop發布的版本主要有__ Hadoop1.x、Hadoop2.x、Hadoop3.x

1、Hadoop集群部署方式分別是__ 獨立模式、偽分布式模式、完全分布式模式

2、加載環境變量配置文件需要使用_ source /etc/profile_命令。

3、格式化HDFS集群命令是__ hadoop namenode -format___。

4、腳本一鍵啟動Hadoop集群服務命令是__start-all.sh_。

5、Hadoop默認開設HDFS文件系統端口號___50070____和監控Yarn集群端口號___8088___。

1、 ___NameNode___用於維護文件系統名稱並管理客戶端對文件的訪問,DataNode____存儲真實的數據塊。

2、 NameNode與DataNode通過___心跳監測____機制互相通信。

3、 NameNode以元數據形式維護着______fsimage、EditLog_文件。

1、在MapReduce中,Map______階段負責將任務分解,Reduce______階段將任務合並。

2、MapReduce工作流程分為分片、格式化數據源、執行MapTask、執行Shuffle過程、執行ReduceTask、寫入文件

3、Partitioner組件目的是______將key均勻分布在ReduceTask上_____。

1、Zookeeper集群主要有Leader、Follower、Observer_____三種角色。

2、Znode有兩種節點,分別是__永久節點、臨時節點___。

3、Zookeeper引入Watch_____機制實現分布式的通知功能。

4、System類中所提供的屬性和方法都是____的,想要引用這些屬性和方法,直接使用System類調用即可。

5、已知 sb 為 StringBuffer 的一個實例,且 sb.toString() 的值為 "abcde ", 則執行sb. reverse()后,sb.toString()的值為_____。

1、Yarn的核心組件包含___ResourceManager、NodeManager、ApplicationMaster_____。

2、ResourceManager內部包含了兩個組件,分別是調度器(Scheduler)應用程序管理器(Application Manager)_。

1、數據倉庫是面向__主題的、集成的、非易失的____和時變的數據集合,用於支持管理決策。

2、Hive默認元數據存儲在 Derby數據庫_____數據庫中。

3、Hive建表時設置分割字符命令______row format delimited fields terminated by char____

4、Hive查詢語句select ceil(2.34)輸出內容是___3___。

5、Hive創建桶表關鍵字_____clustered by,且Hive默認分桶數量是___-1____。

1、Flume分為兩個版本,分別是___Flume-og、Flume-ng___。

2、Flume的核心是把數據從數據源通過___數據采集器(Source)_收集過來,再將收集的數據通過___緩沖通道(Channel)匯集到指定的接收器(Sink)

3、Flume采用三層架構,分別為_____agent,collector和storage_____,每一層均可以水平擴展。

4、Flume的負載均衡接收器處理器支持使用_____round_robin(輪詢)和random(隨機)機制進行流量分配,其默認選擇機制為round_robin__。

1、Sqoop主要用於在Hadoop、關系型數據庫_之間進行傳輸數據。

2、Sqoop底層利用___MapReduce___技術以___批處理___方式加快了數據傳輸速度,並且具有較好的容錯性功能。

3、從數據庫導入HDFS時,指定以制表符作為字段分隔符參數是_________ --fields-terminated-by '\t'____。

簡答題

1、簡述大數據研究的意義。

發散型題目

2、簡述Hadoop版本區別。

Hadoop發行版本分為開源社區版和商業版,社區版是指由Apache軟件基金會維護的版本,是官方維護的版本體系。商業版Hadoop是指由第三方商業公司在社區版Hadoop基礎上進行了一些修改、整合以及各個服務組件兼容性測試而發行的版本,例如比較著名的有Cloudera公司的CDH版本。

1、簡述什么是SSH以及SSH協議解決的問題。

SSH為Secure Shell的縮寫,它是一種網絡安全協議,專為遠程登錄會話和其他網絡服務提供安全性的協議。通過使用SSH服務,可以把傳輸的數據進行加密,有效防止遠程管理過程中的信息泄露問題。

2、簡述Hadoop集群部署方式以及各方式使用場景。

1)獨立模式:又稱為單機模式,在該模式下,無需運行任何守護進程,所有的程序都在單個JVM上執行。獨立模式下調試Hadoop集群的MapReduce程序非常方便,所以一般情況下,該模式在學習或者開發階段調試使用。

(2)偽分布式模式:Hadoop程序的守護進程運行在一台節點上,通常使用偽分布式模式用來調試Hadoop分布式程序的代碼,以及程序執行是否正確,偽分布式模式是完全分布式模式的一個特例。

(3)完全分布式模式:Hadoop的守護進程分別運行在由多個主機搭建的集群上,不同節點擔任不同的角色,在實際工作應用開發中,通常使用該模式構建企業級Hadoop系統。

1、簡述HDFS上傳文件工作流程

詳情答案見3.2.2小節。

2、簡述NameNode管理分布式文件系統的命名空間。

在NameNode內部是以元數據的形式,維護着兩個文件,分別是FsImage鏡像文件和EditLog日志文件。其中,FsImage鏡像文件用於存儲整個文件系統命名空間的信息,EditLog日志文件用於持久化記錄文件系統元數據發生的變化。當NameNode啟動的時候,FsImage鏡像文件就會被加載到內存中,然后對內存里的數據執行記錄的操作,以確保內存所保留的數據處於最新的狀態,這樣就加快了元數據的讀取和更新操作。

1、簡述HDFS Block與MapReduce split之間的聯系。

Block:HDFS中最小的數據存儲單位,默認是128M;Split:MapReduce中最小的計算單元,默認與Block一一對應。

兩者的對應關系是任意的,可有用戶控制。

2、簡述Shuffle工作流程。

詳情答案見4.2.4小節

1、簡述Watch機制的特點。

一次性觸發、事件封裝、異步發送、先注冊再觸發

2、簡述Zookeeper集群選舉機制。

詳情答案見5.4.2小節

1、簡述Yarn集群的工作流程。

參考答案見6.2.2小節

2、簡述Hadoop HA集群的啟動步驟

(1)啟動集群各個節點的Zookeeper服務;

(2)啟動集群各個節點監控NameNode的管理日志的JournalNode;

(3)在node-01節點格式化NameNode,並將格式化后的目錄拷貝到node-02中;

(4)在node-01節點上格式化ZKFC;

(5)在node-01節點上啟動HDFS;

(6)在node-01節點上啟動YARN。

1、簡述Hive的特點是什么。

Hive是基於Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張數據庫表,並提供完整的SQL查詢功能,可以將SQL語句轉換為MapReduce任務進行運行。其優點是學習成本低,可以通過類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapReduce應用,十分適合數據倉庫的統計分析。

2、簡述Hive中內部表與外部表區別。

創建表階段:

外部表創建表的時候,不會移動數到數據倉庫目錄中(/user/hive/warehouse),只會記錄表數據存放的路徑,內部表會把數據復制或剪切到表的目錄下。

刪除表階段:

外部表在刪除表的時候只會刪除表的元數據信息不會刪除表數據,內部表刪除時會將元數據信息和表數據同時刪除

1、簡述Flume工作原理。

參考答案見8.1.2小節

1、簡述Sqoop導入與導出數據工作原理。

參考答案:

在導入數據之前,Sqoop使用JDBC檢查導入的數據表,檢索出表中的所有列以及列的SQL數據類型,並將這些SQL類型映射為Java數據類型,在轉換后的MapReduce應用中使用這些對應的Java類型來保存字段的值,Sqoop的代碼生成器使用這些信息來創建對應表的類,用於保存從表中抽取的記錄。

在導出數據之前,Sqoop會根據數據庫連接字符串來選擇一個導出方法,對於大部分系統來說,Sqoop會選擇JDBC。Sqoop會根據目標表的定義生成一個Java類,這個生成的類能夠從文本中解析出記錄數據,並能夠向表中插入類型合適的值,然后啟動一個MapReduce作業,從HDFS中讀取源數據文件,使用生成的類解析出記錄,並且執行選定的導出方法。

編程題

1、通過Java API實現上傳文件至HDFS中。

詳情答案見3.4.2小節

1、 現有數據文本文件number.txt,內容如下所示,請將該文本文件內容重復的數據刪除。

118569

118569

335816

123456

963807

963807

118555

118569

代碼參考4.4.2小節

2、現有一組數據,內容如下所示,請利用MapReduce將下列數據求出最大10個數,並倒序輸出。

10 3 8 7 6 5 1 2 9 4

11 12 17 14 15 20

19 18 13 16

代碼參考4.8小節

1、 利用Java API調用Zookeeper,實現創建節點、獲取節點、修改節點、判斷節點是否存在以及刪除節點。

代碼參考5.7.2小節

1、創建字段為id、name的用戶表,並且以性別gender為分區字段的分區表。

參考答案:

create table t_user (id int, name string) 
partitioned by (gender string) 
row format delimited fields terminated by ',';

1、利用Sqoop將test數據庫中的user表中id>5的用戶導入到HDFS中的/user目錄(user表字段:id,name)。

$ sqoop import \
--connect jdbc:mysql://hadoop01:3306/test \
--username root \
--password 123456 \
--target-dir /user \
--query 'SELECT id,name FROM user WHERE id>5 \
--num-mappers 1

2、利用Sqoop將test數據庫中的emp表導入Hive表hive.emp_test表中。

$ sqoop import \
--connect jdbc:mysql://hadoop01:3306/test \
--username root \
--password 123456 \
--table emp \
--hive-table hive_emp_test \
--create-hive-table \
--hive-import \
--num-mappers 1

image-20210627093518605


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM