下面試題是摘自互聯網的基礎上自己加了選項說明解釋便於自己以后看時方便節省時間
1. HBase來源於哪篇博文? C
A The Google File System
B MapReduce
C BigTable
D Chubby
2. 以下對HBase的描寫敘述哪些是正確的? B、C、D
A 不是開源的
B 是面向列的
C 是分布式的
D 是一種NoSQL數據庫
3. HBase依靠()存儲底層數據 A
A HDFS
B Hadoop
C Memory
D MapReduce
4. HBase依賴()提供消息通信機制 A
A Zookeeper
B Chubby
C RPC
D Socket
5. HBase依賴()提供強大的計算能力 D
A Zookeeper
B Chubby
C RPC
D MapReduce
6. MapReduce與HBase的關系,哪些描寫敘述是正確的? B、C
A 兩者不可或缺。MapReduce是HBase能夠正常執行的保證
B 兩者不是強關聯關系,沒有MapReduce,HBase能夠正常執行
C MapReduce能夠直接訪問HBase
D 它們之間沒有不論什么關系
7. 以下哪些選項正確描寫敘述了HBase的特性? A、B、C、D
A 高可靠性
B 高性能
C 面向列
D可伸縮
8. 以下與Zookeeper類似的框架是?D
A Protobuf
B Java
C Kafka
(Kafka是一個高吞吐量分布式消息系統。linkedin開源的kafka。 Kafka就跟這個名字一樣。設計很獨特。首先。kafka的開發人員們覺得不須要在內存里緩存什么數據。操作系統的文件緩存已經足夠完好和強大,僅僅要你不搞隨機寫,順序讀寫的性能是很高效的。kafka的數據僅僅會順序append。數據的刪除策略是累積到一定程度或者超過一定時間再刪除。
Kafka還有一個獨特的地方是將消費者信息保存在client而不是MQserver。這樣server就不用記錄消息的投遞過程,每一個client都自己知道自己下一次應該從什么地方什么位置讀取消息。消息的投遞過程也是採用client主動pull的模型,這樣大大減輕了server的負擔。Kafka還強調降低數據的序列化和拷貝開銷,它會將一些消息組織成Message Set做批量存儲和發送,而且client在pull數據的時候。盡量以zero-copy的方式傳輸。利用sendfile(相應java里的 FileChannel.transferTo/transferFrom)這種高級IO函數來降低拷貝開銷。可見。kafka是一個精心設計,特定於某些應用的MQ系統,這種偏向特定領域的MQ系統我預計會越來越多,垂直化的產品策略值的考慮)
D Chubby
(MapReduce 非常多人已經知道了,但關於Chubyy似乎熟悉它的就非常有限。這倒是不奇怪。由於MapReduce是一個針對開發者的 ProgrammingModel,自然會有非常多人去學習它,而Chubby很多其它的是一種為了實現MapReduce或者Bigtable而構建的內部的 工具,對於開發者來說基本上是透明的。
Chubby首先是一個分布式的文件系統。Chubby可以提供機制使得client可以在Chubby service上創建文件和運行一些文件的基本操作。說它是分布式的文件系統,是由於一個Chubby cell是一個分布式的系統。一般包括了5台機器,整個文件系統是部署在這5台機器上的。
可是,從更高一點的語義層面上,Chubby是一個 lock service。一個針對松耦合的分布式系統的lock service。所謂lock service,就是這個service可以提供開發者經經常使用的“鎖”,“解鎖”功能。通過Chubby。一個分布式系統中的上千個client都可以 對於某項資源進行“加鎖”,“解鎖”。
那么,Chubby是如何實現這種“鎖”功能的?就是通過文件。
Chubby中的“鎖”就是文件。在上例 中。創建文件事實上就是進行“加鎖”操作,創建文件成功的那個server事實上就是搶占到了“鎖”。用戶通過打開、關閉和讀取文件。獲取共享鎖或者獨占鎖; 而且通過通信機制,向用戶發送更新信息。
綜上所述。Chubby是一個lock service。通過這個lock service能夠解決分布式中的一致性問題。而這個lock service的實現是一個分布式的文件系統。
)
9. 以下與HDFS類似的框架是?C
A NTFS
B FAT32
C GFS(也是分布式文件系統,谷歌自己的分布式文件系統)
D EXT3
10. 以下哪些概念是HBase框架中使用的?A、C
A HDFS
B GridFS
C Zookeeper
D EXT3
第二部分:HBase核心知識點(對於Hbase實現核心LSM,會在下篇文章介紹)
11. LSM含義是?A
A 日志結構合並樹(Log-Structured Merge Tree)
B 二叉樹
C 平衡二叉樹
D 長平衡二叉樹
12. 以下對LSM結構描寫敘述正確的是? A、C
A 順序存儲
B 直接寫硬盤
C 須要將數據Flush到磁盤
D 是一種搜索平衡樹
13. LSM更能保證哪種操作的性能?B
A 讀
B 寫
C 隨機讀
D 合並
14. LSM的讀操作和寫操作是獨立的?A
A 是。
C LSM並不區分讀和寫
D LSM中讀寫是同一種操作
15. LSM結構的數據首先存儲在()。 B
A 硬盤上
B 內存中
C 磁盤陣列中
D 閃存中
16 HFile數據格式中的Data字段用於()。A
A 存儲實際的KeyValue數據
B 存儲數據的起點
C 指定字段的長度
D 存儲數據塊的起點
17 HFile數據格式中的MetaIndex字段用於()。D
A Meta塊的長度
B Meta塊的結束點
C Meta塊數據內容
D Meta塊的起始點
18 HFile數據格式中的Magic字段用於()。A
A 存儲隨機數,防止數據損壞
B 存儲數據的起點
C 存儲數據塊的起點
D 指定字段的長度
19 HFile數據格式中的KeyValue數據格式,下列選項描寫敘述正確的是()。A、D
A 是byte[]數組
B 沒有固定的結構
C 數據的大小是定長的
D 有固定的結構
20 HFile數據格式中的KeyValue數據格式中Value部分是()。C
A 擁有復雜結構的字符串
B 字符串
C 二進制數據
D 壓縮數據
第三部分:HBase高級應用介紹
31 HBase中的批量載入底層使用()實現。A
A MapReduce
B Hive
C Coprocessor
D Bloom Filter
32. HBase性能優化包括以下的哪些選項?A、B、C、D
A 讀優化
B 寫優化
C 配置優化
D JVM優化
33. Rowkey設計的原則,下列哪些選項的描寫敘述是正確的?A、B、C
A 盡量保證越短越好
B 能夠使用漢字
C 能夠使用字符串
D 本身是無序的
34. HBase構建二級索引的實現方式有哪些? A、B
A MapReduce
B Coprocessor
(HBase在0.92之后引入了協處理器(coprocessors),實現一些激動人心的新特性:可以輕易建立二次索引、復雜過濾器(謂詞下推)以及訪問控制等)
C Bloom Filter
D Filter
35. 關於HBase二級索引的描寫敘述。哪些是正確的?A、B
A 核心是倒排表
B 二級索引概念是相應Rowkey這個“一級”索引
C 二級索引使用平衡二叉樹
D 二級索引使用LSM結構
36. 下列關於Bloom Filter的描寫敘述正確的是?A、C
A 是一個非常長的二進制向量和一系列隨機映射函數
B 沒有誤算率
C 有一定的誤算率
D 能夠在Bloom Filter中刪除元素
第四部分:HBase安裝、部署、啟動
37. HBase官方版本號能夠安裝在什么操作系統上?A、B、C
A CentOS
B Ubuntu
C RedHat
D Windows
38. HBase虛擬分布式模式須要()個節點?A
A 1
B 2
C 3
D 最少3個
39. HBase分布式模式最好須要()個節點?C
A 1
B 2
C 3
D 最少
40. 下列哪些選項是安裝HBase前所必須安裝的?A、B
A 操作系統
B JDK
C Shell Script
D Java Code
41. 解壓.tar.gz結尾的HBase壓縮包使用的Linux命令是?A
A tar -zxvf
B tar -zx
C tar -s
D tar -nf