精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Hadoop 2.0 Yarn代碼:心跳驅(qū)動(dòng)服務(wù)分析

大數(shù)據(jù) Hadoop
當(dāng)RM(ResourcesManager)和NM(NodeManager)陸續(xù)將所有模塊服務(wù)啟動(dòng),最后啟動(dòng)是NodeStatusUpdater,NodeStatusUpdater將用Hadoop RPC遠(yuǎn)程調(diào)用ResourcesTrackerService中的函數(shù),進(jìn)行資源是初始化等操作,為將要運(yùn)行的Job做好準(zhǔn)備。以下主要分析在Job提交之前 RM與NM在心跳的驅(qū)動(dòng)下操作。

主要涉及的java文件

hadoop-yarn-server-resourcemanager下的包

org.apache.hadoop.yarn.server.resourcemanager

ResourceTrackerService.java

org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo

FifoScheduler.java

org.apache.hadoop.yarn.server.resourcemanager.rmnode

RMNodeImpl.java

hadoop-yarn-server-nodemanager下的包

org.apache.hadoop.yarn.server.nodemanager

NodeStatusUpdaterImpl.java

2.代碼分析

各個(gè)服務(wù)代碼已經(jīng)啟動(dòng),NodeStatusUpdate啟動(dòng)后開始驅(qū)動(dòng)整個(gè)Hadoop運(yùn)行

1).NodeStatusUpdaterImpl(NodeManager端):

NodeStatusUpdaterImpl一經(jīng)被啟動(dòng),start()函數(shù)被調(diào)用,進(jìn)行Hadoop RPC服務(wù)端的初始化操作(調(diào)用getServer函數(shù)創(chuàng)建服務(wù)等等)。

start()函數(shù)主要依次調(diào)用registerWithRM()函數(shù)和startStatusUpdater()函數(shù)

registerWithRM()函數(shù)

設(shè)置必要配置信息,和安全認(rèn)證操作

利用Hadoop RPC遠(yuǎn)程調(diào)用RM端ResourcesTrackerService下的registerNodeManager()方法,詳細(xì)見后面ResourcesTrackerService下的registerNodeManager()代碼分析

startStatusUpdater()函數(shù)

創(chuàng)建一個(gè)線程,然后啟動(dòng),所有操作都在運(yùn)行while的循環(huán)中

設(shè)置、獲取和輸出必要配置信息,其中比較重要的調(diào)用getNodeStatus()方法,獲取本地Container和本地Node的狀態(tài),以供后面的nodeHeartbeat()方法使用

通過Hadoop RPC遠(yuǎn)程調(diào)用RM端ResourcesTrackerService下的nodeHeartbeat()函數(shù),用while循環(huán)以一定時(shí)間間隔向RM發(fā)送心跳信息,心跳操作見下面ResourcesTrackerService下nodeHeartbeat()函數(shù)

nodeHeartbeat()將返回給NM信息,根據(jù)返回的response,根據(jù)response返回的信息標(biāo)記不需要的Container和Application發(fā)送相應(yīng)的FINISH_CONTAINERS和FINISH_APPS給ContainerManager,進(jìn)行清理操作----詳細(xì)見后面的代碼分析

2).ResourceTrackerService(ResourcesManager端):

ResourceTrackerService開頭與NodeStatusUpdaterImpl相似,start()函數(shù)被調(diào)用,初始化Hadoop RPC服務(wù)端,等待遠(yuǎn)程來調(diào)用ResourceTrackerService中的函數(shù)

接上面的NodeStatusUpdaterImpl中對registerNodeManager()和nodeHeartbeat()的Hadoop RPC調(diào)用,詳細(xì)調(diào)用細(xì)節(jié)見下文

以下分成主要從兩個(gè)函數(shù)registerNodeManager()和nodeHeartbeat()開始分析,所以分成兩部分---

第一部分:

1).接前文ResourceTrackerService下的registerNodeManager()函數(shù)

首先獲取本地的NodeID,還有相應(yīng)的主機(jī)名、端口、請求資源信息。

進(jìn)行安全認(rèn)證等輔助操作,檢查NodeID所標(biāo)記的Node是否"有效".如果“無效”的話,立即返回

Node“有效”說明此Node可用,于是創(chuàng)建RMNode(new RMNodeImpl)來識(shí)別這個(gè)Node的狀態(tài)和監(jiān)測在這個(gè)Node上運(yùn)行的Container和Application

