久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

使用Storm实现实时大数据分析

發布時間:2024/6/21 综合教程 25 生活家
生活随笔 收集整理的這篇文章主要介紹了 使用Storm实现实时大数据分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

摘要:隨著數據體積的越來越大,實時處理成為了許多機構需要面對的首要挑戰。Shruthi Kumar和Siddharth Patankar在Dr.Dobb’s上結合了汽車超速監視,為我們演示了使用Storm進行實時大數據分析。CSDN在此編譯、整理。

簡單和明了,Storm讓大數據分析變得輕松加愉快。

當今世界,公司的日常運營經常會生成TB級別的數據。數據來源囊括了互聯網裝置可以捕獲的任何類型數據,網站、社交媒體、交易型商業數據以及其它商業環境中創建的數據。考慮到數據的生成量,實時處理成為了許多機構需要面對的首要挑戰。我們經常用的一個非常有效的開源實時計算工具就是Storm—— Twitter開發,通常被比作“實時的Hadoop”。然而Storm遠比Hadoop來的簡單,因為用它處理大數據不會帶來新老技術的交替。

Shruthi Kumar、Siddharth Patankar共同效力于Infosys,分別從事技術分析和研發工作。本文詳述了Storm的使用方法,例子中的項目名稱為“超速報警系統(Speeding Alert System)”。我們想實現的功能是:實時分析過往車輛的數據,一旦車輛數據超過預設的臨界值 —— 便觸發一個trigger并把相關的數據存入數據庫。

1. Storm是什么

全量數據處理使用的大多是鼎鼎大名的hadoop或者hive,作為一個批處理系統,hadoop以其吞吐量大、自動容錯等優點,在海量數據處理上得到了廣泛的使用。

Hadoop下的Map/Reduce框架對于數據的處理流程是:

1、 將要處理的數據上傳到Hadoop的文件系統HDFS中。

2、 Map階段

a) Master對Map的預處理:對于大量的數據進行切分,劃分為M個16~64M的數據分片(可通過參數自定義分片大小)

b) 調用Mapper函數:Master為Worker分配Map任務,每個分片都對應一個Worker進行處理。各個Worker讀取并調用用戶定義的Mapper函數 處理數據,并將結果存入HDFS,返回存儲位置給Master。

一個Worker在Map階段完成時,在HDFS中,生成一個排好序的Key-values組成的文件。并將位置信息匯報給Master。

3、 Reduce階段

a) Master對Reduce的預處理:Master為Worker分配Reduce任務,他會將所有Mapper產生的數據進行映射,將相同key的任務分配給某個Worker。

b) 調用Reduce函數:各個Worker將分配到的數據集進行排序(使用工具類Merg),并調用用戶自定義的Reduce函數,并將結果寫入HDFS。

每個Worker的Reduce任務完成后,都會在HDFS中生成一個輸出文件。Hadoop并不將這些文件合并,因為這些文件往往會作為另一個Map/reduce程序的輸入。

以上的流程,粗略概括,就是從HDFS中獲取數據,將其按照大小分片,進行分布式處理,最終輸出結果。從流程來看,Hadoop框架進行數據處理有以下要求:

1、 數據已經存在在HDFS當中。

2、 數據間是少關聯的。各個任務執行器在執行負責的數據時,無需考慮對其他數據的影響,數據之間應盡可能是無聯系、不會影響的。

使用Hadoop,適合大批量的數據處理,這是他所擅長的。由于基于Map/Reduce這種單級的數據處理模型進行,因此,如果數據間的關聯系較大,需要進行數據的多級交互處理(某個階段的處理數據依賴于上一個階段),需要進行多次map/reduce。又由于map/reduce每次執行都需要遍歷整個數據集,對于數據的實時計算并不合適,于是有了storm。

對比Hadoop的批處理,Storm是個實時的、分布式以及具備高容錯的計算系統。同Hadoop一樣Storm也可以處理大批量的數據,然而Storm在保證高可靠性的前提下還可以讓處理進行的更加實時;也就是說,所有的信息都會被處理。Storm同樣還具備容錯和分布計算這些特性,這就讓Storm可以擴展到不同的機器上進行大批量的數據處理。他同樣還有以下的這些特性:

易于擴展:對于擴展,伴隨著業務的發展,我們的數據量、計算量可能會越來越大,所以希望這個系統是可擴展的。你只需要添加機器和改變對應的topology(拓撲)設置。Storm使用Hadoop
Zookeeper進行集群協調,這樣可以充分的保證大型集群的良好運行。每條信息的處理都可以得到保證。Storm集群管理簡易。Storm的容錯機能:一旦topology遞交,Storm會一直運行它直到topology被廢除或者被關閉。而在執行中出現錯誤時,也會由Storm重新分配任務。這是分布式系統中通用問題。一個節點掛了不能影響我的應用。低延遲。都說了是實時計算系統了,延遲是一定要低的。
盡管通常使用Java,Storm中的topology可以用任何語言設計。

在線實時流處理模型

對于處理大批量數據的Map/reduce程序,在任務完成之后就停止了,但Storm是用于實時計算的,所以,相應的處理程序會一直執行(等待任務,有任務則執行)直至手動停止。

對于Storm,他是實時處理模型,與hadoop的不同是,他是針對在線業務而存在的計算平臺,如統計某用戶的交易量、生成為某個用戶的推薦列表等實時性高的需求。他是一個“流處理”框架。何謂流處理?storm將數據以Stream的方式,并按照Topology的順序,依次處理并最終生成結果。

當然為了更好的理解文章,你首先需要安裝和設置Storm。需要通過以下幾個簡單的步驟:

從Storm官方下載Storm安裝文件將bin/directory解壓到你的PATH上,并保證bin/storm腳本是可執行的。

盡管 Storm 是使用 Clojure 語言開發的,您仍然可以在 Storm 中使用幾乎任何語言編寫應用程序。所需的只是一個連接到 Storm 的架構的適配器。已存在針對 Scala、JRuby、Perl 和 PHP 的適配器,但是還有支持流式傳輸到 Storm 拓撲結構中的結構化查詢語言適配器。

2. Storm的組件

Storm集群和Hadoop集群表面上看很類似。但是Hadoop上運行的是MapReduce jobs,而在Storm上運行的是拓撲(topology),這兩者之間是非常不一樣的。一個關鍵的區別是: 一個MapReduce job最終會結束, 而一個topology永遠會運行(除非你手動kill掉)。

Storm集群主要由一個主節點(Nimbus后臺程序)和一群工作節點(worker
node)Supervisor的節點組成,通過 Zookeeper進行協調。Nimbus類似Hadoop里面的JobTracker。Nimbus負責在集群里面分發代碼,分配計算任務給機器,
并且監控狀態。

每一個工作節點上面運行一個叫做Supervisor的節點。Supervisor會監聽分配給它那臺機器的工作,根據需要啟動/關閉工作進程。每一個工作進程執行一個topology的一個子集;一個運行的topology由運行在很多機器上的很多工作進程組成。

1、 Nimbus主節點:

主節點通常運行一個后臺程序 —— Nimbus,用于響應分布在集群中的節點,分配任務和監測故障。這個很類似于Hadoop中的Job Tracker。

2、Supervisor工作節點:

工作節點同樣會運行一個后臺程序 —— Supervisor,用于收聽工作指派并基于要求運行工作進程。每個工作節點都是topology中一個子集的實現。而Nimbus和Supervisor之間的協調則通過Zookeeper系統或者集群。

3、Zookeeper

Zookeeper是完成Supervisor和Nimbus之間協調的服務。而應用程序實現實時的邏輯則被封裝進Storm中的“topology”。topology則是一組由Spouts(數據源)和Bolts(數據操作)通過Stream Groupings進行連接的圖。下面對出現的術語進行更深刻的解析。

4、Worker:

運行具體處理組件邏輯的進程。

5、Task:

worker中每一個spout/bolt的線程稱為一個task. 在storm0.8之后,task不再與物理線程對應,同一個spout/bolt的task可能會共享一個物理線程,該線程稱為executor。

6、Topology(拓撲):

storm中運行的一個實時應用程序,因為各個組件間的消息流動形成邏輯上的一個拓撲結構。一個topology是spouts和bolts組成的圖,
通過stream groupings將圖中的spouts和bolts連接起來,如下圖:

一個topology會一直運行直到你手動kill掉,Storm自動重新分配執行失敗的任務, 并且Storm可以保證你不會有數據丟失(如果開啟了高可靠性的話)。如果一些機器意外停機它上面的所有任務會被轉移到其他機器上。

運行一個topology很簡單。首先,把你所有的代碼以及所依賴的jar打進一個jar包。然后運行類似下面的這個命令:

storm jar all-my-code.jar
backtype.storm.MyTopology arg1 arg2

這個命令會運行主類:backtype.strom.MyTopology, 參數是arg1,arg2。這個類的main函數定義這個topology并且把它提交給Nimbus。storm
jar負責連接到Nimbus并且上傳jar包。

Topology的定義是一個Thrift結構,并且Nimbus就是一個Thrift服務, 你可以提交由任何語言創建的topology。上面的方面是用JVM-based語言提交的最簡單的方法。

7、Spout:

消息源spout是Storm里面一個topology里面的消息生產者。簡而言之,Spout從來源處讀取數據并放入topology。Spout分成可靠和不可靠兩種;當Storm接收失敗時,可靠的Spout會對tuple(元組,數據項組成的列表)進行重發;而不可靠的Spout不會考慮接收成功與否只發射一次。

消息源可以發射多條消息流stream。使用OutputFieldsDeclarer.declareStream來定義多個stream,然后使用SpoutOutputCollector來發射指定的stream。

而Spout中最主要的方法就是nextTuple(),該方法會發射一個新的tuple到topology,如果沒有新tuple發射則會簡單的返回。

要注意的是nextTuple方法不能阻塞,因為storm在同一個線程上面調用所有消息源spout的方法。

另外兩個比較重要的spout方法是ack和fail。storm在檢測到一個tuple被整個topology成功處理的時候調用ack,否則調用fail。storm只對可靠的spout調用ack和fail。

8、Bolt:

Topology中所有的處理都由Bolt完成。即所有的消息處理邏輯被封裝在bolts里面。Bolt可以完成任何事,比如:連接的過濾、聚合、訪問文件/數據庫、等等。

Bolt從Spout中接收數據并進行處理,如果遇到復雜流的處理也可能將tuple發送給另一個Bolt進行處理。即需要經過很多blots。比如算出一堆圖片里面被轉發最多的圖片就至少需要兩步:第一步算出每個圖片的轉發數量。第二步找出轉發最多的前10個圖片。(如果要把這個過程做得更具有擴展性那么可能需要更多的步驟)。

Bolts可以發射多條消息流,
使用OutputFieldsDeclarer.declareStream定義stream,使用OutputCollector.emit來選擇要發射的stream。

而Bolt中最重要的方法是execute(),以新的tuple作為參數接收。不管是Spout還是Bolt,如果將tuple發射成多個流,這些流都可以通過declareStream()來聲明。

bolts使用OutputCollector來發射tuple,bolts必須要為它處理的每一個tuple調用OutputCollector的ack方法,以通知Storm這個tuple被處理完成了,從而通知這個tuple的發射者spouts。
一般的流程是: bolts處理一個輸入tuple, 發射0個或者多個tuple, 然后調用ack通知storm自己已經處理過這個tuple了。storm提供了一個IBasicBolt會自動調用ack。

9、Tuple:

一次消息傳遞的基本單元。本來應該是一個key-value的map,但是由于各個組件間傳遞的tuple的字段名稱已經事先定義好,所以tuple中只要按序填入各個value就行了,所以就是一個value list.

10、Stream:

源源不斷傳遞的tuple就組成了stream。消息流stream是storm里的關鍵抽象。一個消息流是一個沒有邊界的tuple序列,
而這些tuple序列會以一種分布式的方式并行地創建和處理。通過對stream中tuple序列中每個字段命名來定義stream。在默認的情況下,tuple的字段類型可以是:integer,long,short, byte,string,double,float,boolean和byte array。你也可以自定義類型(只要實現相應的序列化器)。

每個消息流在定義的時候會被分配給一個id,因為單向消息流使用的相當普遍, OutputFieldsDeclarer定義了一些方法讓你可以定義一個stream而不用指定這個id。在這種情況下這個stream會分配個值為‘default’默認的id 。

Storm提供的最基本的處理stream的原語是spout和bolt。你可以實現spout和bolt提供的接口來處理你的業務邏輯。

11、Stream Groupings:

Stream Grouping定義了一個流在Bolt任務間該如何被切分。這里有Storm提供的6個Stream Grouping類型:

1). 隨機分組(Shuffle grouping):隨機分發tuple到Bolt的任務,保證每個任務獲得相等數量的tuple。

2). 字段分組(Fields grouping):根據指定字段分割數據流,并分組。例如,根據“user-id”字段,相同“user-id”的元組總是分發到同一個任務,不同“user-id”的元組可能分發到不同的任務。

3). 全部分組(All grouping):tuple被復制到bolt的所有任務。這種類型需要謹慎使用。

4). 全局分組(Global grouping):全部流都分配到bolt的同一個任務。明確地說,是分配給ID最小的那個task。

5). 無分組(None grouping):你不需要關心流是如何分組。目前,無分組等效于隨機分組。但最終,Storm將把無分組的Bolts放到Bolts或Spouts訂閱它們的同一線程去執行(如果可能)。

6). 直接分組(Direct grouping):這是一個特別的分組類型。元組生產者決定tuple由哪個元組處理者任務接收。

當然還可以實現CustomStreamGroupimg接口來定制自己需要的分組。

