利剑无意之面试题(一)
- 下列哪項(xiàng)不是zookeeper的應(yīng)用場景【D】
?
? ?A 服務(wù)器節(jié)點(diǎn)動(dòng)態(tài)上下線? ? ?B統(tǒng)一配置管理? ? ? C負(fù)載均衡? ? ? D實(shí)時(shí)數(shù)據(jù)處理
- 下列哪個(gè)不是hbase的Hmaster的功能【D】
? A處理RegionServer故障轉(zhuǎn)移
? B處理元數(shù)據(jù)的變更
? C在空閑時(shí)間進(jìn)行數(shù)據(jù)的負(fù)載均衡
? D負(fù)責(zé)存儲(chǔ)HBase的實(shí)際數(shù)據(jù)
- 簡述你對(duì)zookeeper的理解
zk是一個(gè)分布式,開源的分布式應(yīng)用程序的協(xié)調(diào)服務(wù),提供的服務(wù)有:配置維護(hù),域名服務(wù),分布式同步,租服務(wù)等。
zk是以PAXOS為基礎(chǔ)的,paxos是一個(gè)基于消息傳遞的一致性算法。
zk的基本運(yùn)轉(zhuǎn)流程:
1、選舉Leader
2、同步數(shù)據(jù)
3、選舉Leader過程中算法有很多,但要達(dá)到的選舉標(biāo)準(zhǔn)是一致的。
4、leader要具有最高的執(zhí)行ID,類似root權(quán)限
5、集群中大多數(shù)的機(jī)器得到響應(yīng)后并接受選出的Leader
- 簡述zookeeper的znode的4種節(jié)點(diǎn)類型
?
四種節(jié)點(diǎn)類型:
1、持久化節(jié)點(diǎn)
2、持久化排序節(jié)點(diǎn)
3、臨時(shí)節(jié)點(diǎn)
4、臨時(shí)排序節(jié)點(diǎn)
持久化指:節(jié)點(diǎn)創(chuàng)建后會(huì)被持久化,只有主動(dòng)調(diào)用delete方法的時(shí)候才可以刪除節(jié)點(diǎn)
臨時(shí)節(jié)點(diǎn):節(jié)點(diǎn)創(chuàng)建后在創(chuàng)建者超時(shí)連接或失去連接的時(shí)候,節(jié)點(diǎn)會(huì)被刪除。臨時(shí)節(jié)點(diǎn)下不存在子節(jié)點(diǎn)
排序節(jié)點(diǎn):創(chuàng)建的節(jié)點(diǎn)名稱后自動(dòng)添加序號(hào)。如node-1
- 簡述hbase的特點(diǎn)
?
高可靠性
高性能
面向列
可伸縮
實(shí)時(shí)讀寫
數(shù)據(jù)量大
速度快
- 簡述hbase中zookeeper的3個(gè)作用
?
保證任何時(shí)候集群中有且僅有一臺(tái)active的master
存儲(chǔ)所有region的尋址入口
存儲(chǔ)相關(guān)表的schema數(shù)據(jù)
- 簡述hbase讀取數(shù)據(jù)的流程
?
讀流程:
1、client向zk發(fā)起請求
2、在zk中拿到metadata的存儲(chǔ)節(jié)點(diǎn)
3、去存儲(chǔ)metadata的節(jié)點(diǎn)上獲取region 的所在位置
4、訪問對(duì)應(yīng)的region獲取數(shù)據(jù)
5、先在memestore中查詢數(shù)據(jù),若存在,直接返回,
6、若不存在,向緩存blockcache中查詢數(shù)據(jù),若存在,則返回
7、若不存在,則向硬盤中查找數(shù)據(jù)。并將數(shù)據(jù)寫在緩存(blockcache)中,以便下次的查詢
8、返回結(jié)果給client
- 為什么要設(shè)thbase的rowkey ?
?
1、讓數(shù)據(jù)均勻的分布于所有的region中,在一定程度上防止數(shù)據(jù)傾斜。
2、記住rowkey,便于以后取出相應(yīng)rowkey的數(shù)據(jù)
?
- 簡述kafka是如何實(shí)現(xiàn)消息的廣播與單播的
?
Consumer Group (CG),即消費(fèi)者組,是kafka用來實(shí)現(xiàn)一個(gè)topic消息的廣播(發(fā)給所有的consumer)和單播(發(fā)給任意一個(gè)consumer)的手段。一個(gè)topic可以有多個(gè)partition,也可以對(duì)應(yīng)多個(gè)CG。topic的消息會(huì)復(fù)制(不是真的復(fù)制,是概念上的)到所有的CG,但每個(gè)partition只會(huì)把消息發(fā)給該CG中的一個(gè)consumer。如果需要實(shí)現(xiàn)廣播,只要每個(gè)consumer有一個(gè)獨(dú)立的CG就可以了。要實(shí)現(xiàn)單播只要所有的consumer在同一個(gè)CG。用CG還可以將consumer進(jìn)行自由的分組而不需要多次發(fā)送消息到不同的topic
- kafka的partition有什么用處
?
分區(qū):
1、增強(qiáng)擴(kuò)展能力,讓其可以處理任意多的數(shù)據(jù)
2、作為并行單元,提高并行能力
總結(jié)
以上是生活随笔為你收集整理的利剑无意之面试题(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利剑无意之scala小考核
- 下一篇: 利剑无意之面试题(二)