轉自:http://blog.csdn.net/lifuxiangcaohui/article/details/39961643java
如下試題是摘自互聯網的基礎上本身加了選項說明解釋便於本身之後看時方便節省時間
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另外一個獨特的地方是將消費者信息保存在客戶端而不是MQ服務器,這樣服務器就不用記錄消息的投遞過程,每一個客戶端都本身知道本身下一次應該從什麼地方什麼位置讀取消息,消息的投遞過程也是採用客戶端主動pull的模型,這樣大大減輕了服務器的負擔。Kafka還強調減小數據的序列化和拷貝開銷,它會將一些消息組織成Message Set作批量存儲和發送,而且客戶端在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 是。
B 否。
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