日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spark 源码分析之十八 -- Spark存储体系剖析

發布時間:2025/3/16 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spark 源码分析之十八 -- Spark存储体系剖析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本篇文章主要剖析BlockManager相關的類以及總結Spark底層存儲體系。

總述

先看 BlockManager相關類之間的關系如下:

?

我們從NettyRpcEnv 開始,做一下簡單說明。

NettyRpcEnv是Spark 的默認的RpcEnv實現,它提供了個Spark 集群各個節點的底層通信環境,可以參照文章?spark 源碼分析之十二--Spark RPC剖析之Spark RPC總結?做深入了解。

MemoryManager 主要負責Spark內存管理,可以參照?spark 源碼分析之十五 -- Spark內存管理剖析做深入了解。

MemoryStore 主要負責Spark單節點的內存存儲,可以參照?spark 源碼分析之十六 -- Spark內存存儲剖析?做深入了解。

DiskStore 主要負責Spark單節點的磁盤存儲,可以參照?spark 源碼分析之十七 -- Spark磁盤存儲剖析?做深入了解。

SecurityManager 主要負責底層通信的安全認證。

BlockManagerMaster 主要負責在executor端和driver的通信,封裝了 driver的RpcEndpointRef。

NettyBlockTransferService 使用netty來獲取一組數據塊。

MapOutputTracker 是一個跟蹤 stage 的map 輸出位置的類,driver 和 executor 有對應的實現,分別是 MapOutputTrackerMaster 和 MapOutputTrackerWorker。

ShuffleManager在SparkEnv中初始化,它在driver端和executor端都有,負責driver端生成shuffle以及executor的數據讀寫。

BlockManager 是Spark存儲體系里面的核心類,它運行在每一個節點上(drievr或executor),提供寫或讀本地或遠程的block到各種各樣的存儲介質中,包括磁盤、堆內內存、堆外內存。?

?

下面我們剖析一下之前沒有剖析過,圖中有的類:

SecurityManager

概述

類說明如下:

Spark class responsible for security. In general this class should be instantiated by the SparkEnv and most components should access it from that.
There are some cases where the SparkEnv hasn't been initialized yet and this class must be instantiated directly.
This class implements all of the configuration related to security features described in the "Security" document.
Please refer to that document for specific features implemented here.

?

這個類主要就是負責Spark的安全的。它是由SparkEnv初始化的。

類結構

其結構如下:

成員變量

WILDCARD_ACL:常量為*,表示允許所有的組或用戶擁有查看或修改的權限。

authOn:表示網絡傳輸是否啟用安全,由參數?spark.authenticate控制,默認為 false。

aclsOn:表示,由參數?spark.acls.enable 或?spark.ui.acls.enable 控制,默認為 false。

adminAcls:管理員權限,由 spark.admin.acls 參數控制,默認為空字符串。

adminAclsGroups:管理員所在組權限,由?spark.admin.acls.groups 參數控制,默認為空字符串。

viewAcls:查看控制訪問列表用戶。

viewAclsGroups:查看控制訪問列表用戶組。

modifyAcls:修改控制訪問列表用戶。

modifyAclsGroups:修改控制訪問列表用戶組。

defaultAclUsers:默認控制訪問列表用戶。由user.name 參數和?SPARK_USER環境變量一起設置。

secretKey:安全密鑰。

hadoopConf:hadoop的配置對象。

defaultSSLOptions:默認安全選項,如下:

其中SSLOption的parse 方法如下,主要用于一些安全配置的加載:

defaultSSLOptions跟getSSLOptions方法搭配使用:

核心方法

1. 設置獲取?adminAcls、viewAclsGroups、modifyAcls、modifyAclsGroups變量的方法,比較簡單,不再說明。

2. 檢查UI查看的權限以及修改權限:

3. 獲取安全密鑰:

4. 獲取安全用戶:

5. 初始化安全:

?

總結

這個類主要是用于Spark安全的,主要包含了權限的設置和獲取的方法,密鑰的獲取、安全用戶的獲取、權限驗證等功能。

下面來看一下BlockManagerMaster類。

BlockManagerMaster

概述

BlockManagerMaster 這個類是對 driver的 EndpointRef 的包裝,可以說是 driver EndpointRef的一個代理類,在請求訪問driver的時候,調用driver的EndpointRef的對應方法,并處理其返回。

類結構?

其類結構如下:

主要是一些通過driver獲取的節點或block、或BlockManager信息的功能函數。

成員變量

driverEndpoint是一個EndpointRef 對象,可以指本地的driver 的endpoint 或者是遠程的 endpoint引用,通過它既可以和本地的driver進行通信,也可以和遠程的driver endpoint 進行通信。

timeout 是指的 Spark RPC 超時時間,默認為 120s,可以通過spark.rpc.askTimeout 或 spark.network.timeout 參數來設置。

核心方法:

1. 移除executor,有同步和異步兩種方案,這兩個方法只會在driver端使用。如下:

2. 向driver注冊blockmanager

3. 更新block信息

4. 向driver請求獲取block對應的 location信息

?

5. 向driver 請求獲得集群中所有的 blockManager的信息

4. 向driver 請求executor endpoint ref 對象

5. 移除block、RDD、shuffle、broadcast

?

6. 向driver 請求獲取每一個BlockManager內存狀態

7. 向driver請求獲取磁盤狀態

8. 向driver請求獲取block狀態

9. 是否有匹配的block

?

10.檢查是否緩存了block

其依賴方法tell 方法如下:

總結

BlockManagerMaster 主要負責和driver的交互,來獲取跟底層存儲相關的信息。

ShuffleClient

類說明

它定義了從executor或者是外部服務讀取shuffle數據的接口。

核心方法

1. init方法用于初始化ShuffleClient,需要指定executor 的appId

2. fetchBlocks 用于異步從另一個節點請求獲取blocks,參數解釋如下:

host – the host of the remote node.
port – the port of the remote node.
execId – the executor id.
blockIds – block ids to fetch.
listener – the listener to receive block fetching status.
downloadFileManager – DownloadFileManager to create and clean temp files. If it's not null, the remote blocks will be streamed into temp shuffle files to reduce the memory usage, otherwise, they will be kept in memory.

3. shuffleMetrics 用于記錄shuffle相關的metrics信息