storm 和hadoop的對比來了解storm中的基本概念。

Hadoop Storm
系統角色 JobTracker Nimbus
TaskTracker Supervisor
Child Worker
應用名稱 Job Topology
組件接口 Mapper/Reducer Spout/Bolt


3. Storm應用場景

Storm 與其他大數據解決方案的不同之處在于它的處理方式。Hadoop 在本質上是一個批處理系統。數據被引入 Hadoop 文件系統 (HDFS)
并分發到各個節點進行處理。當處理完成時,結果數據返回到 HDFS 供始發者使用。Storm 支持創建拓撲結構來轉換沒有終點的數據流。不同于 Hadoop 作業,這些轉換從不停止,它們會持續處理到達的數據。

Twitter列舉了Storm的三大類應用:

1.信息流處理{Streamprocessing}
Storm可用來實時處理新數據和更新數據庫,兼具容錯性和可擴展性。即Storm可以用來處理源源不斷流進來的消息,處理之后將結果寫入到某個存儲中去。

2.連續計算{Continuouscomputation}
Storm可進行連續查詢并把結果即時反饋給客戶端。比如把Twitter上的熱門話題發送到瀏覽器中。

3.分布式遠程程序調用{DistributedRPC}
Storm可用來并行處理密集查詢。Storm的拓撲結構是一個等待調用信息的分布函數,當它收到一條調用信息后,會對查詢進行計算,并返回查詢結果。舉個例子DistributedRPC可以做并行搜索或者處理大集合的數據。

通過配置drpc服務器,將storm的topology發布為drpc服務。客戶端程序可以調用drpc服務將數據發送到storm集群中,并接收處理結果的反饋。這種方式需要drpc服務器進行轉發,其中drpc服務器底層通過thrift實現。適合的業務場景主要是實時計算。并且擴展性良好,可以增加每個節點的工作worker數量來動態擴展。

4. 項目實施,構建Topology

當下情況我們需要給Spout和Bolt設計一種能夠處理大量數據(日志文件)的topology,當一個特定數據值超過預設的臨界值時促發警報。使用Storm的topology,逐行讀入日志文件并且監視輸入數據。在Storm組件方面,Spout負責讀入輸入數據。它不僅從現有的文件中讀入數據,同時還監視著新文件。文件一旦被修改Spout會讀入新的版本并且覆蓋之前的tuple(可以被Bolt讀入的格式),將tuple發射給Bolt進行臨界分析,這樣就可以發現所有可能超臨界的記錄。

下一節將對用例進行詳細介紹。

臨界分析

這一節,將主要聚焦于臨界值的兩種分析類型:瞬間臨界(instant thershold)和時間序列臨界(time series threshold)。

瞬間臨界值監測:一個字段的值在那個瞬間超過了預設的臨界值,如果條件符合的話則觸發一個trigger。舉個例子當車輛超越80公里每小時,則觸發trigger。時間序列臨界監測:字段的值在一個給定的時間段內超過了預設的臨界值,如果條件符合則觸發一個觸發器。比如:在5分鐘類,時速超過80KM兩次及以上的車輛。

Listing One顯示了我們將使用的一個類型日志,其中包含的車輛數據信息有:車牌號、車輛行駛的速度以及數據獲取的位置。

AB 123 60 North city
BC 123 70 South city
CD 234 40 South city
DE 123 40 East city
EF 123 90 South city
GH 123 50 West city

這里將創建一個對應的XML文件,這將包含引入數據的模式。這個XML將用于日志文件的解析。XML的設計模式和對應的說明請見下表。

XML文件和日志文件都存放在Spout可以隨時監測的目錄下,用以關注文件的實時更新。而這個用例中的topology請見下圖。

Figure 1:Storm中建立的topology,用以實現數據實時處理

如圖所示:FilelistenerSpout接收輸入日志并進行逐行的讀入,接著將數據發射給ThresoldCalculatorBolt進行更深一步的臨界值處理。一旦處理完成,被計算行的數據將發送給DBWriterBolt,然后由DBWriterBolt存入給數據庫。下面將對這個過程的實現進行詳細的解析。

Spout的實現

Spout以日志文件和XML描述文件作為接收對象。XML文件包含了與日志一致的設計模式。不妨設想一下一個示例日志文件,包含了車輛的車牌號、行駛速度、以及數據的捕獲位置。(看下圖)

Figure2:數據從日志文件到Spout的流程圖

Listing Two顯示了tuple對應的XML,其中指定了字段、將日志文件切割成字段的定界符以及字段的類型。XML文件以及數據都被保存到Spout指定的路徑。

Listing Two:用以描述日志文件的XML文件。

<TUPLEINFO> 
<FIELDLIST> 
<FIELD> 
<COLUMNNAME>vehicle_number</COLUMNNAME> 
<COLUMNTYPE>string</COLUMNTYPE> 
</FIELD> 
 
<FIELD>
<COLUMNNAME>speed</COLUMNNAME> 
<COLUMNTYPE>int</COLUMNTYPE> 
</FIELD> 
 
<FIELD> 
<COLUMNNAME>location</COLUMNNAME> 
<COLUMNTYPE>string</COLUMNTYPE> 
</FIELD> 
</FIELDLIST> 
<DELIMITER>,</DELIMITER> 
</TUPLEINFO>   

通過構造函數及它的參數Directory、PathSpout和TupleInfo對象創建Spout對象。TupleInfo儲存了日志文件的字段、定界符、字段的類型這些很必要的信息。這個對象通過XSTream序列化XML時建立。

Spout的實現步驟:

對文件的改變進行分開的監聽,并監視目錄下有無新日志文件添加。在數據得到了字段的說明后,將其轉換成tuple。聲明Spout和Bolt之間的分組,并決定tuple發送給Bolt的途徑。

Spout的具體編碼在Listing Three中顯示。

Listing Three:Spout中open、nextTuple和delcareOutputFields方法的邏輯。

public void open( Map conf, TopologyContext context,SpoutOutputCollector collector )   
{   
           _collector = collector;   
         try   
         {   
         fileReader  =  new BufferedReader(new FileReader(new File(file)));  
         }  
         catch (FileNotFoundException e)  
         {  
         System.exit(1);   
         }  
}                                                          
 
public void nextTuple()  
{  
         protected void ListenFile(File file)  
         {  
         Utils.sleep(2000);  
         RandomAccessFile access = null;  
         String line = null;   
            try   
            {  
                while ((line = access.readLine()) != null)  
                {  
                    if (line !=null)  
                    {   
                         String[] fields=null;  
                          if (tupleInfo.getDelimiter().equals("|"))  fields = line.split("\\"+tupleInfo.getDelimiter());   
                          else   
                          fields = line.split  (tupleInfo.getDelimiter());   
                          if (tupleInfo.getFieldList().size() == fields.length)  _collector.emit(new Values(fields));  
                    }  
               }  
            }  
            catch (IOException ex){ }  
            }  
}  
 
public void declareOutputFields(OutputFieldsDeclarer declarer)  
{  
      String[] fieldsArr = new String [tupleInfo.getFieldList().size()];  
      for(int i=0; i<tupleInfo.getFieldList().size(); i++)  
      {  
              fieldsArr[i] = tupleInfo.getFieldList().get(i).getColumnName();  
      }  
declarer.declare(new Fields(fieldsArr));  
}      

declareOutputFileds()決定了tuple發射的格式,這樣的話Bolt就可以用類似的方法將tuple譯碼。Spout持續對日志文件的數據的變更進行監聽,一旦有添加Spout就會進行讀入并且發送給Bolt進行處理。

Bolt的實現

Spout的輸出結果將給予Bolt進行更深一步的處理。經過對用例的思考,我們的topology中需要如Figure 3中的兩個Bolt。

Figure 3:Spout到Bolt的數據流程。

ThresholdCalculatorBolt

Spout將tuple發出,由ThresholdCalculatorBolt接收并進行臨界值處理。在這里,它將接收好幾項輸入進行檢查;分別是:

臨界值檢查

臨界值欄數檢查(拆分成字段的數目)臨界值數據類型(拆分后字段的類型)臨界值出現的頻數臨界值時間段檢查

Listing Four中的類,定義用來保存這些值。

Listing Four:ThresholdInfo類

public class ThresholdInfo implementsSerializable  
 
{    
        private String action;   
        private String rule;   
        private Object thresholdValue;  
        private int thresholdColNumber;   
        private Integer timeWindow;   
        private int frequencyOfOccurence;   
}   

基于字段中提供的值,臨界值檢查將被Listing Five中的execute()方法執行。代碼大部分的功能是解析和接收值的檢測。

Listing Five:臨界值檢測代碼段

