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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

spark 架构_深入研究Spark内部和架构

發布時間:2023/11/29 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spark 架构_深入研究Spark内部和架构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

spark 架構

by Jayvardhan Reddy

通過杰伊瓦爾丹·雷迪(Jayvardhan Reddy)

深入研究Spark內部和架構 (Deep-dive into Spark internals and architecture)

Apache Spark is an open-source distributed general-purpose cluster-computing framework. A spark application is a JVM process that’s running a user code using the spark as a 3rd party library.

Apache Spark是一個開源的分布式通用集群計算框架。 Spark應用程序是一個JVM進程,正在使用Spark作為第三方庫來運行用戶代碼。

As part of this blog, I will be showing the way Spark works on Yarn architecture with an example and the various underlying background processes that are involved such as:

作為此博客的一部分,我將通過示例和涉及的各種基礎后臺過程來演示Spark在Yarn體系結構上的工作方式,例如:

  • Spark Context

    火花上下文
  • Yarn Resource Manager, Application Master & launching of executors (containers).

    紗線資源經理,應用程序主管和執行程序(容器)的啟動。
  • Setting up environment variables, job resources.

    設置環境變量,作業資源。
  • CoarseGrainedExecutorBackend & Netty-based RPC.

    CoarseGrainedExecutor后端和基于Netty的RPC。
  • SparkListeners.

    SparkListeners。
  • Execution of a job (Logical plan, Physical plan).

    執行工作(邏輯計劃,物理計劃)。
  • Spark-WebUI.

    Spark-WebUI。

火花上下文 (Spark Context)

Spark context is the first level of entry point and the heart of any spark application. Spark-shell is nothing but a Scala-based REPL with spark binaries which will create an object sc called spark context.

Spark上下文是入口點的第一級,是任何Spark應用程序的核心。 Spark-shell只是一個基于Scala的具有火花二進制文件的REPL,它將創建一個稱為火花上下文的對象sc。

We can launch the spark shell as shown below:

我們可以如下所示啟動spark shell:

spark-shell --master yarn \ --conf spark.ui.port=12345 \ --num-executors 3 \ --executor-cores 2 \ --executor-memory 500M

As part of the spark-shell, we have mentioned the num executors. They indicate the number of worker nodes to be used and the number of cores for each of these worker nodes to execute tasks in parallel.

作為“火花殼”的一部分,我們提到了num執行程序。 它們指示要使用的工作程序節點的數量以及這些工作程序節點中的每個并行執行任務的內核的數量。

Or you can launch spark shell using the default configuration.

或者,您可以使用默認配置啟動Spark Shell。

spark-shell --master yarn

The configurations are present as part of spark-env.sh

該配置作為spark-env.sh的一部分存在

Our Driver program is executed on the Gateway node which is nothing but a spark-shell. It will create a spark context and launch an application.

我們的驅動程序在網關節點上執行,不過這只是一個火花。 它將創建一個火花上下文并啟動一個應用程序。

The spark context object can be accessed using sc.

可以使用sc訪問spark上下文對象

After the Spark context is created it waits for the resources. Once the resources are available, Spark context sets up internal services and establishes a connection to a Spark execution environment.

創建Spark上下文后,它將等待資源。 一旦資源可用,Spark上下文將建立內部服務并建立與Spark執行環境的連接。

紗線資源經理,應用程序主管和執行程序(容器)的啟動。 (Yarn Resource Manager, Application Master & launching of executors (containers).)

Once the Spark context is created it will check with the Cluster Manager and launch the Application Master i.e, launches a container and registers signal handlers.

創建Spark上下文后,它將與集群管理器進行檢查并啟動Application Master,即啟動容器并注冊信號處理程序

Once the Application Master is started it establishes a connection with the Driver.

一旦啟動應用程序主控器,它將與驅動程序建立連接。

Next, the ApplicationMasterEndPoint triggers a proxy application to connect to the resource manager.

接下來,ApplicationMasterEndPoint觸發代理應用程序以連接到資源管理器。

Now, the Yarn Container will perform the below operations as shown in the diagram.

現在,Yarn容器將執行以下操作,如圖所示。

ii) YarnRMClient will register with the Application Master.

ii)YarnRMClient將向Application Master注冊。

iii) YarnAllocator: Will request 3 executor containers, each with 2 cores and 884 MB memory including 384 MB overhead

iii)YarnAllocator:將請求3個執行器容器,每個執行器容器具有2個內核和884 MB內存,包括384 MB的開銷

iv) AM starts the Reporter Thread

iv)AM啟動Reporter線程

Now the Yarn Allocator receives tokens from Driver to launch the Executor nodes and start the containers.

現在,Yarn分配器從Driver接收令牌,以啟動Executor節點并啟動容器。

設置環境變量,作業資源和啟動容器。 (Setting up environment variables, job resources & launching containers.)

Every time a container is launched it does the following 3 things in each of these.

每次啟動容器時,它都會分別執行以下三項操作。

  • Setting up env variables

    設置環境變量

Spark Runtime Environment (SparkEnv) is the runtime environment with Spark’s services that are used to interact with each other in order to establish a distributed computing platform for a Spark application.

Spark運行時環境(SparkEnv)是帶有Spark服務的運行時環境,這些服務相互交互以為Spark應用程序建立分布式計算平臺。

  • Setting up job resources

    設置工作資源
  • Launching container

    發射容器

YARN executor launch context assigns each executor with an executor id to identify the corresponding executor (via Spark WebUI) and starts a CoarseGrainedExecutorBackend.

YARN執行程序啟動上下文為每個執行程序分配一個執行程序ID,以標識相應的執行程序(通過Spark WebUI),并啟動CoarseGrainedExecutorBackend。

CoarseGrainedExecutor后端和基于Netty的RPC。 (CoarseGrainedExecutorBackend & Netty-based RPC.)

After obtaining resources from Resource Manager, we will see the executor starting up

從資源管理器獲取資源后,我們將看到執行程序正在啟動

CoarseGrainedExecutorBackend is an ExecutorBackend that controls the lifecycle of a single executor. It sends the executor’s status to the driver.

CoarseGrainedExecutorBackend是一個ExecutorBackend,用于控制單個執行程序的生命周期。 它將執行者的狀態發送給驅動程序。