BlockTransferService

類說明

它是ShuffleClient的子類。它是ShuffleClient的抽象實現類,定義了讀取shuffle的基礎框架。

核心方法

init 方法,它額外提供了使用BlockDataManager初始化的方法,方便從本地獲取block或者將block存入本地。

close:關閉ShuffleClient

port:服務正在監聽的端口

hostname:服務正在監聽的hostname

fetchBlocks 跟繼承類一樣,沒有實現,由于繼承關系可以不寫。

uploadBlocks:上傳block到遠程節點,返回一個future對象

fetchBlockSync:同步抓取遠程節點的block,直到block數據獲取成功才返回,如下:

它定義了block 抓取后,對返回結果處理的基本框架。

?uploadBlockSync 方法:同步上傳信息,直到上傳成功才結束。如下:

ManagedBuffer的三個子類

在?spark 源碼分析之十七 -- Spark磁盤存儲剖析?中已經提及過ManagedBuffer類。

下面看一下ManagedBuffler的三個子類:FileSegmentManagedBuffer、EncryptedManagedBuffer、NioManagedBuffer

FileSegmentManagedBuffer:由文件中的段支持的ManagedBuffer。

EncryptedManagedBuffer:由加密文件中的段支持的ManagedBuffer。

NioManagedBuffer:由ByteBuffer支持的ManagedBuffer。

NettyBlockTransferService

類說明:

它是BlockTransferService,使用netty來一次性獲取shuffle的block數據。

成員變量

hostname:TransportServer 監聽的hostname

serializer:JavaSerializer 實例,用于序列化反序列化java對象。

authEnabled:是否啟用安全

transportConf:TransportConf 對象,主要是用于初始化shuffle的線程數等配置。,spark.shuffle.io.serverThreads 和?spark.shuffle.io.clientThreads,默認是線程數在 [1,8] 個,這跟可用core的數量和指定core數量有關。?這兩個參數決定了底層netty server端和client 端的線程數。

transportContext:TransportContext 用于創建TransportServer和TransportClient的上下文。

server:TransportServer對象,是Netty的server端線程。

clientFactory:TransportClientFactory 用于創建TransportClient

appId:application id,由?spark.app.id 參數指定

核心方法

1. init 方法主要用于初始化底層netty的server和client,如下:

關于底層RPC部分的內容,在Spark RPC 剖析系列已經做過說明,參照?spark 源碼分析之十二--Spark RPC剖析之Spark RPC總結?做進一步了解。

2. 關閉ShuffleClient:

3. 上傳數據:

config.MAX_REMOTE_BLOCK_SIZE_FETCH_TO_MEM 是由spark.maxRemoteBlockSizeFetchToMem參數決定的,默認是 整數最大值 - 512.

所以整數范圍內的block數據,是由 netty RPC來處理的,128MB顯然是在整數范圍內的,所以hdfs上的block 數據spark都是通過netty rpc來通信傳輸的。

?

4. 從遠程節點獲取block數據,源碼如下:

首先數據抓取是可以支持重試的,重試次數默認是3次,可以由參數?spark.shuffle.io.maxRetries 指定,實際上是由OneForOneBlockFetcher來遠程抓取數據的。

重試抓取遠程block機制的設計

當重試次數不大于0時,直接使用的是BlockFetchStarter來生成?OneForOneBlockFetcher 抓取數據。

當次數大于0 時,則使用?RetryingBlockFetcher 來重試式抓取數據。

?

先來看一下其成員變量:

executorService: 用于等待執行重試任務的共享線程池

fetchStarter:初始化?OneForOneBlockFetcher 對象

listener:監聽抓取block成功或失敗的listener

maxRetries;最大重試次數。

retryWaitTime:下一次重試間隔時間。可以通過 spark.shuffle.io.retryWait參數設置,默認是 5s。

retryCount:已重試次數。

outstandingBlocksIds:剩余需要抓取的blockId集合。

currentListener:它只監聽當前fetcher的返回。

?

核心方法:

思路:首先,初始化需要抓取的blockId列表,已重試次數,以及currentListener。然后去調用fetcherStarter開始抓取任務,每一個block抓取成功后,都會調用currentListener對應成功方法,失敗則會調用 currentListener 失敗方法。在fetch過程中數據有異常出現,則先判斷是否需要重試,若需重試,則初始化重試,將wait和fetch任務放到共享線程池中去執行。

下面看一下,相關方法和類:

1.?RetryingBlockFetchListener 類。它有兩個方法,一個是抓取成功的回調,一個是抓取失敗的回調。

在抓取成功回調中,會先判斷當前的currentListener是否是它本身,并且返回的blockId在需要抓取的blockId列表中,若兩個條件都滿足,則會從需要抓取的blockId列表中把該blockId移除并且去調用listener相對應的抓取成功方法。

在抓取失敗回調中,會先判斷當前的currentListener是否是它本身,并且返回的blockId在需要抓取的blockId列表中,若兩個條件都滿足,再判斷是否需要重試,如需重試則重置重試機制,否則直接調用listener的抓取失敗方法。

?

2. 是否需要重試:

思路:如果是IO 異常并且還有剩余重試次數,則重試。

3.? 初始化重試:

總結:該重試的blockFetcher 引入了中間層,即自定義的RetryingBlockFetchListener 監聽器,來完成重試或事件的傳播機制(即調用原來的監聽器的抓取失敗成功對應方法)以及需要抓取的blockId列表的更新,重試次數的更新等操作。

MapOutputTracker

類說明

MapOutputTracker 是一個定位跟蹤 stage 的map 輸出位置的類,driver 和 executor 有對應的實現,分別是 MapOutputTrackerMaster 和 MapOutputTrackerWorker。

其類結構如下:

成員變量

trackerEndpoint:它是一個EndpointRef對象,是driver端?MapOutputTrackerMasterEndpoint 的在executor的代理對象。

epoch:The driver-side counter is incremented every time that a map output is lost. This value is sent to executors as part of tasks, where executors compare the new epoch number to the highest epoch number that they received in the past. If the new epoch number is higher then executors will clear their local caches of map output statuses and will re-fetch (possibly updated) statuses from the driver.

eposhLock: 一個鎖對象

核心方法

1. 向driver端trackerEndpoint 發送消息

