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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Spark Streaming 实现思路与模块概述

發布時間:2023/12/31 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spark Streaming 实现思路与模块概述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Spark Streaming 實現思路與模塊概述

[酷玩 Spark] Spark Streaming 源碼解析系列?,返回目錄請?猛戳這里

「騰訊·廣點通」技術團隊榮譽出品

本文內容適用范圍:

  • 2016.01.04 update, Spark 1.6 全系列 √ (1.6.0)
  • 2015.11.09 update, Spark 1.5 全系列 √ (1.5.0, 1.5.1, 1.5.2)
  • 2015.07.15 update, Spark 1.4 全系列 √ (1.4.0, 1.4.1)
  • 2015.04.17 update, Spark 1.3 全系列 √ (1.3.0, 1.3.1)?

一、基于 Spark 做 Spark Streaming 的思路

Spark Streaming 與 Spark Core 的關系可以用下面的經典部件圖來表述:

在本節,我們先探討一下基于 Spark Core 的 RDD API,如何對 streaming data 進行處理。理解下面描述的這個思路非常重要,因為基于這個思路詳細展開后,就能夠充分理解整個 Spark Streaming 的模塊劃分和代碼邏輯。

第一步,假設我們有一小塊數據,那么通過 RDD API,我們能夠構造出一個進行數據處理的 RDD DAG(如下圖所示)。

第二步,我們對連續的 streaming data 進行切片處理 —— 比如將最近 200ms 時間的 event 積攢一下 —— 每個切片就是一個 batch,然后使用第一步中的 RDD DAG 對這個 batch 的數據進行處理。

注意: 這里我們使用的是 batch 的概念 —— 其實 200ms 在其它同類系統中通常叫做 mini-batch,不過既然 Spark Streaming 官方的叫法就是 batch,我們這里就用 batch 表達 mini-batch 的意思了 :)

所以,針對連續不斷的 streaming data 進行多次切片,就會形成多個 batch,也就對應出來多個 RDD DAG(每個 RDD DAG 針對一個 batch 的數據)。如此一來,這多個 RDD DAG 之間相互同構,卻又是不同的實例。我們用下圖來表示這個關系:

所以,我們將需要:

  • (1) 一個靜態的 RDD DAG 的模板,來表示處理邏輯;

  • (2) 一個動態的工作控制器,將連續的 streaming data 切分數據片段,并按照模板復制出新的 RDD DAG 的實例,對數據片段進行處理。

第三步,我們回過頭來看 streaming data 本身的產生。Hadoop MapReduce, Spark RDD API 進行批處理時,一般默認數據已經在 HDFS, HBase 或其它存儲上。而 streaming data —— 比如 twitter 流 —— 又有可能是在系統外實時產生的,就需要能夠將這些數據導入到 Spark Streaming 系統里,就像 Apache Storm 的 Spout,Apache S4 的 Adapter 能夠把數據導入系統里的作用是一致的。所以,我們將需要:

  • (3) 原始數據的產生和導入。

第四步,我們考慮,有了以上 (a)(b)(c) 3 部分,就可以順利用 RDD API 處理 streaming data 了嗎?其實相對于 batch job 通常幾個小時能夠跑完來講,streaming job 的運行時間是 +∞(正無窮大)的,所以我們還將需要:

  • (4) 對長時運行任務的保障,包括輸入數據的失效后的重構,處理任務的失敗后的重調。

至此,streaming data 的特點決定了,如果我們想基于 Spark Core 進行 streaming data 的處理,還需要在 Spark Core 的框架上解決剛才列出的 (1)(2)(3)(4) 這四點問題:

二、Spark Streaming 的整體模塊劃分

根據 Spark Streaming 解決這 4 個問題的不同 focus,可以將 Spark Streaming 劃分為四個大的模塊:

  • 模塊 1:DAG 靜態定義
  • 模塊 2:Job 動態生成
  • 模塊 3:數據產生與導入
  • 模塊 4:長時容錯

其中每個模塊涉及到的主要的類,示意如下:

這里先不用糾結每個類的具體用途,我們將在本文中簡述,并在本系列的后續文章里對每個模塊逐一詳述。

2.1 模塊 1:DAG 靜態定義

通過前面的描述我們知道,應該首先對計算邏輯描述為一個 RDD DAG 的“模板”,在后面 Job 動態生成的時候,針對每個 batch,Spark Streaming 都將根據這個“模板”生成一個 RDD DAG 的實例。

DStream 和 DStreamGraph

其實在 Spark Streaming 里,這個 RDD “模板”對應的具體的類是?DStream,RDD DAG “模板”對應的具體類是DStreamGraph。而?RDD?本身也有很多子類,幾乎每個子類都有一個對應的?DStream,如?UnionRDD?的對應是UnionDStream。RDD?通過?transformation?連接成 RDD DAG(但 RDD DAG 在 Spark Core 里沒有對應的具體類),DStream?也通過?transformation?連接成?DStreamGraph。

DStream 的全限定名是:org.apache.spark.streaming.dstream.DStream DStreamGraph 的全限定名是:org.apache.spark.streaming.DStreamGraph

DStream 和 RDD 的關系

既然?DStream?是?RDD?的模板,而且?DStream?和?RDD?具有相同的?transformation?操作,比如 map(), filter(), reduce() ……等等(正是這些相同的?transformation?使得?DStreamGraph?能夠忠實記錄 RDD DAG 的計算邏輯),那?RDD?和?DStream?有什么不一樣嗎?

還真不一樣。

比如,DStream?維護了對每個產出的?RDD?實例的指針。比如下圖里,DStream A?在 3 個 batch 里分別實例化了 3 個?RDD,分別是?a[1],?a[2],?a[3],那么?DStream A?就保留了一個?batch → 所產出的 RDD?的哈希表,即包含?batch 1 → a[1],?batch 2 → a[2],?batch 3 → a[3]?這 3 項。

另外,能夠進行流量控制的?DStream?子類,如?ReceiverInputDStream,還會保存關于歷次 batch 的源頭數據條數、歷次 batch 計算花費的時間等數值,用來實時計算準確的流量控制信息,這些都是記在?DStream?里的,而?RDD a[1]?等則不會保存這些信息。

我們在考慮的時候,可以認為,RDD?加上 batch 維度就是?DStream,DStream?去掉 batch 維度就是?RDD?—— 就像?RDD = DStream at batch T

