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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

airflow mysql_Airflow 使用及原理分析

發布時間:2023/12/2 数据库 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 airflow mysql_Airflow 使用及原理分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Airflow 入門及使用

什么是 Airflow?Airflow 是一個使用 Python 語言編寫的 Data Pipeline 調度和監控工作流的平臺。

Airflow 是通過 DAG(Directed acyclic graph 有向無環圖)來管理任務流程的任務調度工具,不需要知道業務數據的具體內容,設置任務的依賴關系即可實現任務調度。

這個平臺擁有和 Hive、Presto、MySQL、HDFS、Postgres 等數據源之間交互的能力,并且提供了鉤子(hook)使其擁有很好地擴展性。除了使用命令行,該工具還提供了一個 WebUI 可以可視化的查看依賴關系、監控進度、觸發任務等。

Airflow 的架構在一個可擴展的生產環境中,Airflow 含有以下組件:

元數據庫:這個數據庫存儲有關任務狀態的信息。

調度器:Scheduler 是一種使用 DAG 定義結合元數據中的任務狀態來決定哪些任務需要被執行以及任務執行優先級的過程。調度器通常作為服務運行。

執行器:Executor 是一個消息隊列進程,它被綁定到調度器中,用于確定實際執行每個任務計劃的工作進程。有不同類型的執行器,每個執行器都使用一個指定工作進程的類來執行任務。例如,LocalExecutor 使用與調度器進程在同一臺機器上運行的并行進程執行任務。其他像 CeleryExecutor 的執行器使用存在于獨立的工作機器集群中的工作進程執行任務。

Workers:這些是實際執行任務邏輯的進程,由正在使用的執行器確定。

Airflow 解決哪些問題通常,在一個運維系統,數據分析系統,或測試系統等大型系統中,我們會有各種各樣的依賴需求。包括但不限于:

時間依賴:任務需要等待某一個時間點觸發。

外部系統依賴:任務依賴外部系統需要調用接口去訪問。

任務間依賴:任務 A 需要在任務 B 完成后啟動,兩個任務互相間會產生影響。

資源環境依賴:任務消耗資源非常多, 或者只能在特定的機器上執行。

crontab 可以很好地處理定時執行任務的需求,但僅能管理時間上的依賴。

Airflow 是一種 WMS,即:它將任務以及它們的依賴看作代碼,按照那些計劃規范任務執行,并在實際工作進程之間分發需執行的任務。

Airflow 提供了一個用于顯示當前活動任務和過去任務狀態的優秀 UI,并允許用戶手動管理任務的執行和狀態。

Airflow 中的工作流是具有方向性依賴的任務集合。

具體說就是 Airflow 的核心概念 DAG(有向無環圖)—— 來表現工作流。

DAG 中的每個節點都是一個任務,DAG 中的邊表示的是任務之間的依賴(強制為有向無環,因此不會出現循環依賴,從而導致無限執行循環)。

Airflow 在 ETL 上的實踐ETL,是英文 Extract,Transform,Load 的縮寫,用來描述將數據從來源端經過抽取(extract)、轉換(transform)、加載(load)至目的端的過程。ETL 一詞較常用在數據倉庫,Airflow 在解決 ETL 任務各種依賴問題上的能力恰恰是我們所需要的。

在現階段的實踐中,我們使用 Airflow 來同步各個數據源數據到數倉,同時定時執行一些批處理任務及帶有數據依賴、資源依賴關系的計算腳本。

本文立意于科普介紹,故在后面的用例中只介紹了 BashOperator,PythonOperator這倆個最為易用且在我們日常使用中最為常見的 Operator。

Airflow 同時也具有不錯的集群擴展能力,可使用 CeleryExecuter 以及多個 Pool 來提高任務并發度。

Airflow在 CeleryExecuter 下可以使用不同的用戶啟動 Worker,不同的 Worker 監聽不同的 Queue,這樣可以解決用戶權限依賴問題。Worker 也可以啟動在多個不同的機器上,解決機器依賴的問題。

Airflow 可以為任意一個 Task 指定一個抽象的 Pool,每個 Pool 可以指定一個 Slot 數。每當一個 Task 啟動時,就占用一個 Slot,當 Slot 數占滿時,其余的任務就處于等待狀態。這樣就解決了資源依賴問題。

Airflow 安裝及初始化假設:你已經安裝好了 Python 及配置好了其包管理工具 pip。

pip?install?apache-airflow

#?初始化數據庫

airflow?initdb

#?上面的命令默認在家目錄下創建?Airflow?文件夾和相關配置文件

#?也可以使用以下命令來指定目錄

export?AIRFLOW_HOME={yourpath}/airflow

#?配置數據庫

#?vim?airflow/airflow.cfg

#?修改?sql_alchemy_conn

#?守護進程運行?webserver,默認端口為8080,也可以通過`-p`來指定端口

airflow?webserver?-D

#?守護進程運行調度器

airflow?scheduler?-D

定義第一個 DAG在 AIRFLOW_HOME 目錄下新建 DAGs 文件夾,后面的所有 DAG 文件都要存儲在這個目錄。

新建 demo.py,語句含義見注釋。

from?datetime?import?datetime,?timedelta

from?airflow?import?DAG

from?airflow.utils.dates?import?days_ago

from?airflow.operators.bash_operator?import?BashOperator

from?airflow.operators.python_operator?import?PythonOperator

from?airflow.operators.dummy_operator?import?DummyOperator

def?default_options():

default_args?=?{

'owner':?'airflow',??#?擁有者名稱

'start_date':?days_ago(1),??#?第一次開始執行的時間,為?UTC?時間(注意不要設置為當前時間)

'retries':?1,#?失敗重試次數

'retry_delay':?timedelta(seconds=5)??#?失敗重試間隔

}

return?default_args

#?定義?DAG

def?test1(dag):

t?=?"echo?'hallo?world'"

#?operator?支持多種類型,?這里使用?BashOperator

task?=?BashOperator(

task_id='test1',??#?task_id

bash_command=t,??#?指定要執行的命令

dag=dag??#?指定歸屬的?DAG

)

return?task

def?hello_world_1():

current_time?=?str(datetime.today())

print('hello?world?at?{}'.format(current_time))

def?test2(dag):

#?PythonOperator