2. excutor 獲取每一個shuffle中task 需要讀取的范圍的 block信息,partition范圍包頭不包尾。

3. 刪除指定的shuffle的狀態信息

4. 停止服務

其子類MapOutputTrackerMaster 和 MapOutputTrackerWorker在后續shuffle 剖許再作進一步說明。?

ShuffleManager

類說明

它是一個可插拔的shuffle系統,ShuffleManager 在driver和每一個executor的SparkEnv中基于spark.shuffle.manager參數創建,driver使用這個類來注冊shuffle,executor或driver本地任務可以請求ShuffleManager 來讀寫任務。

類結構

1. registerShuffle:Register a shuffle with the manager and obtain a handle for it to pass to tasks.

2. getWriter:Get a writer for a given partition. Called on executors by map tasks.

3. getReader:Get a reader for a range of reduce partitions (startPartition to endPartition-1, inclusive). Called on executors by reduce tasks.

4. unregisterShuffle:Remove a shuffle's metadata from the ShuffleManager.

5. shuffleBlockResolver:Return a resolver capable of retrieving shuffle block data based on block coordinates.

6. stop:Shut down this ShuffleManager.

其有唯一子類?SortShuffleManager,我們在剖析spark shuffle 過程時,再做進一步說明。?

?

下面,我們來看Spark存儲體系里面的重頭戲 -- BlockManager

BlockManager

類說明

Manager running on every node (driver and executors) which provides interfaces for putting and retrieving blocks both locally and remotely into various stores (memory, disk, and off-heap).
Note that initialize( ) must be called before the BlockManager is usable.

?

它運行在每一個節點上(drievr或executor),提供寫或讀本地或遠程的block到各種各樣的存儲介質中,包括磁盤、堆內內存、堆外內存。

構造方法

其中涉及的變量,之前基本上都已作說明,不再說明。

這個類結構非常龐大,不再展示類結構圖。下面分別對其成員變量和比較重要的方法做一下說明。

成員變量

externalShuffleServiceEnabled: 是否啟用外部shuffle 服務,通過spark.shuffle.service.enabled 參數配置,默認是false

remoteReadNioBufferConversion:是否 xxxxx, 通過?spark.network.remoteReadNioBufferConversion 參數配置,默認是 false

diskBlockManager:DiskBlockManager對象,用于管理block和物理block文件的映射關系的

blockInfoManager:BlockInfoManager對象,Block讀寫鎖

futureExecutionContext:ExecutionContextExecutorService 內部封裝了一個線程池,線程前綴為?block-manager-future,最大線程數是 128

memoryStore:MemoryStore 對象,用于內存存儲。

diskStore:DiskStore對象,用于磁盤存儲。

maxOnHeapMemory:最大堆內內存

maxOffHeapMemory:最大堆外內存

externalShuffleServicePort: 外部shuffle 服務端口,通過?spark.shuffle.service.port 參數設置,默認為 7337

blockManagerId:BlockManagerId 對象是blockManager的唯一標識

shuffleServerId:BlockManagerId 對象,提供shuffle服務的BlockManager的唯一標識

shuffleClient:如果啟用了外部存儲,即externalShuffleServiceEnabled為true,使用ExternalShuffleClient,否則使用通過構造參數傳過來的?blockTransferService 對象。

maxFailuresBeforeLocationRefresh:下次從driver刷新block location時需要重試的最大次數。通過spark.block.failures.beforeLocationRefresh 參數來設置,默認時 5

slaveEndpoint:BlockManagerSlaveEndpoint的ref對象,負責監聽處理master的請求。

asyncReregisterTask:異步注冊任務

asyncReregisterLock:鎖對象

cachedPeers:Spark集群中所有的BlockManager

peerFetchLock:鎖對象,用于獲取spark 集群中所有的blockManager時用

lastPeerFetchTime:最近獲取spark 集群中所有blockManager的時間

blockReplicationPolicy:BlockReplicationPolicy 對象,它有兩個子類 BasicBlockReplicationPolicy 和 RandomBlockReplicationPolicy。

remoteBlockTempFileManager:RemoteBlockDownloadFileManager 對象

maxRemoteBlockToMem:通過 spark.maxRemoteBlockSizeFetchToMem 參數控制,默認為整數最大值 - 512

核心方法[簡版]

注:未做過多的分析,大部分內容在之前內存存儲和磁盤存儲中都已涉及。

1. 初始化方法

思路:初始化?blockReplicationPolicy, 可以通過參數?spark.storage.replication.policy? 來指定,默認為?RandomBlockReplicationPolicy;初始化BlockManagerId并想driver注冊該BlockManager;初始化shuffleServerId

?

2. 重新想driver注冊blockManager方法:

思路: 通過?BlockManagerMaster 想driver 注冊 BlockManager

?

3. 獲取block數據,如下:

其依賴方法 getLocalBytes 如下,思路:如果是shuffle的數據,則通過shuffleBlockResolver獲取block信息,否則使用BlockInfoManager加讀鎖后,獲取數據。

doGetLocalBytes 方法如下,思路:按照是否需要反序列化、是否保存在磁盤中,做相應處理,操作直接依賴與MemoryStore和DiskStore。

?

4. 存儲block數據,直接調用putBytes 方法:

其依賴方法如下,直接調用doPutBytes 方法:

doPutBytes 方法如下:

doPut 方法如下,思路,加寫鎖,執行putBody方法:

?

5. 保存序列化之后的字節數據

6. 保存java對象:

7. 緩存讀取的數據在內存中:

?

8. 獲取Saprk 集群中其他的BlockManager信息:

9. 同步block到其他的replicas:

其依賴方法如下:

10.把block從內存中驅逐:

11. 移除block:

12. 停止方法

?

BlockManager 主要提供寫或讀本地或遠程的block到各種各樣的存儲介質中,包括磁盤、堆內內存、堆外內存。獲取Spark 集群的BlockManager的信息、驅逐內存中block等等方法。

其遠程交互依賴于底層的netty模塊。有很多的關于存儲的方法都依賴于MemoryStore和DiskStore的實現,不再做一一解釋。

總結

本篇文章介紹了Spark存儲體系的最后部分內容。行文有些倉促,有一些類可能會漏掉,但對于理解Spark 存儲體系已經綽綽有余。本地存儲依賴于MemoryStore和DiskStore,遠程調用依賴于NettyBlockTransferService、BlockManagerMaster、MapOutputTracker等,其底層絕大多數依賴于netty與driver或其他executor通信。