public void execute(Tuple tuple, BasicOutputCollector collector)   
{  
    if(tuple!=null)   
    {  
        List<Object> inputTupleList = (List<Object>) tuple.getValues();  
        int thresholdColNum = thresholdInfo.getThresholdColNumber();   
        Object thresholdValue = thresholdInfo.getThresholdValue();   
        String thresholdDataType = tupleInfo.getFieldList().get(thresholdColNum-1).getColumnType();   
        Integer timeWindow = thresholdInfo.getTimeWindow();  
         int frequency = thresholdInfo.getFrequencyOfOccurence();  
         if(thresholdDataType.equalsIgnoreCase("string"))  
         {  
             String valueToCheck = inputTupleList.get(thresholdColNum-1).toString();  
             String frequencyChkOp = thresholdInfo.getAction();  
             if(timeWindow!=null)  
             {  
                 long curTime = System.currentTimeMillis();  
                 long diffInMinutes = (curTime-startTime)/(1000);  
                 if(diffInMinutes>=timeWindow)  
                 {  
                     if(frequencyChkOp.equals("=="))  
                     {  
                          if(valueToCheck.equalsIgnoreCase(thresholdValue.toString()))  
                          {  
                              count.incrementAndGet();  
                              if(count.get() > frequency)  
                                  splitAndEmit(inputTupleList,collector);  
                          }  
                     }  
                     else if(frequencyChkOp.equals("!="))  
                     {  
                         if(!valueToCheck.equalsIgnoreCase(thresholdValue.toString()))  
                         {  
                              count.incrementAndGet();  
                              if(count.get() > frequency)  
                                  splitAndEmit(inputTupleList,collector);  
                          }  
                      }  
                      else                         System.out.println("Operator not supported");   
                  }  
              }  
              else 
              {  
                  if(frequencyChkOp.equals("=="))  
                  {  
                      if(valueToCheck.equalsIgnoreCase(thresholdValue.toString()))  
                      {  
                          count.incrementAndGet();  
                          if(count.get() > frequency)  
                              splitAndEmit(inputTupleList,collector);  
                          }  
                  }  
                  else if(frequencyChkOp.equals("!="))  
                  {  
                       if(!valueToCheck.equalsIgnoreCase(thresholdValue.toString()))  
                       {  
                           count.incrementAndGet();  
                           if(count.get() > frequency)  
                               splitAndEmit(inputTupleList,collector);  
                          }  
                   }  
               }  
            }  
            else if(thresholdDataType.equalsIgnoreCase("int") ||                     thresholdDataType.equalsIgnoreCase("double") ||                     thresholdDataType.equalsIgnoreCase("float") ||                     thresholdDataType.equalsIgnoreCase("long") ||                     thresholdDataType.equalsIgnoreCase("short"))  
            {  
                String frequencyChkOp = thresholdInfo.getAction();  
                if(timeWindow!=null)  
                {  
                     long valueToCheck =                          Long.parseLong(inputTupleList.get(thresholdColNum-1).toString());  
                     long curTime = System.currentTimeMillis();  
                     long diffInMinutes = (curTime-startTime)/(1000);  
                     System.out.println("Difference in minutes="+diffInMinutes);  
                     if(diffInMinutes>=timeWindow)  
                     {  
                          if(frequencyChkOp.equals("<"))  
                          {  
                              if(valueToCheck < Double.parseDouble(thresholdValue.toString()))  
                              {  
                                   count.incrementAndGet();  
                                   if(count.get() > frequency)  
                                       splitAndEmit(inputTupleList,collector);  
                              }  
                          }  
                          else if(frequencyChkOp.equals(">"))  
                          {  
                               if(valueToCheck > Double.parseDouble(thresholdValue.toString()))  
                                {  
                                   count.incrementAndGet();  
                                   if(count.get() > frequency)  
                                       splitAndEmit(inputTupleList,collector);  
                               }  
                           }  
                           else if(frequencyChkOp.equals("=="))  
                           {  
                              if(valueToCheck == Double.parseDouble(thresholdValue.toString()))  
                              {  
                                  count.incrementAndGet();  
                                  if(count.get() > frequency)  
                                      splitAndEmit(inputTupleList,collector);  
                               }  
                           }  
                           else if(frequencyChkOp.equals("!="))  
                           {  
    . . .  
                            }  
                       }  
             }  
      else 
          splitAndEmit(null,collector);  
      }  
      else 
     {  
           System.err.println("Emitting null in bolt");  
           splitAndEmit(null,collector);  
    }  
} 

經由Bolt發送的的tuple將會傳遞到下一個對應的Bolt,在我們的用例中是DBWriterBolt。

DBWriterBolt

經過處理的tuple必須被持久化以便于觸發tigger或者更深層次的使用。DBWiterBolt做了這個持久化的工作并把tuple存入了數據庫。表的建立由prepare()函數完成,這也將是topology調用的第一個方法。方法的編碼如Listing Six所示。

Listing Six:建表編碼。

public void prepare( Map StormConf, TopologyContext context )   
{         
    try   
    {  
        Class.forName(dbClass);  
    }   
    catch (ClassNotFoundException e)   
    {  
        System.out.println("Driver not found");  
        e.printStackTrace();  
    }  
   
    try   
    {  
       connection driverManager.getConnection(   
           "jdbc:mysql://"+databaseIP+":"+databasePort+"/"+databaseName, userName, pwd);  
       connection.prepareStatement("DROP TABLE IF EXISTS "+tableName).execute();  
   
       StringBuilder createQuery = new StringBuilder(  
           "CREATE TABLE IF NOT EXISTS "+tableName+"(");  
       for(Field fields : tupleInfo.getFieldList())  
       {  
           if(fields.getColumnType().equalsIgnoreCase("String"))  
               createQuery.append(fields.getColumnName()+" VARCHAR(500),");  
           else 
               createQuery.append(fields.getColumnName()+" "+fields.getColumnType()+",");  
       }  
       createQuery.append("thresholdTimeStamp timestamp)");  
       connection.prepareStatement(createQuery.toString()).execute();  
   
       // Insert Query  
       StringBuilder insertQuery = new StringBuilder("INSERT INTO "+tableName+"(");  
       String tempCreateQuery = new String();  
       for(Field fields : tupleInfo.getFieldList())  
       {  
            insertQuery.append(fields.getColumnName()+",");  
       }  
       insertQuery.append("thresholdTimeStamp").append(") values (");  
       for(Field fields : tupleInfo.getFieldList())  
       {  
           insertQuery.append("?,");  
       }  
   
       insertQuery.append("?)");  
       prepStatement = connection.prepareStatement(insertQuery.toString());  
    }  
    catch (SQLException e)   
    {         
        e.printStackTrace();  
    }         
}  

數據分批次的插入數據庫。插入的邏輯由Listting Seven中的execute()方法提供。大部分的編碼都是用來實現可能存在不同類型輸入的解析。

Listing Seven:數據插入的代碼部分。

public void execute(Tuple tuple, BasicOutputCollector collector)   
{  
    batchExecuted=false;  
    if(tuple!=null)  
    {  
       List<Object> inputTupleList = (List<Object>) tuple.getValues();  
       int dbIndex=0;  
       for(int i=0;i<tupleInfo.getFieldList().size();i++)  
       {  
           Field field = tupleInfo.getFieldList().get(i);  
           try {  
               dbIndex = i+1;  
               if(field.getColumnType().equalsIgnoreCase("String"))               
                   prepStatement.setString(dbIndex, inputTupleList.get(i).toString());  
               else if(field.getColumnType().equalsIgnoreCase("int"))  
                   prepStatement.setInt(dbIndex,  
                       Integer.parseInt(inputTupleList.get(i).toString()));  
               else if(field.getColumnType().equalsIgnoreCase("long"))  
                   prepStatement.setLong(dbIndex,   
                       Long.parseLong(inputTupleList.get(i).toString()));  
               else if(field.getColumnType().equalsIgnoreCase("float"))  
                   prepStatement.setFloat(dbIndex,   
                       Float.parseFloat(inputTupleList.get(i).toString()));  
               else if(field.getColumnType().equalsIgnoreCase("double"))  
                   prepStatement.setDouble(dbIndex,   
                       Double.parseDouble(inputTupleList.get(i).toString()));  
               else if(field.getColumnType().equalsIgnoreCase("short"))  
                   prepStatement.setShort(dbIndex,   
                       Short.parseShort(inputTupleList.get(i).toString()));  
               else if(field.getColumnType().equalsIgnoreCase("boolean"))  
                   prepStatement.setBoolean(dbIndex,   
                       Boolean.parseBoolean(inputTupleList.get(i).toString()));  
               else if(field.getColumnType().equalsIgnoreCase("byte"))  
                   prepStatement.setByte(dbIndex,   
                       Byte.parseByte(inputTupleList.get(i).toString()));  
               else if(field.getColumnType().equalsIgnoreCase("Date"))  
               {  
                  Date dateToAdd=null;  
                  if (!(inputTupleList.get(i) instanceof Date))    
                  {    
                       DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");  
                       try   
                       {  
                           dateToAdd = df.parse(inputTupleList.get(i).toString());  
                       }  
                       catch (ParseException e)   
                       {  
                           System.err.println("Data type not valid");  
                       }  
                   }    
                   else 
                   {  
            dateToAdd = (Date)inputTupleList.get(i);  
            java.sql.Date sqlDate = new java.sql.Date(dateToAdd.getTime());  
            prepStatement.setDate(dbIndex, sqlDate);  
            }     
            }   
        catch (SQLException e)   
        {  
             e.printStackTrace();  
        }  
    }  
    Date now = new Date();            
    try 
    {  
        prepStatement.setTimestamp(dbIndex+1, new java.sql.Timestamp(now.getTime()));  
        prepStatement.addBatch();  
        counter.incrementAndGet();  
        if (counter.get()== batchSize)   
        executeBatch();  
    }   
    catch (SQLException e1)   
    {  
        e1.printStackTrace();  
    }             
   }  
   else 
   {  
        long curTime = System.currentTimeMillis();  
       long diffInSeconds = (curTime-startTime)/(60*1000);  
       if(counter.get()<batchSize && diffInSeconds>batchTimeWindowInSeconds)  
       {  
            try {  
                executeBatch();  
                startTime = System.currentTimeMillis();  
            }  
            catch (SQLException e) {  
                 e.printStackTrace();  
            }  
       }  
   }  
}  
   
public void executeBatch() throws SQLException  
{  
    batchExecuted=true;  
    prepStatement.executeBatch();  
    counter = new AtomicInteger(0);  
} 

一旦Spout和Bolt準備就緒(等待被執行),topology生成器將會建立topology并準備執行。下面就來看一下執行步驟。

在本地集群上運行和測試topology

通過TopologyBuilder建立topology。使用Storm Submitter,將topology遞交給集群。以topology的名字、配置和topology的對象作為參數。提交topology。

Listing Eight:建立和執行topology。

public class StormMain  
{  
     public static void main(String[] args) throws AlreadyAliveException,   
                                                   InvalidTopologyException,   
                                                   InterruptedException   
     {  
          ParallelFileSpout parallelFileSpout = new ParallelFileSpout();  
          ThresholdBolt thresholdBolt = new ThresholdBolt();  
          DBWriterBolt dbWriterBolt = new DBWriterBolt();  
          TopologyBuilder builder = new TopologyBuilder();  
          builder.setSpout("spout", parallelFileSpout, 1);  
          builder.setBolt("thresholdBolt", thresholdBolt,1).shuffleGrouping("spout");  
          builder.setBolt("dbWriterBolt",dbWriterBolt,1).shuffleGrouping("thresholdBolt");  
          if(this.argsMain!=null && this.argsMain.length > 0)   
          {  
              conf.setNumWorkers(1);  
              StormSubmitter.submitTopology(   
                   this.argsMain[0], conf, builder.createTopology());  
          }  
          else 
          {      
              Config conf = new Config();  
              conf.setDebug(true);  
              conf.setMaxTaskParallelism(3);  
              LocalCluster cluster = new LocalCluster();  
              cluster.submitTopology(  
              "Threshold_Test", conf, builder.createTopology());  
          }  
     }  
} 

topology被建立后將被提交到本地集群。一旦topology被提交,除非被取締或者集群關閉,它將一直保持運行不需要做任何的修改。這也是Storm的另一大特色之一。

這個簡單的例子體現了當你掌握了topology、spout和bolt的概念,將可以輕松的使用Storm進行實時處理。如果你既想處理大數據又不想遍歷Hadoop的話,不難發現使用Storm將是個很好的選擇。

5. storm常見問題解答

一、我有一個數據文件,或者我有一個系統里面有數據,怎么導入storm做計算?



你需要實現一個Spout,Spout負責將數據emit到storm系統里,交給bolts計算。怎么實現spout可以參考官方的kestrel spout實現:

https://github.com/nathanmarz/storm-kestrel



如果你的數據源不支持事務性消費,那么就無法得到storm提供的可靠處理的保證,也沒必要實現ISpout接口中的ack和fail方法。



二、Storm為了保證tuple的可靠處理,需要保存tuple信息,這會不會導致內存OOM?



Storm為了保證tuple的可靠處理,acker會保存該節點創建的tuple id的xor值,這稱為ack value,那么每ack一次,就將tuple id和ack value做異或(xor)。當所有產生的tuple都被ack的時候, ack value一定為0。這是個很簡單的策略,對于每一個tuple也只要占用約20個字節的內存。對于100萬tuple,也才20M左右。關于可靠處理看這個:

https://github.com/nathanmarz/storm/wiki/Guaranteeing-message-processing



三、Storm計算后的結果保存在哪里?可以保存在外部存儲嗎?



Storm不處理計算結果的保存,這是應用代碼需要負責的事情,如果數據不大,你可以簡單地保存在內存里,也可以每次都更新數據庫,也可以采用NoSQL存儲。storm并沒有像s4那樣提供一個Persist API,根據時間或者容量來做存儲輸出。這部分事情完全交給用戶。



數據存儲之后的展現,也是你需要自己處理的,storm UI只提供對topology的監控和統計。



四、Storm怎么處理重復的tuple?



因為Storm要保證tuple的可靠處理,當tuple處理失敗或者超時的時候,spout會fail并重新發送該tuple,那么就會有tuple重復計算的問題。這個問題是很難解決的,storm也沒有提供機制幫助你解決。一些可行的策略:

(1)不處理,這也算是種策略。因為實時計算通常并不要求很高的精確度,后續的批處理計算會更正實時計算的誤差。

(2)使用第三方集中存儲來過濾,比如利用mysql,memcached或者redis根據邏輯主鍵來去重。

(3)使用bloom filter做過濾,簡單高效。



五、Storm的動態增刪節點



我在storm和s4里比較里談到的動態增刪節點,是指storm可以動態地添加和減少supervisor節點。對于減少節點來說,被移除的supervisor上的worker會被nimbus重新負載均衡到其他supervisor節點上。在storm 0.6.1以前的版本,增加supervisor節點不會影響現有的topology,也就是現有的topology不會重新負載均衡到新的節點上,在擴展集群的時候很不方便,需要重新提交topology。因此我在storm的郵件列表里提了這個問題,storm的開發者nathanmarz創建了一個issue
54并在0.6.1提供了rebalance命令來讓正在運行的topology重新負載均衡,具體見:

https://github.com/nathanmarz/storm/issues/54

和0.6.1的變更:

http://groups.google.com/group/storm-user/browse_thread/thread/24a8fce0b2e53246



storm并不提供機制來動態調整worker和task數目。



六、Storm UI里spout統計的complete latency的具體含義是什么?為什么emit的數目會是acked的兩倍?

這個事實上是storm郵件列表里的一個問題。Storm作者marz的解答:

Thecompletelatencyisthetimefromthespoutemittingatupletothat
tuplebeingackedonthespout
.Soittracksthetimeforthewholetuple
treetobeprocessed.

IfyoudiveintothespoutcomponentintheUI,you'llseethatalotof
theemitted/transferredisonthe__ack*stream.Thisisthespout
communicatingwiththeackerswhichtakecareoftrackingthetupletrees.



簡單地說,complete latency表示了tuple從emit到被acked經過的時間,可以認為是tuple以及該tuple的后續子孫(形成一棵樹)整個處理時間。其次spout的emit和transfered還統計了spout和acker之間內部的通信信息,比如對于可靠處理的spout來說,會在emit的時候同時發送一個_ack_init給acker,記錄tuple
id到task id的映射,以便ack的時候能找到正確的acker task。

6. 其他開源的大數據解決方案

自 Google 在 2004 年推出 MapReduce 范式以來,已誕生了多個使用原始 MapReduce 范式(或擁有該范式的質量)的解決方案。Google 對 MapReduce 的最初應用是建立萬維網的索引。盡管此應用程序仍然很流行,但這個簡單模型解決的問題也正在增多。

表 1提供了一個可用開源大數據解決方案的列表,包括傳統的批處理和流式處理應用程序。在將 Storm 引入開源之前將近一年的時間里,Yahoo! 的 S4 分布式流計算平臺已向 Apache 開源。S4 于 2010 年 10 月發布,它提供了一個高性能計算 (HPC) 平臺,向應用程序開發人員隱藏了并行處理的復雜性。S4
實現了一個可擴展的、分散化的集群架構,并納入了部分容錯功能。



表 1. 開源大數據解決方案

解決方案 開發商 類型 描述
Storm Twitter 流式處理 Twitter 的新流式大數據分析解決方案
S4 Yahoo! 流式處理 來自 Yahoo! 的分布式流計算平臺
Hadoop Apache 批處理 MapReduce 范式的第一個開源實現
Spark UC Berkeley AMPLab 批處理 支持內存中數據集和恢復能力的最新分析平臺
Disco Nokia 批處理 Nokia 的分布式 MapReduce 框架
HPCC LexisNexis 批處理 HPC 大數據集群

csdn(編譯/仲浩 王旭東/審校):http://www.csdn.net/article/2012-12-24/2813117-storm-realtime-big-data-analysis

原文鏈接:Easy, Real-Time Big Data Analysis Using Storm

Meet so Meet.
C plusplus
I-PLUS....

總結

以上是生活随笔為你收集整理的使用Storm实现实时大数据分析的全部內容,希望文章能夠幫你解決所遇到的問題。

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

久久99精品国产.久久久久 | 日韩少妇白浆无码系列 | 久久久无码中文字幕久... | 午夜福利一区二区三区在线观看 | 国产精品多人p群无码 | 牲交欧美兽交欧美 | 亚洲日本一区二区三区在线 | 国产精品久久国产三级国 | 国产精品亚洲五月天高清 | 青青青手机频在线观看 | 婷婷六月久久综合丁香 | 久久国产精品_国产精品 | 国内丰满熟女出轨videos | 乱人伦人妻中文字幕无码 | 樱花草在线播放免费中文 | 粉嫩少妇内射浓精videos | 天海翼激烈高潮到腰振不止 | 精品熟女少妇av免费观看 | 日韩精品久久久肉伦网站 | 老子影院午夜精品无码 | 在线观看免费人成视频 | 中文字幕无码日韩专区 | 波多野42部无码喷潮在线 | 中文字幕av无码一区二区三区电影 | 成人欧美一区二区三区 | 中文无码成人免费视频在线观看 | 性史性农村dvd毛片 | 国产精品丝袜黑色高跟鞋 | 啦啦啦www在线观看免费视频 | 正在播放东北夫妻内射 | 激情内射亚州一区二区三区爱妻 | 亚洲日韩一区二区 | 日本熟妇大屁股人妻 | 国产一区二区三区精品视频 | 伊人久久大香线蕉午夜 | 国产在线aaa片一区二区99 | 日日橹狠狠爱欧美视频 | 300部国产真实乱 | 性生交大片免费看l | 99久久久无码国产精品免费 | 无码一区二区三区在线观看 | 美女扒开屁股让男人桶 | 一区二区三区高清视频一 | 一本久久伊人热热精品中文字幕 | 日日躁夜夜躁狠狠躁 | av在线亚洲欧洲日产一区二区 | 欧美野外疯狂做受xxxx高潮 | 成人免费视频在线观看 | 青青青爽视频在线观看 | 日韩成人一区二区三区在线观看 | 性欧美疯狂xxxxbbbb | 久久精品人人做人人综合 | 中文字幕无码av激情不卡 | 午夜福利电影 | 国产欧美熟妇另类久久久 | 国产真实乱对白精彩久久 | 国产三级久久久精品麻豆三级 | 亚洲中文字幕在线观看 | 麻豆国产人妻欲求不满谁演的 | 色婷婷欧美在线播放内射 | 欧美变态另类xxxx | 久久精品人妻少妇一区二区三区 | 午夜熟女插插xx免费视频 | 牲交欧美兽交欧美 | 黑森林福利视频导航 | 18禁止看的免费污网站 | 亚洲の无码国产の无码影院 | 高清国产亚洲精品自在久久 | 六十路熟妇乱子伦 | 欧美日韩综合一区二区三区 | 无码人妻丰满熟妇区五十路百度 | 免费网站看v片在线18禁无码 | 麻豆av传媒蜜桃天美传媒 | 精品国产一区av天美传媒 | 麻豆精品国产精华精华液好用吗 | 午夜福利一区二区三区在线观看 | 狠狠色欧美亚洲狠狠色www | 精品国产一区二区三区四区在线看 | 欧美高清在线精品一区 | 中文字幕无码视频专区 | 内射巨臀欧美在线视频 | 久久无码中文字幕免费影院蜜桃 | 狠狠躁日日躁夜夜躁2020 | 天天av天天av天天透 | 无码人妻精品一区二区三区下载 | 亚洲欧美国产精品专区久久 | 又色又爽又黄的美女裸体网站 | 国产熟妇另类久久久久 | 性做久久久久久久免费看 | 国产av无码专区亚洲a∨毛片 | 亚洲综合精品香蕉久久网 | 欧美性生交活xxxxxdddd | 成人亚洲精品久久久久 | 帮老师解开蕾丝奶罩吸乳网站 | 国产精品亚洲专区无码不卡 | 一本色道婷婷久久欧美 | 久久久亚洲欧洲日产国码αv | 色综合久久久久综合一本到桃花网 | 久久午夜无码鲁丝片秋霞 | 激情爆乳一区二区三区 | 午夜精品久久久久久久 | 荡女精品导航 | 精品欧美一区二区三区久久久 | 最近免费中文字幕中文高清百度 | 国产精华av午夜在线观看 | 少妇邻居内射在线 | 日韩精品一区二区av在线 | 国产又爽又猛又粗的视频a片 | 亚洲男人av香蕉爽爽爽爽 | 日本精品人妻无码77777 天堂一区人妻无码 | 少妇久久久久久人妻无码 | 精品久久久久久人妻无码中文字幕 | 极品尤物被啪到呻吟喷水 | 99国产欧美久久久精品 | 女高中生第一次破苞av | 国产精品爱久久久久久久 | 精品国偷自产在线视频 | 精品久久久久久人妻无码中文字幕 | 人妻少妇精品无码专区二区 | 最近免费中文字幕中文高清百度 | 扒开双腿疯狂进出爽爽爽视频 | 国产精品无码一区二区桃花视频 | 中文字幕乱码人妻二区三区 | 精品无码av一区二区三区 | 久久无码专区国产精品s | 粗大的内捧猛烈进出视频 | 国产高清av在线播放 | 亚洲日韩中文字幕在线播放 | 无遮挡国产高潮视频免费观看 | 中文精品久久久久人妻不卡 | 亚洲精品一区二区三区在线 | 欧美变态另类xxxx | 久久精品国产大片免费观看 | 久精品国产欧美亚洲色aⅴ大片 | 国产手机在线αⅴ片无码观看 | 蜜臀aⅴ国产精品久久久国产老师 | a在线亚洲男人的天堂 | 免费看少妇作爱视频 | 熟女少妇人妻中文字幕 | ass日本丰满熟妇pics | 欧美老熟妇乱xxxxx | 丰满妇女强制高潮18xxxx | 久热国产vs视频在线观看 | 国产成人精品必看 | 精品国偷自产在线视频 | 国产成人无码区免费内射一片色欲 | 精品偷拍一区二区三区在线看 | 国产口爆吞精在线视频 | 国产 浪潮av性色四虎 | 我要看www免费看插插视频 | 无人区乱码一区二区三区 | 国产精品va在线观看无码 | 久久成人a毛片免费观看网站 | 午夜熟女插插xx免费视频 | 草草网站影院白丝内射 | 欧美精品无码一区二区三区 | 日韩精品无码一区二区中文字幕 | av无码久久久久不卡免费网站 | 国产真人无遮挡作爱免费视频 | 纯爱无遮挡h肉动漫在线播放 | 国产在线aaa片一区二区99 | 国产色xx群视频射精 | 性欧美牲交在线视频 | 精品久久久久久亚洲精品 | 东京热男人av天堂 | 中文字幕人妻无码一区二区三区 | 亚洲の无码国产の无码步美 | 老熟妇仑乱视频一区二区 | 久久久婷婷五月亚洲97号色 | 久久精品人人做人人综合 | 亚洲 另类 在线 欧美 制服 | 麻豆国产人妻欲求不满 | 久久精品国产精品国产精品污 | 在线视频网站www色 | 国产亚洲视频中文字幕97精品 | 99久久久国产精品无码免费 | 国产亚洲精品久久久闺蜜 | 国产香蕉尹人视频在线 | 丰满少妇高潮惨叫视频 | 天堂久久天堂av色综合 | 永久免费观看美女裸体的网站 | 精品一二三区久久aaa片 | 亚洲人成网站在线播放942 | 国产精品无码永久免费888 | 国产精品爱久久久久久久 | 国产舌乚八伦偷品w中 | 久久精品女人天堂av免费观看 | 动漫av一区二区在线观看 | 亚洲精品综合一区二区三区在线 | 亚洲一区二区三区无码久久 | 午夜无码人妻av大片色欲 | 1000部夫妻午夜免费 | 玩弄中年熟妇正在播放 | 亚洲乱亚洲乱妇50p | 亚洲爆乳精品无码一区二区三区 | 国产亚洲欧美日韩亚洲中文色 | 国产又爽又猛又粗的视频a片 | 国产偷国产偷精品高清尤物 | 日本护士xxxxhd少妇 | 午夜精品久久久久久久 | 中文字幕乱码中文乱码51精品 | 精品国产aⅴ无码一区二区 | 白嫩日本少妇做爰 | 精品人妻人人做人人爽 | 国色天香社区在线视频 | 亚洲国产成人a精品不卡在线 | 丝袜美腿亚洲一区二区 | 亚洲国产成人av在线观看 | 人妻夜夜爽天天爽三区 | 一区二区三区乱码在线 | 欧洲 | 国产av一区二区精品久久凹凸 | 免费无码一区二区三区蜜桃大 | 噜噜噜亚洲色成人网站 | 国产精品99久久精品爆乳 | 人妻尝试又大又粗久久 | 无码国产乱人伦偷精品视频 | 亚洲第一无码av无码专区 | 无码人妻久久一区二区三区不卡 | 亚洲人交乣女bbw | 99久久精品日本一区二区免费 | 久久精品无码一区二区三区 | 日韩少妇白浆无码系列 | 秋霞特色aa大片 | 国产女主播喷水视频在线观看 | 国产性生交xxxxx无码 | 国产精品嫩草久久久久 | 精品欧美一区二区三区久久久 | 欧美zoozzooz性欧美 | 强辱丰满人妻hd中文字幕 | 国产内射爽爽大片视频社区在线 | 国产精品久免费的黄网站 | 天天躁夜夜躁狠狠是什么心态 | 日韩精品a片一区二区三区妖精 | 亚洲s色大片在线观看 | 色噜噜亚洲男人的天堂 | 精品aⅴ一区二区三区 | 最近免费中文字幕中文高清百度 | 99久久人妻精品免费一区 | 国产成人无码区免费内射一片色欲 | 欧美日韩在线亚洲综合国产人 | 中文字幕无线码 | 欧洲欧美人成视频在线 | 久久久久久久女国产乱让韩 | 波多野42部无码喷潮在线 | ass日本丰满熟妇pics | 国产九九九九九九九a片 | 国产又爽又黄又刺激的视频 | 亚洲啪av永久无码精品放毛片 | 亚洲精品欧美二区三区中文字幕 | 午夜丰满少妇性开放视频 | 99久久久无码国产精品免费 | 无码毛片视频一区二区本码 | 国产麻豆精品精东影业av网站 | 日韩精品无码一区二区中文字幕 | 日日麻批免费40分钟无码 | 97无码免费人妻超级碰碰夜夜 | 蜜桃av抽搐高潮一区二区 | 亚洲欧美综合区丁香五月小说 | 丰满人妻被黑人猛烈进入 | 牲欲强的熟妇农村老妇女 | 亚洲男人av天堂午夜在 | 台湾无码一区二区 | 麻豆国产人妻欲求不满谁演的 | 黑人巨大精品欧美黑寡妇 | 一本久久a久久精品亚洲 | 国产综合久久久久鬼色 | 精品一区二区三区无码免费视频 | 精品少妇爆乳无码av无码专区 | 午夜精品久久久内射近拍高清 | 免费视频欧美无人区码 | 领导边摸边吃奶边做爽在线观看 | 2019nv天堂香蕉在线观看 | 中文字幕无码视频专区 | 亚洲成av人在线观看网址 | 成人性做爰aaa片免费看不忠 | 一本大道伊人av久久综合 | 影音先锋中文字幕无码 | 精品无人区无码乱码毛片国产 | 久久无码人妻影院 | 无码人妻精品一区二区三区不卡 | 人人爽人人澡人人人妻 | 国产色xx群视频射精 | 天天做天天爱天天爽综合网 | 亚洲一区二区三区国产精华液 | 丰满人妻被黑人猛烈进入 | 亚洲中文字幕无码一久久区 | 国产av一区二区精品久久凹凸 | 久久亚洲a片com人成 | 欧美国产亚洲日韩在线二区 | 国产口爆吞精在线视频 | 亚洲中文字幕成人无码 | 欧美国产日韩亚洲中文 | 女人被爽到呻吟gif动态图视看 | 亚洲无人区午夜福利码高清完整版 | 国产成人无码专区 | 午夜福利试看120秒体验区 | 亚洲日韩av一区二区三区中文 | 日本在线高清不卡免费播放 | 亚洲精品鲁一鲁一区二区三区 | 乱人伦中文视频在线观看 | 日本护士xxxxhd少妇 | 永久免费精品精品永久-夜色 | 日韩精品无码一区二区中文字幕 | 在线成人www免费观看视频 | 欧美日本免费一区二区三区 | 国产内射爽爽大片视频社区在线 | 国产又粗又硬又大爽黄老大爷视 | 波多野结衣乳巨码无在线观看 | 成人女人看片免费视频放人 | 国产精品第一国产精品 | 97久久国产亚洲精品超碰热 | 国产av人人夜夜澡人人爽麻豆 | 成人无码精品1区2区3区免费看 | 对白脏话肉麻粗话av | ass日本丰满熟妇pics | 亚洲精品一区二区三区在线 | 久久综合激激的五月天 | 久久精品中文闷骚内射 | 老太婆性杂交欧美肥老太 | 最近中文2019字幕第二页 | 免费人成在线观看网站 | 久久综合给久久狠狠97色 | 女人被男人爽到呻吟的视频 | 久久99精品国产.久久久久 | 小泽玛莉亚一区二区视频在线 | 亚洲色欲色欲欲www在线 | 色婷婷久久一区二区三区麻豆 | 精品国产成人一区二区三区 | √天堂资源地址中文在线 | 99精品无人区乱码1区2区3区 | 亚洲色www成人永久网址 | 色情久久久av熟女人妻网站 | 亚洲色欲色欲天天天www | 少妇的肉体aa片免费 | 欧美性生交xxxxx久久久 | 成人片黄网站色大片免费观看 | 日本大乳高潮视频在线观看 | 97无码免费人妻超级碰碰夜夜 | 亚洲热妇无码av在线播放 | 亚洲人成网站在线播放942 | 图片小说视频一区二区 | 国产乱码精品一品二品 | 亚洲aⅴ无码成人网站国产app | 国内丰满熟女出轨videos | 图片区 小说区 区 亚洲五月 | 国产suv精品一区二区五 | 亚洲熟妇色xxxxx欧美老妇 | 亚洲日韩精品欧美一区二区 | 成 人影片 免费观看 | 欧美一区二区三区视频在线观看 | 久久97精品久久久久久久不卡 | 中文字幕人妻丝袜二区 | 99国产欧美久久久精品 | 黑人大群体交免费视频 | 55夜色66夜色国产精品视频 | 在线观看欧美一区二区三区 | 精品无人国产偷自产在线 | 亚洲成av人影院在线观看 | 一本久道久久综合狠狠爱 | 东京一本一道一二三区 | 97精品国产97久久久久久免费 | 国产精品igao视频网 | 老熟妇乱子伦牲交视频 | 一本大道伊人av久久综合 | 中文字幕人妻丝袜二区 | 奇米影视7777久久精品 | 成人免费视频视频在线观看 免费 | 国产午夜无码精品免费看 | 我要看www免费看插插视频 | 免费无码av一区二区 | 熟妇激情内射com | 男人的天堂av网站 | 亚欧洲精品在线视频免费观看 | 日欧一片内射va在线影院 | 国产精品久久国产三级国 | 欧美人与善在线com | 午夜免费福利小电影 | 人妻无码αv中文字幕久久琪琪布 | 色五月五月丁香亚洲综合网 | 色欲av亚洲一区无码少妇 | 久久亚洲日韩精品一区二区三区 | 少妇人妻偷人精品无码视频 | 久久天天躁狠狠躁夜夜免费观看 | а√天堂www在线天堂小说 | 激情亚洲一区国产精品 | 国产色精品久久人妻 | 四十如虎的丰满熟妇啪啪 | 久久久久久久久888 | 久久久国产一区二区三区 | 亚洲成av人影院在线观看 | 丁香啪啪综合成人亚洲 | 亚洲国产成人a精品不卡在线 | 人妻少妇精品视频专区 | 无码国内精品人妻少妇 | 老头边吃奶边弄进去呻吟 | 国产日产欧产精品精品app | 中文精品无码中文字幕无码专区 | 精品无码av一区二区三区 | 少妇的肉体aa片免费 | 国产欧美熟妇另类久久久 | 少妇人妻av毛片在线看 | 欧美精品一区二区精品久久 | 国产精品成人av在线观看 | 亚洲精品国偷拍自产在线麻豆 | 少妇无码一区二区二三区 | 无遮挡国产高潮视频免费观看 | 乱人伦人妻中文字幕无码 | 免费乱码人妻系列无码专区 | 2019nv天堂香蕉在线观看 | 欧美国产亚洲日韩在线二区 | 欧美肥老太牲交大战 | 久久久久免费精品国产 | 久久精品人妻少妇一区二区三区 | 久久久久人妻一区精品色欧美 | 无码人妻丰满熟妇区毛片18 | 中文字幕亚洲情99在线 | 狠狠噜狠狠狠狠丁香五月 | 男人和女人高潮免费网站 | 久久精品国产精品国产精品污 | 国产乱人偷精品人妻a片 | 国产99久久精品一区二区 | 欧美丰满熟妇xxxx | 国语自产偷拍精品视频偷 | 精品国产乱码久久久久乱码 | 亚洲日本一区二区三区在线 | 人人妻人人澡人人爽欧美一区 | 久久精品女人天堂av免费观看 | 国产偷抇久久精品a片69 | 国产人妖乱国产精品人妖 | 国产农村妇女高潮大叫 | 欧美日韩一区二区三区自拍 | 久久99精品国产麻豆蜜芽 | 国产成人精品优优av | 久久综合九色综合欧美狠狠 | 牲欲强的熟妇农村老妇女视频 | 最新国产乱人伦偷精品免费网站 | 亚洲区小说区激情区图片区 | 99麻豆久久久国产精品免费 | 丝袜 中出 制服 人妻 美腿 | 荫蒂被男人添的好舒服爽免费视频 | 亚洲国产成人av在线观看 | 亚洲精品一区二区三区四区五区 | 日产精品高潮呻吟av久久 | 激情内射亚州一区二区三区爱妻 | 日本又色又爽又黄的a片18禁 | 小泽玛莉亚一区二区视频在线 | 东京热无码av男人的天堂 | 日本一区二区更新不卡 | 国产黑色丝袜在线播放 | 久久99精品久久久久婷婷 | 天堂一区人妻无码 | 熟妇激情内射com | 国产高清不卡无码视频 | 成人亚洲精品久久久久 | 全球成人中文在线 | 国产电影无码午夜在线播放 | 亚洲国产午夜精品理论片 | 久久久国产精品无码免费专区 | 我要看www免费看插插视频 | 国产人妻精品午夜福利免费 | 亚洲欧美日韩国产精品一区二区 | 欧美日韩视频无码一区二区三 | 色综合久久网 | 国产色视频一区二区三区 | 自拍偷自拍亚洲精品被多人伦好爽 | 欧美性猛交内射兽交老熟妇 | 欧美丰满熟妇xxxx | 性啪啪chinese东北女人 | 欧美成人午夜精品久久久 | 国产精品内射视频免费 | 精品熟女少妇av免费观看 | 一个人看的www免费视频在线观看 | 日本一区二区三区免费播放 | 亚洲伊人久久精品影院 | 激情人妻另类人妻伦 | 国产成人精品一区二区在线小狼 | 双乳奶水饱满少妇呻吟 | 日韩欧美中文字幕在线三区 | 色窝窝无码一区二区三区色欲 | 久久午夜无码鲁丝片午夜精品 | 国产美女精品一区二区三区 | 女人高潮内射99精品 | 婷婷综合久久中文字幕蜜桃三电影 | 蜜桃臀无码内射一区二区三区 | 全球成人中文在线 | 天堂无码人妻精品一区二区三区 | 国产农村乱对白刺激视频 | 久久亚洲中文字幕无码 | 国产黄在线观看免费观看不卡 | 中文字幕乱妇无码av在线 | 无码人妻丰满熟妇区毛片18 | 久久99精品久久久久婷婷 | 国产高潮视频在线观看 | 丰腴饱满的极品熟妇 | 欧美 亚洲 国产 另类 | 自拍偷自拍亚洲精品10p | 亚洲 另类 在线 欧美 制服 | 日韩欧美成人免费观看 | 国产精品美女久久久 | 成 人 网 站国产免费观看 | 波多野结衣乳巨码无在线观看 | 国产成人无码区免费内射一片色欲 | 国产精品第一国产精品 | 国产精品美女久久久久av爽李琼 | 国产av一区二区精品久久凹凸 | 麻豆精产国品 | 成人欧美一区二区三区黑人免费 | 国产精品久久国产三级国 | 久青草影院在线观看国产 | 色诱久久久久综合网ywww | 草草网站影院白丝内射 | 日韩av激情在线观看 | 国产成人无码av一区二区 | 东京热无码av男人的天堂 | 中文字幕日产无线码一区 | 亚洲国产精品一区二区第一页 | 男女超爽视频免费播放 | 中文无码成人免费视频在线观看 | 无码国内精品人妻少妇 | 国产亚av手机在线观看 | 色窝窝无码一区二区三区色欲 | 天堂亚洲免费视频 | 国产亚洲人成a在线v网站 | 97人妻精品一区二区三区 | 99麻豆久久久国产精品免费 | 2020久久香蕉国产线看观看 | 亚洲va中文字幕无码久久不卡 | 日本又色又爽又黄的a片18禁 | 夜先锋av资源网站 | 婷婷六月久久综合丁香 | 国产精品欧美成人 | 天堂在线观看www | 三级4级全黄60分钟 | 曰韩无码二三区中文字幕 | 亚洲欧美综合区丁香五月小说 | 成人欧美一区二区三区 | 久久精品女人的天堂av | 精品水蜜桃久久久久久久 | 免费人成在线观看网站 | 国产极品美女高潮无套在线观看 | 成人无码精品1区2区3区免费看 | 在教室伦流澡到高潮hnp视频 | 亚洲中文字幕在线无码一区二区 | 麻豆国产97在线 | 欧洲 | 精品国精品国产自在久国产87 | 伊人久久大香线蕉亚洲 | 18精品久久久无码午夜福利 | 中文字幕精品av一区二区五区 | 久久久久久久人妻无码中文字幕爆 | 亚洲最大成人网站 | 亚洲国产欧美国产综合一区 | 亚洲啪av永久无码精品放毛片 | 亚洲 激情 小说 另类 欧美 | 亚洲啪av永久无码精品放毛片 | 亚洲精品欧美二区三区中文字幕 | 亚洲欧美日韩综合久久久 | 小sao货水好多真紧h无码视频 | 熟妇女人妻丰满少妇中文字幕 | 天堂а√在线地址中文在线 | 日本护士xxxxhd少妇 | 欧美色就是色 | 亚洲欧洲日本无在线码 | 亚洲中文字幕成人无码 | 在线视频网站www色 | 亚洲国产精品美女久久久久 | 日本一卡2卡3卡四卡精品网站 | 青草青草久热国产精品 | 99精品国产综合久久久久五月天 | 欧洲欧美人成视频在线 | 性欧美大战久久久久久久 | 18禁黄网站男男禁片免费观看 | 无码吃奶揉捏奶头高潮视频 | 国产精品久久福利网站 | 国产乱人无码伦av在线a | 又大又硬又黄的免费视频 | 国产sm调教视频在线观看 | 四虎国产精品一区二区 | 超碰97人人射妻 | 欧美日韩一区二区三区自拍 | 99久久久无码国产aaa精品 | 乱码av麻豆丝袜熟女系列 | 中文字幕人妻无码一夲道 | 无码国产乱人伦偷精品视频 | 日本护士xxxxhd少妇 | 一二三四社区在线中文视频 | 久久综合给久久狠狠97色 | 人人妻人人藻人人爽欧美一区 | 55夜色66夜色国产精品视频 | 在线播放无码字幕亚洲 | 久久综合狠狠综合久久综合88 | 九月婷婷人人澡人人添人人爽 | 在线 国产 欧美 亚洲 天堂 | 女人和拘做爰正片视频 | 日本熟妇人妻xxxxx人hd | 中文字幕精品av一区二区五区 | 欧美猛少妇色xxxxx | 国产偷抇久久精品a片69 | 激情综合激情五月俺也去 | 亚洲熟妇自偷自拍另类 | 国产在线精品一区二区高清不卡 | 国产精品欧美成人 | 最近免费中文字幕中文高清百度 | 久精品国产欧美亚洲色aⅴ大片 | 久久久精品人妻久久影视 | 无码人妻少妇伦在线电影 | 四虎4hu永久免费 | 欧美大屁股xxxxhd黑色 | a片在线免费观看 | 亚洲男女内射在线播放 | 亚洲欧洲日本综合aⅴ在线 | 欧美性色19p | 欧美 日韩 人妻 高清 中文 | 免费人成在线观看网站 | 熟女俱乐部五十路六十路av | 日本熟妇人妻xxxxx人hd | 无码免费一区二区三区 | 久久精品国产一区二区三区 | 精品久久综合1区2区3区激情 | 天天躁夜夜躁狠狠是什么心态 | 人人妻人人澡人人爽欧美精品 | 东京一本一道一二三区 | 欧美人与禽猛交狂配 | 欧美黑人性暴力猛交喷水 | 亚洲欧美色中文字幕在线 | 国产精品成人av在线观看 | 亚洲无人区午夜福利码高清完整版 | 无码帝国www无码专区色综合 | 国产综合色产在线精品 | 国产做国产爱免费视频 | 影音先锋中文字幕无码 | 偷窥日本少妇撒尿chinese | 亚洲色大成网站www | 一本久道高清无码视频 | 一二三四社区在线中文视频 | 国产精品成人av在线观看 | 色综合久久88色综合天天 | 人人爽人人爽人人片av亚洲 | 欧美日韩一区二区三区自拍 | 亚洲精品久久久久中文第一幕 | 国产亲子乱弄免费视频 | 国产乱人伦av在线无码 | 精品一区二区不卡无码av | 国产人妻人伦精品 | 无码吃奶揉捏奶头高潮视频 | 亚洲国产精品久久久天堂 | 久久亚洲日韩精品一区二区三区 | 日本精品久久久久中文字幕 | 亚洲第一网站男人都懂 | 午夜精品久久久久久久久 | 3d动漫精品啪啪一区二区中 | 国产一区二区三区日韩精品 | 99久久婷婷国产综合精品青草免费 | 性色欲网站人妻丰满中文久久不卡 | 欧美熟妇另类久久久久久多毛 | 久久婷婷五月综合色国产香蕉 | 欧美xxxxx精品 | 伊人久久大香线焦av综合影院 | 国产在线精品一区二区高清不卡 | 波多野42部无码喷潮在线 | 色综合久久久无码网中文 | 中文字幕av伊人av无码av | 少妇厨房愉情理9仑片视频 | 人人爽人人澡人人高潮 | 国产人妻大战黑人第1集 | 综合网日日天干夜夜久久 | 日韩精品无码一区二区中文字幕 | 成人试看120秒体验区 | 久久久久久久女国产乱让韩 | 无码国产色欲xxxxx视频 | 黑人玩弄人妻中文在线 | 午夜嘿嘿嘿影院 | 精品夜夜澡人妻无码av蜜桃 | 亚洲色在线无码国产精品不卡 | 国产乱人无码伦av在线a | 精品亚洲韩国一区二区三区 | 美女极度色诱视频国产 | 亚洲日韩乱码中文无码蜜桃臀网站 | 无套内射视频囯产 | 熟妇人妻中文av无码 | 国产舌乚八伦偷品w中 | 国产69精品久久久久app下载 | 麻豆国产人妻欲求不满谁演的 | 人人爽人人澡人人人妻 | 99riav国产精品视频 | 亚洲精品一区二区三区四区五区 | 国产成人精品三级麻豆 | 中文无码成人免费视频在线观看 | 女人和拘做爰正片视频 | 特黄特色大片免费播放器图片 | 欧洲精品码一区二区三区免费看 | a片在线免费观看 | 亚洲国产精华液网站w | 国产9 9在线 | 中文 | 欧美日本日韩 | 久久久无码中文字幕久... | 97人妻精品一区二区三区 | 欧美成人高清在线播放 | 国产真实伦对白全集 | 四虎国产精品一区二区 | 欧美国产日韩亚洲中文 | 永久黄网站色视频免费直播 | 亚洲日本va中文字幕 | 色噜噜亚洲男人的天堂 | 性欧美熟妇videofreesex | 日韩欧美中文字幕公布 | 大地资源中文第3页 | 又色又爽又黄的美女裸体网站 | 亚洲经典千人经典日产 | 少妇无码av无码专区在线观看 | 黑人粗大猛烈进出高潮视频 | 熟女少妇在线视频播放 | 久久久久99精品成人片 | 性色欲情网站iwww九文堂 | 亚洲经典千人经典日产 | 日日干夜夜干 | 欧美亚洲国产一区二区三区 | 影音先锋中文字幕无码 | 天天做天天爱天天爽综合网 | 精品久久久久久人妻无码中文字幕 | 精品一区二区不卡无码av | 日韩无码专区 | 日韩在线不卡免费视频一区 | 亚洲欧美日韩综合久久久 | 强辱丰满人妻hd中文字幕 | 给我免费的视频在线观看 | 无码午夜成人1000部免费视频 | 精品国产一区二区三区av 性色 | 九九久久精品国产免费看小说 | 中文字幕无码免费久久9一区9 | 日本大乳高潮视频在线观看 | 性生交大片免费看女人按摩摩 | 亚洲人成网站免费播放 | 国产乱子伦视频在线播放 | 特大黑人娇小亚洲女 | 99久久99久久免费精品蜜桃 | 免费国产黄网站在线观看 | 人人澡人人透人人爽 | 乱人伦人妻中文字幕无码久久网 | 久久久久免费看成人影片 | 黑人巨大精品欧美黑寡妇 | 永久免费观看美女裸体的网站 | 国产sm调教视频在线观看 | 中文字幕人妻无码一夲道 | 久久精品国产日本波多野结衣 | 亚洲精品www久久久 | 中文字幕av伊人av无码av | 久久久久久亚洲精品a片成人 | 东京热男人av天堂 | 97色伦图片97综合影院 | 亚洲男女内射在线播放 | 欧美喷潮久久久xxxxx | 国产极品美女高潮无套在线观看 | 强辱丰满人妻hd中文字幕 | 久久国内精品自在自线 | 亚洲乱亚洲乱妇50p | 日韩在线不卡免费视频一区 | 亚洲精品午夜无码电影网 | 国产做国产爱免费视频 | 国产sm调教视频在线观看 | 亚洲中文字幕在线无码一区二区 | 国产明星裸体无码xxxx视频 | 国内少妇偷人精品视频免费 | 日本va欧美va欧美va精品 | 水蜜桃色314在线观看 | 亚洲午夜久久久影院 | 欧美精品免费观看二区 | 扒开双腿疯狂进出爽爽爽视频 | 久久久精品国产sm最大网站 | 奇米影视7777久久精品人人爽 | 风流少妇按摩来高潮 | 全球成人中文在线 | 东京无码熟妇人妻av在线网址 | 欧美人与动性行为视频 | 亚洲男女内射在线播放 | 色狠狠av一区二区三区 | 自拍偷自拍亚洲精品10p | 精品国产国产综合精品 | 草草网站影院白丝内射 | 亚洲日韩乱码中文无码蜜桃臀网站 | 在线 国产 欧美 亚洲 天堂 | 18黄暴禁片在线观看 | 国产成人久久精品流白浆 | 亚洲日韩一区二区 | 亚洲精品久久久久久一区二区 | 亚洲熟熟妇xxxx | 成人aaa片一区国产精品 | 高清不卡一区二区三区 | 国产亚洲精品久久久久久大师 | 十八禁真人啪啪免费网站 | 夜夜高潮次次欢爽av女 | 色偷偷人人澡人人爽人人模 | 一区二区三区乱码在线 | 欧洲 | 日日摸天天摸爽爽狠狠97 | 六月丁香婷婷色狠狠久久 | 国产精品欧美成人 | 少妇高潮一区二区三区99 | 东京热一精品无码av | 在线看片无码永久免费视频 | 97色伦图片97综合影院 | 丰腴饱满的极品熟妇 | 亚洲精品中文字幕久久久久 | 香港三级日本三级妇三级 | 亚洲一区av无码专区在线观看 | 久久久婷婷五月亚洲97号色 | 亚洲人成无码网www | 国产av无码专区亚洲a∨毛片 | 女人被男人躁得好爽免费视频 | 国产精品久久国产精品99 | 国产精品久久福利网站 | 久久久久久九九精品久 | 老熟女重囗味hdxx69 | 中文无码成人免费视频在线观看 | 男女作爱免费网站 | 伊在人天堂亚洲香蕉精品区 | 国产人妖乱国产精品人妖 | 日韩精品无码免费一区二区三区 | 4hu四虎永久在线观看 | 麻豆国产人妻欲求不满 | 久久精品一区二区三区四区 | 久久人人爽人人爽人人片ⅴ | 丰满少妇熟乱xxxxx视频 | 欧美一区二区三区视频在线观看 | 国产激情一区二区三区 | 国产97在线 | 亚洲 | 国产亚洲精品久久久ai换 | 亚洲伊人久久精品影院 | 人人澡人摸人人添 | 无码人妻av免费一区二区三区 | 偷窥日本少妇撒尿chinese | 亚洲精品一区二区三区四区五区 | 成人无码精品1区2区3区免费看 | 久久人人97超碰a片精品 | 无码帝国www无码专区色综合 | 成人试看120秒体验区 | 老司机亚洲精品影院无码 | 国产在线精品一区二区高清不卡 | 99精品视频在线观看免费 | 综合网日日天干夜夜久久 | 国产sm调教视频在线观看 | 人人妻在人人 | 日日鲁鲁鲁夜夜爽爽狠狠 | 无码精品人妻一区二区三区av | 精品一二三区久久aaa片 | 国产成人一区二区三区在线观看 | 欧美成人家庭影院 | 性啪啪chinese东北女人 | 日韩 欧美 动漫 国产 制服 | 国产绳艺sm调教室论坛 | 成人片黄网站色大片免费观看 | 67194成是人免费无码 | 婷婷综合久久中文字幕蜜桃三电影 | 中文字幕人妻无码一区二区三区 | 窝窝午夜理论片影院 | 日韩精品无码免费一区二区三区 | 爽爽影院免费观看 | √天堂资源地址中文在线 | 久久久精品人妻久久影视 | 国产精品人人爽人人做我的可爱 | 99视频精品全部免费免费观看 | 免费人成网站视频在线观看 | 一个人看的视频www在线 | 无码av最新清无码专区吞精 | 亚洲 高清 成人 动漫 | 波多野42部无码喷潮在线 | 午夜男女很黄的视频 | 天下第一社区视频www日本 | 午夜精品一区二区三区在线观看 | 一个人看的视频www在线 | 亚洲中文字幕久久无码 | 国产成人一区二区三区在线观看 | 男女下面进入的视频免费午夜 | 女人被男人躁得好爽免费视频 | 免费无码一区二区三区蜜桃大 | 日本一卡2卡3卡四卡精品网站 | 亚洲国产成人a精品不卡在线 | 免费无码一区二区三区蜜桃大 | 宝宝好涨水快流出来免费视频 | 亚洲日韩乱码中文无码蜜桃臀网站 | 国产精品福利视频导航 | 乱人伦人妻中文字幕无码久久网 | 亚洲国产成人a精品不卡在线 | 久久久久久国产精品无码下载 | 水蜜桃亚洲一二三四在线 | 久久久久久久久蜜桃 | 蜜臀av无码人妻精品 | 国产精品无码一区二区桃花视频 | 麻豆md0077饥渴少妇 | 日韩人妻无码中文字幕视频 | 97夜夜澡人人爽人人喊中国片 | 国产真人无遮挡作爱免费视频 | 99精品国产综合久久久久五月天 | 日韩人妻少妇一区二区三区 | 香蕉久久久久久av成人 | 精品久久综合1区2区3区激情 | 精品久久久久久亚洲精品 | 亚洲人交乣女bbw | 色一情一乱一伦一视频免费看 | 国产精品美女久久久久av爽李琼 | 性做久久久久久久久 | 无码帝国www无码专区色综合 | 午夜无码人妻av大片色欲 | 成在人线av无码免观看麻豆 | 午夜嘿嘿嘿影院 | 丰满少妇人妻久久久久久 | 九九久久精品国产免费看小说 | 国产午夜精品一区二区三区嫩草 | 精品亚洲韩国一区二区三区 | 99在线 | 亚洲 | 在教室伦流澡到高潮hnp视频 | 亚洲熟妇色xxxxx欧美老妇 | 日日躁夜夜躁狠狠躁 | 亚洲欧美日韩综合久久久 | 国产九九九九九九九a片 | 人妻尝试又大又粗久久 | 久久精品人人做人人综合 | 国产激情精品一区二区三区 | 久久久久免费精品国产 | 色老头在线一区二区三区 | 亚洲成av人片天堂网无码】 | 中文无码成人免费视频在线观看 | 狂野欧美激情性xxxx | 国产人妻精品一区二区三区不卡 | 精品无码一区二区三区的天堂 | 亚洲精品国偷拍自产在线麻豆 | 亚洲一区二区三区偷拍女厕 | 国产人妻精品一区二区三区 | 亚洲码国产精品高潮在线 | 丰满少妇人妻久久久久久 | 久久人妻内射无码一区三区 | 亚洲精品久久久久久久久久久 | 青青久在线视频免费观看 | 欧美日韩一区二区综合 | 欧美变态另类xxxx | 亚洲中文字幕乱码av波多ji | 高清国产亚洲精品自在久久 | 日产精品高潮呻吟av久久 | 国产卡一卡二卡三 | 久久精品女人的天堂av | 国内精品九九久久久精品 | 精品aⅴ一区二区三区 | 国产成人综合色在线观看网站 | 久久久国产精品无码免费专区 | 无码人中文字幕 | 国产在线一区二区三区四区五区 | 正在播放老肥熟妇露脸 | 欧美成人午夜精品久久久 | 老司机亚洲精品影院无码 | 国产精品久久久久久亚洲影视内衣 | 欧美日本日韩 | 亚洲高清偷拍一区二区三区 | 午夜熟女插插xx免费视频 | 自拍偷自拍亚洲精品被多人伦好爽 | 18禁止看的免费污网站 | 国产精品久久久av久久久 | 久久精品99久久香蕉国产色戒 | 亚洲熟妇自偷自拍另类 | 精品一二三区久久aaa片 | 亚洲国产综合无码一区 | 高潮喷水的毛片 | 日本精品久久久久中文字幕 | 九九热爱视频精品 | 精品无人区无码乱码毛片国产 | 国产精品久久久久7777 | www一区二区www免费 | 精品久久8x国产免费观看 | 国产亚洲美女精品久久久2020 | 成人片黄网站色大片免费观看 | 国产精品99爱免费视频 | 国产亚洲欧美日韩亚洲中文色 | 成年女人永久免费看片 | 日本高清一区免费中文视频 | 国产区女主播在线观看 | 国产真实伦对白全集 | 久久人人爽人人爽人人片av高清 | 老子影院午夜伦不卡 | 激情人妻另类人妻伦 | 亚洲成a人一区二区三区 | 久久99精品久久久久久动态图 | 久久久www成人免费毛片 | 国产成人精品必看 | 国产精品亚洲综合色区韩国 | 久久无码人妻影院 | 无码帝国www无码专区色综合 | 人妻少妇精品视频专区 | 欧美激情内射喷水高潮 | 精品无码国产自产拍在线观看蜜 | 一区二区传媒有限公司 | 亚洲中文字幕在线观看 | 久久久中文字幕日本无吗 | 国产精品-区区久久久狼 | 亚洲综合精品香蕉久久网 | 国产电影无码午夜在线播放 | aⅴ亚洲 日韩 色 图网站 播放 | 国产特级毛片aaaaaaa高清 | a片免费视频在线观看 | 国产成人无码午夜视频在线观看 | 蜜桃视频插满18在线观看 | 国产精品va在线观看无码 | 无码中文字幕色专区 | 精品无人国产偷自产在线 | 免费国产黄网站在线观看 | 台湾无码一区二区 | 欧美日本免费一区二区三区 | 欧美大屁股xxxxhd黑色 | 日日噜噜噜噜夜夜爽亚洲精品 | 日韩精品a片一区二区三区妖精 | 日本又色又爽又黄的a片18禁 | 国产激情综合五月久久 | 性色欲网站人妻丰满中文久久不卡 | 日韩av无码一区二区三区不卡 | 色情久久久av熟女人妻网站 | 亚洲欧美国产精品专区久久 | 2019午夜福利不卡片在线 | 沈阳熟女露脸对白视频 | 少妇性l交大片 | 日产精品99久久久久久 | 18禁黄网站男男禁片免费观看 | 少妇厨房愉情理9仑片视频 | 亚洲国产成人a精品不卡在线 | 男女爱爱好爽视频免费看 | 99久久精品无码一区二区毛片 | 88国产精品欧美一区二区三区 | 亚洲自偷自偷在线制服 | 国产av人人夜夜澡人人爽麻豆 | 久久午夜夜伦鲁鲁片无码免费 | 妺妺窝人体色www在线小说 | 性欧美熟妇videofreesex | 亚洲国产成人av在线观看 | 人妻夜夜爽天天爽三区 | 国产亚洲美女精品久久久2020 | 丰满人妻翻云覆雨呻吟视频 | 亚洲 高清 成人 动漫 | 日产精品99久久久久久 | 欧美日韩久久久精品a片 | 亚洲毛片av日韩av无码 | 国产精品国产自线拍免费软件 | 成人综合网亚洲伊人 | 亚洲综合在线一区二区三区 | 一本色道久久综合亚洲精品不卡 | 性欧美大战久久久久久久 | 午夜精品一区二区三区的区别 | 欧洲熟妇色 欧美 | 久久综合色之久久综合 | 久久婷婷五月综合色国产香蕉 | 日本丰满护士爆乳xxxx | 国产精品亚洲一区二区三区喷水 | 性做久久久久久久免费看 | 国产av人人夜夜澡人人爽麻豆 | 国产黑色丝袜在线播放 | 2020久久香蕉国产线看观看 | 亚洲一区二区三区四区 | 中文字幕人妻丝袜二区 | 欧美成人免费全部网站 | 国产精品亚洲专区无码不卡 | 欧美freesex黑人又粗又大 | 色综合久久久无码网中文 | 福利一区二区三区视频在线观看 | 高清国产亚洲精品自在久久 | 国产成人无码av片在线观看不卡 | 国产av无码专区亚洲a∨毛片 | 亚洲 高清 成人 动漫 | 日日躁夜夜躁狠狠躁 | 亚洲经典千人经典日产 | 色综合天天综合狠狠爱 | 少妇的肉体aa片免费 | 精品国产乱码久久久久乱码 | 日本www一道久久久免费榴莲 | 亚洲成a人片在线观看无码3d | 天天躁夜夜躁狠狠是什么心态 | 内射欧美老妇wbb | 久久精品女人天堂av免费观看 | 国产精品高潮呻吟av久久 | 亚洲一区二区三区 | 欧美日本精品一区二区三区 | 国产亚av手机在线观看 | 色 综合 欧美 亚洲 国产 | 国产在线一区二区三区四区五区 | 精品欧美一区二区三区久久久 | 中文字幕无码av激情不卡 | 亚洲欧洲日本无在线码 | 狂野欧美性猛交免费视频 | 国产成人精品优优av | 久久视频在线观看精品 | 成人免费视频视频在线观看 免费 | 亚洲人成影院在线无码按摩店 | 亚洲一区二区三区在线观看网站 | 日韩精品a片一区二区三区妖精 | 亚洲国产精品成人久久蜜臀 | 日韩人妻无码中文字幕视频 | 国产亚洲精品精品国产亚洲综合 | 亚洲大尺度无码无码专区 | 国产成人无码a区在线观看视频app | 男女下面进入的视频免费午夜 | 国产黑色丝袜在线播放 | 日韩欧美群交p片內射中文 | 天天燥日日燥 | 欧美国产日韩亚洲中文 | 久久精品国产一区二区三区 | 十八禁真人啪啪免费网站 | 亚洲天堂2017无码 | 国产精品毛多多水多 | 国产精品亚洲一区二区三区喷水 | 老熟妇乱子伦牲交视频 | 未满小14洗澡无码视频网站 | 中文无码精品a∨在线观看不卡 | 国产亚洲精品久久久久久久久动漫 | 久久久久久国产精品无码下载 | 在线播放无码字幕亚洲 | 男人和女人高潮免费网站 | 未满成年国产在线观看 | 红桃av一区二区三区在线无码av | 国产9 9在线 | 中文 | 中国女人内谢69xxxx | 久久无码专区国产精品s | 黑人玩弄人妻中文在线 | 牲欲强的熟妇农村老妇女 | 青草青草久热国产精品 | 四虎国产精品一区二区 | 久久人人爽人人爽人人片ⅴ | 成年美女黄网站色大免费视频 | 国产亚洲tv在线观看 | 国内精品久久久久久中文字幕 | 国内精品九九久久久精品 | 久久久精品456亚洲影院 | 女人被爽到呻吟gif动态图视看 | 天堂а√在线地址中文在线 | 亚洲精品久久久久中文第一幕 | 亚洲色在线无码国产精品不卡 | 国产成人人人97超碰超爽8 | 中文字幕人成乱码熟女app | 熟女少妇人妻中文字幕 | 天堂一区人妻无码 | 99久久亚洲精品无码毛片 | 国产精品人妻一区二区三区四 | 漂亮人妻洗澡被公强 日日躁 | 精品厕所偷拍各类美女tp嘘嘘 | 国内精品九九久久久精品 | 影音先锋中文字幕无码 | 久久国产精品偷任你爽任你 | 亚洲一区av无码专区在线观看 | 亚洲色www成人永久网址 | 97夜夜澡人人双人人人喊 | 领导边摸边吃奶边做爽在线观看 | 国产精品亚洲综合色区韩国 | 97色伦图片97综合影院 | 人妻少妇精品无码专区二区 | 国产舌乚八伦偷品w中 | 美女张开腿让人桶 | 精品国产一区av天美传媒 | 国产麻豆精品一区二区三区v视界 | 亚洲精品无码国产 | 女高中生第一次破苞av | 丝袜 中出 制服 人妻 美腿 | 国产成人精品必看 | 久久久婷婷五月亚洲97号色 | 成年美女黄网站色大免费视频 | 无码免费一区二区三区 | 国产人妻人伦精品 | 玩弄少妇高潮ⅹxxxyw | 亚洲精品久久久久久一区二区 | 精品夜夜澡人妻无码av蜜桃 | 国产欧美精品一区二区三区 | 男人的天堂2018无码 | 77777熟女视频在线观看 а天堂中文在线官网 | 成 人 免费观看网站 | 在线播放免费人成毛片乱码 | 成熟人妻av无码专区 | 免费人成网站视频在线观看 | 国产成人精品久久亚洲高清不卡 | 国产亚洲精品精品国产亚洲综合 | 国产午夜无码精品免费看 | 欧美日韩一区二区综合 | 一区二区三区乱码在线 | 欧洲 | 国产麻豆精品一区二区三区v视界 | 精品国产国产综合精品 | 成在人线av无码免费 | 国产亚洲精品久久久久久久久动漫 | 又紧又大又爽精品一区二区 | 国产精品亚洲а∨无码播放麻豆 | 亚洲s码欧洲m码国产av | 台湾无码一区二区 | 无码乱肉视频免费大全合集 | 熟妇人妻无码xxx视频 | 黄网在线观看免费网站 | 国产超碰人人爽人人做人人添 | 中文字幕人妻无码一区二区三区 | 欧美日韩视频无码一区二区三 | 中国大陆精品视频xxxx | 人妻天天爽夜夜爽一区二区 | 久久精品无码一区二区三区 | 国产av剧情md精品麻豆 | 国产精品美女久久久久av爽李琼 | www国产亚洲精品久久网站 | 精品国产精品久久一区免费式 | 国产精品第一国产精品 | 久久精品视频在线看15 | 亚洲国产精品一区二区第一页 | 2020久久超碰国产精品最新 | 欧美丰满少妇xxxx性 | 国产精品欧美成人 | 激情五月综合色婷婷一区二区 | 日日碰狠狠躁久久躁蜜桃 | 亚洲欧美综合区丁香五月小说 | 99久久久国产精品无码免费 | 99re在线播放 | 国产精品鲁鲁鲁 | 亚洲熟悉妇女xxx妇女av | 又黄又爽又色的视频 | 亚洲精品国产第一综合99久久 | 久久亚洲中文字幕无码 | 又黄又爽又色的视频 | 亚洲成a人一区二区三区 | 久久 国产 尿 小便 嘘嘘 | 国产成人无码av在线影院 | 亚洲区小说区激情区图片区 | 色婷婷综合中文久久一本 | 国产精品免费大片 | 久久精品中文字幕大胸 | 亚洲码国产精品高潮在线 | 蜜桃视频插满18在线观看 | 亚洲精品久久久久中文第一幕 | 中文字幕无码视频专区 | 3d动漫精品啪啪一区二区中 | 亚洲色大成网站www | 欧美激情内射喷水高潮 | 内射巨臀欧美在线视频 | 亚洲日韩av一区二区三区中文 | 欧美变态另类xxxx | 午夜福利不卡在线视频 | 久青草影院在线观看国产 | 成人欧美一区二区三区黑人免费 | 18禁止看的免费污网站 | 最新国产麻豆aⅴ精品无码 | 国产麻豆精品精东影业av网站 | 国产精品欧美成人 | 男人扒开女人内裤强吻桶进去 | 国产午夜手机精彩视频 | 水蜜桃亚洲一二三四在线 | 秋霞特色aa大片 | 亚洲爆乳精品无码一区二区三区 | 国产无av码在线观看 | 无码人妻丰满熟妇区毛片18 | 午夜无码人妻av大片色欲 | 亚洲伊人久久精品影院 | 欧美日韩综合一区二区三区 | 丝袜美腿亚洲一区二区 | 国产绳艺sm调教室论坛 | 亚洲综合伊人久久大杳蕉 | 美女黄网站人色视频免费国产 | 国产亚洲人成在线播放 | 丰满护士巨好爽好大乳 | 又紧又大又爽精品一区二区 | 东北女人啪啪对白 | av无码电影一区二区三区 | 少妇一晚三次一区二区三区 | 成人试看120秒体验区 | 日韩精品a片一区二区三区妖精 | 中文字幕乱码人妻二区三区 | 老太婆性杂交欧美肥老太 | 久久精品国产亚洲精品 | 欧美zoozzooz性欧美 | 国产综合在线观看 | 夜先锋av资源网站 | 亚洲啪av永久无码精品放毛片 | 国产精品手机免费 | 色婷婷综合激情综在线播放 | 丝袜足控一区二区三区 | 性生交大片免费看女人按摩摩 | 久久精品99久久香蕉国产色戒 | 亚洲日韩av一区二区三区中文 | 又紧又大又爽精品一区二区 | 超碰97人人射妻 | 内射白嫩少妇超碰 | 色综合久久久久综合一本到桃花网 | 国产亚洲精品久久久久久大师 | av人摸人人人澡人人超碰下载 | 午夜熟女插插xx免费视频 | 日本又色又爽又黄的a片18禁 | 日本乱偷人妻中文字幕 | 一区二区传媒有限公司 | 在线a亚洲视频播放在线观看 | 熟女俱乐部五十路六十路av | 国产人妻大战黑人第1集 | 狂野欧美性猛交免费视频 | 亚洲gv猛男gv无码男同 | 欧美三级不卡在线观看 | 激情爆乳一区二区三区 | 亚洲精品综合五月久久小说 | 高中生自慰www网站 | 性啪啪chinese东北女人 | 国产明星裸体无码xxxx视频 | 国产精品办公室沙发 | 国产人妻人伦精品1国产丝袜 | 东京无码熟妇人妻av在线网址 | 日本大香伊一区二区三区 | 大屁股大乳丰满人妻 | av无码久久久久不卡免费网站 | 久久无码中文字幕免费影院蜜桃 | 欧美亚洲日韩国产人成在线播放 | 乱中年女人伦av三区 | 久9re热视频这里只有精品 | 性生交片免费无码看人 | 波多野42部无码喷潮在线 | 成 人影片 免费观看 | 欧美怡红院免费全部视频 | 少妇高潮一区二区三区99 | av在线亚洲欧洲日产一区二区 | 国产精品久久久久影院嫩草 | 久久久久成人精品免费播放动漫 | 亚洲啪av永久无码精品放毛片 | 久热国产vs视频在线观看 | 成人精品视频一区二区三区尤物 | 亚洲成熟女人毛毛耸耸多 | 色婷婷综合中文久久一本 | 国产午夜无码视频在线观看 | 日本成熟视频免费视频 | 无码人妻出轨黑人中文字幕 | 日本一区二区三区免费播放 | 香蕉久久久久久av成人 | 国产在线精品一区二区三区直播 | 99精品无人区乱码1区2区3区 | 内射后入在线观看一区 | 亚洲国产精品一区二区美利坚 | 无码精品国产va在线观看dvd | 久久久久国色av免费观看性色 | 中文字幕人妻无码一区二区三区 | 无码精品人妻一区二区三区av | 强开小婷嫩苞又嫩又紧视频 | 国产精品无码久久av | 爱做久久久久久 | 免费看少妇作爱视频 | 久久久久久a亚洲欧洲av冫 | 国产国语老龄妇女a片 | 久久综合九色综合欧美狠狠 | 蜜桃臀无码内射一区二区三区 | 人妻有码中文字幕在线 | 青青青手机频在线观看 | 久久亚洲a片com人成 | 亚洲啪av永久无码精品放毛片 | 国产猛烈高潮尖叫视频免费 | 国产精品久免费的黄网站 | 亚洲精品一区三区三区在线观看 | 久久精品国产一区二区三区肥胖 | 乱码av麻豆丝袜熟女系列 | 精品国产一区二区三区四区在线看 | 日韩欧美中文字幕在线三区 | 日韩精品a片一区二区三区妖精 | 97se亚洲精品一区 | 一本久道久久综合狠狠爱 | 久久 国产 尿 小便 嘘嘘 | 麻豆国产丝袜白领秘书在线观看 | 欧美丰满老熟妇xxxxx性 | 精品国产青草久久久久福利 | 亚洲精品综合五月久久小说 | 娇妻被黑人粗大高潮白浆 | 国产精品国产三级国产专播 | 久久久久久av无码免费看大片 | 婷婷五月综合激情中文字幕 | 妺妺窝人体色www婷婷 | 色情久久久av熟女人妻网站 | 亚洲成av人片天堂网无码】 | 亚洲日韩av片在线观看 | 久久综合网欧美色妞网 | 国内少妇偷人精品视频免费 | 亚洲成av人影院在线观看 | 97资源共享在线视频 | 亚洲狠狠婷婷综合久久 | 免费国产成人高清在线观看网站 | 国产亚洲精品久久久久久 | 人妻无码αv中文字幕久久琪琪布 | 日本一区二区三区免费高清 | 性生交大片免费看女人按摩摩 | 欧美 亚洲 国产 另类 | 亚洲精品一区二区三区在线 | 日韩视频 中文字幕 视频一区 | 精品水蜜桃久久久久久久 | 色综合久久88色综合天天 | 亚洲午夜久久久影院 | 男人扒开女人内裤强吻桶进去 | 一本加勒比波多野结衣 | 欧美日本日韩 | 麻豆精品国产精华精华液好用吗 | 日本高清一区免费中文视频 | 99视频精品全部免费免费观看 | 扒开双腿疯狂进出爽爽爽视频 | 国产色在线 | 国产 | 婷婷六月久久综合丁香 | 人妻无码久久精品人妻 | 日本va欧美va欧美va精品 | 欧美黑人巨大xxxxx | 国产艳妇av在线观看果冻传媒 | 老熟妇仑乱视频一区二区 | 久久久精品欧美一区二区免费 | 一本久久a久久精品vr综合 | 国产免费无码一区二区视频 | 中文字幕乱码人妻二区三区 | 少妇人妻av毛片在线看 | 亚洲 日韩 欧美 成人 在线观看 | 九九综合va免费看 | 国内精品人妻无码久久久影院 | 欧美性色19p | 国产人妻久久精品二区三区老狼 | 亚洲日韩中文字幕在线播放 | 捆绑白丝粉色jk震动捧喷白浆 | 欧美老人巨大xxxx做受 | 国产精品手机免费 | 亚洲s码欧洲m码国产av | 国产va免费精品观看 | 亚洲欧美日韩国产精品一区二区 | 人人妻人人澡人人爽欧美一区九九 | 国产在线精品一区二区高清不卡 | 东京热一精品无码av | 国产午夜无码精品免费看 | 国精产品一区二区三区 | 国产精品18久久久久久麻辣 | 宝宝好涨水快流出来免费视频 | 性生交大片免费看女人按摩摩 | 国产精品二区一区二区aⅴ污介绍 | 一个人看的www免费视频在线观看 | 99久久99久久免费精品蜜桃 | 国产三级精品三级男人的天堂 | 精品午夜福利在线观看 | 曰韩无码二三区中文字幕 | 欧美freesex黑人又粗又大 | 免费看少妇作爱视频 | 久久久久成人精品免费播放动漫 | 日韩精品久久久肉伦网站 | 亚洲中文字幕无码一久久区 | 亚洲人亚洲人成电影网站色 | 国产精品永久免费视频 | 亚洲成av人影院在线观看 | 欧美人与禽zoz0性伦交 | 久在线观看福利视频 | 精品国产精品久久一区免费式 | 久久久精品成人免费观看 | 99久久人妻精品免费二区 | 女高中生第一次破苞av | 亚洲日韩av一区二区三区中文 | 亚洲国产精品成人久久蜜臀 | 亚洲中文字幕无码中字 | 极品尤物被啪到呻吟喷水 | 未满成年国产在线观看 | 日日碰狠狠丁香久燥 | 少妇无码av无码专区在线观看 | 亚洲无人区午夜福利码高清完整版 | 中文字幕av伊人av无码av | www一区二区www免费 | 人人妻人人澡人人爽人人精品 | 成人欧美一区二区三区黑人 | 国产9 9在线 | 中文 | 最新国产麻豆aⅴ精品无码 | 亚洲日韩av一区二区三区中文 | 国产明星裸体无码xxxx视频 | www国产精品内射老师 | 国产精品无码一区二区三区不卡 | 精品无码一区二区三区爱欲 | 久久精品国产亚洲精品 | 久久国语露脸国产精品电影 | 无码人妻久久一区二区三区不卡 | 亚洲s码欧洲m码国产av | 日韩人妻无码中文字幕视频 | 人妻少妇精品视频专区 | 日韩精品成人一区二区三区 | 国产精品久久国产三级国 | 国产亚洲欧美日韩亚洲中文色 | 无码人妻出轨黑人中文字幕 | 久久久久久久女国产乱让韩 | 搡女人真爽免费视频大全 | 国内少妇偷人精品视频免费 | 亚洲国产av精品一区二区蜜芽 | 伊人久久大香线蕉亚洲 | 亚洲va欧美va天堂v国产综合 | 熟妇人妻无码xxx视频 | 久久久久se色偷偷亚洲精品av | 美女极度色诱视频国产 | 亚洲国产综合无码一区 | 欧美日韩亚洲国产精品 | 一个人免费观看的www视频 | 兔费看少妇性l交大片免费 | 色综合天天综合狠狠爱 | 国产精品99爱免费视频 | 久久99久久99精品中文字幕 | 日本精品人妻无码77777 天堂一区人妻无码 | 亚洲中文字幕av在天堂 | 国产特级毛片aaaaaa高潮流水 | 亚洲色偷偷男人的天堂 | 自拍偷自拍亚洲精品10p | 亚洲精品鲁一鲁一区二区三区 | 夜夜影院未满十八勿进 | 午夜精品久久久内射近拍高清 | 亚洲成在人网站无码天堂 | 中文毛片无遮挡高清免费 | 久久熟妇人妻午夜寂寞影院 | 日韩人妻无码中文字幕视频 | 久久aⅴ免费观看 | 国产精品美女久久久久av爽李琼 | 亚洲狠狠色丁香婷婷综合 | 亚洲精品中文字幕久久久久 | 久久国产精品萌白酱免费 | 国产绳艺sm调教室论坛 | 成人欧美一区二区三区 | 国产在线精品一区二区高清不卡 | 天天拍夜夜添久久精品大 | 欧美野外疯狂做受xxxx高潮 | 亚洲一区二区三区含羞草 | 2019午夜福利不卡片在线 | 亚洲精品一区三区三区在线观看 | 呦交小u女精品视频 | а天堂中文在线官网 | 国产精品二区一区二区aⅴ污介绍 | 在教室伦流澡到高潮hnp视频 | 国产成人无码午夜视频在线观看 | 欧美变态另类xxxx | 强辱丰满人妻hd中文字幕 | 久久国产精品萌白酱免费 | 国产激情一区二区三区 | 成 人 免费观看网站 | 国产高清不卡无码视频 | 性色欲情网站iwww九文堂 | 国产一区二区三区四区五区加勒比 | 亚洲 另类 在线 欧美 制服 | 欧美性生交活xxxxxdddd | 无码人妻出轨黑人中文字幕 | 成人欧美一区二区三区黑人免费 | 亚洲色成人中文字幕网站 | 中国大陆精品视频xxxx | 亚洲日韩av一区二区三区中文 | 成熟妇人a片免费看网站 | 日本丰满护士爆乳xxxx | 亚洲欧美日韩国产精品一区二区 | 久久亚洲日韩精品一区二区三区 | 最新国产麻豆aⅴ精品无码 | 午夜性刺激在线视频免费 | 国产内射爽爽大片视频社区在线 | 欧洲精品码一区二区三区免费看 | 国产婷婷色一区二区三区在线 | 国产一区二区三区精品视频 | 免费观看黄网站 | aⅴ亚洲 日韩 色 图网站 播放 | 丰满岳乱妇在线观看中字无码 | 最近中文2019字幕第二页 | 77777熟女视频在线观看 а天堂中文在线官网 | 精品水蜜桃久久久久久久 | 久久精品中文字幕大胸 | 伊人久久大香线蕉午夜 | 精品久久久久久人妻无码中文字幕 | 欧美 日韩 亚洲 在线 | 性做久久久久久久久 | 成人亚洲精品久久久久 | 人人澡人摸人人添 | 亚洲日韩av一区二区三区四区 | 久久综合给久久狠狠97色 | 欧美精品免费观看二区 | 久久久www成人免费毛片 | 国产激情一区二区三区 | 久久人人爽人人爽人人片av高清 | 免费观看黄网站 | 日韩精品无码一区二区中文字幕 | 国产人成高清在线视频99最全资源 | 欧美日韩一区二区综合 | 亚洲色大成网站www | 色综合久久久无码网中文 | 欧美35页视频在线观看 | 日韩人妻少妇一区二区三区 | 亚洲s色大片在线观看 | а天堂中文在线官网 | 久久久精品欧美一区二区免费 | 亚洲熟悉妇女xxx妇女av | 日本免费一区二区三区最新 | 国产一区二区不卡老阿姨 | 国产69精品久久久久app下载 | 亚洲日本va午夜在线电影 | 波多野结衣高清一区二区三区 | www成人国产高清内射 | 东京热无码av男人的天堂 | 天天躁夜夜躁狠狠是什么心态 | 欧美亚洲日韩国产人成在线播放 | 国产女主播喷水视频在线观看 | 波多野结衣av在线观看 | 久久久久久久人妻无码中文字幕爆 | 色爱情人网站 | 国产偷国产偷精品高清尤物 | 熟妇人妻无乱码中文字幕 | 亚洲热妇无码av在线播放 | 无码国内精品人妻少妇 | 亚洲欧美日韩成人高清在线一区 | av在线亚洲欧洲日产一区二区 | 狠狠色噜噜狠狠狠7777奇米 | 久久人人爽人人人人片 | 精品人人妻人人澡人人爽人人 | 国产精品久久久久久亚洲影视内衣 | 久久99精品久久久久久动态图 | 久久国产精品精品国产色婷婷 | 99视频精品全部免费免费观看 | 一本加勒比波多野结衣 | 成人性做爰aaa片免费看不忠 | 国产一区二区三区影院 | 国产手机在线αⅴ片无码观看 | 欧美性黑人极品hd | 正在播放老肥熟妇露脸 | 日本一卡2卡3卡四卡精品网站 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产精品久久国产精品99 | av人摸人人人澡人人超碰下载 | 图片区 小说区 区 亚洲五月 | 国産精品久久久久久久 | 国产精品久久久久久久9999 | 麻豆国产丝袜白领秘书在线观看 | 亚洲男人av天堂午夜在 | 国产乱人伦av在线无码 | 国产福利视频一区二区 | 一本加勒比波多野结衣 | 久久久成人毛片无码 | 亚洲国产综合无码一区 | 色欲久久久天天天综合网精品 | 精品成在人线av无码免费看 | 精品久久久无码中文字幕 | 97久久国产亚洲精品超碰热 | 免费无码肉片在线观看 | 精品乱码久久久久久久 | 国产在线精品一区二区三区直播 | 国产精品无码久久av | 精品无码一区二区三区爱欲 | 粉嫩少妇内射浓精videos | 国产suv精品一区二区五 | 任你躁国产自任一区二区三区 | 日日鲁鲁鲁夜夜爽爽狠狠 | 2019nv天堂香蕉在线观看 | 色爱情人网站 | 婷婷六月久久综合丁香 | 妺妺窝人体色www在线小说 | 露脸叫床粗话东北少妇 | 国产在线一区二区三区四区五区 | 国产激情艳情在线看视频 | 丰满妇女强制高潮18xxxx | 国产三级精品三级男人的天堂 | 任你躁国产自任一区二区三区 | 色综合久久久久综合一本到桃花网 | 亚洲日韩av一区二区三区中文 | 日本高清一区免费中文视频 | 男人扒开女人内裤强吻桶进去 | 国产 精品 自在自线 | 精品无人区无码乱码毛片国产 | 四虎国产精品一区二区 | 97人妻精品一区二区三区 | 国产免费无码一区二区视频 | 国产真实乱对白精彩久久 | 国产免费无码一区二区视频 | 欧美日韩一区二区综合 | 色婷婷av一区二区三区之红樱桃 | 国产精品对白交换视频 | 国产精品人人爽人人做我的可爱 | 超碰97人人做人人爱少妇 | 在线а√天堂中文官网 | 无码av最新清无码专区吞精 | 亚洲成a人片在线观看无码3d | 久久综合激激的五月天 | 东京热一精品无码av | 亚洲精品久久久久久一区二区 | 欧美猛少妇色xxxxx | 成熟妇人a片免费看网站 | 国产亚洲精品精品国产亚洲综合 | 久久综合色之久久综合 | 成人综合网亚洲伊人 | 麻豆md0077饥渴少妇 | 亚洲无人区一区二区三区 | 性生交片免费无码看人 | 成人无码精品一区二区三区 | 日本大香伊一区二区三区 | 少妇邻居内射在线 | 国产suv精品一区二区五 | 无码精品人妻一区二区三区av | 亚洲综合无码一区二区三区 | 国产av无码专区亚洲a∨毛片 | 亚洲精品国产第一综合99久久 | 色一情一乱一伦一区二区三欧美 |