When ExecutorRunnable is started, CoarseGrainedExecutorBackend registers the Executor RPC endpoint and signal handlers to communicate with the driver (i.e. with CoarseGrainedScheduler RPC endpoint) and to inform that it is ready to launch tasks.

啟動ExecutorRunnable時,CoarseGrainedExecutorBackend將注冊Executor RPC端點和信號處理程序以與驅動程序進行通信(即與CoarseGrainedScheduler RPC端點)進行通信,并通知其已準備好啟動任務。

Netty-based RPC - It is used to communicate between worker nodes, spark context, executors.

基于Netty的RPC-用于在工作節點,Spark上下文,執行程序之間進行通信。

NettyRPCEndPoint is used to track the result status of the worker node.

NettyRPCEndPoint用于跟蹤工作程序節點的結果狀態。

RpcEndpointAddress is the logical address for an endpoint registered to an RPC Environment, with RpcAddress and name.

RpcEndpointAddress是使用RpcAddress和名稱注冊到RPC環境的端點的邏輯地址。

It is in the format as shown below:

其格式如下所示:

This is the first moment when CoarseGrainedExecutorBackend initiates communication with the driver available at driverUrl through RpcEnv.

這是CoarseGrainedExecutorBackend通過RpcEnv啟動與driverUrl上可用的驅動程序通信的第一時間。

SparkListeners (SparkListeners)

SparkListener (Scheduler listener) is a class that listens to execution events from Spark’s DAGScheduler and logs all the event information of an application such as the executor, driver allocation details along with jobs, stages, and tasks and other environment properties changes.

SparkListener(調度程序偵聽器)是一個類,用于偵聽Spark的DAGScheduler中的執行事件,并記錄應用程序的所有事件信息,例如執行程序,驅動程序分配詳細信息以及作業,階段和任務以及其他環境屬性更改。

SparkContext starts the LiveListenerBus that resides inside the driver. It registers JobProgressListener with LiveListenerBus which collects all the data to show the statistics in spark UI.

SparkContext啟動駐留在驅動程序內部的LiveListenerBus。 它向LiveListenerBus注冊JobProgressListener,LiveListenerBus收集所有數據以在spark UI中顯示統計信息。

By default, only the listener for WebUI would be enabled but if we want to add any other listeners then we can use spark.extraListeners.

默認情況下,僅啟用WebUI的偵聽器,但如果要添加其他偵聽器,則可以使用spark.extraListeners。

Spark comes with two listeners that showcase most of the activities

Spark附帶了兩個聽眾,展示了大多數活動

i) StatsReportListener

i)StatsReportListener

ii) EventLoggingListener

ii)EventLoggingListener

EventLoggingListener: If you want to analyze further the performance of your applications beyond what is available as part of the Spark history server then you can process the event log data. Spark Event Log records info on processed jobs/stages/tasks. It can be enabled as shown below...

EventLoggingListener: 如果您想進一步分析應用程序的性能,而不是Spark歷史記錄服務器提供的性能,則可以處理事件日志數據。 Spark事件日志記錄有關已處理作業/階段/任務的信息。 可以如下所示啟用它...

The event log file can be read as shown below

可以如下所示讀取事件日志文件

  • The Spark driver logs into job workload/perf metrics in the spark.evenLog.dir directory as JSON files.

    Spark驅動程序以JSON文件身份登錄spark.evenLog.dir目錄中的作業工作量/性能指標。
  • There is one file per application, the file names contain the application id (therefore including a timestamp) application_1540458187951_38909.

    每個應用程序只有一個文件,文件名包含應用程序ID(因此包含時間戳)application_1540458187951_38909。

It shows the type of events and the number of entries for each.

它顯示事件的類型以及每個事件的條目數。

Now, let’s add StatsReportListener to the spark.extraListeners and check the status of the job.

現在,讓我們將StatsReportListener添加到spark.extraListeners 并檢查作業狀態。

Enable INFO logging level for org.apache.spark.scheduler.StatsReportListener logger to see Spark events.

為org.apache.spark.scheduler.StatsReportListener記錄器啟用INFO記錄級別以查看Spark事件。

To enable the listener, you register it to SparkContext. It can be done in two ways.

要啟用偵聽器,請將其注冊到SparkContext。 它可以通過兩種方式完成。

i) Using SparkContext.addSparkListener(listener: SparkListener) method inside your Spark application.

i)在Spark應用程序中使用SparkContext.addSparkListener(listener:SparkListener)方法。

Click on the link to implement custom listeners - CustomListener

單擊鏈接以實現自定義偵聽器-CustomListener

ii) Using the conf command-line option

ii)使用conf命令行選項

Let’s read a sample file and perform a count operation to see the StatsReportListener.

讓我們閱讀一個示例文件并執行計數操作以查看StatsReportListener。

執行工作(邏輯計劃,物理計劃)。 (Execution of a job (Logical plan, Physical plan).)

In Spark, RDD (resilient distributed dataset) is the first level of the abstraction layer. It is a collection of elements partitioned across the nodes of the cluster that can be operated on in parallel. RDDs can be created in 2 ways.

在Spark中,RDD( 彈性分布式數據集 )是抽象層的第一層。 它是跨集群節點劃分的元素的集合,可以并行操作。 可以通過兩種方式創建RDD。

i) Parallelizing an existing collection in your driver program

在你的驅動程序我)p arallelizing現有的集合

ii) Referencing a dataset in an external storage system

ii)引用外部存儲系統中的數據集

RDDs are created either by using a file in the Hadoop file system, or an existing Scala collection in the driver program, and transforming it.

通過使用Hadoop文件系統中的文件或驅動程序中現有的Scala集合創建RDD,然后對其進行轉換。

Let’s take a sample snippet as shown below

讓我們來看一個示例片段,如下所示

The execution of the above snippet takes place in 2 phases.

以上代碼段的執行分為兩個階段。

6.1 Logical Plan: In this phase, an RDD is created using a set of transformations, It keeps track of those transformations in the driver program by building a computing chain (a series of RDD)as a Graph of transformations to produce one RDD called a Lineage Graph.

6.1邏輯計劃:在此階段,使用一組轉換來創建RDD,它通過構建計算鏈(一系列RDD)作為轉換圖來生成驅動程序中的那些轉換,以產生一個稱為ADD的RDD。 沿襲圖