task?=?PythonOperator(

task_id='test2',

python_callable=hello_world_1,??#?指定要執行的函數

dag=dag)

return?task

def?test3(dag):

#?DummyOperator

task?=?DummyOperator(

task_id='test3',

dag=dag)

return?task

with?DAG(

'test_task',??#?dag_id

default_args=default_options(),??#?指定默認參數

schedule_interval="@once"??#?執行周期

)?as?d:

task1?=?test1(d)

task2?=?test2(d)

task3?=?test3(d)

task1?>>?task2?>>?task3??#?指定執行順序

寫完后執行 python $AIRFLOW_HOME/dags/demo.py 檢查是否有錯誤,如果命令行沒有報錯,就表示沒問題。

Web UI打開 localhost:8080。

主視圖:

Airflow 的 WebUI 是其任務調度可視化的體現,可以在這個 WebUI 上監控幾乎所有任務調度運行的實時及歷史數據。一些命令如 Trigger、Clear 均可以在 WebUI 上完成;一些全局參數也可以在主頁面導航欄 Admin 下配置。

點擊 dag_name,進入任務預覽:

任務圖視圖:

任務樹視圖:

其他常用命令#?測試任務,格式:airflow?test?dag_id?task_id?execution_time

airflow?test?test_task?test1?2019-09-10

#?查看生效的?DAGs

airflow?list_dags?-sd?$AIRFLOW_HOME/dags

#?開始運行任務(同?web?界面點?trigger?按鈕)

airflow?trigger_dag?test_task

#?暫停任務

airflow?pause?dag_id

#?取消暫停,等同于在?web?管理界面打開?off?按鈕

airflow?unpause?dag_id

#?查看?task?列表

airflow?list_tasks?dag_id??查看task列表

#?清空任務狀態

airflow?clear?dag_id

#?運行task

airflow?run?dag_id?task_id?execution_date

Airflow 核心原理分析

概念及發展JOB:最上層的工作。分為 SchedulerJob、BackfillJob 和 LocalTaskJob。SchedulerJob 由 Scheduler 創建,BackfillJob 由 Backfill 創建,LocalTaskJob 由前面兩種 Job 創建。

DAG:有向無環圖,用來表示工作流。

DAG Run:工作流實例,表示某個工作流的一次運行(狀態)。

Task:任務,工作流的基本組成部分。

TaskInstance:任務實例,表示某個任務的一次運行(狀態)。

在早期版本 Airflow 中,DAG 執行主要有兩種完全獨立的執行途徑:SchedulerJob 和 BackfillJob。在一次較大的重構中增加了 DagRun 方式,以跟蹤 DAG 的執行狀態。

結構關系圖:

DagRun 執行流程描述DagRuns 表示某個時間點 DAG 的狀態(也稱為 DagInstances)。要運行 DAG 或管理 DAG 的執行,必須首先創建一個 DagRun 實例。但是僅創建 DagRun 不足以實際運行 DAG(就像創建 TaskInstance 與實際運行任務并不一樣)。

因此需要一種機制來實現上述流程。結構相當簡單,維護一組要執行的 DagRuns 集合,并循環遍歷該集合,直到所有 DagRuns 成功或失敗為止。

基本的 DagRuns 循環如下所示:

刷新 DAGs

收集新的 DagRuns

執行 DagRuns(包括更新 DagRuns 的狀態為成功或失敗)

喚醒 executor/心跳檢查

Scheduler 的調度邏輯調度器實際上就是一個 airflow.jobs.SchedulerJob 實例 Job 持續運行 run 方法。job.run() 在開始時將自身的信息加入到 Job 表中,并維護狀態和心跳,預期能夠正常結束,將結束時間也更新到表中。但是實際上往往因為異常中斷,導致結束時間為空。不管是如何進行的退出,SchedulerJob 退出時會關閉所有子進程。

這里主要介紹下 Scheduler 的調度邏輯:

遍歷 DAGs 路徑下的所有 DAG 文件,啟動一定數量的進程(進程池),并且給每個進程指派一個 DAG 文件。每個 DagFileProcessor 解析分配給它的 DAG 文件,并根據解析結果在DB中創建 DagRuns 和 TaskInstance。

在 scheduler_loop 中,檢查與活動 DagRun 關聯的 TaskInstance 的狀態,解析 TaskInstance 之間的任何依賴,標識需要被執行的 TaskInstance,然后將它們添加至 executor 隊列,將新排列的 TaskInstance 狀態更新為QUEUED狀態。

每個可用的 executor 從隊列中取一個 TaskInstance,然后開始執行它,將此 TaskInstance 的數據庫記錄更新為SCHEDULED。

當一個 TaskInstance 完成運行,關聯的 executor 就會報告到隊列并更新數據庫中的 TaskInstance 的狀態(例如“完成”、“失敗”等)。

一旦所有的 DAG 處理完畢后,就會進行下一輪循環處理。這里還有一個細節就是上一輪的某個 DAG 的處理時間可能很長,導致到下一輪處理的時候這個 DAG 還沒有處理完成。Airflow 的處理邏輯是在這一輪不為這個 DAG 創建進程,這樣就不會阻塞進程去處理其余 DAG。

文檔原文:

Enumerate the all the files in the DAG directory.

Start a configurable number of processes and for each one, assign a DAG file to process.

In each child process, parse the DAG file, create the necessary DagRuns given the state of the DAG's task instances, and for all the task instances that should run, create a TaskInstance (with the SCHEDULED state) in the ORM.

Back in the main scheduler process, query the ORM for task instances in the SCHEDULED state. If any are found, send them to the executor and set the task instance state to QUEUED.

If any of the child processes have finished, create another process to work on the next file in the series, provided that the number of running processes is less than the configured limit.

Once a process has been launched for all of the files in the DAG directory, the cycle is repeated. If the process to parse a particular DAG file is still running when the file's turn comes up in the next cycle, a new process is not launched and a process for the next file in the series is launched instead. This way, a DAG file that takes a long time to parse does not necessarily block the processing of other DAGs.

Scheduler 模塊代碼結構DagFileProcessor 在子進程中解析 DAG 定義文件。對于發現的 DAG,檢查 DagRun 和 TaskInstance 的狀態。如果有 TaskInstance 可以運行,將狀態標記為 SCHEDULED。為每個 DAG 文件分配一個進程,同時在 DagFileProcessorManager 中保存有 DAG 和 processor 的映射表。在 DAG 沒有被任何 processor 處理的時候,才會給它創建新的處理進程。