不過這里需要特別說明的是,在DStreamGraph的圖里,DStream(即數據)是頂點,DStream之間的 transformation(即計算)是邊,這與 Apache Storm 等是相反的。

在 Apache Storm 的 topology 里,頂點是計算,邊是 stream(連續的 tuple),即數據。這一點也是比較熟悉 Storm 的同學剛開始一下子不太理解 DStream 的原因--我們再重復一遍,DStream 在有向圖里是頂點,是數據本身,而不是邊。

2.2 模塊 2:Job 動態生成

現在有了?DStreamGraph?和?DStream,也就是靜態定義了的計算邏輯,下面我們來看 Spark Streaming 是如何將其動態調度的。

在 Spark Streaming 程序的入口,我們都會定義一個 batchDuration,就是需要每隔多長時間就比照靜態的?DStreamGraph?來動態生成一個 RDD DAG 實例。在 Spark Streaming 里,總體負責動態作業調度的具體類是?JobScheduler,在 Spark Streaming 程序開始運行的時候,會生成一個?JobScheduler?的實例,并被 start() 運行起來。

JobScheduler?有兩個非常重要的成員:JobGenerator?和?ReceiverTracker。JobScheduler?將每個 batch 的 RDD DAG 具體生成工作委托給?JobGenerator,而將源頭輸入數據的記錄工作委托給?ReceiverTracker。

JobScheduler 的全限定名是:org.apache.spark.streaming.scheduler.JobScheduler JobGenerator 的全限定名是:org.apache.spark.streaming.scheduler.JobGenerator ReceiverTracker 的全限定名是:org.apache.spark.streaming.scheduler.ReceiverTracker

JobGenerator?維護了一個定時器,周期就是我們剛剛提到的 batchDuration,定時為每個 batch 生成 RDD DAG 的實例。具體的,每次 RDD DAG 實際生成包含 5 個步驟:

  • (1)?要求?ReceiverTracker?將目前已收到的數據進行一次 allocate,即將上次 batch 切分后的數據切分到到本次新的 batch 里
  • (2)?要求?DStreamGraph?復制出一套新的 RDD DAG 的實例,具體過程是:DStreamGraph?將要求圖里的尾?DStream?節點生成具體的 RDD 實例,并遞歸的調用尾?DStream?的上游?DStream?節點……以此遍歷整個?DStreamGraph,遍歷結束也就正好生成了 RDD DAG 的實例
  • (3)?獲取第 1 步?ReceiverTracker?分配到本 batch 的源頭數據的 meta 信息
  • (4) 將第 2 步生成的本 batch 的 RDD DAG,和第 3 步獲取到的 meta 信息,一同提交給?JobScheduler?異步執行
  • (5) 只要提交結束(不管是否已開始異步執行),就馬上對整個系統的當前運行狀態做一個 checkpoint

上述 5 個步驟的調用關系圖如下:

2.3 模塊 3:數據產生與導入

下面我們看 Spark Streaming 解決第三個問題的模塊分析,即數據的產生與導入。

DStream?有一個重要而特殊的子類?ReceiverInputDStream:它除了需要像其它?DStream?那樣在某個 batch 里實例化?RDD?以外,還需要額外的?Receiver?為這個?RDD?生產數據!

具體的,Spark Streaming 在程序剛開始運行時:

  • (1) 由?Receiver?的總指揮?ReceiverTracker?分發多個 job(每個 job 有 1 個 task),到多個 executor 上分別啟動ReceiverSupervisor?實例;

  • (2) 每個?ReceiverSupervisor?啟動后將馬上生成一個用戶提供的?Receiver?實現的實例 —— 該?Receiver?實現可以持續產生或者持續接收系統外數據,比如?TwitterReceiver?可以實時爬取 twitter 數據 —— 并在?Receiver?實例生成后調用Receiver.onStart()。

ReceiverSupervisor 的全限定名是:org.apache.spark.streaming.receiver.ReceiverSupervisor Receiver 的全限定名是:org.apache.spark.streaming.receiver.Receiver

(1)(2) 的過程由上圖所示,這時?Receiver?啟動工作已運行完畢。

接下來?ReceiverSupervisor?將在 executor 端作為的主要角色,并且:

  • (3)?Receiver?在?onStart()?啟動后,就將持續不斷地接收外界數據,并持續交給?ReceiverSupervisor?進行數據轉儲;

  • (4)?ReceiverSupervisor?持續不斷地接收到?Receiver?轉來的數據:

    • 如果數據很細小,就需要?BlockGenerator?攢多條數據成一塊(4a)、然后再成塊存儲(4b 或 4c)
    • 反之就不用攢,直接成塊存儲(4b 或 4c)

    • 這里 Spark Streaming 目前支持兩種成塊存儲方式,一種是由?blockManagerskManagerBasedBlockHandler?直接存到 executor 的內存或硬盤,另一種由?WriteAheadLogBasedBlockHandler?是同時寫 WAL(4c) 和 executor 的內存或硬盤

  • (5) 每次成塊在 executor 存儲完畢后,ReceiverSupervisor?就會及時上報塊數據的 meta 信息給 driver 端的ReceiverTracker;這里的 meta 信息包括數據的標識 id,數據的位置,數據的條數,數據的大小等信息。

  • (6)?ReceiverTracker?再將收到的塊數據 meta 信息直接轉給自己的成員?ReceivedBlockTracker,由ReceivedBlockTracker?專門管理收到的塊數據 meta 信息。

BlockGenerator 的全限定名是:org.apache.spark.streaming.receiver.BlockGenerator BlockManagerBasedBlockHandler 的全限定名是:org.apache.spark.streaming.receiver.BlockManagerBasedBlockHandler WriteAheadLogBasedBlockHandler 的全限定名是:org.apache.spark.streaming.receiver.WriteAheadLogBasedBlockHandler ReceivedBlockTracker 的全限定名是:org.apache.spark.streaming.scheduler.ReceivedBlockTracker ReceiverInputDStream 的全限定名是:org.apache.spark.streaming.dstream.ReceiverInputDStream

這里 (3)(4)(5)(6) 的過程是一直持續不斷地發生的,我們也將其在上圖里標識出來。