Transformations can further be divided into 2 types

轉換可以進一步分為2種類型

  • Narrow transformation: A pipeline of operations that can be executed as one stage and does not require the data to be shuffled across the partitions — for example, Map, filter, etc..

    窄轉換:可以作為一個階段執行的操作流水線,不需要在分區之間對數據進行混洗(例如Map,filter等)。

Now the data will be read into the driver using the broadcast variable.

現在,將使用廣播變量將數據讀取到驅動程序中。

  • Wide transformation: Here each operation requires the data to be shuffled, henceforth for each wide transformation a new stage will be created — for example, reduceByKey, etc..

    廣泛轉換:這里的每個操作都需要對數據進行混洗,從此以后,對于每次廣泛轉換,都會創建一個新階段-例如reduceByKey等。

We can view the lineage graph by using toDebugString

我們可以使用toDebugString查看沿襲圖

6.2 Physical Plan: In this phase, once we trigger an action on the RDD, The DAG Scheduler looks at RDD lineage and comes up with the best execution plan with stages and tasks together with TaskSchedulerImpl and execute the job into a set of tasks parallelly.

6.2物理計劃: 在此階段,一旦我們在RDD上觸發了動作, DAG Scheduler就會查看RDD沿襲,并提出最佳的執行計劃以及階段和任務,以及TaskSchedulerImpl,并并行執行一組任務。

Once we perform an action operation, the SparkContext triggers a job and registers the RDD until the first stage (i.e, before any wide transformations) as part of the DAGScheduler.

一旦我們執行動作操作,SparkContext將觸發作業并將RDD注冊到DAGScheduler的第一階段(即,在進行任何寬轉換之前)。

Now before moving onto the next stage (Wide transformations), it will check if there are any partition data that is to be shuffled and if it has any missing parent operation results on which it depends, if any such stage is missing then it re-executes that part of the operation by making use of the DAG( Directed Acyclic Graph) which makes it Fault tolerant.

現在,在進入下一個階段(寬轉換)之前,它將檢查是否有任何將要改組的分區數據,以及是否有依賴于它的任何父操作結果丟失,如果缺少任何這樣的階段,它將重新進行-通過使用DAG(有向無環圖)來執行該部分操作,從而使其具有容錯能力。

In the case of missing tasks, it assigns tasks to executors.

在缺少任務的情況下,它將任務分配給執行者。

Each task is assigned to CoarseGrainedExecutorBackend of the executor.

每個任務都分配給執行者的CoarseGrainedExecutorBackend。

It gets the block info from the Namenode.

它從Namenode獲取塊信息。

now, it performs the computation and returns the result.

現在,它執行計算并返回結果。

Next, the DAGScheduler looks for the newly runnable stages and triggers the next stage (reduceByKey) operation.

接下來,DAGScheduler查找新可運行的階段并觸發下一階段(reduceByKey)操作。

The ShuffleBlockFetcherIterator gets the blocks to be shuffled.

ShuffleBlockFetcherIterator獲取要重排的塊。

Now the reduce operation is divided into 2 tasks and executed.

現在,reduce操作分為兩個任務并執行。

On completion of each task, the executor returns the result back to the driver.

完成每個任務后,執行程序將結果返回給驅動程序。

Once the Job is finished the result is displayed.

作業完成后,將顯示結果。

Spark-WebUI (Spark-WebUI)

Spark-UI helps in understanding the code execution flow and the time taken to complete a particular job. The visualization helps in finding out any underlying problems that take place during the execution and optimizing the spark application further.

Spark-UI有助于理解代碼執行流程以及完成特定作業所花費的時間。 可視化有助于發現執行過程中發生的任何潛在問題,并進一步優化spark應用程序。

We will see the Spark-UI visualization as part of the previous step 6.

我們將在前面的步驟6中看到Spark-UI可視化

Once the job is completed you can see the job details such as the number of stages, the number of tasks that were scheduled during the job execution of a Job.

作業完成后,您可以看到作業詳細信息,例如階段數,在作業執行過程中計劃的任務數。

On clicking the completed jobs we can view the DAG visualization i.e, the different wide and narrow transformations as part of it.

單擊完成的作業后,我們可以查看DAG可視化,即其中不同的寬窄轉換。

You can see the execution time taken by each stage.

您可以看到每個階段花費的執行時間。

On clicking on a Particular stage as part of the job, it will show the complete details as to where the data blocks are residing, data size, the executor used, memory utilized and the time taken to complete a particular task. It also shows the number of shuffles that take place.

單擊特定階段作為工作的一部分時,它將顯示有關數據塊的位置,數據大小,使用的執行程序,已利用的內存以及完成特定任務所花費的時間的完整詳細信息。 它還顯示發生的洗牌數量。

Further, we can click on the Executors tab to view the Executor and driver used.

此外,我們可以單擊Executors選項卡以查看所使用的Executor和驅動程序。

Now that we have seen how Spark works internally, you can determine the flow of execution by making use of Spark UI, logs and tweaking the Spark EventListeners to determine optimal solution on the submission of a Spark job.

現在我們已經了解了Spark在內部的工作方式,您可以通過使用Spark UI,日志和調整Spark EventListeners來確定執行流程,從而確定提交Spark作業時的最佳解決方案。

Note: The commands that were executed related to this post are added as part of my GIT account.

注意:與該帖子相關的已執行命令被添加為我的GIT帳戶的一部分。

Similarly, you can also read more here:

同樣,您也可以在此處內容:

  • Sqoop Architecture in Depth with code.

    深入的Sqoop體系結構與代碼。

  • HDFS Architecture in Depth with code.

    具有代碼 深度的HDFS體系結構 。

  • Hive Architecture in Depth with code.

    具有代碼 深度的Hive架構 。

If you would like too, you can connect with me on LinkedIn — Jayvardhan Reddy.

如果您愿意,也可以通過LinkedIn- Jayvardhan Reddy與我聯系 。

If you enjoyed reading it, you can click the clap and let others know about it. If you would like me to add anything else, please feel free to leave a response ?

如果您喜歡閱讀它,可以單擊拍手并告知其他人。 如果您希望我添加其他任何內容,請隨時回復。