判斷其是否為新RMNode,如果是則向其發(fā)送RMNodeEventType.STARTED

如果不是新的RMNode,則發(fā)送RMNodeEventType.RECONNECTED到RMNode,重新連接Node,見附加代碼分析。

最后返回給調(diào)用方操作結(jié)果。

2).RMNodeImpl:當(dāng)接收RMNodeEventType.STARTED后(接1)),發(fā)生狀態(tài)轉(zhuǎn)移NodeState(NEW→RUNNING),Transition函數(shù)被調(diào)用

向調(diào)度器(FifoScheduler)發(fā)送NODE_ADDED。

判斷這個(gè)Node是否Inactive,如果在Inactive中則,則先將這個(gè)Node移除出Inactive,否則增加ActiveNodes的數(shù)目。

3).FifoScheduler:接受NODE_ADDED事件,調(diào)用addNode()函數(shù),向RM報(bào)告新添加的Node的狀態(tài)

addNode函數(shù)被調(diào)用,首先將接收到的RMNode的NodeID和其相應(yīng)新創(chuàng)建的SchedulerNode(包含對資源的各種操作)放在ConcurrentHashMap類型的node對象中。

再調(diào)用Resources下的addTo()函數(shù),累加Node的資源數(shù)量,來計(jì)算集群中擁有的資源數(shù)量

至此NM端的Node已經(jīng)添加到RM的管轄范圍下,NM成功注冊到RM

附加代碼分析

附加2).RMNodeImpl:當(dāng)RMNode接收RMNodeEventType.RECONNECTED(接1)),則保持當(dāng)前狀態(tài)不變(RUNNING或者UNHEALTHY),Transition函數(shù)被調(diào)用

首先向調(diào)度器(FifoScheduler)發(fā)送NODE_REMOVED事件,刪除當(dāng)前Node

然后重新連接操作,如果新連接的Node與上一次斷開的Node為同一個(gè),則直接向調(diào)度器發(fā)送NODE_ADDED事件,如果兩個(gè)Node不是同一個(gè),則更新關(guān)于Node的參數(shù),再將新的Node加入ConcurrentHashMap類型的node對象中(與前面FifoScheduler中的是同一個(gè))

最后向新的RMNode發(fā)送RMNodeEventType.STARTED

附加3).FifoScheduler:接到NODE_REMOVED事件,調(diào)用removeNode()函數(shù)

removeNode()函數(shù)中,先將此Node上的Container全部Kill掉,通過發(fā)送RMContainerEventType.KILL實(shí)現(xiàn),因?yàn)楝F(xiàn)在討論沒有Job運(yùn)行,所以沒有Container可以Kill

從nodes中移出此Node,最后計(jì)算集群資源,將相應(yīng)Node的資源數(shù)量從集群資源總量扣除,完畢

第二部分

1).接前文ResourceTrackerService下的nodeHeartbeat()函數(shù),各個(gè)NM已經(jīng)注冊到RM上,則各個(gè)NM開始調(diào)用這個(gè)函數(shù)向RM發(fā)送“心跳”保持聯(lián)系,另外這里討論的是未提交Job的情況下

獲取所需操作的參數(shù)變量,例如NodeStatus、NodeId等

驗(yàn)證發(fā)送這次“心跳的”NM是否已經(jīng)注冊到RM,若未注冊則返回給NM讓其進(jìn)行重新(reboot)注冊到RM中(實(shí)際上就是讓NodeStatusUpdater跳過此次循環(huán))。

驗(yàn)證這個(gè)NM是否“有效”(有效:主機(jī)隊(duì)列包含這個(gè)NM或者黑名單沒有這個(gè)NM),如“無效”,則發(fā)送RMNodeEventType.DECOMMISSION到NM相應(yīng)的RMNode中,并關(guān)閉(shutdown)這個(gè)NM---下接附加2)

驗(yàn)證這次“心跳”是否與上一個(gè)“心跳”重復(fù)或者是不是新的“心跳”,這個(gè)通過心跳ID實(shí)現(xiàn),如果重復(fù)則輸出心跳重復(fù)信息,并且直接返回,如果不是新的心跳,則向RMNode發(fā)送RMNodeEventType.REBOOTING,然后返回reboot,讓NM“重啟”(和上面一樣NodeStatusUpdater跳過當(dāng)此次循環(huán))---下接附加2)