后續在 driver 端,就由?ReceiverInputDStream?在每個 batch 去檢查?ReceiverTracker?收到的塊數據 meta 信息,界定哪些新數據需要在本 batch 內處理,然后生成相應的?RDD?實例去處理這些塊數據,這個過程在模塊 1:DAG 靜態定義?模塊2:Job 動態生成?里描述過了。

2.4 模塊 4:長時容錯

以上我們簡述完成 Spark Streamimg 基于 Spark Core 所新增功能的 3 個模塊,接下來我們看一看第 4 個模塊將如何保障 Spark Streaming 的長時運行 —— 也就是,如何與前 3 個模塊結合,保障前 3 個模塊的長時運行。

通過前 3 個模塊的關鍵類的分析,我們可以知道,保障模塊 1 和 2 需要在 driver 端完成,保障模塊 3 需要在 executor 端和 driver 端完成。

executor 端長時容錯

先看 executor 端。

在 executor 端,ReceiverSupervisor?和?Receiver?失效后直接重啟就 OK 了,關聯是保障收到的塊數據的安全。保障了源頭塊數據,就能夠保障 RDD DAG (Spark Core 的 lineage)重做。

Spark Streaming 對源頭塊數據的保障,分為 4 個層次,全面、相互補充,又可根據不同場景靈活設置:

  • (1) 熱備:熱備是指在存儲塊數據時,將其存儲到本 executor、并同時 replicate 到另外一個 executor 上去。這樣在一個 replica 失效后,可以立刻無感知切換到另一份 replica 進行計算。實現方式是,在實現自己的 Receiver 時,即指定一下StorageLevel?為?MEMORY_ONLY_2?或?MEMORY_AND_DISK_2?就可以了。

// 1.5.2 update 這已經是默認了。

  • (2) 冷備:冷備是每次存儲塊數據前,先把塊數據作為 log 寫出到?WriteAheadLog?里,再存儲到本 executor。executor 失效時,就由另外的 executor 去讀 WAL,再重做 log 來恢復塊數據。WAL 通常寫到可靠存儲如 HDFS 上,所以恢復時可能需要一段 recover time。

  • (3) 重放:如果上游支持重放,比如 Apache Kafka,那么就可以選擇不用熱備或者冷備來另外存儲數據了,而是在失效時換一個 executor 進行數據重放即可。

  • (4) 忽略:最后,如果應用的實時性需求大于準確性,那么一塊數據丟失后我們也可以選擇忽略、不恢復失效的源頭數據。

我們用一個表格來總結一下:

?圖示優點缺點
(1) 熱備無 recover time需要占用雙倍資源
(2) 冷備十分可靠存在 recover time
(3) 重放不占用額外資源存在 recover time
(4) 忽略無 recover time準確性有損失

driver 端長時容錯

前面我們講過,塊數據的 meta 信息上報到 ReceiverTracker,然后交給?ReceivedBlockTracker?做具體的管理。ReceivedBlockTracker?也采用 WAL 冷備方式進行備份,在 driver 失效后,由新的?ReceivedBlockTracker?讀取 WAL 并恢復 block 的 meta 信息。

另外,需要定時對?DStreamGraph?和?JobScheduler?做?Checkpoint,來記錄整個?DStreamGraph?的變化、和每個 batch 的 job 的完成情況。

注意到這里采用的是完整 checkpoint 的方式,和之前的 WAL 的方式都不一樣。Checkpoint?通常也是落地到可靠存儲如 HDFS。Checkpoint?發起的間隔默認的是和?batchDuration 一致;即每次 batch 發起、提交了需要運行的 job 后就做Checkpoint,另外在 job 完成了更新任務狀態的時候再次做一下?Checkpoint。

這樣一來,在 driver 失效并恢復后,可以讀取最近一次的 Checkpoint 來恢復作業的?DStreamGraph?和 job 的運行及完成狀態。

總結一下本節內容為上述表格,可以看到,Spark Streaming 的長時容錯特性,能夠提供不重、不丟,exactly-once 的處理語義。

三、入口:StreamingContext

上面我們花了很多篇幅來介紹 Spark Streaming 的四大模塊,我們在最后介紹一下?StreamingContext。

下面我們用這段僅 11 行的完整?quick example,來說明用戶 code 是怎么通過?StreamingContext?與前面幾個模塊進行交互的:

import org.apache.spark._ import org.apache.spark.streaming._// 首先配置一下本 quick example 將跑在本機,app name 是 NetworkWordCount val conf = new SparkConf().setMaster("local[2]").setAppName("NetworkWordCount") // batchDuration 設置為 1 秒,然后創建一個 streaming 入口 val ssc = new StreamingContext(conf, Seconds(1))// ssc.socketTextStream() 將創建一個 SocketInputDStream;這個 InputDStream 的 SocketReceiver 將監聽本機 9999 端口 val lines = ssc.socketTextStream("localhost", 9999)val words = lines.flatMap(_.split(" ")) // DStream transformation val pairs = words.map(word => (word, 1)) // DStream transformation val wordCounts = pairs.reduceByKey(_ + _) // DStream transformation wordCounts.print() // DStream transformation // 上面 4 行利用 DStream transformation 構造出了 lines -> words -> pairs -> wordCounts -> .print() 這樣一個 DStreamGraph // 但注意,到目前是定義好了產生數據的 SocketReceiver,以及一個 DStreamGraph,這些都是靜態的// 下面這行 start() 將在幕后啟動 JobScheduler, 進而啟動 JobGenerator 和 ReceiverTracker // ssc.start() // -> JobScheduler.start() // -> JobGenerator.start(); 開始不斷生成一個一個 batch // -> ReceiverTracker.start(); 開始往 executor 上分布 ReceiverSupervisor 了,也會進一步創建和啟動 Receiver ssc.start()// 然后用戶 code 主線程就 block 在下面這行代碼了 // block 的后果就是,后臺的 JobScheduler 線程周而復始的產生一個一個 batch 而不停息 // 也就是在這里,我們前面靜態定義的 DStreamGraph 的 print(),才一次一次被在 RDD 實例上調用,一次一次打印出當前 batch 的結果 ssc.awaitTermination()

所以我們看到,StreamingContext?是 Spark Streaming 提供給用戶 code 的、與前述 4 個模塊交互的一個簡單和統一的入口。

四、總結與回顧