Spark shuffle、broadcast等也是依賴于存儲系統的。接下來將進入spark的核心部分,去探索Spark底層的RDD是如何構建Stage作業以及每一個作業是如何工作的。

?

轉載于:https://www.cnblogs.com/johnny666888/p/11226984.html

總結

以上是生活随笔為你收集整理的spark 源码分析之十八 -- Spark存储体系剖析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产手机在线视频 | av电影免费在线看 | 国产第一福利网 | 久草在线视频网 | 一区二区不卡视频在线观看 | 久草在线费播放视频 | 不卡av在线 | 久久久久久久久久久久久国产精品 | 91看片淫黄大片在线播放 | 久久人人爽人人爽人人 | 伊人久久精品久久亚洲一区 | 久久综合国产伦精品免费 | www.色在线| 久久久久99999| 欧美日韩网址 | 美女久久久久久久 | 丁香六月网 | 久久精品久久久久久久 | 最近高清中文字幕在线国语5 | 国产精品视频 | 日韩丝袜在线观看 | 久久人人爽 | 亚洲欧美日韩精品久久奇米一区 | 久久午夜电影网 | 欧美激情视频一区二区三区免费 | 国产黄色大片免费看 | 在线观看中文字幕dvd播放 | 一级欧美日韩 | 中文字幕一区二区三区精华液 | 手机在线观看国产精品 | 中文亚洲欧美日韩 | 伊甸园av在线 | 看片黄网站 | 国产精品久久久久久久久费观看 | 婷婷五情天综123 | 国产不卡一| 天天草网站| 中文字幕av最新 | 色婷婷国产精品 | 又黄又爽的免费高潮视频 | 中文字幕一区二区三区久久蜜桃 | 香蕉视频久久 | 成年人免费在线观看 | 在线国产能看的 | 国产69久久久欧美一级 | 亚洲电影影音先锋 | 伊人伊成久久人综合网小说 | 中文字幕美女免费在线 | 午夜电影一区 | 免费观看国产精品视频 | 中文字幕乱偷在线 | 91在线视频一区 | 91成人免费在线视频 | 亚洲精品视频免费 | 日韩精品视频在线免费观看 | 婷婷视频在线 | 国产1区2区 | 日韩综合视频在线观看 | 狠狠干网址 | 欧美色精品天天在线观看视频 | 超薄丝袜一二三区 | 中文字幕av影院 | 国产69精品久久久久99 | 月丁香婷婷 | 日韩精品2区 | 中国一区二区视频 | 免费日韩 精品中文字幕视频在线 | 日韩午夜精品 | 九月婷婷人人澡人人添人人爽 | 欧美极度另类 | 日韩一区精品 | 久久亚洲欧美日韩精品专区 | 天天摸夜夜操 | 久久精品久久精品 | 日韩中文字幕免费在线播放 | 日韩在线视频不卡 | 国产精品成久久久久 | 四虎成人免费影院 | 亚洲国产免费看 | 探花视频在线观看免费 | 国产精品18久久久久久首页狼 | 亚洲午夜大片 | 丁香狠狠 | 伊人官网 | 日本成人免费在线观看 | 综合色站导航 | 国产精品麻豆视频 | 欧美a级在线免费观看 | 夜夜操天天操 | 国产无遮挡又黄又爽馒头漫画 | 狠色狠色综合久久 | 欧美在线1 | 亚洲精品乱码久久久久久蜜桃91 | 狠狠的干狠狠的操 | 精品一区二区三区在线播放 | 成人av资源在线 | 在线看国产日韩 | 国产亚洲人成网站在线观看 | 国产在线观看免费 | 一级做a视频 | 亚洲激情校园春色 | 五月天激情电影 | 国产午夜精品一区二区三区 | 亚洲 综合 精品 | 久草精品视频 | 8x成人免费视频 | 青青草视频精品 | 99在线观看免费视频精品观看 | 激情综合五月天 | 色99在线 | 亚洲涩涩涩 | 婷婷五综合 | 亚洲特级片| 99在线精品视频在线观看 | 99久高清在线观看视频99精品热在线观看视频 | 日精品在线观看 | 国产精品视频免费看 | 在线韩国电影免费观影完整版 | .精品久久久麻豆国产精品 亚洲va欧美 | 久久国产精品小视频 | 色偷偷av男人天堂 | 成人久久精品 | 亚洲 欧美 另类人妖 | 色av婷婷| 欧美性久久久久久 | 成人久久视频 | 一级c片| 婷婷精品在线视频 | 亚洲精品国偷拍自产在线观看 | 国产高清久久 | 亚洲精品乱码久久久久久蜜桃91 | 色婷婷九月| 丁香婷婷综合激情五月色 | 亚洲综合欧美日韩狠狠色 | 91爱爱网址 | 国产精品激情 | 天天干天天做 | 国产精品久久一区二区三区不卡 | 国产免费影院 | 一区二区中文字幕在线 | www.久热| 91在线看视频 | 久久九九国产视频 | 亚洲精品美女久久久久 | 999在线视频| 97精品一区二区三区 | 日韩美在线 | 黄色三级在线观看 | www最近高清中文国语在线观看 | 成人在线观看你懂的 | 黄色av在 | 久久草草热国产精品直播 | 国产一级片久久 | 久久艹在线观看 | 日韩一区二区三 | 天天综合网久久综合网 | a黄色片 | av天天干| 久9在线 | 成人小视频在线免费观看 | 国产精品91一区 | 亚洲免费成人 | 伊人天天| 超碰97人 | 久久天天操 | 在线视频你懂 | 97精品国自产拍在线观看 | 深夜福利视频在线观看 | 欧美黑人xxxx猛性大交 | 亚洲综合视频在线 | 久草免费在线观看视频 | 国产又粗又猛又黄又爽 | 国产精品一区在线观看 | 亚洲成人午夜av | 国产成人免费观看 | 国产精品视频免费观看 | 亚洲视频 在线观看 | 亚洲欧美婷婷六月色综合 | 国产精品毛片一区视频播不卡 | 国产99久久久国产精品免费二区 | 在线国产专区 | 国产男女无遮挡猛进猛出在线观看 | 91黄在线看 | 九九久久久久久久久激情 | 欧美成年网站 | 91av视频在线免费观看 | 欧美日韩国产综合一区二区 | 成人性生交视频 | 狠狠躁夜夜躁人人爽超碰91 | 91亚洲国产 | 久久婷综合 | 一二区精品 | 成人在线观看av | 黄色网免费 | 久久精品国产免费看久久精品 | 国产在线观看二区 | 日韩国产精品一区 | 有码中文字幕在线观看 | 九月婷婷色 | 91高清视频免费 | 日韩欧美视频免费观看 | 99久久久久国产精品免费 | 日韩精品中文字幕一区二区 | 中文字幕精品一区二区精品 | 亚洲春色综合另类校园电影 | 男女精品久久 | 91免费视频国产 | 欧美日韩1区 | 波多野结衣一区二区三区中文字幕 | 久久久久福利视频 | 天天天综合网 | 久久久久国产精品免费免费搜索 | 欧美最猛性xxxxx(亚洲精品) | av在线收看| 免费在线成人av电影 | 免费成人在线观看视频 | 久草精品视频在线播放 | h网站免费在线观看 | 久久精品国产一区二区三 | 91视频久久久 | 欧美精品一区二区在线播放 | 激情 婷婷| 极品久久久 | 精品欧美一区二区三区久久久 | 中文字幕视频 | 日本性久久 | 国产精品永久免费观看 | 色视频网站在线 | 欧美国产精品久久久久久免费 | 天天插夜夜操 | 99精品久久久久久久久久综合 | 日韩理论片中文字幕 | 免费国产黄线在线观看视频 | 国产福利精品在线观看 | 免费日韩一区二区 | 国产中文字幕视频在线观看 | 五月婷婷网站 | 国产中文字幕视频 | 亚洲精品久久视频 | 香蕉视频色 | 国产91成人在在线播放 | 欧美伦理一区二区 | 91超在线 | 四虎成人精品在永久免费 | 伊人久久精品久久亚洲一区 | 久久国产精品一国产精品 | 国产露脸91国语对白 | 日本黄色免费在线 | 日韩精品久久久久久中文字幕8 | 欧美视频网址 | 久久免费精品 | 摸阴视频 | 插插插色综合 | 欧美日韩一区二区视频在线观看 | 亚洲精品www久久久 www国产精品com | 婷婷丁香激情综合 | 久久激情视频 | 三级av免费 | 婷婷精品国产欧美精品亚洲人人爽 | 中文字幕超清在线免费 | 亚洲精品福利在线观看 | 精品在线观看一区二区 | 一区二区三区日韩精品 | 色欧美日韩| 五月婷婷中文 | 中文字幕在线影院 | 国产精品免费观看国产网曝瓜 | 色www.| 天天爽夜夜爽人人爽一区二区 | 欧美精品xxx | 国产精品视频免费 | 天天色天天色天天色 | 91资源在线免费观看 | 在线观看亚洲精品 | 日本激情中文字幕 | 国产极品尤物在线 | 国产高清精 | 国产小视频国产精品 | 中文字幕在线看视频 | 国产日本高清 | 一区二区三区在线免费观看视频 | 免费a视频在线 | 成人在线播放免费观看 | 人人插超碰 | 国产v视频 | 国产理论一区二区三区 | 在线视频 国产 日韩 | 视频高清| 激情av在线播放 | 国产亚洲免费的视频看 | 精品亚洲免费视频 | 97视频播放 | 91精品国产欧美一区二区成人 | 亚洲免费专区 | 91色网址 | 97精品国产97久久久久久 | 中文字幕视频三区 | 久久8精品| 午夜精品久久久久久久爽 | 99精品偷拍视频一区二区三区 | 日韩高清精品一区二区 | 狠狠躁日日躁狂躁夜夜躁av | 国产在线高清视频 | 国产福利久久 | av福利在线导航 | 97精品国产97久久久久久粉红 | 久久精品精品电影网 | 亚洲日本成人 | jizz999| 超碰在线观看av | 91精品专区 | 午夜精品一区二区国产 | 免费久久久久久 | 黄色网www| 伊人电影在线观看 | 欧美aa在线观看 | 欧美成人影音 | 黄色网址在线播放 | 久久视频在线观看中文字幕 | 欧美性生活一级片 | 中文字幕精品三区 | 九色精品在线 | 国产福利在线免费观看 | 婷婷久久久久 | 黄色成品视频 | 午夜美女福利 | 久久亚洲二区 | 五月天激情电影 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 久草网视频在线观看 | 久久久久国产精品www | 2020天天干夜夜爽 | 99 视频 高清 | 一区二区精品国产 | 成人免费观看完整版电影 | 日产乱码一二三区别免费 | 国产成在线观看免费视频 | 久久久久久久久黄色 | 欧美日韩精品免费观看视频 | 亚洲精选视频免费看 | 国产精品久久一区二区无卡 | 日韩精品一区二区免费 | 欧美 国产 视频 | 亚洲一级片 | 日韩综合一区二区 | 国产99久久久国产精品成人免费 | 五月婷婷在线观看视频 | 中文字幕在线不卡国产视频 | 婷婷五月在线视频 | 欧美xxxxx在线视频 | 国产私拍在线 | 91麻豆精品国产91久久久久久久久 | 欧美一级久久久 | 国模一区二区三区四区 | 久久国产欧美日韩精品 | 久草在线精品观看 | 日本一区二区不卡高清 | 精品一区二区在线观看 | 婷香五月 | 一级a性色生活片久久毛片波多野 | 国产成人免费 | 久久人人干 | 亚洲视频 一区 | 国产精品免费不卡 | 免费看国产精品 | 国产色婷婷精品综合在线手机播放 | 日韩区在线观看 | 亚洲欧美视频在线播放 | 九九免费精品视频在线观看 | 黄网站色视频 | 国产在线理论片 | 亚洲精品午夜国产va久久成人 | 99精品在线视频观看 | 欧美另类z0zx| 九色91福利 | 97成人精品视频在线观看 | 91精品啪在线观看国产 | 毛片精品免费在线观看 | 久久久国产精品一区二区中文 | 精品免费视频123区 午夜久久成人 | 在线观看www视频 | 色综合久久中文字幕综合网 | 蜜臀av网站 | 黄色亚洲 | 日韩乱码在线 | 精品欧美小视频在线观看 | 国产精品av免费 | 99热在线精品观看 | 成人高清av在线 | 伊人影院得得 | 碰超人人 | 最近最新mv字幕免费观看 | 亚洲男人天堂2018 | 波多野结衣小视频 | 久久99精品久久久久婷婷 | 91人人澡 | 99精品在线直播 | 91精品久久久久久久99蜜桃 | 日韩网 | 天无日天天操天天干 | 国产成人av在线影院 | 免费毛片一区二区三区久久久 | 中文在线www | 中文在线字幕免 | 中文字幕频道 | 国产精品久久99精品毛片三a | 999毛片| 中文字幕欧美激情 | 久操97| 国产精品手机视频 | 国产成人精品一区二区三区福利 | 99久久久久成人国产免费 | 久久免费视频这里只有精品 | 伊人影院av | 8x成人免费视频 | av电影在线播放 | 天天做天天爱天天爽综合网 | 亚洲精品网址在线观看 | 九九久久久久99精品 | 国产在线色站 | 久久久国产视频 | 色狠狠婷婷 | 久久69精品 | 亚洲黄色免费网站 | 中文字幕韩在线第一页 | 欧美综合在线视频 | 国产美女免费观看 | 右手影院亚洲欧美 | 久久免费黄色大片 | 成人影视免费看 | 日韩综合第一页 | 日日成人网 | 精品国产一区二区久久 | 欧美精品国产精品 | 婷婷精品在线 | 中文字幕在线观 | 中国一区二区视频 | 精品国产伦一区二区三区观看体验 | 日韩精品一区二区三区水蜜桃 | 天天色官网 | 久久久久久久久免费视频 | 国产视频2 | free. 性欧美.com | 亚洲成人av一区 | 日韩深夜在线观看 | 色天天中文 | 四虎成人精品在永久免费 | 日韩高清毛片 | 免费视频久久久久久久 | 国产精品久久久久久久久久久久午夜片 | 国产中文字幕在线播放 | 国产精品伦一区二区三区视频 | 99性视频| 日韩成人精品一区二区 | 96精品视频 | 国产成人a亚洲精品 | www五月婷婷 | 久久99久久99免费视频 | 国产精品欧美精品 | 视频一区二区三区视频 | 日本在线免费看 | 91精品免费 | 亚洲国产高清在线 | 国产精品欧美 | 成人91av| 日批网站在线观看 | 午夜av不卡| 日韩电影在线一区二区 | 夜夜躁日日躁狠狠躁 | 国产剧情一区在线 | 国产视频精品免费 | 亚洲精品视频免费观看 | 亚洲黄色免费在线 | 奇米网网址| 97超碰超碰久久福利超碰 | 久久电影色 | 欧美激情奇米色 | 亚洲成人av一区 | 国产人成看黄久久久久久久久 | 黄色毛片视频免费观看中文 | 国产精品视频地址 | 精品国模一区二区 | 99精品区 | 黄色在线观看www | 中文字幕在线播放第一页 | 在线va视频 | 国产精品久久久久久一区二区 | 99国产精品一区二区 | 久久99网| 久人人 | 免费黄a| 欧美天天综合网 | 婷婷九月激情 | 91av视屏 | www.色午夜.com | 欧美色图亚洲图片 | 一区二区三区动漫 | 久久久精品网站 | 五月天久久狠狠 | 日韩一区二区三区在线看 | 国产97免费 | 天天干天天想 | 日韩一区二区三区不卡 | 亚洲视频 在线观看 | 中文字幕在线观看资源 | 一级黄色毛片 | 日韩| 日韩欧美高清在线 | jizzjizzjizz亚洲 | av资源免费在线观看 | 天堂av在线网 | 国产一级免费视频 | 亚洲在线观看av | 香蕉视频在线播放 | 国产高清一级 | 国产精品电影一区 | 亚洲蜜桃av | 午夜精品成人一区二区三区 | 免费高清无人区完整版 | 亚洲国产欧洲综合997久久, | 色噜噜狠狠狠狠色综合久不 | 91视频免费观看 | 色五婷婷 | 亚洲综合在线观看视频 | 99久久精品免费看国产麻豆 | 1024手机看片国产 | 在线观看麻豆av | 久久伊人五月天 | 91精品国产高清 | 免费看黄色91 | 亚洲天堂社区 | 在线国产能看的 | 国产69精品久久久久久久久久 | 色久av | 日韩在线观看一区二区 | 97精品国产一二三产区 | 国产婷婷在线观看 | 91九色视频观看 | 久久综合久久综合久久 | 91麻豆免费版 | 亚州av网站 | 91最新国产| 久久综合精品国产一区二区三区 | 丁香视频在线观看 | 伊人狠狠操 | 精品在线99 | 久久精品综合 | 免费av大全 | 国产美女视频网站 | 久久久久免费精品视频 | 在线黄频 | 国产国产人免费人成免费视频 | 欧美黑人巨大xxxxx | 久久久久久久精 | 精品1区2区3区 | 中文在线a天堂 | 久久精品资源 | 久久这里有精品 | 国产精品免费一区二区 | 伊人午夜视频 | 欧美视频在线观看免费网址 | 国产亚洲成av人片在线观看桃 | 91亚洲国产成人久久精品网站 | 人人爽人人爽人人爽学生一级 | 久久激情片 | 久草网视频 | 日韩欧美高清一区二区 | 在线免费观看视频一区 | 国内精品久久久久久久久久久 | 日本在线成人 | 久久久久久久久久久久电影 | 欧美精品xxx | 91精品啪在线观看国产线免费 | 永久免费精品视频网站 | 一区二区欧美激情 | 伊人狠狠操 | 日本99精品 | 欧美一二三区在线观看 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 久久刺激视频 | 成人小电影在线看 | 久久精品国产一区二区三区 | 最近日韩免费视频 | 亚洲成人xxx| av电影在线观看完整版一区二区 | 亚洲涩综合 | 99精品欧美一区二区三区黑人哦 | 天天曰天天射 | 天天干,狠狠干 | 久久人人爽人人人人片 | 国产亚洲人| 亚洲国产精品va在线看 | 亚洲午夜精品一区 | 天天干天天操天天爱 | 国产综合久久 | 免费a视频在线观看 | 操久久免费视频 | 色全色在线资源网 | 中文字幕在线观看免费观看 | 99亚洲精品| 国产精品免费观看网站 | 成av人电影 | 精品国产一区二区三区免费 | 伊人五月天.com | 欧美日韩成人 | 日韩在线视频在线观看 | 久久精品美女视频网站 | av一级在线 | 特级黄色视频毛片 | 国产精品白浆 | 日韩在线视频精品 | 久久综合九色综合97_ 久久久 | 亚洲精品国产电影 | 日韩色视频在线观看 | 97超碰中文 | 精品在线观看国产 | 亚洲午夜久久久久久久久 | 久久99精品久久久久久清纯直播 | 久久国产精品久久w女人spa | 麻豆视频免费网站 | 久久99日韩 | 久久人人97超碰国产公开结果 | 中文字幕你懂的 | 亚洲无吗视频在线 | 久久国产午夜精品理论片最新版本 | 久久精品欧美日韩精品 | 天天干天天插伊人网 | 免费视频在线观看网站 | 黄色av一区二区三区 | 99精品视频一区 | 四虎精品成人免费网站 | 美女网站视频一区 | 日韩中文字幕免费视频 | 亚洲精品乱码久久久一二三 | 免费观看v片在线观看 | 中文 一区二区 | 免费观看的黄色 | 美女视频黄在线 | www178ccom视频在线 | 欧美一区三区四区 | 国产精品综合久久久久 | www.伊人网 | 色播五月激情综合网 | 久草99| 久久影视网 | 亚洲国产精品成人va在线观看 | 亚洲人成人在线 | 天天射天天爱天天干 | 婷婷在线色 | 99热这里精品 | 一色av | 亚洲va欧美va人人爽春色影视 | 欧美国产不卡 | 五月天激情视频在线观看 | 国产专区精品视频 | 丁香花在线视频观看免费 | 日韩在线视频网址 | 国语麻豆 | 久久综合狠狠综合 | 日韩国产精品毛片 | 国产精品粉嫩 | 久久婷婷色综合 | 麻豆成人精品 | 久久久国产精品亚洲一区 | 色播六月天 | 看片的网址 | 99操视频 | 国产一区二区三区高清播放 | 精品久久久久久久久久 | 久久精品79国产精品 | 一区二区欧美激情 | 色就色,综合激情 | 国产精品久久久一区二区三区网站 | 毛片网站免费在线观看 | 免费在线中文字幕 | 国产一级a毛片视频爆浆 | 免费看污网站 | 久久久精品一区二区三区 | 亚洲欧美在线视频免费 | 啪啪免费视频网站 | 视频国产 | 久草在线最新视频 | 蜜臀av免费一区二区三区 | 国产精品永久久久久久久久久 | 国产精品免费大片视频 | 欧美亚洲国产一卡 | 色欧美视频| 午夜国产在线观看 | 伊人婷婷久久 | 久久免费视频在线观看6 | 国产精品一区二区av日韩在线 | 激情综合啪啪 | 亚洲综合在线五月天 | 视频在线观看99 | 久久天天躁夜夜躁狠狠躁2022 | 亚洲欧美成人网 | 国产在线专区 | 午夜国产在线观看 | 国产精品不卡在线 | 久久人人97超碰国产公开结果 | 欧美黄色成人 | 久久精品国产一区二区 | а天堂中文最新一区二区三区 | 精品国产美女 | 久久久国产毛片 | 亚洲视频在线观看网站 | 青青草在久久免费久久免费 | 97天天综合网 | 碰超人人 | 性色av免费观看 | 毛片1000部免费看 | 一区二区三区电影在线播 | 国产精品99精品久久免费 | 在线免费观看av网站 | 欧美一区二区在线看 | 日韩啪啪小视频 | av综合网址 | 999ZYZ玖玖资源站永久 | 91人人视频在线观看 | 中文字幕激情 | 开心丁香婷婷深爱五月 | 免费午夜av | 欧美日韩国产在线精品 | 久久精彩免费视频 | 超碰在线公开免费 | 中文一区二区三区在线观看 | 麻豆观看 | 在线 国产一区 | 国产精品成人自产拍在线观看 | 免费网站在线观看成人 | 久青草国产在线 | 久久久电影网站 | 国产成人精品一区二区三区福利 | 日本中文字幕视频 | 夜夜爽www| 九九亚洲精品 | 成人一区二区在线观看 | 九色自拍视频 | 91最新视频 | 911国产在线观看 | 黄色av一级 | www国产亚洲| 亚洲春色综合另类校园电影 | 91欧美日韩国产 | 日韩精品视频免费专区在线播放 | 欧美日bb | 日韩精品视频在线观看免费 | 国产视频精品视频 | 欧美精品在线视频观看 | 日韩av网站在线播放 | 韩国精品在线 | 天天干,天天射,天天操,天天摸 | 视频在线观看入口黄最新永久免费国产 | 天天综合成人 | 日韩欧美极品 | 91人人干 | 天天视频色| av免费观看在线 | 青青久草在线视频 | 婷婷伊人五月 | 国产a免费 | 国产91精品欧美 | 国产 欧美 日韩 | 欧美乱码精品一区二区 | 综合成人在线 | 久草精品视频在线看网站免费 | 黄网站色欧美视频 | 国产在线观看二区 | 一级片免费观看视频 | 亚洲精品国 | 中文字幕日韩免费视频 | 日韩免费区| 国产精品久久久久久久久久久久久久 | 干狠狠 | 成人在线观看你懂的 | 亚洲黄色成人网 | 51精品国自产在线 | 中文字幕在线播放一区二区 | 国产成人av | 99久久精品电影 | 亚洲另类视频 | 丁香视频全集免费观看 | 最近最新中文字幕视频 | 国产 亚洲 欧美 在线 | 亚洲精品国产精品乱码不99热 | 亚洲国产片 | 国产精品嫩草影视久久久 | 丁香激情五月 | 一区二区三区在线观看中文字幕 | 成人免费xyz网站 | 亚洲成av人片在线观看无 | 在线观看视频99 | 国产欧美日韩视频 | 日韩欧美在线综合网 | 国产精品久久久久av | 色婷婷久久久 | 91精品久久久久久粉嫩 | 欧美精品一区二区三区四区在线 | 国产91精品一区二区绿帽 | 国产91精品久久久久 | 国产成人精品999在线观看 | 999久久久免费视频 午夜国产在线观看 | 亚洲永久免费av | 亚洲国产免费 | 中文字幕中文字幕在线中文字幕三区 | 色a综合| 久久精品—区二区三区 | 国产亚洲精品久 | 国产成人免费精品 | 亚洲一级理论片 | 免费精品视频在线观看 | 9999精品| 亚洲精品乱码久久久久久蜜桃动漫 | 成人黄色影片在线 | 亚洲女欲精品久久久久久久18 | 欧美天天射 | 亚洲欧美日韩一区二区三区在线观看 | 日韩成人邪恶影片 | 亚洲人成人在线 | 九九热在线精品 | 99re8这里有精品热视频免费 | 亚洲视频 中文字幕 | 日韩成人xxxx | 成人午夜影院在线观看 | av网在线观看 | 午夜av网站 | 五月婷婷综合激情 | 91桃色免费观看 | 成人四虎影院 | 国产一区二区三区视频在线 | 亚洲欧洲av | 天天se天天cao天天干 | 亚洲乱码在线观看 | 欧美一区免费在线观看 | 日韩av一区二区在线 | 一区二区三区久久 | 国产色视频| 2023av在线 | 99精品国产免费久久 | 久草在线在线精品观看 | 国产精品婷婷午夜在线观看 | 最近免费中文字幕mv在线视频3 | 四虎永久网站 | 精品欧美小视频在线观看 | 91视频免费网站 | www成人精品 | 99久久精品国产欧美主题曲 | 亚洲精品在线资源 | 99色| 国产经典av | 黄色在线观看免费网站 | 久久精品日韩 | 免费午夜av | 亚洲激色 | 欧美一级视频一区 | 精品久久久一区二区 | www.玖玖玖 | 国产伦精品一区二区三区… | 天天搞天天干天天色 | 中文字幕 第二区 | 久久久精华网 | 99精品久久久 | 国产黄色在线观看 | 丁香久久久 | 国产精品福利久久久 | www.午夜| 久久久精品久久日韩一区综合 | 中文字幕成人在线 | 欧美极度另类 | av最新资源 | 日批网站在线观看 | 在线观看蜜桃视频 | 欧美日韩中文字幕在线视频 | 欧美精品久久人人躁人人爽 | 日韩二三区 | 成人久久久精品国产乱码一区二区 | 在线视频亚洲 | 高清av影院 | 天天干夜夜干 | 久久草在线免费 | 亚洲在线成人精品 | 欧美 日韩 性 | 成年人免费在线观看网站 | 精品在线观看一区二区 | 九九视频精品免费 | 射综合网| 中文字幕91在线 | 成人av直播| 最近中文字幕mv | 五月激情av| 99精彩视频在线观看免费 | 国产精品美女久久久久久久网站 | 免费一级特黄录像 | 黄色av网站在线免费观看 | 亚州精品天堂中文字幕 | 日韩中文字幕在线不卡 | 亚洲作爱 | 午夜久久网站 | 天天操夜夜干 | 六月丁香久久 | av在线免费在线观看 | 欧美色就是色 | 亚洲视屏在线播放 | 激情综合色综合久久 | 九九有精品 | 啪啪免费观看网站 | 国产精品久久久一区二区 | 欧美日韩免费在线观看视频 | 日日操日日干 | 美女免费电影 | 99国产在线视频 | 婷色在线| 成人午夜剧场在线观看 | 欧美精品乱码99久久影院 | 国产精品视频免费在线观看 | 久久国产精品二国产精品中国洋人 | 欧美在线视频第一页 | 99电影 | 新版资源中文在线观看 | 久久综合成人 | 人人爽爽人人 | 免费久久精品视频 | 免费一级片在线 | 免费一级片在线观看 | 毛片永久免费 | 国产一区免费在线观看 | 国产成人精品一区二区在线观看 | 欧美日韩在线视频免费 | 天堂av高清 | 中文字幕日韩免费视频 | 国产成人福利片 | 婷婷在线网 | 日韩精品影视 | 国产原厂视频在线观看 | 免费看久久 | 久久99精品久久久久蜜臀 | 亚洲视频中文 | wwwwww国产 | 欧美视屏一区二区 | 成人免费网视频 | 九九久久电影 | 在线观看日韩中文字幕 | 日韩丝袜在线观看 | 狠狠色丁香婷婷综合久久片 | 国际精品久久 | 又湿又紧又大又爽a视频国产 | 黄色日视频 | 一区二区三区污 | 亚洲第一久久久 | 亚洲成人精品久久 | 91视频高清 | 日本午夜在线观看 | www.一区二区三区 | 丁香导航 | 久久99久久99久久 | 婷婷在线不卡 | a在线免费| 在线观看a视频 | 成人性生交大片免费看中文网站 | 国产精品久久久久久久久久久久 | 久久精品国产亚洲 | 国产精品一区二区美女视频免费看 | 日韩av成人在线观看 | 黄色大片日本 | 国产精品99久久久久 | 99久久久久久久 | 国产在线一区二区 | 香蕉视频免费在线播放 | 五月天婷婷狠狠 | 国产视频在线观看一区二区 | 国产又粗又猛又黄视频 | 国产精品丝袜 | 国产一级片在线播放 | 在线观看国产福利片 | 久久精品一区二区国产 | 国产高清视频免费在线观看 | 欧美综合色在线图区 | 免费aa大片| 国产精品久久一区二区无卡 | 永久免费观看视频 | 成人三级网址 | 一区中文字幕在线观看 | 亚洲国产欧美在线看片xxoo | 2022中文字幕在线观看 | 亚洲 欧美 91| 久草视频国产 | 久久免费视频网站 | 天天干天天干天天操 | 操操操日日日干干干 | 色视频在线 | 国产资源精品在线观看 | 四虎在线视频免费观看 | 亚洲视频中文 | 日韩一区二区免费视频 | 国产乱码精品一区二区三区介绍 | 国产色一区 | 久久不卡国产精品一区二区 | 深爱激情五月婷婷 |