設(shè)置新的“心跳”ID,獲取Container和Application的信息

向RMNode發(fā)送包含STATUS_UPDATE和Container、Application等信息的RMNodeStatusEvent,然后返回相應(yīng)設(shè)置好的response給調(diào)用者。

2).RMNodeImpl:RMNode接收到包含STATUS_UPDATE和Container、Application等信息的RMNodeStatusEvent,RMNodeImpl狀態(tài)遷移NodeState(RUNNING→UNHEALTHY或RUNNING→RUNNING),Transition函數(shù)被調(diào)用

首先從RMNodeStatusEvent獲得必要的變量,然后判斷相應(yīng)的Node的“健康”情況,如果出現(xiàn)問題,則向調(diào)度器NODE_REMOVED,則調(diào)度器將此NM從集群管理刪除(詳見第一部分 附加3)),然后發(fā)送NODE_UNUSABLE到NodeListManager,將其RMNode放到“unusable”的set集合當(dāng)中,此時(shí)RMNodeImpl的NodeState(RUNNING→UNHEALTHY)

如果“健康” 則順利運(yùn)行,獲取NM遠(yuǎn)程傳過來的關(guān)于Container的信息(是在NM端用Hadoop RPC調(diào)用nodeHeartbeat()時(shí)傳送過來的),

說明:

由于這個(gè)地方討論的時(shí)候,無Job提交過來,NM端無Container啟動(dòng),NM發(fā)送到RM的事件里面的裝有Container狀態(tài)的List為空,所以只傳送“心跳” 表明NM的活動(dòng)信息,并沒有實(shí)際處理,RM端也無Application處理,接受“心跳”只會(huì)向RMNode發(fā)送RMNodeCleanContainerEvent事件,清理可能互動(dòng)的Container(對應(yīng)的代碼見FifoScheduler下的containerLaunchedOnNode函數(shù))。若詳見處理情況的運(yùn)行狀態(tài),參見后面的文章:RM與NM代碼_心跳驅(qū)動(dòng)服務(wù)分析_2 Container的配置和分配(Job提交)一篇。此時(shí)RMNodeImpl的NodeState(RUNNING→RUNNING)

到這為止,RM-NM端的代碼已經(jīng)啟動(dòng)完成,RM和NM之間以一定的時(shí)間間隔用心跳交互信息,等待Job的提交

附加代碼分析

附加2)RMNodeImpl:當(dāng)RMNode接收RMNodeEventType.DECOMMISSION),發(fā)生狀態(tài)轉(zhuǎn)移NodeState(RUNNING→DECOMMISSIONED),Transition函數(shù)被調(diào)用,

將DECOMMISSIONED設(shè)置為finalState

當(dāng)接到RMNodeEventType.REBOOTING情況類似,最后將REBOOTING設(shè)置為finalState。

分析如下圖,其中白色線為第一部分,初始NM注冊到RM階段,黃色線為第二部分,NM發(fā)送“心跳”信息到RM階段

原文鏈接:http://www.cnblogs.com/biyeymyhjob/archive/2012/08/21/2648026.html

【編輯推薦】

 

責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2012-05-31 02:54:07

HadoopJava

2014-02-14 15:30:18

HadoopYARN

2012-05-28 09:23:40

JavaHadoopApache

2013-05-27 14:05:16

2018-07-31 14:24:02

HadoopYarn服務(wù)框架

2017-03-22 20:21:16

Hadoop框架分布式

2019-08-02 11:28:45

HadoopYARN調(diào)度系統(tǒng)

2013-01-21 13:22:56

IBMdW

2019-01-07 15:29:07

HadoopYarn架構(gòu)調(diào)度器

2013-05-28 09:12:59

Hadoop 2.0

2013-05-27 14:31:34

Hadoop 2.0

2013-11-27 09:21:18

YARNMapReduceHadoop

2013-04-28 10:01:28

HDInsightWindows AzuHadoop

2022-09-27 12:00:58

HadoopK8S開源

2015-07-06 10:06:57

網(wǎng)絡(luò)分析高級(jí)運(yùn)營分析

2013-05-27 15:12:49

Hadoop 2.0

2012-09-18 09:55:44

Hadoop 2.0

2015-07-08 09:19:56