翻譯自: https://www.freecodecamp.org/news/deep-dive-into-spark-internals-and-architecture-f6e32045393b/

spark 架構

總結

以上是生活随笔為你收集整理的spark 架构_深入研究Spark内部和架构的全部內容,希望文章能夠幫你解決所遇到的問題。

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

欧美精品少妇xxxxx喷水 | 国产精品久久久视频 | 一区二区三区日韩精品 | 丁香花五月 | 婷婷色资源 | 国产精品久久久久久超碰 | 欧美激情片在线观看 | 一区二区日韩av | 久久人人添人人爽添人人88v | 久久国产精品区 | www.久久免费视频 | 狠狠网 | 天天干天天摸 | 一级一级一片免费 | 天天插天天干天天操 | 亚洲综合视频在线 | 国产美女久久 | 欧美性生活大片 | 国产精品手机在线 | 日韩精品中文字幕在线不卡尤物 | 91丨九色丨91啦蝌蚪老版 | 在线观看视频一区二区三区 | 国产一区欧美日韩 | 高清av不卡 | 乱男乱女www7788 | 精品中文字幕在线播放 | 久操视频在线免费看 | 成人黄色电影在线观看 | 国产精品国产三级国产不产一地 | 久久久久福利视频 | 欧美日韩高清在线一区 | av导航福利| 91热这里只有精品 | 91中文字幕在线观看 | 天天操天天爱天天干 | 免费三级骚| www.色午夜.com | 国产经典三级 | 亚洲国产日韩一区 | www.色午夜.com | 91在线播| 日韩久久精品一区二区 | 三级a毛片 | 免费在线观看日韩欧美 | 伊人亚洲综合 | 国产精品久久久久久久免费大片 | 手机av资源 | 亚洲国产欧美在线看片xxoo | 久久亚洲精品国产亚洲老地址 | 久久福利电影 | 亚洲精品久久久久久久蜜桃 | 91尤物国产尤物福利在线播放 | 成人av电影在线观看 | 成年人在线观看 | 九九久久久久久久久激情 | 亚洲一区精品人人爽人人躁 | 国产综合久久 | 国产黄色精品在线 | 免费看一级黄色大全 | 中文字幕在线免费97 | 久久精品欧美视频 | 一区二区 精品 | 成人在线观看资源 | 国产精成人品免费观看 | 久久久久免费看 | 国产尤物在线 | 日韩一区二区三区在线观看 | 玖玖在线观看视频 | 日韩国产在线观看 | 久久久久久久久久免费视频 | 国产美女主播精品一区二区三区 | 色干干 | 又粗又长又大又爽又黄少妇毛片 | www四虎影院| 激情五月婷婷综合网 | 黄色一级在线视频 | 好看的国产精品视频 | 激情自拍av | 国产视频在线观看一区 | 亚洲国产精品推荐 | 在线视频日韩欧美 | 在线a人片免费观看视频 | 色欧美成人精品a∨在线观看 | 亚洲成人影音 | 国产91在线 | 美洲 | 狠狠干夜夜爱 | 久久免费视频一区 | 国内视频一区二区 | 99精品视频一区二区 | 国内少妇自拍视频一区 | 国产成人亚洲在线观看 | 国产成人免费在线 | 日韩精品一区二区三区高清免费 | 亚洲欧洲精品一区二区精品久久久 | 日韩欧美网站 | 天天草天天干天天射 | 久久久精品国产一区二区三区 | 天天射综合网站 | 成人免费大片黄在线播放 | 特级黄色一级 | 日韩av中文字幕在线免费观看 | 亚洲午夜小视频 | 美女视频黄,久久 | 亚洲精品视频在 | 久久er99热精品一区二区三区 | 天天干天天射天天插 | 亚洲成人资源在线观看 | 成人中心免费视频 | 小草av在线播放 | 天天综合导航 | 精品国产aⅴ一区二区三区 在线直播av | 九九九视频精品 | 成x99人av在线www | 国产午夜在线观看 | 国产精品成人国产乱 | 91看成人| 日韩91精品 | 一区二区中文字幕在线播放 | 久草在线观 | 久久男人视频 | 日韩视频一区二区三区 | 亚洲免费精品一区二区 | 亚洲精品成人免费 | 黄p网站在线观看 | 91看片网址| 久久久久 | 亚洲日本va午夜在线影院 | 色欲综合视频天天天 | 国产亚洲精品久久19p | 国产视频久久久 | 成人免费视频观看 | 精品亚洲va在线va天堂资源站 | 麻豆一区二区三区视频 | 麻豆视频免费版 | 国产日韩欧美在线看 | 99久久精品久久亚洲精品 | 91中文字幕在线视频 | 久久久久久久国产精品视频 | av免费网页| 久久99亚洲网美利坚合众国 | 日韩三级一区 | 一区二区精品在线 | 在线观看自拍 | 天天操天天射天天爽 | 欧美 国产 视频 | 青青草久草在线 | 欧美日韩在线播放一区 | 天堂av中文字幕 | 久久精品视频在线观看免费 | 亚洲国产99 | 天天曰天天射 | 日躁夜躁狠狠躁2001 | 国产精品区二区三区日本 | 91成人免费看 | 五月婷婷一区 | 国产一级片播放 | 亚洲欧洲一级 | 国产乱码精品一区二区蜜臀 | 97视频网站 | 最新免费中文字幕 | 激情九九| 中文字幕区 | 欧美综合色在线图区 | 欧美性色综合网站 | 伊人五月综合 | 欧美成天堂网地址 | 久久电影中文字幕视频 | 97操碰| 最近最新中文字幕视频 | 99视频精品| 欧美亚洲精品在线观看 | 久久99精品国产 | 久久成人在线视频 | 国产精品18久久久久久久网站 | 一色屋精品视频在线观看 | 国产精品久久久久毛片大屁完整版 | 在线观看免费av片 | 在线亚洲高清视频 | 国产a高清 | 91精品在线看 | 免费看污污视频的网站 | 成人中文字幕av | 久一久久 | 一二三区高清 | 成年人精品 | 偷拍区另类综合在线 | 美女久久久久久 | 97视频免费看 | 超碰97国产精品人人cao | 亚洲性xxxx| 91精品视频免费在线观看 | 天天射天天艹 | 国产精品麻 | 97超碰站| 激情亚洲综合在线 | 国产精品99在线播放 | 亚洲日本中文字幕在线观看 | 国产精品美女久久久久久2018 | av在线com| 久久久噜噜噜久久久 | 精品天堂av | 国产成年人av | 欧美日韩a视频 | 91粉色视频| 国产手机免费视频 | 天天射射天天 | 91人人爽人人爽人人精88v | 亚洲少妇xxxx | 国产亚洲精品bv在线观看 | 成人久久国产 | 精品自拍sae8—视频 | 精品99久久| 91视频在线看 | 日韩精品免费一线在线观看 | 黄色av电影一级片 | 久久公开免费视频 | 在线一二三四区 | 精品专区 | 日韩动漫免费观看高清完整版在线观看 | 不卡电影一区二区三区 | 国产拍在线 | 久久国产网 | 欧美日韩高清一区二区三区 | 国产日韩欧美自拍 | 黄色网址在线播放 | 欧美中文字幕久久 | 一区二区网 | 亚洲免费精彩视频 | 日韩综合色 | 国产午夜精品一区 | av免费网站| 国产又粗又猛又色又黄视频 | 在线视频一区观看 | 99成人在线视频 | 五月精品| 青青视频一区 | 91av大全 | 国产在线视频不卡 | 99精品乱码国产在线观看 | 亚洲天堂网在线观看视频 | 日韩区在线观看 | 亚洲激情综合 | 日日干精品 | 天天在线操| 91在线日韩 | 国产色视频网站2 | 91自拍91 | 成人高清在线 | av在线进入 | 久久精品久久久久久久 | 成人欧美一区二区三区黑人麻豆 | 青春草免费视频 | 欧美一级大片在线观看 | 亚洲国产美女久久久久 | 久草视频免费播放 | 欧美日韩免费一区 | 国内精品久久久久影院优 | 免费在线观看一区 | 99 色| 97精品一区二区三区 | 国产尤物在线观看 | 亚洲激情 在线 | 国产精品久久久久久久久久白浆 | 激情影音先锋 | 亚洲专区视频在线观看 | 欧美日本中文字幕 | 狠狠色丁香婷综合久久 | 亚洲国产精品一区二区久久,亚洲午夜 | 天天干天天天天 | 精品xxx | 一区二区三区电影大全 | 国产精品一区久久久久 | 日韩电影在线视频 | 日韩免费av片 | 免费在线观看视频a | 亚洲影视九九影院在线观看 | 天天视频亚洲 | 国产精品久久久久永久免费 | 91人人人| 日韩夜夜爽 | 五月天激情婷婷 | 九色福利视频 | 国产原创中文在线 | 91精品福利在线 | 又黄又爽免费视频 | 黄色a级片在线观看 | 黄色a一级视频 | 99这里只有精品99 | 国产精品一区欧美 | 手机在线中文字幕 | 五月婷婷综| 色中文字幕在线观看 | 激情五月婷婷综合 | 国产精品美女网站 | 亚洲国产精品久久 | 国产91精品一区二区麻豆亚洲 | 天天躁日日躁狠狠 | 射久久| 色综合久久99 | 人人澡人人添人人爽一区二区 | 国产精品12| 中文字幕在线国产精品 | 国产高清在线不卡 | 97免费公开视频 | 97网| 伊人久在线| 在线视频 精品 | 国产又粗又猛又黄又爽的视频 | 中文字幕乱在线伦视频中文字幕乱码在线 | 免费在线观看不卡av | 中文字幕专区高清在线观看 | 欧美日韩国产网站 | 成人免费观看网址 | 日韩三级视频 | 福利一区视频 | 日本韩国在线不卡 | 国产精品免费久久 | 激情综合站 | 精品99在线视频 | 五月婷婷久久综合 | 十八岁以下禁止观看的1000个网站 | av大全在线免费观看 | 亚洲精品电影在线 | 欧美国产视频在线 | 六月激情丁香 | 在线观看蜜桃视频 | 成人免费观看网站 | 中文字幕在线观看视频一区 | 狠狠躁日日躁狂躁夜夜躁av | 黄色小说视频网站 | 狠狠狠色丁香婷婷综合久久88 | 中文字幕在线日 | 久久久综合精品 | 午夜精品区 | 天天干天天射天天插 | 亚洲在线成人精品 | 久草在线视频在线观看 | 中文字幕在线观看2018 | 国产亚洲欧美日韩高清 | 麻豆免费视频 | 成人h电影在线观看 | 激情综合五月天 | 在线观看中文 | 黄色特级片| 中文字幕一区二区三区四区久久 | 24小时日本在线www免费的 | 国产午夜精品久久久久久久久久 | 国产精品日韩在线播放 | 国产91aaa| 成人午夜电影在线 | 国产精品美女久久久久久久 | 超碰99人人 | 欧美午夜精品久久久久 | 亚洲国产日本 | 在线视频国产区 | 日韩精品短视频 | 在线探花| 成片免费观看视频 | 国产r级在线观看 | 国产精品h在线观看 | 91视频国产免费 | 韩国一区二区三区视频 | 久久久久国产精品免费免费搜索 | 最近中文国产在线视频 | 国产精品美女久久久久久 | 中文字幕日韩在线播放 | 国产免费成人 | 免费日韩电影 | 免费能看的av | 日本福利视频在线 | 成人国产精品久久久春色 | 成人a在线观看高清电影 | 天天摸日日摸人人看 | 国产精品精品视频 | 五月婷在线观看 | 久久久99国产精品免费 | 国产精品不卡在线 | 精品中文字幕在线播放 | 欧美极品裸体 | 操操操干干干 | 69国产精品视频 | 亚洲黑丝少妇 | 免费在线观看成人 | 丁香婷婷久久久综合精品国产 | 激情偷乱人伦小说视频在线观看 | 五月婷婷在线观看视频 | 久久草 | 国内视频1区 | 国产精品亚洲人在线观看 | 国产精品自产拍在线观看中文 | 中文字幕一区二区三区四区久久 | www久草| 久久中文字幕导航 | 最近中文字幕在线播放 | 久久综合影视 | 999久久a精品合区久久久 | 日韩亚洲在线 | 一级特黄aaa大片在线观看 | 美女视频久久黄 | 在线亚洲人成电影网站色www | 丁香九月婷婷综合 | 亚洲丝袜一区二区 | 久久天天躁狠狠躁亚洲综合公司 | 丁香六月久久综合狠狠色 | 成人在线观看免费 | 99热手机在线 | 天天操天天操天天操天天操天天操 | a色视频 | 成人亚洲欧美 | 在线免费观看黄色av | 香蕉影视在线观看 | 久久久亚洲电影 | 在线观看国产福利片 | 久久成人国产精品一区二区 | 一二三精品视频 | 高清av中文在线字幕观看1 | 一区二区三区在线免费观看 | 成人免费视频网站在线观看 | 在线观看免费视频你懂的 | 麻豆传媒电影在线观看 | 黄色a大片| 亚洲闷骚少妇在线观看网站 | a级国产乱理伦片在线观看 亚洲3级 | 国产激情久久久 | 丁香六月av| 成人欧美一区二区三区黑人麻豆 | 亚洲草视频 | 96香蕉视频 | 天天五月天色 | 一区二区三区动漫 | 91精品视频一区 | av字幕在线 | 亚洲欧美视频网站 | 久久国产精品免费一区二区三区 | 亚洲精品色视频 | 人人要人人澡人人爽人人dvd | 久久久久成人精品免费播放动漫 | 夜夜骑日日操 | 色网av| 国产精品美女免费看 | 国产婷婷久久 | 欧美极品久久 | 免费网站在线观看成人 | 三级黄色在线观看 | 精品国产视频一区 | 欧美专区日韩专区 | 四虎www| 欧美日韩在线精品 | 色午夜影院| 国产一区二区三区午夜 | 狠狠色综合欧美激情 | 亚洲人成网站精品片在线观看 | 久产久精国产品 | 99免费看片 | 91大神精品视频在线观看 | 中文字幕在线播放日韩 | 免费韩国av | 91试看| 久久xx视频 | 伊人久久一区 | 国产精品国产三级国产不产一地 | 在线观看国产麻豆 | 中文在线www | 精品一区二区三区四区在线 | 亚洲欧洲一区二区在线观看 | h文在线观看免费 | 日韩在线一区二区免费 | 欧美动漫一区二区三区 | 日韩69视频 | 99精品偷拍视频一区二区三区 | 91精品国产自产在线观看 | 粉嫩av一区二区三区入口 | 91黄色视屏| 99国产情侣在线播放 | 欧美精品久久久久久久亚洲调教 | 日韩免费网址 | 久久久免费观看 | www.色午夜,com| 天天干中文字幕 | 日韩精品一区二区三区水蜜桃 | 在线观看一区二区精品 | 亚洲欧美日本国产 | 久久66热这里只有精品 | 久久精品一二三区白丝高潮 | 天天操夜夜操 | 91在线观看欧美日韩 | 三级av免费 | 日韩黄色一级电影 | 五月天丁香视频 | 丰满少妇一级 | 91精品视频一区 | 黄色a大片 | 国产精品一区二区视频 | 日韩电影中文字幕 | 国产成人精品一区二区 | 五月激情综合婷婷 | 九色在线视频 | 最近中文字幕视频完整版 | 婷婷色在线资源 | 四虎国产精品永久在线国在线 | 天天干天天做天天操 | 日本精品中文字幕在线观看 | 欧美日韩后 | 日日干夜夜操视频 | 中文在线www| 久久久国产精品电影 | 午夜精品一区二区三区免费视频 | 正在播放 久久 | 精品国自产在线观看 | 亚洲播播| 2018亚洲男人天堂 | 永久免费av在线播放 | 国产系列在线观看 | 免费在线观看av网址 | 亚洲免费国产视频 | 69国产精品视频免费观看 | 国产精品美女久久久久久网站 | 久久久国产精华液 | 99久久这里有精品 | 国产在线精品区 | 久久99九九99精品 | 去干成人网 | 日日干视频 | 欧美韩国日本在线观看 | 国产九九九视频 | 麻豆精品视频在线观看免费 | 国产成在线观看免费视频 | 月丁香婷婷 | 欧美国产精品久久久久久免费 | 久久黄网站 | 日韩高清在线一区 | 性色av免费在线观看 | 伊人首页 | 婷婷丁香在线视频 | 欧美激情xxxx | 黄色网中文字幕 | 96亚洲精品久久久蜜桃 | 免费视频成人 | 丁香婷婷综合网 | 正在播放一区二区 | 国产精品淫 | 天堂视频一区 | 成年人视频在线免费观看 | 国产精品一区二区av日韩在线 | 激情五月在线 | 成人免费看片98欧美 | 国产中文字幕在线观看 | 91免费观看视频网站 | 欧美极度另类 | 日本三级国产 | 久久成人在线视频 | 91久久偷偷做嫩草影院 | 欧美一级免费黄色片 | 日韩精品视频免费看 | 久久亚洲私人国产精品va | 99国产精品久久久久久久久久 | 亚洲在线色| 97精品国产97久久久久久免费 | 免费在线观看成年人视频 | 在线视频日韩 | 天天射天天干天天插 | 精品九九九九 | 国产精品1区 | 亚洲精品视频在线看 | 日韩精品一区二区三区中文字幕 | 久久精品久久精品 | 久久五月激情 | 成人免费影院 | 激情网综合 | www.av小说| 99精品国产免费久久 | 激情视频综合网 | 中文字幕 国产视频 | 午夜婷婷在线观看 | 波多野结衣电影一区二区 | 欧美日韩国产精品一区二区 | 国产在线中文字幕 | 久久久午夜视频 | 91九色成人蝌蚪首页 | 亚洲乱码一区 | 亚洲天堂免费视频 | 二区视频在线 | 欧美三级在线播放 | 午夜精品一区二区国产 | 色中色综合| 五月婷婷一区二区三区 | 91福利试看| 视频在线观看入口黄最新永久免费国产 | 黄色在线成人 | 天天射综合网站 | 91女子私密保健养生少妇 | 精品国产99国产精品 | 国产理伦在线 | 天天操天天色天天射 | 九九九九色 | 激情五月婷婷激情 | 久久综合婷婷国产二区高清 | 亚洲免费av观看 | 玖玖在线看 | 日本中文字幕网 | 国产 日韩 在线 亚洲 字幕 中文 | 久久国产精品99久久人人澡 | 天堂在线免费视频 | 182午夜在线观看 | 九九热精品在线 | 欧美日韩高清一区二区 国产亚洲免费看 | 亚洲永久精品在线观看 | 中文字幕亚洲情99在线 | 成人国产精品免费观看 | 日韩天天操 | 夜夜夜草 | 一级黄色片毛片 | 欧美在线日韩在线 | 亚洲黄色免费观看 | 国产精品手机视频 | 国产精品免费在线播放 | 91在线看| 中文字幕亚洲国产 | 午夜精品视频一区 | 狠狠的干 | 久热免费在线观看 | 久久99久久99精品免观看软件 | 91精品国产99久久久久久红楼 | 国产精品2019 | www.91av在线| 亚洲成人免费 | 免费一区在线 | 91久久国产自产拍夜夜嗨 | 一区二区三区四区精品 | 在线免费观看不卡av | 国产你懂的在线 | 在线 视频 一区二区 | 日韩av看片 | 深夜视频久久 | 天堂av在线免费观看 | 久久不卡日韩美女 | 99在线观看| 国产成人精品综合久久久 | 久久精品a | 99精品黄色片免费大全 | 91亚洲精品视频 | 久久国产美女视频 | 欧美精品v国产精品v日韩精品 | 国产中年夫妇高潮精品视频 | 美女在线观看av | 麻豆影音先锋 | 在线观看aa| 精品久久美女 | 97精品国产97久久久久久粉红 | 99免费精品 | 日日夜夜操操操操 | 69视频网站 | 久久久91精品国产一区二区三区 | 亚洲天堂网在线播放 | 久久久999精品视频 国产美女免费观看 | 成年人在线免费看视频 | 天天操狠狠操网站 | 国产精品一区二区av麻豆 | www婷婷 | www夜夜 | 日韩精品最新在线观看 | 亚洲精品伦理在线 | 免费观看视频的网站 | 成人全视频免费观看在线看 | 91麻豆产精品久久久久久 | 久草视频免费 | 涩五月婷婷 | 亚洲人成人天堂h久久 | 久久久久免费观看 | 夜夜操天天干, | av在线免费在线观看 | 久久伦理 | 在线观看亚洲专区 | 欧美日韩国产色综合一二三四 | 久久国产精品第一页 | 国内精品久久久精品电影院 | 国产在线国产 | 日韩免费电影 | 久久99国产综合精品 | 97色在线观看免费视频 | 人操人| 91福利视频免费观看 | 黄色毛片视频 | 免费观看全黄做爰大片国产 | 久久久一本精品99久久精品66 | 激情丁香久久 | 欧洲精品久久久久毛片完整版 | 特级西西人体444是什么意思 | 一区二区精品在线 | 91精品久久久久久 | 99精品视频免费看 | 日本中文字幕电影在线免费观看 | 人人艹人人| 九月婷婷综合网 | 国产一二区视频 | 亚洲干视频在线观看 | 97视频网址 | 亚洲精品久久久久久久不卡四虎 | 97操操操 | 美女视频永久黄网站免费观看国产 | 日韩精品一区不卡 | 国产精品成人自产拍在线观看 | 天天爽天天爽 | 国产在线91在线电影 | 亚州精品视频 | 成人av电影在线播放 | 亚洲毛片久久 | 久久精品96| 国产成人在线观看免费 | 97夜夜澡人人爽人人免费 | 久久视频这里有精品 | 国产视频黄 | 亚洲专区视频在线观看 | 国产人成看黄久久久久久久久 | 日韩专区在线观看 | 日日夜夜精品免费视频 | 69精品久久| 黄色成人av | 国产黄色看片 | 日韩欧美一区二区三区在线观看 | 色九九在线 | 国产91大片 | 久久不射电影网 | 国产不卡精品视频 | 国产精品一区二区三区99 | 伊人色综合久久天天网 | 免费看国产视频 | 久久精品成人欧美大片古装 | 国产一区欧美日韩 | 久久精品波多野结衣 | 四虎成人精品在永久免费 | 精品99久久 | 黄色在线网站噜噜噜 | 日韩在线 一区二区 | 美女黄频在线观看 | 香蕉视频免费在线播放 | 午夜精品电影 | 国产成人av网站 | 欧美日韩国产色综合一二三四 | 三级黄在线 | 亚洲成人av在线电影 | 九九电影在线 | 亚洲成av人片在线观看香蕉 | 婷婷av网站| 日韩视频www| 日本精品视频在线播放 | 国产日韩欧美在线观看 | 国产亚州av | 国产精品刺激对白麻豆99 | 国产麻豆剧传媒免费观看 | 国产精品久久久久久久久久久久午夜片 | 天天做天天爱天天爽综合网 | 免费看一级特黄a大片 | 日韩av手机在线观看 | 日韩av资源站| 欧美一级裸体视频 | 欧美日韩免费观看一区二区三区 | 国内精品久久久久久久久久久 | 国产精品久久久久久久久软件 | 懂色av懂色av粉嫩av分享吧 | 婷婷在线视频观看 | 免费精品 | 九九热国产视频 | 久久在线免费 | 日本黄色片一区二区 | 日韩久久久久久久久久 | 天天做天天射 | 亚洲一区网 | 狠狠色综合网站久久久久久久 | 成人h在线播放 | 亚洲欧洲在线视频 | 69国产盗摄一区二区三区五区 | 一区二区三区福利 | 日韩一区二区三区在线观看 | 国产精品国产三级国产aⅴ9色 | 999视频网 | 成年人视频在线观看免费 | 91av蜜桃| 免费观看黄色12片一级视频 | 中文字幕.av.在线 | 欧美一级视频一区 | 婷婷免费视频 | 亚洲精品一区中文字幕乱码 | 日韩www在线 | 最新国产精品拍自在线播放 | 国产精品成人久久久 | 69xxxx欧美 | 色综合久久久久网 | 亚洲精品乱码久久久久v最新版 | 日韩高清三区 | av网站手机在线观看 | 精品电影一区二区 | 99精品久久久久久久久久综合 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 免费看片网址 | 精品国产乱子伦一区二区 | 久久有精品 | 欧洲视频一区 | 天天干天天操天天 | 人人爽人人爽人人爽 | 国产蜜臀av | 黄色的网站免费看 | 亚洲色图av | 日韩在线高清免费视频 | 在线观看的av| 天天射天天艹 | 国产一级视频在线 | 免费久久99精品国产婷婷六月 | 日韩av免费观看网站 | av超碰在线 | 精品久久一区二区三区 | 亚洲欧美怡红院 | 国产二区免费视频 | 999视频在线播放 | 国产成人精品女人久久久 | 中文字幕在线视频免费播放 | 麻花传媒mv免费观看 | 久青草视频 | 美女又爽又黄 | 国产黄色免费观看 | 综合久久婷婷 | 蜜桃视频精品 | 99精品热视频只有精品10 | av在线免费观看不卡 | 人人澡人人干 | 久久久久亚洲最大xxxx | 国产99久久精品一区二区永久免费 | 欧美怡红院视频 | 亚洲精品久久久久中文字幕m男 | 成人av电影免费 | 亚洲成免费| 欧美激情精品久久久久久免费 | 日本性xxx | 亚洲欧洲精品一区二区 | 国产精品久久久久久久久久久久久 | 成人黄色在线 | 亚洲国产手机在线 | av电影在线免费 | 国产高清在线观看 | 亚洲最大成人免费网站 | 日韩国产精品一区 | 在线免费性生活片 | 99国产精品免费网站 | 在线电影日韩 | 伊人五月| 成人免费影院 | 91精品国产综合久久婷婷香蕉 | 一区二区中文字幕在线播放 | 97在线观看免费高清完整版在线观看 | 日韩欧美精选 | 色99中文字幕 | 少妇视频一区 | 91精品国自产在线偷拍蜜桃 | 99热99热 | a天堂免费| 黄色三级免费网址 | 成人va天堂 | 国产一级性生活视频 | 黄色免费在线视频 | 日韩网站在线免费观看 | 中文字幕在线免费看线人 | 日韩欧美一区二区在线播放 | 中文字幕在线精品 | 在线看小早川怜子av | 高清av网| 国产成人精品999 | 五月综合激情婷婷 | 最近中文字幕免费视频 | 在线看片一区 | 久久久久久久久综合 | 精品国产黄色片 | 中文字幕一区二区三区在线观看 | 午夜三级影院 | 久久久久久久久久久福利 | 国产剧情一区二区 | 成人一级黄色片 | 国产精品99蜜臀久久不卡二区 | 91在线中文字幕 | 欧美日高清视频 | 精品国产中文字幕 | 午夜精品久久久久久中宇69 | 亚洲视频1 | 婷婷五情天综123 | 国产在线中文 | 久久在现 | 欧美在线视频精品 | adn—256中文在线观看 | 天天操天天玩 | 日韩在线电影 | 免费人做人爱www的视 | 久久国产网站 | 中文字幕色综合网 | 亚洲欧美精品一区 | 欧美在线一级片 | 亚洲精品中文字幕在线观看 | 九九九国产 | 超碰97国产在线 | 国产黄色免费在线观看 | 欧美aⅴ在线观看 | 久久无码精品一区二区三区 | 国产成人av| 日韩视频在线一区 | 日韩www在线| 亚洲伊人色 | 日韩午夜三级 | 黄色一级大片在线免费看国产一 | 三级毛片视频 | 免费看一级特黄a大片 | 99视频在线观看免费 | 亚洲在线观看av | 亚洲国产精彩中文乱码av | 91精品福利在线 | 日本资源中文字幕在线 | 久久成人国产精品一区二区 | 国产精品久久电影网 | 天天操夜夜叫 | 蜜桃av久久久亚洲精品 | 黄色av电影在线观看 | 探花国产在线 | 日韩在线观看小视频 | 久久精品资源 | 尤物九九久久国产精品的分类 | 国产精品视频久久久 | 人人射| 久久九九精品 | 国产专区欧美专区 | 欧亚日韩精品一区二区在线 | 国产一区二区三区四区大秀 | 日韩电影中文字幕 | 国产美女在线免费观看 | 欧美性猛片 | 日韩精品无码一区二区三区 | 国产精品一区二区电影 | 亚洲毛片一区二区三区 | 免费av试看| 亚洲一区不卡视频 | 国产精品h在线观看 | 精品国产一区二区三区在线 | 亚洲传媒在线 | 五月天激情视频 | 91精品国产99久久久久久久 | 中文字幕丝袜美腿 | 蜜臀av.com | 日日夜夜天天射 | 人人精品久久 | 在线99热| 91精品国产欧美一区二区 | 久久99国产精品久久99 | 免费久久视频 | 91理论片午午伦夜理片久久 | 激情综合六月 | 婷婷丁香色 | 黄色大片免费播放 | 精品国偷自产国产一区 | 久草视频视频在线播放 | 欧美 日韩 国产 中文字幕 | 久久精品99国产 | 亚洲日本欧美在线 | 最新av在线播放 | 国产丝袜制服在线 | 久久国产精品免费一区 | 成人av地址| 天天爽天天碰狠狠添 | 国产精品久久久久久久久蜜臀 | 国产黄在线 | 色播五月激情五月 | 国产一区二区三区免费在线 | 免费观看黄色12片一级视频 | 五月色综合 | 99综合电影在线视频 | 亚洲国产精久久久久久久 | 国产成人在线一区 | 欧美另类69 | 国内精品视频免费 | 国产99在线免费 | 欧美大荫蒂xxx | 国内久久视频 | 国产精品久久久久999 | 免费成人在线视频网站 | 麻豆免费视频网站 | 国产成人精品综合久久久久99 | 久久高清 | 激情av五月婷婷 | 久久精品网站免费观看 | 奇米影视8888 | 日韩在线网址 | 久久精品视频国产 | 国产一级片免费视频 | 日本久久成人中文字幕电影 | 成人在线视频免费观看 | 一本之道乱码区 | 日韩在线视频国产 | 日韩中文字幕在线看 | 三日本三级少妇三级99 | 激情电影影院 | 亚州精品天堂中文字幕 | 久久久久久久久久久久av | 色综合久久久久久久 |