DagFileProcessorManager 控制 DagFileProcessors 如何啟動。它追蹤哪些文件應該被處理并且確保一旦有一個 DagFileProcessor 完成解析,下一個 DAG 文件應該得到處理。并且控制 DagFileProcessors 的數量。

SchedulerJob 通過 Agent 獲取 manager 的 DAG 定義文件解析結果,并且將 SCHEDULED 狀態的 TaskInstance 發送給 executor 執行。

DagFileProcessorAgent 作為一個采集代理,scheduler 可以借助 Agent 獲取 manager 獲取到的 DAG 解析結果,并且可以控制manager的行為。

核心類分析Dag

method:

following_schedule() 計算當前 DAG 的下一次調度時間

previous_schedule() 計算當前 DAG 的上一次調度時間

get_dagrun() 返回給定執行日期的 dagrun(如果存在)

create_dagrun() 創建一個包括與此 DAG 相關任務的 dagrun

ckear() 清除指定日期范圍內與當前 DAG 相關的一組任務實例

run() 實例化為 BackfillJob 同時調用 job.run()

DagRun

model:

ID_PREFIX?=?'scheduled__'

ID_FORMAT_PREFIX?=?ID_PREFIX?+?'{0}'

id?=?Column(Integer,?primary_key=True)

dag_id?=?Column(String(ID_LEN))

execution_date?=?Column(UtcDateTime,?default=timezone.utcnow)

start_date?=?Column(UtcDateTime,?default=timezone.utcnow)

end_date?=?Column(UtcDateTime)

_state?=?Column('state',?String(50),?default=State.RUNNING)

run_id?=?Column(String(ID_LEN))

external_trigger?=?Column(Boolean,?default=True)

conf?=?Column(PickleType)

method:

get_dag() 返回與當前 DagRun 相關的 Dag

get_task_instances() 返回與當前 DagRun 的所有 TaskInstances

update_state() 根據 TaskInstances 的狀態確定 DagRun 的總體狀態

get_latest_runs() 返回每個 Dag 的最新一次 DagRun

TaskInstance

model:

__tablename__?=?"task_instance"

task_id?=?Column(String(ID_LEN),?primary_key=True)

dag_id?=?Column(String(ID_LEN),?primary_key=True)

execution_date?=?Column(UtcDateTime,?primary_key=True)

start_date?=?Column(UtcDateTime)

end_date?=?Column(UtcDateTime)

duration?=?Column(Float)

state?=?Column(String(20))

_try_number?=?Column('try_number',?Integer,?default=0)

max_tries?=?Column(Integer)

hostname?=?Column(String(1000))

unixname?=?Column(String(1000))

job_id?=?Column(Integer)

pool?=?Column(String(50),?nullable=False)

queue?=?Column(String(256))

priority_weight?=?Column(Integer)

operator?=?Column(String(1000))

queued_dttm?=?Column(UtcDateTime)

pid?=?Column(Integer)

executor_config?=?Column(PickleType(pickler=dill))

method:

get_dagrun() 返回當前 TaskInstance 的 DagRun

run() TaskInstance run

get_template_context() 通過 Jinja2 模板獲取上下文

xcom_push() 創建一個 XCom 可用于 task 發送參數

xcom_pull() 創建一個 XCom 可用于 task 接收參數

SchedulerJob

def?_execute(self):

"""

The?actual?scheduler?loop.?The?main?steps?in?the?loop?are:

#.?Harvest?DAG?parsing?results?through?DagFileProcessorAgent

#.?Find?and?queue?executable?tasks

#.?Change?task?instance?state?in?DB

#.?Queue?tasks?in?executor

#.?Heartbeat?executor

#.?Execute?queued?tasks?in?executor?ake_aware(execution_date,

self.task.dag.timezone)

"""

self.processor_agent?=?DagFileProcessorAgent()??#?通過檢查當前?processor?數量來控制進程個數

self.executor.start()

#?Start?after?resetting?orphaned?tasks?to?avoid?stressing?out?DB.

self.processor_agent.start()??#?在解析?DAG?文件時,只會對最近修改過的文件進行解析

execute_start_time?=?timezone.utcnow()

#?For?the?execute?duration,?parse?and?schedule?DAGs

while?(timezone.utcnow()?-?execute_start_time).total_seconds()?

self.run_duration?or?self.run_duration?

#?Starting?Loop...

self.processor_agent.heartbeat()??#?控制?DagFileProcessor?解析?DAG?文件的速度

#?Harvesting?DAG?parsing?results

simple_dags?=?self.processor_agent.harvest_simple_dags()

if?len(simple_dags)?>?0:

self._execute_task_instances()

...

#?Call?heartbeats

self.executor.heartbeat()

#?heartbeat()?中根據?parallelism?得出當前可用的?slots?數量,

#?決定?execute_async?多少個?task

#?Process?events?from?the?executor

self._process_executor_events(simple_dag_bag)

#?Ran?scheduling?loop?for?all?tasks?done

...

#?Stop?any?processors

self.processor_agent.terminate()

#?Verify?that?all?files?were?processed,?and?if?so,?deactivate?DAGs?that

#?haven't?been?touched?by?the?scheduler?as?they?likely?have?been

#?deleted.

...

self.executor.end()

method:

create_dag_run() 根據調度周期檢查是否需要為 DAG 創建新的 DagRun。如果已調度,則返回 DagRun,否則返回 None

process_file() 解析 DAG 定義文件

_execute_task_instances() 嘗試執行調度器調度過的 TaskInstances

There are three steps:

Pick TaskInstances by priority with the constraint that they are in the expected states and that we do exceed max_active_runs or pool limits.

Change the state for the TaskInstances above atomically.

Enqueue the TaskInstances in the executor.

reduce_in_chunks() 用來進行小的分批處理

總結本文在第一部分著重介紹了 Airflow 的理念、使用場景及其一般架構。

提供了相對簡單易懂的安裝及操作命令,并附帶了一個使用案例用來介紹代碼如何編排以及 WebUI 的使用。

在第二部分開篇介紹了 Airflow 任務創建、調度和管理的一些基礎概念,以及 Airflow 版本迭代的一些重要變化。Airflow 目前還是處于快速開發中,當前版本有很多遺留問題,版本升級也不是向后兼容的,變動很大。

