一船响、大數(shù)據(jù)技術(shù)體系
大數(shù)據(jù)應(yīng)用領(lǐng)域
互聯(lián)網(wǎng)領(lǐng)域:搜索引擎、推薦系統(tǒng)、廣告系統(tǒng)
電商領(lǐng)域:用戶(hù)畫(huà)像见间、推薦系統(tǒng)聊闯、用戶(hù)行為分析
醫(yī)療領(lǐng)域:流行病預(yù)測(cè)、病情分析
視頻領(lǐng)域:用戶(hù)標(biāo)簽系統(tǒng)米诉、視頻分析菱蔬、廣告系統(tǒng)
金融領(lǐng)域:風(fēng)控系統(tǒng)、欺詐分析
二史侣、如何學(xué)習(xí)大數(shù)據(jù)(老師建議)
1.良好的自主學(xué)習(xí)能力和動(dòng)手能力
2.系統(tǒng)了解大數(shù)據(jù)生態(tài)系統(tǒng)技術(shù)框架
3.找到學(xué)習(xí)切入點(diǎn)拴泌,不斷拓展知識(shí)的廣度(大數(shù)據(jù)平臺(tái)開(kāi)發(fā)、數(shù)據(jù)分析)
4.抓住一個(gè)技術(shù)方向惊橱,不斷深入研究蚪腐,增加知識(shí)結(jié)構(gòu)的深度
5.主動(dòng)學(xué)習(xí)探索新知識(shí)
6.定期知識(shí)梳理
三、大數(shù)據(jù)必備技能(重點(diǎn))
四税朴、大數(shù)據(jù)就業(yè)方向
1削茁、大數(shù)據(jù)分析工程師
2、大數(shù)據(jù)平臺(tái)開(kāi)發(fā)工程師
3掉房、大數(shù)據(jù)運(yùn)維工程師
4茧跋、大數(shù)據(jù)算法工程師
5、大數(shù)據(jù)內(nèi)核開(kāi)發(fā)工程師
五卓囚、Zookeeper設(shè)計(jì)原理
1瘾杭、分布式系統(tǒng)概念:是一個(gè)硬件或軟件組件分布在不同的網(wǎng)絡(luò)計(jì)算機(jī)上,彼此之間通過(guò)消息傳遞進(jìn)行通信和協(xié)調(diào)的系統(tǒng)哪亿≈嗨福《分布式系統(tǒng)概念與設(shè)計(jì)》
2、分布式特點(diǎn):分布性蝇棉、對(duì)等性讨阻、并發(fā)性篡殷、缺乏全局時(shí)鐘、故障總是會(huì)發(fā)生
3奇瘦、為什么選擇Zookeeper耳标? 開(kāi)源免費(fèi)次坡、高效、可靠的解決數(shù)據(jù)一致性問(wèn)題宋距、簡(jiǎn)單易用乡革、工業(yè)界大型分布式系統(tǒng)廣泛應(yīng)用摊腋。
4兴蒸、Zookeeper 概念:一個(gè)開(kāi)源的針對(duì)大型分布式系統(tǒng)的可靠協(xié)調(diào)系統(tǒng)橙凳。
提供的功能包括:發(fā)布/訂閱笑撞,分布式協(xié)調(diào)/通知茴肥,配置管理瓤狐,集群管理,主從協(xié)調(diào)嗓节,分布式鎖等拦宣。
5恢着、Zookeeper特性:最終一致性财破、順序性左痢、可靠性、實(shí)時(shí)性略步、原子性趟薄、單一視圖
6.Zookeeper的架構(gòu)
注意:如果leader掛掉了會(huì)從follwer里面選取恩够,不會(huì)從觀察者(Observer)中選取
7.Zookeeper寫(xiě)入
(1)數(shù)據(jù)寫(xiě)入最終一致性核心算法:ZAB算法
(2)Leader負(fù)責(zé)處理寫(xiě)事務(wù)請(qǐng)求(收到半數(shù)以上的Follwer的請(qǐng)求蜂桶,提交給Follwer扑媚,Leader會(huì)自身也提交請(qǐng)求)
8.Zookeeper選舉
服務(wù)器四種狀態(tài):looking/leading/follwing/observer
9.Znode節(jié)點(diǎn)類(lèi)型:不允許在臨時(shí)節(jié)點(diǎn)下創(chuàng)建
Znode版本號(hào)倒槐,初始為0每次操作一次+1.
悲觀鎖一般解決并發(fā)問(wèn)題导犹,要求對(duì)數(shù)據(jù)從頭到尾都加鎖谎痢。排他性
樂(lè)觀鎖一般用于并發(fā)不大,數(shù)據(jù)沖突不強(qiáng)烈的票从。事務(wù)請(qǐng)求峰鄙,同時(shí)并發(fā)會(huì)回滾操作太雨。
六吩翻、重要概念解答(老師解答)
1、心跳的意思是狭瞎,從節(jié)點(diǎn)周期性的向leader發(fā)送消息熊锭,比如2秒鐘發(fā)送一次消息,這種有規(guī)律的通信就叫做心跳
2精绎、znode是zookeeper中的一個(gè)數(shù)據(jù)節(jié)點(diǎn)捺典,znode下還可以創(chuàng)建子znode从祝,可以理解為文件夾的構(gòu)造牍陌,一個(gè)文件夾下可以有子文件夾或者子文件
3毒涧、整個(gè)集群會(huì)選舉出一個(gè)leader贝室,這個(gè)leader負(fù)責(zé)處理客戶(hù)端的事務(wù)請(qǐng)求,事務(wù)請(qǐng)求包括znode的創(chuàng)建捡偏、修改银伟、刪除等彤避,follower負(fù)責(zé)處理客戶(hù)端的讀請(qǐng)求夯辖。
4蒿褂、維護(hù)Znode:當(dāng)集群中的任何一個(gè)follower節(jié)點(diǎn)接收到客戶(hù)端的事務(wù)請(qǐng)求尖阔,都會(huì)轉(zhuǎn)發(fā)給leader介却,也就是說(shuō)整個(gè)集群只有l(wèi)eader可以處理事務(wù)請(qǐng)求齿坷,其他角色的節(jié)點(diǎn)都不能處理永淌,當(dāng)leader處理事務(wù)請(qǐng)求的時(shí)候佩耳,就要向整個(gè)集群廣播一個(gè)提議干厚,這個(gè)提議的意思就是告訴follower你們要?jiǎng)?chuàng)建/修改/刪除一個(gè)znode,然后follower接收到leader的提議之后所坯,就會(huì)做相應(yīng)的操作芹助,操作完成告訴leader完成了状土。
當(dāng)leader接收到集群中的大多數(shù)follower的成功操作的回復(fù)之后伺糠,這里的大多數(shù)指的是超過(guò)集群機(jī)器數(shù)量的一半。
當(dāng)收到大多數(shù)follower的回復(fù)之后彼乌,leader就認(rèn)為這次事務(wù)被成功處理了,然后再向集群通知所有的follower提交事務(wù)渊迁,最后會(huì)返回給客戶(hù)端一個(gè)事務(wù)被成功處理的狀態(tài)琉朽。
如果有落后的follower,這些落后的follower也會(huì)從leader同步狀態(tài)墅垮,保持與leader的狀態(tài)一致。
七抬伺、Zookeeper安裝配置常見(jiàn)問(wèn)題及解決方法
問(wèn)題一如下圖:
通過(guò)ssh-copy-id命令將node01這臺(tái)機(jī)器root用戶(hù)的公鑰文件(id_rsa.pub)文件內(nèi)容拷貝到node02和node03兩臺(tái)機(jī)器時(shí)報(bào)錯(cuò)
問(wèn)題分析:路徑錯(cuò)誤
scp?-r?/home/hadoop/apps/zookeeper-3.4.10?hadoop@node02:/home/hadoop/apps
問(wèn)題解決:按照最新安裝文檔14步驟操作
問(wèn)題二如下圖:
解決辦法:要在所有機(jī)器的/etc/hosts中配置ip和主機(jī)名稱(chēng)的映射關(guān)系:如下
問(wèn)題三如下圖:
問(wèn)題分析:配置的root用戶(hù)的免密碼登錄若河,然后使用的hadoop的用戶(hù)拷貝,導(dǎo)致提示輸入免密
解決方法:如果用hadoop用戶(hù)拷貝拉鹃,要配置hadoop用戶(hù)的ssh免密碼登錄膏燕。配置root免密登錄不代表所有用戶(hù)都可以免密碼登錄煌寇。
問(wèn)題四如下圖:
問(wèn)題分析:配置好后使用root用戶(hù)啟動(dòng)成功了zookeeper逾雄,導(dǎo)致hadoop用戶(hù)無(wú)權(quán)限啟動(dòng)鸦泳。
解決辦法:用root用戶(hù)直接去data目錄下刪除掉那個(gè)pid文件用hadoop用戶(hù)啟動(dòng)就好了做鹰。