在最后我們再把?Sark Streaming 官方 Programming Guide?的部分內容放在這里,作為本文的一個回顧和總結。請大家看一看,如果看懂了本文的內容,是不是讀下面這些比較 high-level 的介紹會清晰化很多 :-)

Spark Streaming?is an extension of the?core Spark API?that enables?scalable,?high-throughput,?fault-tolerant stream processing of live data streams. Data can be ingested from many sources like Kafka, Flume, Twitter, ZeroMQ, Kinesis, or TCP sockets, and can be processed using complex algorithms expressed with high-level functions like map, reduce, join and window. Finally, processed data can be pushed out to filesystems, databases, and live dashboards. In fact, you can apply Spark’s machine learning and graph processing algorithms on data streams.

Internally, it works as follows.?Spark Streaming receives live input data streams and divides the data into batches, which are then processed by the Spark engine to generate the final stream of results in batches.

Spark Streaming provides a high-level abstraction called?discretized stream?or?DStream, which represents a continuous stream of data. DStreams can be created either from input data streams from sources such as Kafka, Flume, and Kinesis, or by applying high-level operations on other DStreams.?Internally, a DStream is represented as a sequence of RDDs.

...



(本文完,參與本文的討論請?猛戳這里,返回目錄請?猛戳這里)

轉載于:https://www.cnblogs.com/dailidong/p/7571134.html

總結

以上是生活随笔為你收集整理的Spark Streaming 实现思路与模块概述的全部內容,希望文章能夠幫你解決所遇到的問題。

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

