• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    大數(shù)據(jù)處理模型Apache Spark研究

    2015-09-28 06:11:00黎文陽(yáng)
    現(xiàn)代計(jì)算機(jī) 2015年8期
    關(guān)鍵詞:管理程序示例內(nèi)存

    黎文陽(yáng)

    (四川大學(xué)計(jì)算機(jī)學(xué)院,成都 610065)

    大數(shù)據(jù)處理模型Apache Spark研究

    黎文陽(yáng)

    (四川大學(xué)計(jì)算機(jī)學(xué)院,成都610065)

    0 引言

    MapReduce計(jì)算模型在大規(guī)模數(shù)據(jù)分析領(lǐng)域已取得很大成績(jī),并被很多公司廣泛采用。這些系統(tǒng)都是基于非循環(huán)的數(shù)據(jù)流模型,有很好的容錯(cuò)性,同時(shí)為開(kāi)發(fā)人員提供了高級(jí)接口以便于編寫(xiě)并行程序。目前這些系統(tǒng)能很容易地訪(fǎng)問(wèn)集群中的計(jì)算資源,但是不能充分地利用分布式內(nèi)存,導(dǎo)致了對(duì)那些重用中間結(jié)果的應(yīng)用不是很有效。這些應(yīng)用的特點(diǎn)是在多個(gè)并行操作之間重用數(shù)據(jù),例如機(jī)器學(xué)習(xí)中的PageRank算法、K-means聚類(lèi)算法、邏輯回歸算法等迭代式算法。交互式的數(shù)據(jù)挖掘算法中也經(jīng)常重用數(shù)據(jù)。Spark計(jì)算模型剛好解決了這些問(wèn)題,并且能在Hadoop集群下部署,訪(fǎng)問(wèn)HDFS文件系統(tǒng)。Spark將分布式內(nèi)存抽象成彈性分布式數(shù)據(jù)集(Resilient Distributed Datasets,RDD)[1]。RDD支持基于工作集的應(yīng)用,同時(shí)具有數(shù)據(jù)流模型的特點(diǎn):自動(dòng)容錯(cuò)、位置感知調(diào)度和可伸縮性。RDD允許用戶(hù)在執(zhí)行多個(gè)查詢(xún)時(shí)顯式地將工作集緩存在內(nèi)存中,以便后續(xù)的查詢(xún)能夠重用,這極大地提升了查詢(xún)速度。

    1 Spark簡(jiǎn)介

    Spark是UC Berkeley AMPLab于2009年發(fā)起的,然后被Apache軟件基金會(huì)接管的類(lèi)Hadoop MapReduce通用性并行計(jì)算框架,是當(dāng)前大數(shù)據(jù)領(lǐng)域最活躍的開(kāi)源項(xiàng)目之一。Spark是基于MapReduce計(jì)算框架實(shí)現(xiàn)的分布式計(jì)算,擁有Hadoop MapReduce所具有的優(yōu)點(diǎn);但不同于MapReduce的是中間輸出和結(jié)果可以保存在內(nèi)存中,從而不再需要讀寫(xiě)HDFS,因此Spark更適用于數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)等需要迭代的算法。如圖1所示,邏輯回歸算法在Hadoop和Spark上的運(yùn)行時(shí)間對(duì)比圖,可以看出Spark的效率有很大的提升[3]。

    Spark由Scala[4]語(yǔ)言實(shí)現(xiàn)的,Scala是一種基于JVM的函數(shù)式編程語(yǔ)言,提供了類(lèi)似DryadLINQ[5]的編程接口。而且Spark還提供了一個(gè)修改的Scala語(yǔ)言解釋器,能方便地用于交互式編程,用戶(hù)可以定義變量、函數(shù)、類(lèi)以及RDD。

    Spark集成了豐富的編程工具,其中Spark SQL用于SQL語(yǔ)言和結(jié)構(gòu)化數(shù)據(jù)處理,Spark Streaming用于流處理,MLlib用于機(jī)器學(xué)習(xí)算法,GraphX用于圖處理。Spark不但能夠訪(fǎng)問(wèn)多種數(shù)據(jù)源,例如 HDFS、Cassandra、HBase、Amazon S3,還提供了Scala、Java和Python三種語(yǔ)言的API接口,以便于編寫(xiě)并行程序。而且Spark還能部署在已有的Hadoop系統(tǒng)上,由YARN進(jìn)行集群調(diào)度,極大地利用了Hadoop系統(tǒng)。

    圖1 邏輯回歸算法在Hadoop和Spark上的運(yùn)行時(shí)間

    1.1適用場(chǎng)景

    Spark適用于那些在多個(gè)并行操作之間重用數(shù)據(jù)的應(yīng)用,而MapReduce在這方面效率并不高,因?yàn)镸apReduce和DAG引擎是基于非循環(huán)數(shù)據(jù)流的,即一個(gè)應(yīng)用被分成一些不同的作業(yè)(job),每個(gè)作業(yè)從磁盤(pán)中讀數(shù)據(jù),然后再寫(xiě)到磁盤(pán)[2]。Spark不太適合那些異步更新共享狀態(tài)的應(yīng)用,例如并行Web爬行器。Spark的適用場(chǎng)景有:

    ●迭代式算法:許多機(jī)器學(xué)習(xí)算法都用一個(gè)函數(shù)對(duì)相同的數(shù)據(jù)進(jìn)行重復(fù)的計(jì)算,從而得到最優(yōu)解。MapReduce計(jì)算框架把每次迭代看成是一個(gè)MapReduce作業(yè) (job),而每個(gè)作業(yè)都要從磁盤(pán)重新加載數(shù)據(jù),這就導(dǎo)致了效率不高,而Spark可以把中間數(shù)據(jù)緩存到內(nèi)存中加快計(jì)算效率。

    ●交互式數(shù)據(jù)分析:用戶(hù)經(jīng)常會(huì)用SQL對(duì)大數(shù)據(jù)集合做臨時(shí)查詢(xún)(Ad-Hoc Query)。Hive把每次查詢(xún)都當(dāng)作一個(gè)獨(dú)立的MapReduce作業(yè),并且從磁盤(pán)加載數(shù)據(jù),有很大的延遲,而Spark可以把數(shù)據(jù)加載到內(nèi)存中,然后重復(fù)的查詢(xún)。

    ●流應(yīng)用:即需要實(shí)時(shí)處理的應(yīng)用,這類(lèi)應(yīng)用往往需要低延遲,高效率。

    1.2組成部分

    目前 Spark由四部分構(gòu)成:Spark SQL、MLlib、GraphX、Spark Streaming,如圖2所示。

    圖2 Spark組成部分

    (1)Spark SQL:是Spark處理SQL和結(jié)構(gòu)化數(shù)據(jù)工具,Spark引入了SchemaRDD的數(shù)據(jù)抽象,使其能以統(tǒng)一地、高效地訪(fǎng)問(wèn)和查詢(xún)各種不同的數(shù)據(jù)源,例如Apache Hive表、parquet文件、JSON文件。Spark SQL兼容Apache Hive,能重用Hive的前端和元存儲(chǔ)。Spark SQL API能像查詢(xún)RDD一樣查詢(xún)結(jié)構(gòu)化的數(shù)據(jù),并且Spark SQL還提供了JDBC/ODBC的服務(wù)端模式,以便建立JDBC/ODBC數(shù)據(jù)連接。

    (2)MLlib(Machine Learning):是Spark提供的機(jī)器學(xué)習(xí)庫(kù),包含了常見(jiàn)的機(jī)器學(xué)習(xí)算法。Spark擅長(zhǎng)于迭代式計(jì)算,所以與MapReduce相比,MLlib中的算法效率更高,性能更好。常見(jiàn)的算法有:

    ①SVM、邏輯回歸(logistic regression)、線(xiàn)性回歸(linear regression)、樸素貝葉斯(naive Bayes)

    ②K均值算法(K-means)

    ③奇異值分解(singular value decomposition)

    ④特征提取與轉(zhuǎn)換(feature extraction and transformation)

    (3)GraphX(Graph Processing):是Spark處理圖(graph)的框架,利用Pregel API可以用RDD有效地轉(zhuǎn)換(transform)和連接(join)圖,實(shí)現(xiàn)圖算法。GraphX在速度上可與最快的專(zhuān)用圖處理系統(tǒng)相媲美。

    (4)Spark Streaming:是Spark處理流應(yīng)用的庫(kù)。其結(jié)合了批處理查詢(xún)與交互式查詢(xún),方便重用批處理的代碼和歷史數(shù)據(jù)?;驹硎荢park將流數(shù)據(jù)分成小的時(shí)間片斷(幾秒),以類(lèi)似批處理的方式來(lái)處理這小部分?jǐn)?shù)據(jù)。Spark Streaming API能像編寫(xiě)批處理作業(yè)一樣構(gòu)建可擴(kuò)展的流應(yīng)用。Spark Streaming也能訪(fǎng)問(wèn)各種不同的數(shù)據(jù)源,例如能夠從HDFS、Flume、Kafka、Twitter和ZeroMQ中讀取數(shù)據(jù)。

    1.3部署模式

    Spark集群如圖3劃分,主要有驅(qū)動(dòng)程序、集群管理程序,以及各worker節(jié)點(diǎn)上的執(zhí)行程序[3]。

    Spark應(yīng)用的主程序稱(chēng)為驅(qū)動(dòng)程序 (driver program),其中包含SparkContext對(duì)象,用于連接集群管理程序(cluster manager)。集群管理程序用于分配集群中的資源,目前有三種:Spark獨(dú)自的集群管理程序、Mesos[6]和 YARN[7]。Spark應(yīng)用的運(yùn)行過(guò)程是,Spark-Context對(duì)象首先連接集群管理程序,然后Spark獲取集群中各個(gè)節(jié)點(diǎn)上的執(zhí)行程序(executor),執(zhí)行程序是用于計(jì)算和存儲(chǔ)數(shù)據(jù)的進(jìn)程,然后Spark把代碼發(fā)送到執(zhí)行程序,最后運(yùn)行執(zhí)行程序上的任務(wù)。所以Spark目前支持3種集群部署模式:Standalone模式、Apache Mesos模式、Hadoop YARN模式。

    圖3 Spark集群組成部分

    (1)Standalone模式:即獨(dú)立模式,使用Spark自帶的集群管理程序,好處是不需要額外的軟件就能運(yùn)行,配置簡(jiǎn)單。

    (2)Apache Mesos模式:需要安裝Mesos資源管理程序,Spark的集群管理就交給Mesos處理了。使用Mesos的好處是,可以在Spark與其他框架之間或多個(gè)Spark實(shí)例之間動(dòng)態(tài)地劃分。

    (3)Hadoop YARN模式:利用已有的Hadoop集群,讓Spark在Hadoop集群中運(yùn)行,訪(fǎng)問(wèn)HDFS文件系統(tǒng),使用YARN資源調(diào)度程序。Spark on YARN是Spark 0.6.0版本加入的,該模式需要額外的配置參數(shù)。

    Spark既可以在單機(jī)上運(yùn)行,也可以在Amazon EC2上運(yùn)行。Spark提供了相應(yīng)的配置文件、啟動(dòng)腳本、結(jié)束腳本用于配置、啟動(dòng)、結(jié)束Spark集群中的master 和slave。也提供了相應(yīng)的Web監(jiān)控系統(tǒng)與日志系統(tǒng),方便地監(jiān)控與調(diào)試程序。而且還可以配置Zookeeper以保證高可用性。

    2 Spark編程模型

    Spark最主要的抽象就是彈性分布式數(shù)據(jù)集(Resilient Distributed Datasets,RDD)以及對(duì)RDD的并行操作(例如map、filter、groupBy、join)。而且,Spark還支持兩種受限的共享變量 (shared variables):廣播變量(broadcast variables)和累加變量(accumulators)。

    2.1RDD

    RDD是只讀的對(duì)象集合,RDD分區(qū)分布在集群的節(jié)點(diǎn)中。如果某個(gè)節(jié)點(diǎn)失效,或者某部分?jǐn)?shù)據(jù)丟失,RDD都能重新構(gòu)建。Spark將創(chuàng)建RDD的一系列轉(zhuǎn)換記錄下來(lái),以便恢復(fù)丟失的分區(qū),這稱(chēng)為血系(lineage)。每次對(duì)RDD數(shù)據(jù)集的操作之后的結(jié)果,都可以緩存到內(nèi)存中,下一個(gè)操作可以直接從內(nèi)存中輸入,省去了MapReduce大量的磁盤(pán)操作。RDD只支持粗粒度轉(zhuǎn)換,即在大量記錄上執(zhí)行的單個(gè)操作。雖然只支持粗粒度轉(zhuǎn)換限制了編程模型,但RDD仍然可以很好地適用于很多應(yīng)用,特別是支持?jǐn)?shù)據(jù)并行的批量分析應(yīng)用,包括數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)、圖算法等,因?yàn)檫@些程序通常都會(huì)在很多記錄上執(zhí)行相同的操作。

    使用RDD的好處有:

    ●RDD只能從持久存儲(chǔ)或通過(guò)轉(zhuǎn)換(transformation)操作產(chǎn)生,相比于分布式共享內(nèi)存(DSM)可以更高效地實(shí)現(xiàn)容錯(cuò),對(duì)于丟失部分?jǐn)?shù)據(jù)分區(qū)只需根據(jù)它的血系就可重新計(jì)算出來(lái),而不需要做特定的檢查點(diǎn)(checkpoint)。

    ●RDD的不變性,可以實(shí)現(xiàn)類(lèi)MapReduce的預(yù)測(cè)式執(zhí)行。

    ●RDD的數(shù)據(jù)分區(qū)特性,可以通過(guò)數(shù)據(jù)的本地性來(lái)提高性能,這與MapReduce是一樣的。

    ●RDD是可序列化的,當(dāng)內(nèi)存不足時(shí)可自動(dòng)改為磁盤(pán)存儲(chǔ),把RDD存儲(chǔ)于磁盤(pán)上,此時(shí)性能會(huì)有大的下降但不會(huì)差于現(xiàn)有的MapReduce。

    在Spark中,RDD是一個(gè)Scala對(duì)象,對(duì)RDD的并行操作即是調(diào)用對(duì)象上的方法。有四種方法創(chuàng)建一個(gè)RDD:

    (1)通過(guò)一個(gè)文件系統(tǒng)中的文件創(chuàng)建,例如常見(jiàn)的HDFS文件。

    (2)通過(guò)并行化Scala集合,即把一個(gè)集合切分成很多片,然后發(fā)送到各種節(jié)點(diǎn)。

    (3)通過(guò)對(duì)已有的RDD執(zhí)行轉(zhuǎn)換操作,可以得到一個(gè)新的RDD。例如通過(guò)flatMap可以把類(lèi)型1的RDD轉(zhuǎn)換成類(lèi)型2的RDD。

    (4)通過(guò)把RDD持久化。RDD默認(rèn)是惰性的,即只有當(dāng)RDD在執(zhí)行并行操作時(shí),RDD才被物化,執(zhí)行完后即被釋放。用戶(hù)可以通過(guò)顯式的cache或save操作使RDD持久化。

    2.2并行操作

    作用在RDD上的并行操作有兩種:轉(zhuǎn)換(transformation)和動(dòng)作(action),轉(zhuǎn)換返回一個(gè)新的RDD,動(dòng)作返回一個(gè)值或把RDD寫(xiě)到文件系統(tǒng)中。轉(zhuǎn)換是惰性的,即從一個(gè)RDD轉(zhuǎn)換成另一個(gè)RDD不是馬上執(zhí)行的,Spark只是記錄這樣的操作,并不執(zhí)行,等到有動(dòng)作操作時(shí)才會(huì)啟動(dòng)計(jì)算過(guò)程。常見(jiàn)的轉(zhuǎn)換(transformation)如表1所示,常見(jiàn)的動(dòng)作(action)如表2所示。

    表1 常見(jiàn)的轉(zhuǎn)換(transformation)操作

    注:有些操作只對(duì)key有效,例如join、groupByKey, reduceByKey。除了這些操作以外,用戶(hù)還可以請(qǐng)求將RDD緩存起來(lái)。而且,用戶(hù)還可以通過(guò)Partitioner類(lèi)獲取RDD的分區(qū)順序,然后將另一個(gè)RDD按照同樣的方式分區(qū)。

    2.3共享變量

    通常情況下,Spark中的map、filter、reduce等函數(shù)的參數(shù)是一個(gè)函數(shù)(閉包),運(yùn)行時(shí)這些函數(shù)參數(shù)被復(fù)制到各個(gè)worker節(jié)點(diǎn)上,互不干擾。Spark還提供了共享變量用于其他用途,常見(jiàn)的有兩種:

    (1)廣播變量(broadcast variables):對(duì)于大量的只讀數(shù)據(jù),當(dāng)有多個(gè)并行操作時(shí),最好只復(fù)制一次而不是每執(zhí)行一次函數(shù)就復(fù)制一次到各個(gè)worker節(jié)點(diǎn)。廣播變量就是用于這種情況,它只是包裝了一下原有的數(shù)據(jù),然后只復(fù)制一次到各worker節(jié)點(diǎn)。

    (2)累加變量(accumulators):累加變量只能用于關(guān)聯(lián)操作,并且只有驅(qū)動(dòng)程序才能讀取。只要某個(gè)類(lèi)型有“add”操作和“0”值都可以是累加變量。累加變量經(jīng)常用于實(shí)現(xiàn)MapReduce的計(jì)數(shù)器,而且由于是只加性的,所以很容易實(shí)現(xiàn)容錯(cuò)性。

    表2 常見(jiàn)的動(dòng)作(action)操作

    3 編程示例

    Spark提供了 Scala、Java和 Python三種語(yǔ)言的API。而且Spark程序既可以通過(guò)交互式Spark shell運(yùn)行 (Scala或Python語(yǔ)言),又能以獨(dú)立的程序運(yùn)行(Scala、Java或Python語(yǔ)言)。下面這些編程示例使用Scala語(yǔ)言,在Spark shell下執(zhí)行[8]。Scala是一種基于JVM的函數(shù)式編程語(yǔ)言。

    Spark的首要抽象便是彈性分布式數(shù)據(jù)集RDD,所以編程的主要任務(wù)就是編寫(xiě)驅(qū)動(dòng)程序,創(chuàng)建RDD,然后對(duì)RDD執(zhí)行并行操作。RDD既能從外部文件中創(chuàng)建(例如HDFS文件),又能從對(duì)其他RDD執(zhí)行轉(zhuǎn)換操作(transformation)得到。對(duì)RDD有兩種操作:一種是轉(zhuǎn)換操作,產(chǎn)生新的RDD;另一種是動(dòng)作操作(action),開(kāi)始一個(gè)作業(yè)并返回值。首先配置好Spark運(yùn)行環(huán)境,然后啟動(dòng)Spark集群,在此不再細(xì)述。

    3.1文本搜索

    本示例搜索某個(gè)HDFS日志文件的ERROR信息:

    Spark還能顯示的緩存RDD,只需執(zhí)行cache操作:

    3.2單詞統(tǒng)計(jì)

    本示例統(tǒng)計(jì)某個(gè)HDFS文件的各個(gè)單詞出現(xiàn)的次數(shù),并將結(jié)果保存到HDFS文件:

    3.3估算PI值

    Spark也用于計(jì)算密集型任務(wù),本示例使用“扔飛鏢法”估算PI值,在(0,0)-(1,1)的正方形中,隨機(jī)生成坐標(biāo)(x,y),統(tǒng)計(jì)落在圓內(nèi)的點(diǎn)數(shù),那么落在圓內(nèi)的點(diǎn)數(shù)/總點(diǎn)數(shù)等于PI/4:

    4 結(jié)語(yǔ)

    本文大致介紹了Spark系統(tǒng)的基本概念與核心思想,并給出了編程示例。Spark最重要的抽象就是RDD,一種有效的、通用的分布式內(nèi)存抽象,它解決了集群環(huán)境下并行處理大數(shù)據(jù)的效率問(wèn)題,比Hadoop MapReduce的效率高,特別適用于機(jī)器學(xué)習(xí)中的迭代式算法和交互式數(shù)據(jù)分析等特殊的應(yīng)用場(chǎng)景。目前,Spark是非常流行的內(nèi)存計(jì)算框架,一直在發(fā)布新版本,還處于比較活躍的開(kāi)發(fā)階段。當(dāng)前遇到的技術(shù)挑戰(zhàn)有:①資源調(diào)度程序如何為Spark作業(yè)確定合適的資源需求;②Spark如何更好地與YARN集群管理程序配合,使系統(tǒng)最優(yōu);③提供更多的編程API供用戶(hù)使用。

    [1]Zaharia M,Chowdhury M,Das T,et al.Resilient Distributed Datasets:A Fault-Tolerant Abstraction for in-Memory Cluster Computing [C].Proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation.USENIX Association,2012:2-2

    [2]Zaharia M,Chowdhury M,Franklin M J,et al.Spark:Cluster Computing with Working Sets[C].Proceedings of the 2nd USENIX Conference on Hot Topics in Cloud Computing,2010:10~10

    [3]Spark[EB/OL].http://spark.apache.org

    [4]Scala[EB/OL].https://www.scala-lang.org

    [5]Yu Y,Isard M,Fetterly D,et al.DryadLINQ:A System for General-Purpose Distributed Data-Parallel Computing Using a High-Level Language[C].OSDI.2008,8:1·14

    [6]Hadoop MapReduce Tutorial[EB/OL].http://hadoop.apache.org/docs/r1.2.1/mapred_tutorial.html

    [7]Apache Mesos.http://mesos.apache.org

    [8]Spark Programming Guides[EB/OL].http://spark.apache.org/docs/1.1.0/quick-start.html

    Spark;Hadoop;MapReduce;Big Data;Data Analysis

    Research on Apache Spark for Big Data Processing

    LI Wen-yang
    (College of Computer Science,Sichuan University,Chengdu 610065)

    1007-1423(2015)08-0055-06

    10.3969/j.issn.1007-1423.2015.08.013

    黎文陽(yáng)(1990-),男,河南信陽(yáng)人,碩士研究生,研究方向?yàn)榉植际脚c數(shù)據(jù)庫(kù)

    2015-02-10

    2015-02-28

    Apache Spark是當(dāng)前流行的大數(shù)據(jù)處理模型,具有快速、通用、簡(jiǎn)單等特點(diǎn)。Spark是針對(duì)MapReduce在迭代式機(jī)器學(xué)習(xí)算法和交互式數(shù)據(jù)挖掘等應(yīng)用方面的低效率,而提出的新的內(nèi)存計(jì)算框架,既保留了MapReduce的可擴(kuò)展性、容錯(cuò)性、兼容性,又彌補(bǔ)了MapReduce在這些應(yīng)用上的不足。由于采用基于內(nèi)存的集群計(jì)算,所以Spark在這些應(yīng)用上比MapReduce快100倍。介紹Spark的基本概念、組成部分、部署模式,分析Spark的核心內(nèi)容與編程模型,給出相關(guān)的編程示例。

    Spark;Hadoop;MapReduce;大數(shù)據(jù);數(shù)據(jù)分析

    Apache Spark is a popular model for large scale data processing at present,which is fast,general and easy.Compared with the MapReduce computing framework,Spark is efficient in iterative machine learning algorithms and interactive data mining applications while retaining the compatibility,scalability and fault-tolerance of MapReduce.With its in-memory computing,Spark is up to 100x faster than Hadoop MapReduce in memory.Presents the basic conception,component and the deploying mode of Spark,introduces the internal abstraction and the programming model,gives the programming examples.

    猜你喜歡
    管理程序示例內(nèi)存
    大還是小
    軍事保密管理程序法治化及其對(duì)軍民協(xié)同創(chuàng)新發(fā)展的促進(jìn)研究
    2019年高考上海卷作文示例
    常見(jiàn)單位符號(hào)大小寫(xiě)混淆示例
    山東冶金(2019年5期)2019-11-16 09:09:22
    “春夏秋冬”的內(nèi)存
    “全等三角形”錯(cuò)解示例
    關(guān)于EPC總承包項(xiàng)目設(shè)計(jì)管理程序文件的研究
    FMC移動(dòng)性管理程序
    河南科技(2014年24期)2014-02-27 14:19:26
    基于內(nèi)存的地理信息訪(fǎng)問(wèn)技術(shù)
    寧德核電管理體系建設(shè)與優(yōu)化
    国产激情久久老熟女| 午夜福利一区二区在线看| 色94色欧美一区二区| 麻豆av在线久日| 最新在线观看一区二区三区| 午夜91福利影院| 欧美日韩亚洲高清精品| 黄片小视频在线播放| 亚洲黑人精品在线| 免费av中文字幕在线| 国产老妇伦熟女老妇高清| 男女午夜视频在线观看| 国产精品一区二区在线观看99| 国产一区二区三区av在线| 国产片内射在线| 精品福利观看| 80岁老熟妇乱子伦牲交| 国产黄色免费在线视频| 人人澡人人妻人| 黑人巨大精品欧美一区二区mp4| 美女中出高潮动态图| 日韩欧美免费精品| 极品人妻少妇av视频| 久久热在线av| 黄色 视频免费看| 午夜福利,免费看| a在线观看视频网站| 丰满人妻熟妇乱又伦精品不卡| 搡老熟女国产l中国老女人| 777久久人妻少妇嫩草av网站| 91字幕亚洲| 亚洲精品久久成人aⅴ小说| 亚洲视频免费观看视频| 欧美精品高潮呻吟av久久| 啦啦啦中文免费视频观看日本| 久久影院123| 我的亚洲天堂| 欧美乱码精品一区二区三区| 久久精品亚洲熟妇少妇任你| 9191精品国产免费久久| 热re99久久国产66热| 国产在视频线精品| 国产精品一区二区精品视频观看| 国产日韩欧美视频二区| 好男人电影高清在线观看| 午夜影院在线不卡| 一区福利在线观看| 中文字幕人妻丝袜一区二区| 国产精品av久久久久免费| 亚洲激情五月婷婷啪啪| 日韩一卡2卡3卡4卡2021年| 国产人伦9x9x在线观看| 欧美大码av| 日日爽夜夜爽网站| 精品福利观看| 他把我摸到了高潮在线观看 | 91av网站免费观看| 国产成人免费观看mmmm| 成年人午夜在线观看视频| 精品一区二区三卡| 欧美在线一区亚洲| 亚洲国产精品一区三区| 欧美亚洲日本最大视频资源| 日韩三级视频一区二区三区| 亚洲av男天堂| 亚洲专区国产一区二区| 十八禁网站网址无遮挡| 欧美日韩福利视频一区二区| 我要看黄色一级片免费的| 精品亚洲成a人片在线观看| 黄色视频,在线免费观看| 亚洲av男天堂| 亚洲精品一卡2卡三卡4卡5卡 | 久久久久视频综合| 久久久久国产精品人妻一区二区| 99re6热这里在线精品视频| 亚洲人成电影观看| 热re99久久国产66热| 十八禁高潮呻吟视频| 国产精品自产拍在线观看55亚洲 | 欧美日韩一级在线毛片| 亚洲精品国产av成人精品| 免费黄频网站在线观看国产| 亚洲av日韩在线播放| 午夜久久久在线观看| 97精品久久久久久久久久精品| 亚洲视频免费观看视频| 国产精品秋霞免费鲁丝片| 9191精品国产免费久久| 国产精品久久久av美女十八| 麻豆av在线久日| 精品第一国产精品| 每晚都被弄得嗷嗷叫到高潮| 欧美日韩亚洲综合一区二区三区_| 18禁裸乳无遮挡动漫免费视频| 两性午夜刺激爽爽歪歪视频在线观看 | 亚洲黑人精品在线| 亚洲精品久久午夜乱码| 无遮挡黄片免费观看| 亚洲国产精品一区二区三区在线| 国产高清国产精品国产三级| 成年av动漫网址| 亚洲av电影在线进入| 一本色道久久久久久精品综合| 国产精品熟女久久久久浪| 久久精品aⅴ一区二区三区四区| 一级,二级,三级黄色视频| 中国国产av一级| 999精品在线视频| 成人亚洲精品一区在线观看| 国产精品免费大片| 少妇粗大呻吟视频| 免费观看人在逋| 熟女少妇亚洲综合色aaa.| 国产精品免费视频内射| 亚洲中文av在线| 99久久精品国产亚洲精品| 国产精品久久久久成人av| 国产精品香港三级国产av潘金莲| 欧美日韩一级在线毛片| 亚洲国产精品成人久久小说| 91精品三级在线观看| 99热国产这里只有精品6| 国产免费一区二区三区四区乱码| 青春草视频在线免费观看| 最新的欧美精品一区二区| 淫妇啪啪啪对白视频 | 中文欧美无线码| 日日夜夜操网爽| 极品少妇高潮喷水抽搐| 国产福利在线免费观看视频| av一本久久久久| 国产精品久久久久久精品古装| 久久久水蜜桃国产精品网| 国产精品偷伦视频观看了| 欧美精品一区二区大全| 午夜福利,免费看| 51午夜福利影视在线观看| 国产精品秋霞免费鲁丝片| 制服诱惑二区| 一级毛片电影观看| 久久午夜综合久久蜜桃| 久久精品成人免费网站| 久久精品久久久久久噜噜老黄| 50天的宝宝边吃奶边哭怎么回事| 亚洲精品国产av成人精品| 精品亚洲成a人片在线观看| 免费女性裸体啪啪无遮挡网站| e午夜精品久久久久久久| 欧美少妇被猛烈插入视频| 欧美精品亚洲一区二区| 国产在线观看jvid| 男女床上黄色一级片免费看| 一二三四社区在线视频社区8| 免费女性裸体啪啪无遮挡网站| 精品乱码久久久久久99久播| 秋霞在线观看毛片| 亚洲成人免费电影在线观看| 国产xxxxx性猛交| 日韩三级视频一区二区三区| 久久性视频一级片| 欧美激情高清一区二区三区| 国产精品二区激情视频| 一级片免费观看大全| 国产区一区二久久| 亚洲精品国产色婷婷电影| 亚洲成人手机| 性色av一级| 日韩欧美一区视频在线观看| 国产伦人伦偷精品视频| 亚洲伊人久久精品综合| 精品国产乱子伦一区二区三区 | 捣出白浆h1v1| 国产成人影院久久av| 人妻久久中文字幕网| 女人爽到高潮嗷嗷叫在线视频| 天天躁夜夜躁狠狠躁躁| 天堂中文最新版在线下载| 久久午夜综合久久蜜桃| 国产又爽黄色视频| 国产极品粉嫩免费观看在线| 亚洲熟女毛片儿| 成人亚洲精品一区在线观看| 欧美另类亚洲清纯唯美| 国产日韩欧美亚洲二区| 麻豆国产av国片精品| 国产在视频线精品| 黄片小视频在线播放| 亚洲av男天堂| 少妇粗大呻吟视频| 丝袜人妻中文字幕| 欧美国产精品va在线观看不卡| 1024香蕉在线观看| 一级片'在线观看视频| 超碰97精品在线观看| 精品国产乱码久久久久久男人| 亚洲av电影在线观看一区二区三区| 日韩欧美国产一区二区入口| 久久精品亚洲av国产电影网| 成年人午夜在线观看视频| 日本黄色日本黄色录像| 法律面前人人平等表现在哪些方面 | 久久精品国产亚洲av高清一级| 高潮久久久久久久久久久不卡| 乱人伦中国视频| 国产黄色免费在线视频| 老司机亚洲免费影院| 亚洲精品美女久久av网站| 欧美一级毛片孕妇| 欧美+亚洲+日韩+国产| 伊人亚洲综合成人网| 久久综合国产亚洲精品| 激情视频va一区二区三区| 女警被强在线播放| 国产黄频视频在线观看| 一级片'在线观看视频| 曰老女人黄片| 男女午夜视频在线观看| 国内毛片毛片毛片毛片毛片| 极品人妻少妇av视频| 在线观看舔阴道视频| 亚洲伊人色综图| 久久国产精品大桥未久av| 亚洲av男天堂| 无限看片的www在线观看| 巨乳人妻的诱惑在线观看| 满18在线观看网站| av网站在线播放免费| 色婷婷久久久亚洲欧美| 久久狼人影院| av片东京热男人的天堂| 999久久久精品免费观看国产| 亚洲av电影在线进入| 久久午夜综合久久蜜桃| 精品人妻在线不人妻| 一进一出抽搐动态| 国产精品久久久久久精品古装| 国产福利在线免费观看视频| 一本综合久久免费| 成人免费观看视频高清| 人人妻人人添人人爽欧美一区卜| 国产av一区二区精品久久| 精品一区二区三区四区五区乱码| 国产高清视频在线播放一区 | 亚洲va日本ⅴa欧美va伊人久久 | 亚洲 欧美一区二区三区| h视频一区二区三区| 99久久国产精品久久久| 午夜视频精品福利| 久久精品亚洲av国产电影网| 亚洲欧美日韩另类电影网站| 男女下面插进去视频免费观看| 黄色毛片三级朝国网站| 深夜精品福利| 国产高清videossex| 91成人精品电影| 美女主播在线视频| 婷婷成人精品国产| 青草久久国产| 精品少妇一区二区三区视频日本电影| 久久久久久久久久久久大奶| 亚洲va日本ⅴa欧美va伊人久久 | 丝袜美足系列| 欧美老熟妇乱子伦牲交| 国产精品 欧美亚洲| 嫩草影视91久久| 国产精品偷伦视频观看了| 成年人午夜在线观看视频| 老司机影院毛片| 黄片播放在线免费| 久久天堂一区二区三区四区| 午夜久久久在线观看| 精品亚洲成a人片在线观看| 欧美人与性动交α欧美精品济南到| 精品福利观看| 人成视频在线观看免费观看| av不卡在线播放| 国产三级黄色录像| 亚洲精品久久午夜乱码| 99re6热这里在线精品视频| 欧美另类一区| 日韩欧美一区视频在线观看| www.精华液| 国产日韩欧美亚洲二区| 亚洲伊人久久精品综合| 久久精品国产a三级三级三级| 制服诱惑二区| 国产精品久久久久久精品古装| 一级,二级,三级黄色视频| 老司机深夜福利视频在线观看 | 国产精品99久久99久久久不卡| 香蕉丝袜av| 亚洲中文日韩欧美视频| 欧美激情极品国产一区二区三区| xxxhd国产人妻xxx| 中文字幕人妻丝袜一区二区| 黄色a级毛片大全视频| 国产av一区二区精品久久| 欧美一级毛片孕妇| 巨乳人妻的诱惑在线观看| 性少妇av在线| 亚洲伊人色综图| 欧美日韩福利视频一区二区| 午夜精品国产一区二区电影| 别揉我奶头~嗯~啊~动态视频 | 日韩制服骚丝袜av| 久久人人97超碰香蕉20202| 后天国语完整版免费观看| 一级a爱视频在线免费观看| 亚洲av日韩在线播放| 一本综合久久免费| 狠狠婷婷综合久久久久久88av| 精品高清国产在线一区| 成人免费观看视频高清| 中文字幕高清在线视频| 成人免费观看视频高清| 中文字幕高清在线视频| 免费高清在线观看日韩| 99久久综合免费| 国产在线视频一区二区| 日日夜夜操网爽| 99re6热这里在线精品视频| 欧美大码av| 国产精品久久久人人做人人爽| 91麻豆av在线| 成年动漫av网址| 精品欧美一区二区三区在线| 欧美av亚洲av综合av国产av| 久久这里只有精品19| 91av网站免费观看| 久久久久久亚洲精品国产蜜桃av| 亚洲中文字幕日韩| 桃红色精品国产亚洲av| 久久久久久久大尺度免费视频| 久久精品成人免费网站| 日韩一区二区三区影片| 国产黄色免费在线视频| 一区二区三区激情视频| 欧美精品一区二区免费开放| 每晚都被弄得嗷嗷叫到高潮| 一进一出抽搐动态| 精品人妻1区二区| 亚洲国产av新网站| 午夜免费成人在线视频| 久久久久久亚洲精品国产蜜桃av| 欧美精品高潮呻吟av久久| 欧美黄色淫秽网站| 欧美精品高潮呻吟av久久| 十分钟在线观看高清视频www| 精品人妻1区二区| 菩萨蛮人人尽说江南好唐韦庄| 午夜精品国产一区二区电影| 国产一区二区在线观看av| 18禁观看日本| 亚洲av男天堂| 久久国产精品男人的天堂亚洲| 老司机午夜福利在线观看视频 | av线在线观看网站| 国产成人免费观看mmmm| 国产日韩欧美在线精品| www.精华液| 日韩欧美一区视频在线观看| 久久午夜综合久久蜜桃| 十八禁网站免费在线| 久久久久久久久免费视频了| 亚洲精品美女久久久久99蜜臀| 国产精品一区二区免费欧美 | 国产成+人综合+亚洲专区| 丝袜美腿诱惑在线| 欧美精品啪啪一区二区三区 | 99九九在线精品视频| videosex国产| 99久久综合免费| 久久国产精品大桥未久av| 黑人操中国人逼视频| 国产精品av久久久久免费| 夜夜骑夜夜射夜夜干| 国产有黄有色有爽视频| 热99国产精品久久久久久7| 天堂中文最新版在线下载| 女性生殖器流出的白浆| 精品卡一卡二卡四卡免费| 精品久久久久久久毛片微露脸 | 美女高潮到喷水免费观看| 91精品国产国语对白视频| 久久女婷五月综合色啪小说| av电影中文网址| 99国产综合亚洲精品| 欧美乱码精品一区二区三区| 久久99一区二区三区| 国产老妇伦熟女老妇高清| 伊人亚洲综合成人网| 一二三四在线观看免费中文在| 国产黄色免费在线视频| 亚洲国产欧美日韩在线播放| 操出白浆在线播放| 精品人妻1区二区| 国产成人欧美在线观看 | 精品人妻1区二区| 十分钟在线观看高清视频www| 午夜影院在线不卡| 国产片内射在线| 一本一本久久a久久精品综合妖精| 高潮久久久久久久久久久不卡| 亚洲精品粉嫩美女一区| 99国产精品99久久久久| 精品久久久久久久毛片微露脸 | 90打野战视频偷拍视频| 王馨瑶露胸无遮挡在线观看| 俄罗斯特黄特色一大片| 亚洲 欧美一区二区三区| 国产一区二区三区综合在线观看| 中文字幕高清在线视频| 久久精品国产亚洲av高清一级| 老熟妇乱子伦视频在线观看 | 老司机影院成人| 天堂中文最新版在线下载| 色婷婷久久久亚洲欧美| 欧美亚洲 丝袜 人妻 在线| 免费在线观看影片大全网站| 视频区图区小说| 在线观看人妻少妇| 国产激情久久老熟女| 1024香蕉在线观看| 国产免费视频播放在线视频| 精品国产乱码久久久久久男人| 色老头精品视频在线观看| 母亲3免费完整高清在线观看| 亚洲熟女毛片儿| 别揉我奶头~嗯~啊~动态视频 | av一本久久久久| 中文字幕人妻丝袜一区二区| 黑人操中国人逼视频| 亚洲七黄色美女视频| 午夜激情av网站| 亚洲人成电影观看| 欧美+亚洲+日韩+国产| 国产成人欧美在线观看 | 亚洲第一av免费看| 两人在一起打扑克的视频| 日韩欧美国产一区二区入口| 欧美日韩一级在线毛片| 波多野结衣av一区二区av| 午夜久久久在线观看| 午夜福利,免费看| 久久久久久久精品精品| 叶爱在线成人免费视频播放| 老熟妇乱子伦视频在线观看 | 午夜激情av网站| 国产精品成人在线| av天堂在线播放| 熟女少妇亚洲综合色aaa.| 午夜福利,免费看| 精品高清国产在线一区| 99国产精品一区二区蜜桃av | 国产人伦9x9x在线观看| 国产1区2区3区精品| 日韩精品免费视频一区二区三区| 欧美日韩一级在线毛片| 侵犯人妻中文字幕一二三四区| 叶爱在线成人免费视频播放| 亚洲中文日韩欧美视频| 99精品欧美一区二区三区四区| 午夜久久久在线观看| 国产精品久久久av美女十八| 女人精品久久久久毛片| 国产日韩欧美亚洲二区| 国产精品秋霞免费鲁丝片| 国产欧美日韩一区二区三区在线| 如日韩欧美国产精品一区二区三区| 国产亚洲av高清不卡| a级毛片在线看网站| 一边摸一边抽搐一进一出视频| 免费女性裸体啪啪无遮挡网站| av电影中文网址| 叶爱在线成人免费视频播放| 午夜91福利影院| 精品久久久久久久毛片微露脸 | 天堂俺去俺来也www色官网| 亚洲一区二区三区欧美精品| 曰老女人黄片| 国产成人精品久久二区二区91| 在线十欧美十亚洲十日本专区| 天堂中文最新版在线下载| 一本综合久久免费| 国产精品自产拍在线观看55亚洲 | 高清欧美精品videossex| 中国美女看黄片| 狠狠精品人妻久久久久久综合| 亚洲国产欧美在线一区| 99国产精品免费福利视频| 黑人操中国人逼视频| 色精品久久人妻99蜜桃| 亚洲专区中文字幕在线| 老司机福利观看| 99国产精品免费福利视频| 男男h啪啪无遮挡| 亚洲av电影在线进入| 精品卡一卡二卡四卡免费| 欧美人与性动交α欧美软件| 美女高潮喷水抽搐中文字幕| 欧美日韩亚洲国产一区二区在线观看 | 久久精品熟女亚洲av麻豆精品| 99热网站在线观看| 精品亚洲成a人片在线观看| 日本vs欧美在线观看视频| 精品亚洲乱码少妇综合久久| 操出白浆在线播放| 女人被躁到高潮嗷嗷叫费观| 中文欧美无线码| 亚洲成人免费电影在线观看| 国产黄色免费在线视频| 亚洲欧美日韩另类电影网站| 又大又爽又粗| 午夜两性在线视频| 嫁个100分男人电影在线观看| 侵犯人妻中文字幕一二三四区| 免费看十八禁软件| 一边摸一边做爽爽视频免费| 亚洲精品日韩在线中文字幕| 亚洲欧美日韩另类电影网站| 色精品久久人妻99蜜桃| 久久久久久久国产电影| 国产亚洲午夜精品一区二区久久| 视频区欧美日本亚洲| 国产精品1区2区在线观看. | 丝袜美腿诱惑在线| 丰满饥渴人妻一区二区三| 成人国产av品久久久| 香蕉丝袜av| 性色av一级| 久久久久视频综合| 国产一区二区三区综合在线观看| 成年人午夜在线观看视频| av福利片在线| 国产av一区二区精品久久| 亚洲成人手机| 十八禁人妻一区二区| 国产日韩欧美亚洲二区| 国产精品一区二区免费欧美 | 妹子高潮喷水视频| 成年女人毛片免费观看观看9| 亚洲熟妇中文字幕五十中出| 国产精品国产高清国产av| 99精品久久久久人妻精品| 午夜a级毛片| 一区二区三区国产精品乱码| 国产精品 国内视频| 亚洲av成人不卡在线观看播放网| 亚洲天堂国产精品一区在线| 少妇裸体淫交视频免费看高清 | 国产精品久久视频播放| av中文乱码字幕在线| 最近最新中文字幕大全电影3| 香蕉丝袜av| 黄色 视频免费看| 精品久久久久久成人av| 国产亚洲欧美在线一区二区| 欧美 亚洲 国产 日韩一| 成年人黄色毛片网站| 啦啦啦免费观看视频1| 一级毛片精品| 久久久久国内视频| 无遮挡黄片免费观看| 中文字幕久久专区| 国产精品 国内视频| 日本五十路高清| 黄色a级毛片大全视频| 久久久久久久精品吃奶| 日本免费一区二区三区高清不卡| 亚洲第一电影网av| 听说在线观看完整版免费高清| 亚洲成人免费电影在线观看| 国产v大片淫在线免费观看| 久久精品影院6| 婷婷精品国产亚洲av| 日本撒尿小便嘘嘘汇集6| 黄片小视频在线播放| 成人高潮视频无遮挡免费网站| 日本一区二区免费在线视频| 国产精品一及| 成人高潮视频无遮挡免费网站| 国产麻豆成人av免费视频| 免费电影在线观看免费观看| 少妇熟女aⅴ在线视频| 狂野欧美白嫩少妇大欣赏| 免费电影在线观看免费观看| 成人高潮视频无遮挡免费网站| 18禁黄网站禁片午夜丰满| 国产91精品成人一区二区三区| 国产精品亚洲美女久久久| 国产真实乱freesex| 欧美午夜高清在线| 无限看片的www在线观看| 欧美日韩福利视频一区二区| 亚洲激情在线av| 亚洲最大成人中文| bbb黄色大片| 99热只有精品国产| 欧美日韩瑟瑟在线播放| 99久久国产精品久久久| 亚洲av美国av| 亚洲av五月六月丁香网| 欧美日韩福利视频一区二区| 宅男免费午夜| 欧美激情久久久久久爽电影| xxxwww97欧美| 长腿黑丝高跟| 亚洲精品一卡2卡三卡4卡5卡| 欧美3d第一页| 国产一区二区激情短视频| 日韩中文字幕欧美一区二区| 99热这里只有精品一区 | 丝袜人妻中文字幕| www日本黄色视频网|