Scheduler 毫無疑問是整個 Airflow 的核心模塊,邏輯結構復雜。本文從 Scheduler 模塊的主要邏輯入手,分析了控制循環和代碼結構,重點分析了從 dag.py 代碼文件到可調度執行的 TaskInstances 所經歷的階段;以及介紹了并發控制的實現和性能優化。

最后結合源碼介紹了 Airflow 核心類的模型定義和主要方法,以了解各個類所扮演的角色及其實現的功能。

參考https://zhuanlan.zhihu.com/p/90282578

總結

以上是生活随笔為你收集整理的airflow mysql_Airflow 使用及原理分析的全部內容,希望文章能夠幫你解決所遇到的問題。

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

亚洲久久视频 | 日韩网站中文字幕 | 久久精品一二三 | 婷婷午夜天 | 亚洲精品午夜视频 | 91精品秘密在线观看 | 国产无区一区二区三麻豆 | 天堂av在线免费 | 黄色h在线观看 | 午夜精品一区二区三区可下载 | 亚洲一区不卡视频 | 亚洲午夜激情网 | 99久久综合国产精品二区 | 日韩三级一区 | 在线视频精品播放 | 国产精品18久久久久久久 | 字幕网资源站中文字幕 | 黄色a级片在线观看 | 久久一视频 | 国产精品原创视频 | 黄色大片免费播放 | 91精品1区2区| 毛片激情永久免费 | 免费91麻豆精品国产自产在线观看 | 婷婷射五月 | 国产视频在线免费观看 | 成人av地址 | 天天干天天爽 | 中文字幕视频观看 | 日韩免费观看一区二区 | 免费精品在线视频 | 久久国产高清 | 成人av资源 | 精品久久久久久久 | 国产精品三级视频 | 亚洲欧美日韩中文在线 | 特级西西444www大胆高清无视频 | 射射射综合网 | 亚洲黄色区 | 久久成人国产精品免费软件 | 黄色小网站在线观看 | 五月天久久综合 | 国产精品成人久久久久久久 | 91国内在线| 五月婷婷激情五月 | 天天操夜夜干 | 91精品在线看 | 五月激情丁香图片 | 亚洲h在线播放在线观看h | 中文字幕在线一二 | 欧美黄色高清 | 精品国产一区二区三区不卡 | 手机av在线网站 | www黄| 亚洲综合丁香 | 国产91影院 | 婷婷在线综合 | a√资源在线 | 99精品国产99久久久久久97 | 丁香激情综合久久伊人久久 | 日韩精品免费在线视频 | 亚洲dvd | 天天躁天天狠天天透 | 成人a免费看 | 日韩一三区 | 亚洲日韩精品欧美一区二区 | 亚洲欧美视频在线观看 | 精品视频区 | 亚洲女欲精品久久久久久久18 | 久久久精品欧美一区二区免费 | 亚洲国产小视频在线观看 | 免费大片av | 天天干天天干天天干天天干天天干天天干 | 性色视频在线 | 81国产精品久久久久久久久久 | 午夜精品av| 五月婷婷色 | 四虎永久免费 | 成人黄色av网站 | av网站手机在线观看 | 中文字幕亚洲情99在线 | 久久国产影院 | 免费看一级特黄a大片 | 精品免费视频. | 一区二区三区电影在线播 | 欧美一区二区三区在线播放 | 久久这里只有精品视频首页 | 日本aaaa级毛片在线看 | www视频免费在线观看 | 国产原厂视频在线观看 | 久久视频免费 | 九九视频在线观看视频6 | 天天操天天射天天舔 | 国产精品11 | 在线看国产 | 色婷婷久久久综合中文字幕 | 国产精品久久久久久久电影 | 伊人五月天av | 久久伊人免费视频 | 欧美亚洲一级片 | 国产视频网站在线观看 | 国产一二三在线视频 | 在线免费观看视频a | 精品少妇一区二区三区在线 | 国产91成人在在线播放 | 中文字幕在线看视频 | 日韩肉感妇bbwbbwbbw | 制服丝袜天堂 | 日韩精品国产一区 | 在线观看精品一区 | 国产黄色特级片 | 久久久久国产精品www | 国产女人40精品一区毛片视频 | 中文国产字幕在线观看 | 欧洲在线免费视频 | 91热在线 | 国产精品va视频 | 久久久久久国产精品 | 欧美日韩在线免费观看视频 | 最新av网址在线 | 日本夜夜草视频网站 | 久久久久久免费毛片精品 | 激情综合亚洲精品 | 国产91精品高清一区二区三区 | 国产自在线观看 | 国产一区二区手机在线观看 | 在线日韩中文 | 99热这里只有精品在线观看 | 99re8这里有精品热视频免费 | 在线之家免费在线观看电影 | 午夜 久久 tv | 日韩精品免费 | 亚洲专区中文字幕 | 国产精品久久久久久婷婷天堂 | 国产精品成久久久久三级 | 成人av免费看 | 黄色av高清 | 久草热视频 | 97在线精品国自产拍中文 | 一区二区三区在线观看中文字幕 | 人人搞人人搞 | 亚洲四虎在线 | 亚洲精品美女在线观看 | 青草视频在线 | 中文字幕成人在线观看 | 日本成址在线观看 | 久色小说 | 97理论片| 91av影视 | 国产精品综合久久久久久 | 欧美性大胆 | 24小时日本在线www免费的 | 日韩国产高清在线 | 国产在线观看国语版免费 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 91视频免费播放 | 伊人国产在线播放 | 蜜臀av夜夜澡人人爽人人桃色 | 日韩视频三区 | 成人午夜精品福利免费 | 色视频网站免费观看 | 国产永久免费 | 韩日精品在线 | 在线99 | 91色视频 | 精品国产一区二区三区在线 | 免费精品国产va自在自线 | 久久久久久久久久久免费视频 | 亚洲精品综合一二三区在线观看 | 久操视频在线免费看 | 欧美激情另类文学 | 国产美女被啪进深处喷白浆视频 | 天堂av影院 | 亚洲精品久久久久999中文字幕 | 欧美视频在线观看免费网址 | 国产精品久久久久久久久久久免费看 | 亚洲精品视频免费在线 | 日韩视频免费 | 亚洲视频电影在线 | 麻豆国产精品va在线观看不卡 | 美女网色 | 午夜体验区 | 91精品国产乱码久久桃 | 不卡av免费在线观看 | av东方在线| 日韩欧美一级二级 | 精品国内自产拍在线观看视频 | 亚洲精品男人的天堂 | 日本天天操 | 久久色在线播放 | 婷婷色视频 | 国模一区二区三区四区 | 久久国产手机看片 | 久久手机免费观看 | 99爱视频在线观看 | 日韩久久片 | 天天操天天操天天 | 日韩大片免费观看 | av成人免费在线 | 99国产精品免费网站 | 久久理论电影 | 日韩大片在线看 | 亚洲成熟女人毛片在线 | 玖玖视频国产 | 国产成人久久精品 | 伊人精品在线 | 亚洲黄在线观看 | 久久精品久久精品久久精品 | 天堂激情网 | 黄色99视频 | 国内精品福利视频 | 色婷婷狠 | 欧美日韩精品二区第二页 | 欧美亚洲精品在线观看 | 国产福利资源 | 麻豆免费视频 | 国产精品一区二区三区免费看 | 992tv成人免费看片 | 91麻豆精品国产91久久久久久 | 日韩精品无码一区二区三区 | 色在线免费观看 | 国产打女人屁股调教97 | 色诱亚洲精品久久久久久 | 国产99久久九九精品 | 午夜性福利 | 亚洲欧洲久久久 | 视频一区二区精品 | 99热这里只有精品国产首页 | 国产精品观看在线亚洲人成网 | 日韩av一区二区在线影视 | 国产 日韩 欧美 在线 | 国产视频观看 | 国产精品视频地址 | 四虎在线影视 | 国产精品黄色 | 久久国产精品免费观看 | 久草在线视频资源 | 美女精品久久久 | 丁香花五月 | 国产久草在线 | a视频免费在线观看 | 日韩成人精品一区二区三区 | 91精品国自产在线偷拍蜜桃 | 国产字幕在线观看 | 久久久精品 一区二区三区 国产99视频在线观看 | 91精品久久久久久粉嫩 | av一级网站 | 国产亚洲精品日韩在线tv黄 | 国产精品久久久久久久久久直播 | 亚洲精品一区二区在线观看 | 能在线观看的日韩av | 国产一区二区久久久 | 国产精品永久免费在线 | 欧洲一区二区三区精品 | 综合五月 | 国产黄色免费电影 | 91在线视频导航 | 91传媒激情理伦片 | 国产精品一区二区三区四区在线观看 | 91精品国产乱码久久桃 | 中文字幕亚洲欧美日韩 | 成人午夜电影在线 | 精品国产一区二区三区四 | 亚洲精品一区二区在线观看 | 国产 日韩 欧美 自拍 | 丁香激情婷婷 | 国产视频 久久久 | 丁香色婷 | 天天干天天怕 | 日韩精品一区二区三区三炮视频 | 91色一区二区三区 | 香蕉久久久久久久 | 久久免费电影网 | 日韩在线观看视频中文字幕 | 天天性天天草 | 亚洲精品免费在线观看 | 在线播放视频一区 | 国产精国产精品 | 婷婷精品视频 | 国产成人a亚洲精品v | av久久久 | 久久久久久久av | 精品一区二区在线免费观看 | 日本中文字幕一二区观 | 国产精品久久久久久一区二区 | 日韩中文在线字幕 | 国产麻豆剧传媒免费观看 | 色香蕉网| 久久成人一区二区 | 免费观看日韩av | 久久午夜国产 | 五月婷在线播放 | 亚洲电影成人 | 精品一区av| 国产精品美女网站 | 国产精品国产三级国产专区53 | 久久美女电影 | 国产黄色美女 | 久久视频国产 | 欧美日韩综合在线 | 玖玖999| 欧美成人性战久久 | 精品久久久久久一区二区里番 | 69av久久| 九九精品视频在线看 | 808电影免费观看三年 | 欧美在线观看视频一区二区 | av一区在线 | 国产涩图 | 91久久国产综合精品女同国语 | 99爱精品在线 | 国产小视频国产精品 | 国产精品美女久久久久久网站 | 超碰97免费观看 | 瑞典xxxx性hd极品 | 少妇bbbb搡bbbb桶 | 99热国产在线观看 | 99视频在线观看一区三区 | 99久久精品视频免费 | 九九视频在线 | 国产精品久久久久久高潮 | 国产午夜三级一区二区三桃花影视 | 免费看精品久久片 | 人人爽人人爽人人片av免 | 美女福利视频一区二区 | 久久与婷婷| 香蕉网在线播放 | 久久国产精品网站 | 欧美日韩大片在线观看 | 在线精品一区二区 | 免费的国产精品 | 视频福利在线 | 五月婷婷网站 | 黄色成人在线 | 婷婷中文字幕在线观看 | 狠狠干成人综合网 | 91成人午夜| 久久中文字幕视频 | 亚洲第二色| 成 人 黄 色视频免费播放 | 精品国产伦一区二区三区观看说明 | 亚洲精品自拍 | 激情五月在线视频 | 久久久黄色免费网站 | 最近av在线 | 91人人人| 九九九热精品 | 免费能看的黄色片 | 精品国产一区二区三区久久久久久 | 久久黄色免费视频 | 欧美成人h版电影 | 欧美色图亚洲图片 | 久草精品在线播放 | 五月网婷婷 | 亚洲资源视频 | 亚洲天堂香蕉 | 精品视频免费久久久看 | 人人草人人草 | 亚洲日本在线一区 | 日韩精品字幕 | 精品在线视频播放 | 欧美黄在线 | 一级成人在线 | 亚洲精品高清视频在线观看 | 国产精品久久艹 | 久久福利国产 | 福利一区二区 | 久久综合狠狠综合久久综合88 | www.久久色 | 国产成人亚洲在线观看 | 九九99靖品 | 黄色精品一区 | 国产999视频 | 国产电影一区二区三区四区 | 五月婷婷精品 | 精品久久精品 | 91色亚洲| av免费看av| 亚洲黄色一级电影 | 最近2019年日本中文免费字幕 | 久久视频6 | 成人av资源网站 | 特黄特黄的视频 | 亚洲精品观看 | 麻豆 videos| 丁香激情五月 | 在线黄av | 91久久人澡人人添人人爽欧美 | 久久国产精品成人免费浪潮 | 久久免费电影 | 免费国产视频 | 国产在线观看高清视频 | 亚洲欧美日韩精品久久奇米一区 | 久久黄色影院 | 亚洲成人av影片 | 国产中文字幕在线 | 激情av综合| 黄色影院在线免费观看 | 一级a性色生活片久久毛片波多野 | 国产黄色大片 | 999超碰| 日韩三级精品 | 国产精品一区二区久久 | 日日爱999| 91在线公开视频 | 波多野结衣一区二区三区中文字幕 | 亚洲va欧美va国产va黑人 | 激情伊人五月天久久综合 | 久久久久久久影视 | 久久成人一区二区 | 国内精品久久久精品电影院 | 欧美成人aa | 91av视频观看| 91在线视频网址 | 99久久精品免费看国产免费软件 | 亚a在线| 亚洲激情六月 | 欧美日韩大片在线观看 | 国内外激情视频 | 一 级 黄 色 片免费看的 | 精品国产福利在线 | 国产日韩欧美在线观看 | 久久99久久99精品免观看软件 | 超碰个人在线 | 天天天操天天天干 | 久久激情视频 | 亚洲国产中文字幕在线观看 | 一区久久久 | 亚洲人成人天堂h久久 | 日日夜夜噜噜噜 | 国产拍揄自揄精品视频麻豆 | 91免费网站在线观看 | 一本一本久久a久久精品综合 | 成人av影视| 国产精品一区二区中文字幕 | 色中射 | 999超碰 | 综合色在线 | 麻豆网站免费观看 | 国产成人精品一区二区三区在线观看 | 亚洲在线看 | 国产区精品在线观看 | av国产网站 | 亚洲人成人在线 | 99国产在线观看 | 97国产精品 | 国产亚洲精品久久久久动 | 精品 一区 在线 | av综合 日韩| www日| 爱爱av在线| 亚洲国产剧情av | 97在线免费视频 | 久久久久久久国产精品影院 | 欧美疯狂性受xxxxx另类 | 国产精品久久久久久电影 | 99视频在线免费观看 | 免费看久久久 | 亚洲精品免费在线 | av大片免费 | 国产成人性色生活片 | 免费在线观看av网址 | 97成人在线视频 | 99久久精品无码一区二区毛片 | 在线观看免费视频你懂的 | 欧美日韩亚洲第一页 | 亚洲va韩国va欧美va精四季 | 探花视频在线观看 | 日本久久精品视频 | av在线永久免费观看 | 天天干夜夜操视频 | 亚洲精品午夜久久久 | 美女黄久久| 五月开心六月伊人色婷婷 | 欧美日韩精品在线免费观看 | 国产午夜亚洲精品 | 久精品视频免费观看2 | 久久精品牌麻豆国产大山 | 麻豆小视频在线观看 | 成人a级网站 | 久99久精品 | 中文字幕在线中文 | 精品999在线观看 | 天天爽夜夜爽人人爽曰av | 国产精品久久久久久久久久不蜜月 | 九色91在线视频 | 久草视频免费看 | 一区二区三区在线视频111 | 色综合咪咪久久网 | 在线观看麻豆av | 国产午夜亚洲精品 | 一区二区三区免费在线 | 激情校园亚洲 | 天天操夜夜爱 | 天天综合色天天综合 | 日本久久久亚洲精品 | 日韩在线观看视频中文字幕 | 探花视频免费在线观看 | 欧洲精品码一区二区三区免费看 | 一区二区三区四区精品视频 | 又黄又爽又湿又无遮挡的在线视频 | 国产精品久久久久久久久毛片 | 日本超碰在线 | 成人午夜影院 | 日韩xxxbbb| 夜夜操天天操 | www.玖玖玖 | 日韩精品一区二区三区在线视频 | 中文字幕免费一区二区 | 国产成人久 | 免费99精品国产自在在线 | 国际精品久久 | 四虎在线免费观看 | 亚洲永久国产精品 | 久久国产精品一区二区三区四区 | 伊人成人久久 | 久久国产免费视频 | 欧美色操 | 国产视频精品久久 | 91精品办公室少妇高潮对白 | 国产免费亚洲高清 | 久久久久久久久久久国产精品 | 午夜国产一区二区三区四区 | 伊人婷婷色 | 亚洲日本va午夜在线影院 | 色人久久| 国产精品午夜av | 久久久久久久久久网 | 一级黄色av| 亚洲精品无| av东方在线| 97人人精品 | 少妇bbbb| 国产在线无 | 日韩久久精品一区二区三区 | 国产香蕉久久 | 久久 精品一区 | 天天玩天天操天天射 | 成人wwwxxx视频 | 免费一区在线 | 日p在线观看 | 2021国产精品 | 性色大片在线观看 | .国产精品成人自产拍在线观看6 | 97超碰人人干 | 97爱爱爱| 日本成址在线观看 | 九九在线高清精品视频 | 国产伦理精品一区二区 | 999久久久国产精品 高清av免费观看 | 一区二区三区播放 | 日韩精品一区二 | 99这里只有久久精品视频 | 亚洲视频资源在线 | 久久综合欧美精品亚洲一区 | 天堂va在线观看 | 国产精品精品视频 | 亚洲精品视频在线 | 亚洲电影一区二区 | 色播六月天 | 色婷婷99 | 特级a毛片 | 国产高清av免费在线观看 | 日韩精品一区二区三区第95 | 在线v| 天天操天天干天天爽 | 国产黄大片 | 超碰人人干人人 | av888av.com| www..com毛片| 狠狠色丁香婷婷综合橹88 | 国产精品欧美日韩在线观看 | 免费看的黄色小视频 | 国产在线高清视频 | 日韩中文字幕在线看 | 精品国产大片 | 中文字幕乱码一区二区 | 丁香花在线观看视频在线 | 蜜臀av性久久久久av蜜臀三区 | 天堂在线一区二区 | 精久久久久 | 欧美一区二区三区在线观看 | 国产小视频在线免费观看视频 | 在线观看国产区 | 国产美女视频网站 | 黄色国产成人 | 国产成人精品午夜在线播放 | 麻豆精品视频在线观看免费 | 美女视频a美女大全免费下载蜜臀 | 成人一区影院 | 日本公乱妇视频 | 五月激情站 | 精品亚洲免费 | 97国产大学生情侣酒店的特点 | 久草热久草视频 | 操久在线 | 国产精品一区二区在线免费观看 | 麻豆视频免费播放 | 欧美日韩精品二区第二页 | 中文字幕在线观看第一页 | 欧美极品一区二区三区 | 四川bbb搡bbb爽爽视频 | 精品国精品自拍自在线 | 国产另类av | 中文成人字幕 | 黄色资源网站 | 国产成人精品免费在线观看 | 99热免费在线 | 国产精品va在线播放 | 在线观看的av | www色网站 | 久久理论影院 | 久久国产精品一区二区三区 | 日韩a级免费视频 | 91精品1区2区| 黄网站色视频 | 免费看的黄色片 | 午夜精品久久久久久久99婷婷 | 1000部国产精品成人观看 | 热九九精品 | 亚洲天天在线 | а天堂中文最新一区二区三区 | 久久免费一级片 | 五月婷婷丁香六月 | 五月婷婷综合在线观看 | 免费a视频在线观看 | 欧美极品一区二区三区 | 三级av黄色 | 国产午夜视频在线观看 | 免费观看性生活大片3 | 亚洲午夜av电影 | 五月婷婷综 | 久久99影院 | 91精品对白一区国产伦 | 天天综合网天天 | 免费十分钟 | 久久精品99国产精品 | 亚洲精选在线观看 | 欧美男同视频网站 | 国产精品久久久久久五月尺 | av大全在线免费观看 | 亚洲欧美国产视频 | 91视视频在线直接观看在线看网页在线看 | 亚洲人成在| 国产一区在线视频观看 | 97成人精品视频在线播放 | 久久99精品久久久久久三级 | 国产96在线观看 | 友田真希av | 久久精品中文 | 一级成人免费视频 | 久草久热 | 91豆麻精品91久久久久久 | 免费黄色a网站 | 国产伦理一区二区三区 | av成人免费在线观看 | 天天躁天天操 | 精品在线免费观看 | 日韩av区| 日韩精品国产一区 | 国产精品免费久久久久 | 奇米影视777影音先锋 | 久久高清国产 | 精品在线视频一区二区三区 | 在线看一级片 | 免费看特级毛片 | 天天操网 | 网站免费黄色 | 91热爆在线观看 | 国产在线无 | 国产成人黄色av | 日日干夜夜操视频 | 日韩在线电影观看 | 一区二区三区视频 | 成人九九视频 | 亚洲黄色av网址 | av成人黄色| 99午夜| 午夜精品一区二区三区在线观看 | 欧美日韩中字 | 欧美在线一 | 久久无码av一区二区三区电影网 | 日产中文字幕 | 99视屏| 久久亚洲综合色 | 日韩av成人 | 五月婷婷在线视频观看 | 在线免费观看黄色小说 | 日本99精品| av中文字幕在线看 | 99精品久久99久久久久 | 欧美日韩在线视频一区 | 久久久视屏 | 日日干夜夜干 | 中文字幕av全部资源www中文字幕在线观看 | 久久久精品国产免费观看一区二区 | 最近日本中文字幕 | 成人影片免费 | 婷婷在线精品视频 | 97精品国产一二三产区 | 国产精品久久久久久久久久久久午夜 | 日韩欧美一区二区三区在线 | 国产又粗又猛又爽又黄的视频先 | 国产超碰在线观看 | 三级黄色免费 | 国产精品中文字幕在线播放 | 精品亚洲免费 | 青青草国产在线 | 久久综合久久综合这里只有精品 | 国产精品久久久久久爽爽爽 | 在线看污网站 | 一区二区三区在线不卡 | 国产91精品一区二区绿帽 | www.com黄色 | 超碰97成人 | 国产一区在线视频观看 | 在线观看午夜av | 在线黄色观看 | 久色 网 | 久久久黄色免费网站 | 久久公开免费视频 | 亚洲一一在线 | 在线观看中文字幕亚洲 | 日韩一区二区三区高清免费看看 | 超碰九九 | 日韩成人免费在线观看 | 日韩午夜网站 | av电影中文 | 女人18片 | 97在线看片 | 激情综合五月天 | 欧美性脚交 | 亚洲一区二区麻豆 | 午夜国产福利视频 | 美女福利视频一区二区 | 午夜av电影 | 久久在线视频精品 | 日韩动态视频 | 日韩免费在线观看视频 | 亚洲 欧美 91 | 欧美国产在线看 | 97在线观看| 午夜精品久久久久久久99水蜜桃 | 久久久久久久福利 | 91成人精品一区在线播放 | 69中文字幕| 色视频在线看 | 草久久久 | 岛国精品一区二区 | 1024久久 | 成人h视频 | 久久人人爽爽人人爽人人片av | 香蕉网站在线观看 | 日韩精品一区二区三区免费观看视频 | av免费网 | 久久一区二区三区四区 | 久久精品香蕉 | 美女黄色网在线播放 | 六月丁香婷婷在线 | 久久久国产一区二区 | 97在线观看免费高清完整版在线观看 | 国产最新视频在线观看 | 九九免费在线观看 | a√国产免费a | 丰满少妇在线观看网站 | 国产一区二区在线免费视频 | 在线看欧美 | 日本精品午夜 | 亚洲精品av中文字幕在线在线 | 日韩中文幕 | 国产视频一区二区在线播放 | 中文不卡视频 | 久草在线一免费新视频 | 久久99国产综合精品免费 | 亚洲精品国偷拍自产在线观看蜜桃 | 久久色在线播放 | 一区二区视频在线免费观看 | 国产精品免费大片视频 | 婷婷婷国产在线视频 | 91麻豆福利| 亚洲作爱视频 | 在线免费观看黄色 | 免费观看丰满少妇做爰 | 在线免费国产视频 | 999视频精品| 久久精品女人毛片国产 | 日本丶国产丶欧美色综合 | 天天射天天搞 | 男女视频91 | 99久久精品国产免费看不卡 | 狠狠操天天射 | 午夜视频在线网站 | 久久久国产精品免费 | 日本三级香港三级人妇99 | 九九热视频在线播放 | 在线免费观看国产视频 | 国产黄a三级三级 | 黄色毛片电影 | 婷婷六月网 | 免费看污片 | 久久国产一区二区 | 狠狠干网站 | 亚洲精品资源在线观看 | av久久在线 | 亚洲一级特黄 | 久久久久久久国产精品 | 日韩欧美在线观看一区二区 | 成人h动漫在线看 | 九九久久影院 | 69亚洲精品| 91丨九色丨首页 | 在线国产能看的 | 国产成人av福利 | 99国产视频在线 | 天天爽综合网 | 91av视屏 | 天天射射天天 | 日韩理论片在线观看 | 欧日韩在线 | 亚洲成a人片77777kkkk1在线观看 | 免费性网站| 亚洲在线黄色 | 国产精品毛片一区二区三区 | 国产精品黄网站在线观看 | 国产精品刺激对白麻豆99 | 国产高清在线不卡 | 国产一区二区免费 | 97超碰香蕉| 久久www免费人成看片高清 | 亚洲免费一级 | 一区二区三区日韩在线 | 国产高清视频免费在线观看 | 欧美精品首页 | 丁香激情网 | 欧美另类高清 videos | 国产群p | 四虎视频 | 在线观看久久久久久 | 亚洲精品视频二区 | 日韩试看| 久久夜夜爽 | 伊人狠狠色丁香婷婷综合 | 日韩在线观看中文字幕 | 激情亚洲综合在线 | 欧美视频网址 | www.狠狠色.com | 亚洲综合在线观看视频 | 中文字幕免费成人 | 在线精品视频免费观看 | 9草在线| 国产中文在线字幕 | 亚洲天堂网在线视频观看 | 国产成人精品一区在线 | 少妇bbbb搡bbbb搡bbbb | 欧美精品在线观看一区 | 久久精品免视看 | 国产精品久久久久久久久久久久午夜片 | 久久99久久99精品免费看小说 | 日韩国产精品毛片 | 国产精品久久久免费看 | 狠狠88综合久久久久综合网 | 91亚洲网 | 国产看片网站 | 亚洲婷婷在线 | 日本性生活免费看 | 成 人 黄 色 免费播放 | 亚洲成av人片在线观看 | 久久激情五月婷婷 | 婷色在线 | 亚洲精品在线观看网站 | 日韩在线视频不卡 | 日韩一区二区三区免费视频 | 欧美精品乱码久久久久久按摩 | 日韩精品中文字幕av | 国际精品网 | 免费一级日韩欧美性大片 | 中文字幕一区二区在线播放 | 婷婷丁香六月 | 久草香蕉在线 | 韩国av三级 | 国产美女精品人人做人人爽 | 婷婷亚洲综合五月天小说 | 激情av资源 | 91视频高清完整版 | 干综合网 | 韩国av一区| 久久夜夜操 | 中文乱幕日产无线码1区 | 在线观看视频91 | 久久永久免费视频 | av三级在线免费观看 | 色综合久久中文字幕综合网 | 欧美日韩久久一区 | 一级片视频在线 | 久久国产精品成人免费浪潮 | 在线播放国产一区二区三区 | 九九热精品视频在线播放 | 国产精品免费视频一区二区 | 欧美日韩精品在线免费观看 | 日韩成人在线免费观看 | 天天干,天天射,天天操,天天摸 | 国产欧美在线一区二区三区 | 久久午夜色播影院免费高清 | 国产中文字幕在线 | 久久精品视频在线 | 97超碰人人模人人人爽人人爱 | 97超碰人人模人人人爽人人爱 | 国产成人三级在线 | 亚洲精品视频中文字幕 | 日韩免费在线观看视频 | 中文字幕观看视频 | 国产在线探花 | 五月天天色 | 日本三级吹潮在线 | 国产精品美女久久久久久久久久久 | av免费在线看网站 | 亚洲人成影院在线 | 视频国产精品 | 欧美性生交大片免网 | 日本三级香港三级人妇99 | 国产高清精品在线 | 99精品在线直播 | 狠狠狠色丁香婷婷综合久久88 | 91精品免费在线 | 911国产| 亚洲欧美日韩在线看 | 午夜a区| 国产午夜麻豆影院在线观看 | www.久艹| 91精品毛片 | 在线影院中文字幕 | 黄色一级性片 | 国产午夜精品一区二区三区四区 | 久久久久久黄 | 青青草国产成人99久久 | 亚洲黄色免费网站 | 久草在线视频首页 | 97香蕉超级碰碰久久免费软件 | 中文字幕高清免费日韩视频在线 | 欧美最猛性xxxxx(亚洲精品) | 天堂av色婷婷一区二区三区 | 日本特黄一级 | 丁香激情五月 | 日韩在线免费小视频 | 久久狠狠一本精品综合网 | 久久香蕉电影 | 97精品久久| 一区二区三区免费在线观看 | 天天射天天干天天插 | 91色网址 | 狠狠躁夜夜躁人人爽视频 | 亚洲播播| 九九久久久久久久久激情 | 国产精品中文字幕在线 | 亚洲国产精品99久久久久久久久 | 99视频免费| 三上悠亚一区二区在线观看 | 日韩高清一二三区 | 日韩精品免费在线视频 | 中文国产在线观看 | 在线免费黄色毛片 | 欧美日韩午夜爽爽 | 久久久久久久久久久网站 | 日本在线观看中文字幕无线观看 | 正在播放亚洲精品 | 久久福利综合 | 一区二区三区在线看 | 免费久久99精品国产婷婷六月 | 97人人澡人人添人人爽超碰 | 午夜影视一区 | 五月激情综合婷婷 | 国产一级做a爱片久久毛片a | 国产精品久久久久久久av大片 | 亚洲最新毛片 | 99精品一区二区三区 | 久久黄色免费观看 | 午夜精品一区二区三区在线视频 | 精品国产电影一区 | 精品国产乱码久久久久久天美 | 亚洲日本精品视频 | 男女啪啪网站 | 天天操天天干天天操天天干 | 国产三级精品在线 | 正在播放 久久 | 91精品在线看 | 国产成人a v电影 | 美腿丝袜av | 波多野结衣资源 | 成人av免费播放 | 99免费看片 | 毛片网站观看 | 久久成人在线 | 日韩高清免费在线观看 | 超碰人人做| 国产视频在线免费 | 五月的婷婷 | 色综合天天| 在线 视频 一区二区 |