激情综合亚洲 | 高潮久久久久久久久 | 99视频网站 | 人人爽夜夜爽 | 青青河边草观看完整版高清 | 免费网站色 | 国产亚洲视频在线免费观看 | 狠狠婷婷 | 久久免费国产 | 久久人人做| 久久久久久久久久免费视频 | 偷拍久久久| 天天色天天搞 | 日韩在线视频免费看 | 狠狠狠干狠狠 | 免费h在线观看 | 久久嗨 | 日韩欧美高清在线观看 | av免费片| 综合色亚洲 | 国产精品福利在线观看 | 国产一级视频在线观看 | 日韩理论影院 | 日韩在线免费高清视频 | 国产一级在线播放 | 午夜视频在线观看一区二区三区 | 中文字幕在线观看的网站 | 国语黄色片 | 日韩欧美在线综合网 | av一级在线观看 | 日日射av | 成人福利在线观看 | 国产综合91 | 国产1区在线 | 欧美激情精品久久久 | 久久激情视频 久久 | 狠狠狠狠狠狠 | 久久精品电影网 | 波多野结衣一区 | 97超碰成人 | 日韩精品网址 | 91成人免费视频 | www.com.日本一级 | 国产人免费人成免费视频 | 国产精品一区二区av | 婷婷综合亚洲 | 免费a级毛片在线看 | 91久久精品日日躁夜夜躁国产 | 日韩精品一区二区三区水蜜桃 | 91福利影院在线观看 | 国产手机视频在线播放 | 色99久久| 久久人人爽人人爽 | 久久精品导航 | 国产不卡视频在线 | 人人搞人人爽 | 久久经典国产视频 | 国语对白少妇爽91 | 黄色午夜网站 | www.com.黄 | 色wwwww| 综合伊人av | 4438全国亚洲精品观看视频 | 色天天天 | 99在线播放 | 91精品国产99久久久久久红楼 | 日韩av电影免费在线观看 | 国产精品永久久久久久久久久 | 91中文在线 | 99在线免费观看视频 | 97人人超碰在线 | 综合色天天 | 国产香蕉av | 激情图片qvod | 少妇视频在线播放 | 国产999在线| 精品久久亚洲 | 欧美va天堂在线电影 | 亚洲精品日韩一区二区电影 | 亚洲国产激情 | 久久成人视屏 | 在线看成人av | 91av网站在线观看 | 国产高h视频 | 精品一区二区6 | 中文字幕超清在线免费 | 91精品国产高清自在线观看 | 日韩在线视频播放 | 国产91精品一区二区绿帽 | 免费v片| 日韩av手机在线看 | 日韩爱爱片 | 超碰人人99 | 九九九热精品 | 黄色a在线观看 | 成人a在线观看 | 最新中文字幕在线资源 | 一本一道波多野毛片中文在线 | 亚洲一区天堂 | 蜜桃视频成人在线观看 | 日韩精品一区二区三区中文字幕 | 亚洲成人第一区 | 黄色小说网站在线 | 激情小说久久 | 黄色一级大片在线观看 | 亚洲国产精品小视频 | 日韩精品网址 | 免费观看性生交 | a一片一级 | 亚洲精品女人久久久 | 成人国产精品一区 | 国产明星视频三级a三级点| 18国产精品福利片久久婷 | 中国一级片在线 | 久久久久久久久综合 | 欧美色婷 | 欧美精品免费在线观看 | 久久免费黄色 | 免费日韩在线 | 中文不卡视频在线 | 欧美精品久久久久久久亚洲调教 | 草久视频在线观看 | 最新av中文字幕 | 久久精品日韩 | 亚洲黄色av网址 | 久久社区视频 | 成人日批视频 | 91精选在线 | 免费又黄又爽的视频 | 欧美激情奇米色 | 久久精品小视频 | 二区三区精品 | 久久99精品国产麻豆婷婷 | 久久久久高清毛片一级 | 日韩精品在线观看av | 中文字幕 国产视频 | 国产不卡高清 | 久久久影视 | 国产xxxx | 99精品在线看 | 99精品国产aⅴ | av一级片网站| 久久试看| 亚洲午夜在线视频 | 美女黄视频免费看 | 亚洲视频一区二区三区在线观看 | 国产午夜麻豆影院在线观看 | 国产一区二区日本 | 992tv又爽又黄的免费视频 | 永久免费看av | 国产系列在线观看 | 日韩欧美网站 | 久久久久国产一区二区三区四区 | 国产成人一区二区三区久久精品 | 808电影 | 天天干天天拍天天操天天拍 | 天天干天天射天天操 | 6699私人影院 | 免费看一级黄色大全 | 99爱国产精品 | 91av视屏| 日韩亚洲国产精品 | 色小说av | 超碰人人在线观看 | 在线国产视频观看 | 91探花国产综合在线精品 | 亚洲午夜电影网 | 韩国av免费在线 | 久久久久久久久久久网 | 亚洲人成人天堂h久久 | 精品在线视频一区二区三区 | 黄网站色成年免费观看 | 爱爱av网| 麻花传媒mv免费观看 | 99在线国产 | 午夜av影院 | 香蕉手机在线 | 午夜精品一区二区三区在线观看 | 激情五月婷婷 | 免费看污网站 | 最新国产一区二区三区 | 日日干精品 | 青青河边草免费直播 | 在线精品亚洲 | 999成人国产| 五月婷婷六月丁香在线观看 | 天天色天天色天天色 | 欧美十八| 久久国产经典 | 在线观看中文字幕 | 天天色天天操天天爽 | 高清不卡一区二区在线 | 小草av在线播放 | 国产精品久久久久久a | 精品av网站 | 91精品导航 | 午夜国产一区二区三区四区 | 欧美成人在线网站 | www99精品| 免费av视屏 | 国产精品久久久亚洲 | 亚洲综合在线一区二区三区 | 免费看的黄色片 | 免费观看91 | 国内成人综合 | 91久久久久久久一区二区 | 欧美日韩激情视频8区 | 国产精品18久久久久白浆 | 91亚色免费视频 | 最新中文字幕视频 | 911亚洲精品第一 | 欧美a性 | 国产高清黄| 91夜夜夜| 亚洲毛片一区二区三区 | 久久久久久久av麻豆果冻 | 欧美日韩不卡一区二区三区 | 免费在线中文字幕 | 韩国三级一区 | 欧美激情精品久久 | 久久人人爽人人爽人人片 | 久久免费一 | 久久色亚洲 | 狠狠躁夜夜躁人人爽超碰91 | 亚洲日本韩国一区二区 | 91视频电影 | 91精品亚洲影视在线观看 | 不卡视频国产 | 欧美一区二区三区四区夜夜大片 | 九九99 | 九九热视频在线免费观看 | 国产成人99久久亚洲综合精品 | 亚洲三级网 | 欧美久久九九 | 久久精品国产v日韩v亚洲 | 黄色aa久久 | 免费观看mv大片高清 | 欧美日韩国产一区二区三区 | 久久精品国产美女 | 色中色亚洲 | 国产成人久 | 中文字幕在线看视频 | 国产精品网红福利 | 久久国产精品偷 | 中文字幕在线视频国产 | 日本黄色大片儿 | 久草视频首页 | 夜夜操天天操 | 日韩精品免费在线视频 | 久久久久久网 | www.夜夜草 | 国产香蕉97碰碰久久人人 | 最新三级在线 | 日韩理论在线观看 | 精品99免费视频 | 一区中文字幕电影 | 日韩欧美综合 | 久久伦理电影 | 中文字幕文字幕一区二区 | 国产精品美女久久久久aⅴ 干干夜夜 | 九九爱免费视频在线观看 | 午夜精品久久久久久久99 | 91正在播放 | 成人在线观看你懂的 | 日日干天天爽 | 亚洲美女精品 | 免费亚洲精品视频 | 国产精品综合久久久久久 | 韩国av免费观看 | www.777奇米 | 一区视频在线 | 亚洲精品观看 | 在线观看岛国 | 香蕉视频免费在线播放 | 国产一区二区在线免费视频 | 成人动漫一区二区 | 国产生活一级片 | 亚洲无毛专区 | 日韩免费电影在线观看 | 久色 网 | 亚洲国产精彩中文乱码av | 欧美精品久久久久久久久老牛影院 | 亚洲免费色 | 成人a视频| 亚洲精品午夜久久久 | 啪啪免费试看 | 日韩午夜在线 | 中日韩免费视频 | 国产在线a视频 | 国产91在线播放 | 久久久亚洲网站 | 亚洲一区免费在线 | 在线中文字幕播放 | 97视频入口免费观看 | 久久毛片高清国产 | 亚洲国产成人高清精品 | 国产精品99精品久久免费 | 日韩欧美在线播放 | 天天激情 | 97国产在线 | 日本爱爱免费 | 国产成人免费观看 | 成人毛片在线观看视频 | 永久免费看av | 成人动漫一区二区 | 亚洲精品影视在线观看 | 国产成人一区二区三区免费看 | 国产性xxxx | 日韩精品免费一区二区在线观看 | 久久免费视频3 | 日韩欧美在线免费 | 国产男女爽爽爽免费视频 | 亚洲国产精彩中文乱码av | 黄色福利视频网站 | 亚洲精品中文字幕在线 | 日韩久久久久久久久久 | 精品视频久久 | 五月开心激情 | 国产麻豆果冻传媒在线观看 | 中文乱码视频在线观看 | www久草| 91精品视频在线看 | 一区二区视频电影在线观看 | 国产91学生| 美国av大片 | 欧美日韩免费在线观看视频 | 国产精品久久久久免费观看 | 99精品热视频只有精品10 | 国产精品久久久影视 | 日韩精品免费 | 成人a视频 | 国色天香在线 | 国产一区二区影院 | 久久综合狠狠狠色97 | 在线免费观看羞羞视频 | 97精品超碰一区二区三区 | 一区中文字幕 | 天天添夜夜操 | 国产91小视频 | www.啪啪.com | 欧美大片第1页 | 亚洲成人精品久久 | 日韩毛片精品 | 五月婷色| 国产精品一区二区在线观看免费 | 91精品免费视频 | 在线看中文字幕 | 天天鲁一鲁摸一摸爽一爽 | 午夜av免费在线观看 | 制服丝袜一区二区 | 欧美在线观看视频一区二区 | 探花视频在线观看+在线播放 | 91在线中字 | 欧美久久九九 | 国产又粗又猛又爽又黄的视频先 | 久久中文字幕在线视频 | 日韩av电影中文字幕 | 丁香花在线观看免费完整版视频 | 久久大片 | 中文字幕久久亚洲 | 久久久99国产精品免费 | 国产护士av | 国产成人精品综合久久久久99 | 免费av网站在线看 | 久久综合免费视频影院 | 久久高清毛片 | 久久精品福利视频 | 午夜黄色 | 伊人天天狠天天添日日拍 | 香蕉影视在线观看 | 黄色免费观看视频 | 青青网视频 | 色综合久久综合中文综合网 | 久草热视频 | 亚洲区视频在线观看 | 看v片| 久久好看免费视频 | 国产特级毛片aaaaaa毛片 | 免费日韩一区二区 | 黄色91在线 | 日韩精品久久一区二区三区 | 亚洲综合导航 | 91 在线视频 | 天天骚夜夜操 | 91av小视频| 午夜视频在线观看一区二区三区 | 久久99免费 | 精品一区二区久久久久久久网站 | 婷婷开心久久网 | 探花在线观看 | 99精品福利| 91精品在线免费观看视频 | 国产精品亚洲片在线播放 | 国产一区二区三区黄 | 亚洲一级理论片 | 在线看小早川怜子av | 日韩欧美国产视频 | 亚洲免费色 | 99久久精品一区二区成人 | 成人网在线免费视频 | 亚洲成人精品久久 | 日韩在线视频免费观看 | 免费在线黄色av | www国产精品com| 国产精品黄色影片导航在线观看 | 深爱激情五月网 | 天天操人 | 精品一二三区 | 五月天综合网站 | 婷婷六月综合网 | 亚洲专区 国产精品 | 国产99久久久国产精品免费看 | 深夜福利视频在线观看 | 91丨九色丨蝌蚪丨老版 | 日韩欧美高清在线观看 | 成人高清在线观看 | 亚洲欧美日韩国产精品一区午夜 | 99久久久久国产精品免费 | 国产+日韩欧美 | 久久久久久久久久久久国产精品 | 国产91精品久久久久久 | 国产v在线播放 | 久久国产一区二区 | 成人av.com | 中日韩在线 | 91色蜜桃 | 国产麻豆精品一区 | 99免费在线播放99久久免费 | 亚洲精品视频免费在线观看 | 精品久久久久国产 | 天天操导航| 五月婷香蕉久色在线看 | 国产精品福利午夜在线观看 | 国产96在线视频 | 精品一区 在线 | 网站免费黄色 | 中文字幕在线视频第一页 | 国产一区二区视频在线播放 | 91成人精品观看 | 丁香 久久 综合 | 欧美成年黄网站色视频 | 国内久久精品 | 中文字幕在线国产精品 | av大全在线播放 | 超碰免费久久 | 三级毛片视频 | 国产精久久久 | 在线观看a视频 | 一区二区三区四区五区在线 | 人人爽人人 | 探花视频在线观看+在线播放 | 国产激情电影综合在线看 | 人人干天天干 | 91综合色 | 久热久草在线 | 在线播放日韩av | 中文字幕在线观看你懂的 | 亚洲午夜精品久久久久久久久 | 国产亚洲精品日韩在线tv黄 | 久久成人18免费网站 | 精品久久久久久亚洲 | 久久影院亚洲 | 五月婷婷六月综合 | 粉嫩av一区二区三区四区在线观看 | 久久丁香网 | 久久久免费精品视频 | 91精品国产一区二区在线观看 | 久久久久一区 | 日本精品小视频 | 三级黄色片在线观看 | 77国产精品 | 天天干天天干 | 亚洲最新av网址 | www五月婷婷| 国产亚洲视频系列 | 成人在线视频观看 | 午夜精品久久久久久中宇69 | 亚洲欧美国产精品久久久久 | 亚洲黄色av | av在线电影免费观看 | 99久久精品免费一区 | 天天色天天干天天 | 免费视频成人 | 国产免费久久久久 | 狠狠黄 | 欧美天天射 | 最新一区二区三区 | 久久综合一本 | 在线观看视频在线 | 91片黄在线观看 | 亚洲片在线资源 | 99久久网站| 久草网在线 | 国产亚洲精品久久19p | 国产成人在线看 | 久久国际影院 | 亚洲成aⅴ人片久久青草影院 | 在线精品观看 | 亚洲日本国产精品 | 久爱综合 | 久久久久久高潮国产精品视 | 网站在线观看日韩 | 日本精品久久久久 | 久爱综合 | 中文字幕精品www乱入免费视频 | 国产免费视频在线 | 久久调教视频 | 免费在线h | 国产免费av一区二区三区 | 国产一区二区在线免费播放 | 久操视频在线 | 国产亚洲人成网站在线观看 | 欧美精品久久久久久久久久 | 人人cao| 91视频免费 | av激情五月 | 成人久久久精品国产乱码一区二区 | 99久久精品免费看国产一区二区三区 | av直接看| 一区二区丝袜 | 国产伦精品一区二区三区四区视频 | 日韩啪啪小视频 | 最近2019中文免费高清视频观看www99 | 久久免费视频8 | 日本丰满少妇免费一区 | 91久久久久久国产精品 | av免费观看高清 | 在线岛国av | 久久国产网站 | 综合网天天 | 91黄色在线观看 | 久久免费看 | 亚洲综合视频在线播放 | 国内精品久久久久久久影视麻豆 | 中文字幕视频网站 | 免费福利在线播放 | 韩国av永久免费 | 日日激情| 欧美成人a在线 | 日韩女同av | 粉嫩一区二区三区粉嫩91 | 国产精品99免视看9 国产精品毛片一区视频 | 久久久.com | 亚洲色图激情文学 | av一级在线| 99久久激情视频 | 在线播放 亚洲 | 在线观看av国产 | 99精品视频99 | 婷婷网五月天 | 五月婷网| 天天操夜夜逼 | 91色在线观看 | 午夜电影av| 欧美日高清视频 | 日韩在线观看不卡 | 91九色最新 | 国产色秀视频 | 尤物97国产精品久久精品国产 | 国产小视频在线 | 在线观看国产www | 免费日韩 精品中文字幕视频在线 | 久久视频国产 | 色丁香久久 | 亚洲成av | 国产精品久久久久久电影 | 成人精品久久久 | 国产精品综合av一区二区国产馆 | 日韩高清毛片 | 欧美一区二区日韩一区二区 | 免费激情网 | 中文字幕日韩免费视频 | 亚洲高清色综合 | 国产精品热 | 蜜臀精品久久久久久蜜臀 | 欧美成人免费在线 | 国产精品区一区 | 国产黄av| a级片久久久| 国产精品乱码久久久久 | 亚洲国产精品小视频 | 97av免费视频 | www.黄色小说.com | 看片黄网站 | av色一区 | 国产精品成人自拍 | 国产精品久久久久影视 | 99久久精品免费视频 | 精品成人网| 久久91久久久久麻豆精品 | 狠狠伊人| 国产视频一二三 | 四虎视频 | 国产男女免费完整视频 | 狠狠躁日日躁 | 日日夜操| 亚洲乱码中文字幕综合 | 激情视频免费在线 | 中文字幕国产视频 | 最近日本字幕mv免费观看在线 | 一级黄视频 | 亚洲激情 | 日韩av一区二区在线 | 97手机电影网 | 精品极品在线 | 日韩高清国产精品 | 日韩欧美在线影院 | 色欧美88888久久久久久影院 | 婷婷综合伊人 | 97精产国品一二三产区在线 | 在线观看深夜视频 | 精品国产诱惑 | 久久久久久久久久网站 | 天天摸天天操天天舔 | 日躁夜躁狠狠躁2001 | 24小时日本在线www免费的 | 黄色大片中国 | 久久久99精品免费观看乱色 | 97人人人人| 亚洲自拍偷拍色图 | 午夜久久成人 | 99精品观看 | 久久综合亚洲鲁鲁五月久久 | 91精品视频免费看 | 人人草人人做 | 亚洲午夜小视频 | 国产 日韩 欧美 自拍 | 插久久 | 国产片免费在线观看视频 | 黄色的网站在线 | 国产精品色视频 | 国产精品9区 | 国产精品免费一区二区三区在线观看 | 亚洲成人资源 | 日韩精品影视 | 最近更新的中文字幕 | 久久99精品久久久久婷婷 | 69欧美视频 | 在线观看自拍 | 免费网站黄 | 成人午夜精品 | 91九色蝌蚪国产 | 91九色丨porny丨丰满6 | 国内精品久久久久久中文字幕 | 中文在线√天堂 | 日本精品一区二区三区在线播放视频 | 免费av大片 | 久久久香蕉视频 | 日韩69视频| 久久久久99精品国产片 | 草久久影院 | 亚洲精品视频在线播放 | 亚洲专区免费观看 | 免费三及片 | 国产99久久精品 | 国产玖玖精品视频 | 成人久久18免费网站 | 91精品国产网站 | 日韩精品欧美视频 | 色多多污污 | 深爱激情婷婷网 | 狠狠激情中文字幕 | 国产成人一区二区三区影院在线 | 亚州免费视频 | 天天操天天摸天天干 | 国产高清一区二区 | 亚洲国产网址 | 久久久久久国产精品美女 | 免费h在线观看 | 免费h漫在线观看 | 国产免费亚洲高清 | 午夜精品一二区 | 久久久久久久影院 | 久久精品这里精品 | 国产亚洲精品久久19p | www五月天| 五月婷婷丁香网 | 成人午夜网 | 一区二区在线不卡 | 成人久久18免费网站 | 国产99精品在线观看 | 国产精品美女视频网站 | 国产精品在线看 | 黄色成人影视 | 99在线热播精品免费 | 伊人视频| 日韩免费电影一区二区 | 亚洲国产欧洲综合997久久, | 色久天 | 色偷偷男人的天堂av | 91视频在线观看免费 | 69精品 | 亚洲理论电影网 | 婷婷五天天在线视频 | 婷婷六月久久 | 亚洲精品在 | 久久精品美女视频 | 成人免费色 | 欧美激情视频免费看 | 国产午夜麻豆影院在线观看 | 黄色片网站免费 | 日本在线观看视频一区 | 成人国产精品免费 | 国产成人一区二区三区免费看 | 午夜精品久久久久久久99无限制 | 日韩视频一区二区三区 | 91伊人久久大香线蕉蜜芽人口 | 亚洲成a人片77777kkkk1在线观看 | 欧亚日韩精品一区二区在线 | 国产福利a | 亚洲砖区区免费 | 午夜免费福利视频 | 日韩中文字幕网站 | 免费热情视频 | 日韩三级在线观看 | av中文字幕电影 | 91免费在线视频 | 91色网址 | 国产精品日韩久久久久 | 日本久久影视 | 96av在线视频 | 久久综合狠狠综合 | 免费观看黄色12片一级视频 | 美女网站色在线观看 | 久久国色夜色精品国产 | 中文综合在线 | 国产精品九九久久久久久久 | 久草在线电影网 | 亚洲午夜久久久综合37日本 | 午夜精品久久久久久久久久久 | 国产精品18久久久久久久网站 | 91夫妻自拍| 韩国在线一区二区 | 精品视频免费观看 | 一区二区视频欧美 | 99日精品| 日本99热| 日产乱码一二三区别免费 | 操综合| 天天干天天射天天插 | 亚洲欧洲精品一区二区精品久久久 | 色噜噜在线观看视频 | 精品国产成人在线 | 日韩高清不卡一区二区三区 | 久久高清国产 | 日韩高清www | 久久国产亚洲精品 | 免费合欢视频成人app | 国产精品video爽爽爽爽 | 五月天婷婷视频 | 天天爽综合网 | 日日夜夜精品视频天天综合网 | 在线观看日韩av | 黄色软件在线观看视频 | 毛片一二区 | 免费观看黄色av | 国产在线a不卡 | 亚洲国产偷| 91视频在线国产 | 在线国产黄色 | 亚洲视频免费在线观看 | 99久久99视频只有精品 | 国产女人免费看a级丨片 | 西西大胆免费视频 | 天天色 天天 | 欧美日韩亚洲在线观看 | 波多野结衣在线观看一区 | 亚洲欧洲av | 天天干 天天摸 天天操 | 黄色视屏在线免费观看 | 欧美激情视频一区 | 国产精品一区二区白浆 | 毛片二区 | 视频国产在线观看18 | 亚州国产精品 | 国产精品1区 | 激情在线网址 | 久久精品免费 | 天天舔夜夜操 | 国产 欧美 日本 | 久久国产精品影片 | 国产精品久久久久久久久久尿 | 久草在线资源视频 | 天天色婷婷 | 超碰在线观看av.com | 日韩欧美一区二区在线播放 | 免费看污片 | 青草视频网| 久艹在线播放 | 欧美国产日韩久久 | 97超碰福利久久精品 | 日本特黄一级 | 免费看黄色91 | 欧美在线视频不卡 | 久久超级碰 | 国产精品99久久久久久有的能看 | 亚洲va在线va天堂 | 奇米网在线观看 | 国内99视频 | av中文字幕在线观看网站 | 国产精品久久久久久久久久免费看 | 婷婷色视频 | 日韩影视大全 | 波多野结依在线观看 | aaa日本高清在线播放免费观看 | www国产亚洲精品久久网站 | 亚洲激情六月 | 97国产视频 | 99亚洲精品在线 | 激情视频二区 | 国产精品毛片久久久久久久久久99999999 | 天天干天天干天天干天天干天天干天天干 | 亚洲1区 在线 | 激情伊人五月天 | 亚洲情婷婷 | 91视频 - 88av | 国产91精品高清一区二区三区 | 黄色av影院 | 亚洲国产中文字幕在线观看 | 久久亚洲福利视频 | 久久综合色一综合色88 | 亚洲欧洲视频 | 国产精品videossex国产高清 | 欧美在线观看视频一区二区三区 | 日本久久久久久 | 中文字幕2021 | 精品乱码一区二区三四区 | 在线国产视频一区 | 天天色天天操天天爽 | 国产免费又黄又爽 | 九九久久免费视频 | 91精品国产高清 | 成年人在线免费视频观看 | 三级小视频在线观看 | 91毛片在线观看 | 免费亚洲黄色 | 国产精品久久久久久一区二区三区 | 天天爱天天干天天爽 | 久久免费视频国产 | 9色在线视频 | 在线免费观看黄色小说 | av先锋影音少妇 | 久久国际影院 | 狠狠干天天色 | 5月丁香婷婷综合 | 日韩欧美高清免费 | 人人爱天天操 | 久久污视频 | 久久av高清 | 九九免费精品视频在线观看 | 国产小视频在线 | av黄网站 | 亚洲精品欧美视频 | 九九免费在线观看视频 | 亚洲一区视频在线播放 | 亚洲最新av在线网址 | 日本精品一区二区在线观看 | 精品在线观看视频 | 99精品国产一区二区三区麻豆 | 午夜视频亚洲 | 91久久丝袜国产露脸动漫 | 国产在线观看高清视频 | 伊人激情综合 | 久久精品这里热有精品 | 亚洲欧美日韩一区二区三区在线观看 | 欧美在线观看视频一区二区 | 婷婷视频在线观看 | 国产色久 | 美女久久久久久久久久 | 欧美最猛性xxxxx亚洲精品 | 日韩精品久久久 | 亚州日韩中文字幕 | 亚洲综合欧美精品电影 | 天天干天天操天天 | 日韩激情一二三区 | 欧美 日韩 国产 中文字幕 | 丁香六月五月婷婷 | 久久久久日本精品一区二区三区 | 91精品国产综合久久婷婷香蕉 | 玖玖视频免费在线 | 成人黄色av免费在线观看 | 韩日精品中文字幕 | 开心激情久久 | 99亚洲国产 | 国产精品久久久久久久久久久久午 | 99国内精品久久久久久久 | 在线 影视 一区 | 成人福利在线 | 欧美日韩一区二区在线 | 亚洲不卡123 | 91在线播放综合 | 伊人中文字幕在线 | 人人超碰97 | 免费观看视频的网站 | 婷婷午夜 | 在线看国产视频 | 在线91精品 | 深夜精品福利 | 免费网址在线播放 | a视频免费在线观看 | 日韩在线视频观看 | 免费在线国产 | 91久色蝌蚪 | 久99久精品视频免费观看 | 99久久久久久久久久 | 天天激情综合网 | 国产一二三四在线视频 | 黄色免费av | 欧美日韩网站 | 91.麻豆视频 | 国产伦理久久精品久久久久_ | 99人久久精品视频最新地址 | 黄色小网站在线 | av网站地址 | 久久神马影院 | 国产高清视频免费最新在线 | 久久精品视 | 成人动态视频 | 亚洲 精品在线视频 | 特级黄色电影 | 久久视频免费在线观看 | 97视频网站 | 免费人成在线观看网站 | 99久久精品国产免费看不卡 | 狠狠色伊人亚洲综合网站野外 | 免费看十八岁美女 | 日韩精品久久久久久 | av网站在线观看免费 | 日韩精品极品视频 | 免费精品在线视频 | 国产精品尤物视频 | japanesefreesex中国少妇 | 国内精品久久久久影院优 | 在线导航福利 | 91九色蝌蚪 | 国产成人黄色在线 | 日韩精品一区二区三区在线视频 | 夜夜躁日日躁狠狠久久88av | 国产成人精品一区二区三区福利 | 日韩av电影中文字幕 | 国产一区电影在线观看 | 日韩在线在线 | 亚洲精品久久久蜜桃直播 | 99热精品久久 | 日韩久久影院 | 新av在线 | 国产精品网站 | 四虎小视频 | 99久久精品国产亚洲 | 亚洲日本va午夜在线影院 | a在线观看免费视频 | 亚洲天堂网在线观看视频 | 日韩精品一卡 | 亚州欧美视频 | 日韩欧美一区二区三区在线观看 | 欧美性脚交| 91av视频免费观看 | 最近2019年日本中文免费字幕 | 成 人 黄 色 视频免费播放 | 在线免费观看黄 | 国产精品毛片一区视频 | 一色av | 成人久久久久 | 日韩精品免费在线播放 | 国产精品成人国产乱一区 | 久久精品国亚洲 | 国产精品美女999 | 亚色视频在线观看 | 在线 欧美 日韩 | 中文字幕4| 欧美久久久久久久久中文字幕 | 伊在线视频 | 亚洲国产资源 | 六月丁香婷婷久久 | 日韩黄色一级电影 | 成年人免费观看国产 | 国产a国产 | 色网站免费在线观看 | 99国产精品久久久久久久久久 | 黄色精品久久久 | 亚洲 欧美 国产 va在线影院 | 九九热视频在线播放 | 超碰国产人人 | 最近日本中文字幕 | 天天摸天天干天天操天天射 | 日韩欧美高清一区二区三区 | 亚洲精品午夜国产va久久成人 | 中文字幕在线视频一区二区 | 久久国色夜色精品国产 | 午夜精品久久久久久久久久久久久久 | 日韩欧美xxxx | 一本一本久久a久久精品综合妖精 | 在线观看av小说 | 久久久久亚洲精品成人网小说 | 在线一二三四区 | 亚洲一区久久久 | 日韩电影在线观看中文字幕 | 香蕉视频国产在线观看 |