HaaSHadoop即服務(wù)云端Hadoop

2013-10-30 09:13:35

微軟Hadoop AzurWindows Azu

2021-05-13 21:51:38

鴻蒙HarmonyOS應(yīng)用
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产伦久视频在线观看| 欧美三级韩国三级日本三斤| 国产精品v欧美精品∨日韩| 伊人国产在线观看| 免费国产自久久久久三四区久久| 波多野结衣黄色网址| 91在线免费看片| 国产ts在线观看| 亚洲第一av| 国产精品美日韩| 国产精品日韩二区| 一区二区乱子伦在线播放| 亚洲女同一区| 亚洲天堂影视av| 老女人性生活视频| 亚洲www啪成人一区二区| 亚洲黄一区二区三区| 欧美日韩一区二区视频在线 | 欧洲激情综合| 欧美精品一区二区在线观看| 国产精品成人v| 国产欧美一区二区三区久久人妖| 丁香桃色午夜亚洲一区二区三区| 玉足女爽爽91| 久久亚洲综合网| 国产精品伊人久久| 欧美资源在线| 在线综合+亚洲+欧美中文字幕| 狠狠爱成人网| 影音先锋男人资源在线| 国产免费福利视频| 精品一区91| 精品福利在线看| 永久域名在线精品| 五月激情四射婷婷| 亚洲av成人无码网天堂| 激情六月婷婷综合| 久久香蕉精品| 亚洲久草在线视频| 久久精品一区二区三区av| 久久69精品久久久久久久电影好| 卡一卡二卡三在线观看| 日韩在线麻豆| 亚洲黄色片网站| 一卡二卡三卡四卡五卡| 色综合久久久| 精品视频一区二区三区免费| 国产亚洲天堂网| 人狥杂交一区欧美二区| 亚洲福利一区二区三区| 99在线观看视频免费| 中中文字幕av在线| 亚洲毛片av在线| 中文字幕一区二区三区乱码| 天堂地址在线www| 久久精品欧美日韩精品| 欧美一区二区三区电影在线观看| 亚洲色偷精品一区二区三区| 91香蕉视频污| 久久综合九色综合网站| 爽爽视频在线观看| 国产拍揄自揄精品视频麻豆| 欧洲一区二区在线 | 成年女人免费视频| 国产精品亚洲欧美一级在线| 久久超碰99| 夜夜嗨av一区二区三区四季av| 成人性做爰片免费视频| 国产精品剧情一区二区在线观看 | 日韩精品一区在线观看| 中文字幕亚洲日本| 给我免费播放日韩视频| 亚洲精品狠狠操| 免费看黄色aaaaaa 片| 一区二区三区日本久久久| 亚洲香蕉成人av网站在线观看| 夫妇交换中文字幕| 小处雏高清一区二区三区| 久久成人一区二区| 日本三级2019| 日韩成人av影视| 91免费在线视频| 高h调教冰块play男男双性文| 成人高清视频在线| 日本一区二区三区免费看| 午夜激情视频在线观看| 亚洲在线一区二区三区| 久久无码高潮喷水| 日韩精品第二页| 精品乱码亚洲一区二区不卡| 国产精品揄拍100视频| 日韩激情在线| 国产综合在线看| 羞羞色院91蜜桃| 国产在线视视频有精品| 久久久久久a亚洲欧洲aⅴ| 天堂а√在线资源在线| 亚洲一本大道在线| 久草在在线视频| 国产一精品一av一免费爽爽| 亚洲黄色片网站| 亚洲国产精品一区二区久久hs| 黄色av日韩| 国产精品主播视频| 日本黄色三级视频| 国产精品久久久久久久久快鸭| 黄色大片中文字幕| 日日夜夜综合| 精品亚洲aⅴ在线观看| 国产美女久久久久久| 国产日韩1区| 91网站免费看| 成人免费在线电影| 亚洲午夜在线电影| 91亚洲精品久久久蜜桃借种| 天天躁日日躁狠狠躁欧美巨大小说 | 午夜欧美大片免费观看| 久久久999久久久| 成人免费毛片高清视频| 一本二本三本亚洲码| 天堂中文av在线资源库| 中文字幕色av一区二区三区| 一区二区三区中文免费| 亚洲最大色综合成人av| 老色鬼在线视频| 欧美一级xxx| 成年人深夜视频| 午夜时刻免费入口| 中文字幕日韩欧美精品高清在线| 日本在线观看天堂男亚洲| 性一交一乱一伧老太| 国产欧美日韩不卡| 熟女性饥渴一区二区三区| 超碰精品在线观看| 欧美人成在线视频| 国产精品久久久久久久成人午夜| 国产日韩影视精品| 国产日产欧美视频| 五月国产精品| 91av国产在线| 天天摸天天干天天操| 亚洲国产wwwccc36天堂| 99国产精品免费视频| 99国产精品一区二区| 国产精品免费观看在线| 国产福利在线| 在线观看日韩国产| 亚洲图片另类小说| 超碰最新在线| 高清乱码毛片入口| 日本国产在线观看| 欧美熟妇乱码在线一区| 久久精品国语| 久久国产欧美精品| 天堂中文av在线资源库| 精品一区精品二区| 久久久成人免费视频| 91在线看国产| 精品一区二区中文字幕| 国产高清在线看| 精品一区二区日韩| 亚洲免费av网| 少妇一级淫片免费放中国| missav|免费高清av在线看| 777a∨成人精品桃花网| 丰满少妇被猛烈进入一区二区| 国产一本一道久久香蕉| 97碰在线视频| 国产成人自拍网站| 日韩一二三区| 欧美激情亚洲国产| 成人午夜免费福利| 欧美日韩精品在线播放| 精品人妻无码一区二区三区换脸| 亚洲免费婷婷| 天堂资源在线亚洲视频| 91麻豆精品| 欧美精品成人在线| 精品欧美不卡一区二区在线观看| 欧美性感一区二区三区| 男人与禽猛交狂配| aaa国产一区| 亚洲 欧美 另类人妖| 91精品国产自产在线观看永久∴| 国产精品一区二区三区精品| 色吧亚洲日本| 色噜噜亚洲精品中文字幕| 国产美女永久免费| 岛国av一区二区| 久久精品在线观看视频| 成人午夜激情影院| 午夜免费一区二区| 亚洲欧美伊人| 欧美日韩亚洲在线| 国产精品亚洲欧美日韩一区在线| 69av在线视频| 国产三区视频在线观看| 精品亚洲一区二区| 国产又粗又长又大视频| 天天色天天操综合| 五月综合色婷婷| 久久综合中文字幕| 亚洲色图欧美自拍| 美女久久一区| 妞干网视频在线观看| 波多野结衣在线观看一区二区| 99久久无色码| 色猫猫成人app| 66m—66摸成人免费视频| h片在线免费观看| 亚洲欧美国产一区二区三区| 午夜精品一二三区| 欧美日韩一区小说| 在线观看日韩中文字幕| 中文字幕 在线观看| 一本大道av伊人久久综合| 亚洲欧美小视频| 久久精品欧美一区二区三区麻豆| 性xxxxxxxxx| 美女www一区二区| 国产精品免费观看久久| 亚洲高清av| 中文字幕色呦呦| 日韩一区二区在线免费| 鲁丝片一区二区三区| 岛国av一区| 亚洲free性xxxx护士hd| 日韩成人综合网| 国产精品99久久久久久www| 超碰高清在线| 欧美国产视频一区二区| aaa大片在线观看| 色琪琪综合男人的天堂aⅴ视频| 欧美日韩在线中文字幕| 日韩电影免费观看中文字幕 | 老司机精品久久| 日韩欧美不卡在线| 好看的av在线不卡观看| 一级特黄妇女高潮| 99精品在线免费在线观看| 色一情一乱一伦一区二区三区 | 免费国产成人看片在线| 99视频精品全部免费在线视频| 视频在线99re| 成人在线免费小视频| 日韩av在线电影观看| 欧美人妖在线| 色综合久久88色综合天天提莫| 国产精品探花在线观看| 日本最新一区二区三区视频观看| 国产一区99| 视频一区视频二区视频三区视频四区国产| 激情五月综合| 亚洲 国产 欧美一区| 97精品国产一区二区三区| 综合国产精品久久久| 在线看片不卡| 天堂8在线天堂资源bt| 一级片黄色录像| 久久久久国产精品麻豆ai换脸| 美女被到爽高潮视频| 久久久久久久网| 最新中文字幕av| 中文字幕在线不卡一区二区三区| 日韩在线不卡av| 一区二区激情小说| 国产成人无码一区二区三区在线| 狠狠色狠色综合曰曰| 亚洲熟女综合色一区二区三区| 色婷婷综合久久久久中文| 做爰无遮挡三级| 制服丝袜日韩国产| 亚洲第一大网站| 日韩精品免费看| 成人三级黄色免费网站| 精品国产一区av| 男女在线观看视频| 日韩av电影国产| 永久免费观看精品视频| 91久久大香伊蕉在人线| 久久香蕉网站| 水蜜桃亚洲精品| 欧美精品黄色| 中文字幕无码精品亚洲35| 青青草国产精品亚洲专区无| 黑人性生活视频| 97久久精品人人做人人爽50路| 特级西西www444人体聚色| 亚洲视频网在线直播| 国产成人无码精品亚洲| 欧美绝品在线观看成人午夜影视| 国产又粗又猛又黄| 欧美精品一区二区三区四区| 殴美一级特黄aaaaaa| 在线观看久久av| 日本三级韩国三级欧美三级| 日韩av片永久免费网站| 粉嫩av一区| 黄色成人在线网址| 欧美丰满少妇xxxbbb| 精品一区二区三区毛片| 动漫av一区二区三区| 欧美激情第8页| 久久精品国产精品国产精品污 | 日韩精品电影网站| 欧美激情日韩| 国产主播中文字幕| 成人av高清在线| 国产黑丝在线视频| 97色成人综合网站| 日本不卡久久| 伊人影院久久| 国产66精品久久久久999小说| 欧美日韩国产精品综合 | 特色特色大片在线| 乱码第一页成人| 99riav国产精品视频| 国产精品电影一区二区三区| 亚洲高清毛片一区二区| 日韩欧美国产麻豆| 黄色动漫在线| 国产成人中文字幕| 日韩影视在线观看| 国产成人一区二区三区别| 久久99热狠狠色一区二区| 日韩人妻一区二区三区| 亚洲www啪成人一区二区麻豆| av男人天堂网| 日韩中文字幕网址| 四虎4545www精品视频| 久久精品国产精品青草色艺| 国产一区视频在线观看免费| 亚洲色图欧美自拍| 国产精品天美传媒| 午夜视频网站在线观看| 亚洲精品日韩在线| 色资源二区在线视频| 国产伦精品一区二区三区| 欧美在线看片| 999热精品视频| 日韩美女精品在线| 91九色蝌蚪91por成人| 中文字幕一区二区精品| 素人啪啪色综合| 亚洲午夜在线观看| 麻豆精品视频在线| 国产一区二区三区视频播放| 欧美三级中文字幕| aaa在线观看| 国产日韩欧美91| 91成人免费| 97人人香蕉| 欧美一区二区三区网站| 在线观看91视频| 成人高潮成人免费观看| 国产精品免费观看在线| 欧美成人激情| 日韩视频在线观看一区二区三区| 亚洲视频一区在线观看| 精品国产99久久久久久宅男i| 欧美理论电影在线观看| 亚洲高清在线一区| 亚洲国产精品无码av| 99久久99久久免费精品蜜臀| 91精品国产综合久久久蜜臀九色| 亚洲另类欧美自拍| 亚洲天堂一区二区| 亚洲最新免费视频| 国产精品亚洲专一区二区三区| 国产第100页| 亚洲精品网站在线播放gif| 国产成人福利夜色影视| 中文字幕av久久| gogo大胆日本视频一区| 麻豆精品久久久久久久99蜜桃| 这里只有精品在线观看| 国产一区二区三区精品在线观看| 免费人成自慰网站| 久久亚洲精精品中文字幕早川悠里 | 欧美裸体在线版观看完整版| 看看黄色一级片| 亚洲国产视频a| 福利视频在线导航| 亚洲自拍偷拍色图| 久久精品一区二区国产| 国产精品免费在线视频| 精品伦理精品一区| 成人av集中营| 日韩欧美精品免费| 国产亚洲人成网站| 精品黑人一区二区三区在线观看 | 一本色道久久88亚洲精品综合| 成人做爰69片免费看网站| 日本免费精品视频| 欧美精品性视频| 国产一区二区三区电影在线观看| 在线免费黄色网| 欧美日韩性视频| 丝袜美腿av在线| 日本高清不卡一区二区三|