精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

網(wǎng)易實(shí)踐:用Apache Kyuubi構(gòu)建云原生Spark網(wǎng)關(guān)

云計(jì)算 云原生 大數(shù)據(jù)
本文基于網(wǎng)易數(shù)帆軟件工程師、Apache Kyuubi/Zeppelin PMC 成員潘成老師的分享整理匯總。通過本文,可以從網(wǎng)易在 Spark 服務(wù)化的經(jīng)驗(yàn)中,學(xué)習(xí)如何使用 Apache Kyuubi 構(gòu)建統(tǒng)一的 Spark 網(wǎng)關(guān),既滿足業(yè)務(wù)團(tuán)隊(duì)多樣的 Spark 使用方式,又可以適配不同基礎(chǔ)設(shè)施環(huán)境中多樣的 Spark 部署方式。

一、Apache Kyuubi 簡介

首先簡單介紹一下 Kyuubi 這個(gè)項(xiàng)目。Kyuubi 是一個(gè)分布式、多租戶的企業(yè)級大數(shù)據(jù)網(wǎng)關(guān),在基礎(chǔ)設(shè)施組件中,Kyuubi 處在接入層的位置。

圖片

Kyuubi 提供多種 API 以供不同類型的工作負(fù)載接入,典型的使用場景包括:使用 JDBC/BeeLine 以及各種 BI 工具,連接 Kyuubi 進(jìn)行交互式的數(shù)據(jù)分析;使用 RESTful API向Kyuubi 提交 SQL/Python/Scala/Jar 批作業(yè)。

作為一個(gè)企業(yè)級組件,Kyuubi 深度適配了 Hadoop 生態(tài)標(biāo)準(zhǔn)的 Kerberos 安全體系,同時(shí)也支持企業(yè)常用的 LDAP 安全認(rèn)證協(xié)議。特別的,客戶端可以選擇使用 LDAP 認(rèn)證接入 Kyuubi,無縫橋接到開啟 Kerberos 的 Hadoop 集群,簡化用戶接入成本。

除了作為網(wǎng)關(guān)的主體功能外,Kyuubi 項(xiàng)目還包含一系列可以獨(dú)立使用的 Spark 插件,比如細(xì)粒度權(quán)限管理、Hive 表小文件治理、Z-Order、SQL 血緣提取、限制查詢數(shù)據(jù)掃描量等常用功能。

為幫助大家更清晰地了解 Kyuubi,首先回答幾個(gè)新接觸 Kyuubi 同學(xué)常問的問題。

圖片

首先要明確的是,Kyuubi 不是計(jì)算引擎,而是一個(gè)網(wǎng)關(guān);Kyuubi 與計(jì)算引擎處在不同的生態(tài)位,Kyuubi 搭配計(jì)算引擎可以構(gòu)建企業(yè)級解決方案:

  • Kyuubi 為不同的計(jì)算引擎,如 Spark、Trino,提供統(tǒng)一的接入?yún)f(xié)議、認(rèn)證方式,簡化了企業(yè)級場景多引擎的接入和管理成本。
  • 對于部分計(jì)算引擎,比如 Spark、Flink,Kyuubi 可以按需拉起、銷毀計(jì)算引擎實(shí)例,管理計(jì)算引擎的生命周期,實(shí)現(xiàn)極致的資源彈性。以 Spark 為例,當(dāng)客戶端發(fā)起到 Kyuubi Server 到連接后,Kyuubi Server 會(huì)首先到服務(wù)發(fā)現(xiàn)中心查詢合適的計(jì)算引擎,若找不到,會(huì)調(diào)用 spark-submit 啟動(dòng)一個(gè)計(jì)算引擎;啟動(dòng)后的計(jì)算引擎會(huì)將自己的連接信息注冊到服務(wù)發(fā)現(xiàn)中心,然后 Kyuubi Server 即可通過內(nèi)置 RPC 與計(jì)算引擎通信。要注意的是,Kyuubi 目前僅支持 spark-submit 而非 Spark Operator,此項(xiàng)選擇的考慮將會(huì)在后文詳述。
  • Kyuubi 提供了靈活的路由機(jī)制,支持按用戶、組等規(guī)則將查詢路由到指定計(jì)算引擎實(shí)例,滿足多種場景下的多租戶需求。

圖片

另一個(gè)很多用戶關(guān)心的問題是,Kyuubi 既然支持多種計(jì)算引擎,是否也支持 SQL 方言轉(zhuǎn)換呢?其實(shí) Kyuubi 社區(qū)有很多用戶提過此類需求,經(jīng)過一系列的討論,核心開發(fā)者總體并不期望涉足此方向:一方面由于不同引擎的固有差異,SQL rewrite 不能盡善盡美;另外這是一個(gè)相對獨(dú)立的方向,我們看到比如由 LinkedIn 開源的 Coral 項(xiàng)目是專注于此領(lǐng)域的項(xiàng)目。因此,Kyuubi 不支持 SQL 方言轉(zhuǎn)換,但會(huì)提供開發(fā)者 API,允許用戶結(jié)合其他項(xiàng)目自定義插件去按需改寫 SQL。

目前,Kyuubi 已經(jīng)提供了 Session 級別的插件 API,允許管理員為每個(gè)會(huì)話注入不同的配置,可以實(shí)現(xiàn) HBO 優(yōu)化、將計(jì)算引擎路由到不同的集群等功能。在 2025 上半年,我們計(jì)劃開放 Query 級別的插件 API,允許管理員為每個(gè)查詢注入特定的配置、改寫查詢語句。

二、Kyuubi 支撐多種 Spark 使用場景

Spark 是一個(gè)靈活的計(jì)算引擎,提供多種 API,針對不同的業(yè)務(wù)場景,用戶也有各種各樣的使用姿勢,接下來介紹一下 Kyuubi 作為 Spark 網(wǎng)關(guān),最典型的幾類使用場景。

圖片

首先是純 SQL 場景,尤其是用戶已有基于 Hive 的數(shù)倉業(yè)務(wù),期望遷移到 Spark SQL 以降本增效。

Kyuubi 完全兼容 HiveServer2 的 thrift 通信協(xié)議,因此用戶無需調(diào)整客戶端,只需簡單修改連接地址即可將 SQL 發(fā)送到 Kyuubi 執(zhí)行;再加上 Spark SQL 高度兼容 Hive 語法,絕大部分 SQL 無需任何改動(dòng),少部分 SQL 做微調(diào)即可實(shí)現(xiàn) Hive 到 Spark SQL 地平滑遷移。

相較于 Spark 內(nèi)置的 Thrift Server,Kyuubi 支持 Spark Cluster 模式,將重度邏輯轉(zhuǎn)移到引擎端 ,大幅增強(qiáng)了 Server 端的穩(wěn)定性;同時(shí) Kyuubi 提供多種引擎共享級別,如默認(rèn)的 USER 模式,每個(gè)用戶的所有查詢復(fù)用一個(gè) Spark App,避免了 ad-hoc 查詢的冷啟動(dòng)時(shí)間。CONNECTION 模式更適合 ETL 調(diào)度作業(yè),每個(gè)查詢使用單獨(dú)的 Spark App,確保作業(yè)之間不會(huì)互相干擾,最大程度提升穩(wěn)定性。

在網(wǎng)易內(nèi)部的某業(yè)務(wù)線實(shí)踐中,使用 Kyuubi 將 ETL 作業(yè)從Hive 遷移到 Spark SQL,大幅降低了資源使用,同時(shí)提升了性能,獲得綜合 7 倍的收益。

圖片

第二個(gè) Spark 比較典型的用戶場景是 Notebook。

一些流行的發(fā)行版,比如 CDH,不提供 spark-sql 命令和 ThriftServer 組件。很多企業(yè)的基礎(chǔ)設(shè)施團(tuán)隊(duì),出于可管控、安全的角度,不希望向業(yè)務(wù)團(tuán)隊(duì)直接提供 Hadoop 客戶端機(jī)器登錄權(quán)限,僅通過平臺(tái)向用戶暴露提交 SQL / Jar / PySpark 批作業(yè)的接口,也就限制了用戶直接使用 spark-sql、pyspark、sparkR 等原生命令的能力。

在網(wǎng)易內(nèi)部,所有的 Spark 都是托管的,我們和網(wǎng)易云音樂部門合作,基于 Zeppelin 完成了與 Kyuubi 的對接,支持了交互式的 SQL、Scala、PySpark 模式。其中 SQL 功能已經(jīng)推到了 Zeppelin 社區(qū)上游,詳見 ZEPPELIN-6027,我們計(jì)劃在 2025 上半年也將 PySpark 和 Scala 的集成推送到開源社區(qū)。

圖片

在企業(yè)中,Spark Jar 任務(wù)必然是一個(gè)繞不過的話題,Kyuubi 借鑒 Livy 的 batch 模式,在近期的版本中也支持了 Jar/Python 任務(wù)的 batch 作業(yè)調(diào)度。同時(shí)得益于 Kyuubi 使用 spark-submit 提交 Spark App,可以輕易地完成 Spark on YARN 到 Spark on K8s 到切換。

在網(wǎng)易內(nèi)部的一個(gè)業(yè)務(wù)線中,我們使用 Kyuubi 替換掉了原有的 Livy 服務(wù),幫助業(yè)務(wù)方實(shí)現(xiàn)從單一的 Spark on YARN 到 Spark on YARN/K8s 的混合調(diào)度,用更少的硬件支撐了日均十萬級的 Spark 調(diào)度作業(yè)。

三、Kyuubi 對接多樣 Spark 部署形態(tài)

無論是網(wǎng)易集團(tuán)內(nèi)部不同的業(yè)務(wù)線,還是網(wǎng)易數(shù)帆作為一個(gè) B 端服務(wù)提供商對接的外部客戶,其提供的基礎(chǔ)設(shè)施差異總是巨大的,也對 Spark 的部署有不同的要求。比如即使大家都默認(rèn)將云原生和 Kubernetes 劃等號,各自的 Kubernetes 集群總是在存儲(chǔ)、網(wǎng)絡(luò)、調(diào)度器等方面存在巨大的差異。Kyuubi 作為一個(gè)通用的網(wǎng)關(guān),必須要盡可能適應(yīng)不同的 Spark 部署形態(tài),盡量抹除底層的差異,為用戶提供統(tǒng)一的接入方式。

圖片

首先一個(gè)常見的部署需求是多版本 Spark 共存,比如用戶可能出于兼容性目的,不想升級 Spark 版本;管理員可能希望灰度測試 Spark 新版本。得益于 Kyuubi 的架構(gòu)設(shè)計(jì)和完備的兼容性測試,多版本 Spark 支持是非常友好的,具體表現(xiàn)在:

  • Kyuubi Server 與 Spark 完全解耦、進(jìn)程隔離,僅通過拼接 spark-submit 命令提交 Spark App,因此可以通過覆蓋 SPARK_HOME 環(huán)境變量切換 Spark 客戶端,并自動(dòng)檢測 Spark 客戶端的 Scala 版本,使用正確 Scala 版本的 engine Jar 提交 Spark App。
  • Spark Engine 使用反射等技術(shù)支持多個(gè) Spark 版本,并且經(jīng)過充分的集成測試確保跨版本 Spark 的二進(jìn)制兼容性,使得一套 Kyuubi 集群同時(shí)支持多個(gè) Spark 版本。

圖片

另一個(gè)常見的需求是 Spark on YARN / K8s 的混合部署,相信大部分 Spark on YARN 的用戶往 Spark on K8s 的遷移不是一蹴而就的,會(huì)希望有一個(gè)平臺(tái)可以靈活地控制將 Spark 作業(yè)提交到 YARN 或 K8s,實(shí)現(xiàn)漸進(jìn)式的平滑遷移。

前面提到,Kyuubi 已經(jīng)提供了 Session 級別的插件 API,允許管理員為每個(gè)會(huì)話注入不同的配置。我們預(yù)置了一個(gè)基于配置文件的內(nèi)置實(shí)現(xiàn),允許管理員將一組配置預(yù)置到一個(gè) profile 配置文件中,用戶只需指定此 profile 即可加載所有配置。如上的例子中,我們預(yù)置了兩組配置,分別對應(yīng) yarn-hz 集群和 k8s-gy 集群,本質(zhì)上即是一些 spark 相關(guān)的配置,這樣用戶僅需在提交作業(yè)時(shí),指定 kyuubi.session.conf.profile 即可控制將此 Spark 作業(yè)提交到 YARN 或 K8s 集群。

圖片

同樣地,借助上述的 profile 特性,我們也可以預(yù)置一些比如 gluten、java17 等配置文件,可以灰度地為一些 Spark 作業(yè)啟用 Native Engine、Java 17 等較新的實(shí)驗(yàn)特性,提升 Spark 作業(yè)執(zhí)行效率。

圖片

這是一個(gè) Kyuubi 社區(qū)用戶貢獻(xiàn)的案例,他發(fā)現(xiàn)阿里云某個(gè)產(chǎn)品提供了一個(gè)全托管的 Spark 服務(wù),如果能與 Kyuubi 結(jié)合,既可以省去 Spark/YARN/K8s 集群的維護(hù)成本,又能享受公有云極致彈性和按量付費(fèi)的服務(wù)。

此托管服務(wù)開放的入口有限,僅提供了一個(gè)與 spark-submit 兼容的命令行工具,通過解壓也不難看出,這應(yīng)該僅是對 API 的一個(gè)封裝,并非真正的 spark-submit。得益于 Kyuubi 使用 spark-submit 提交 Spark App,該用戶輕易地就完成了對接,實(shí)現(xiàn)了公有云上按需付費(fèi)的 Spark SQL 服務(wù)。

四、Kyuubi 在 Spark 4 時(shí)代的基于與挑戰(zhàn)

Spark 4 正在如火如荼的開發(fā)中,Spark 4.0 預(yù)計(jì)將于 2025 年上半年發(fā)布,帶來一系列的新特性,其中一項(xiàng)重磅特性即宣布 Spark Connect GA。

Spark Connect 是由 Databricks 主導(dǎo)開發(fā)的一項(xiàng)新特性,其全新的架構(gòu)可能會(huì)改變未來 Spark 主流的使用方式。

Kyuubi 項(xiàng)目流行的一個(gè)重要因素是兼容 HiveServer2 通信協(xié)議,兼容 Hive 生態(tài)。Spark 4 提出了自己的 Connect 協(xié)議,我們也希望 Kyuubi 未來能兼容 Connect 協(xié)議,再次乘得 Spark 生態(tài)的東風(fēng)。

圖片

簡單而言,Spark Connect 是希望將所有以 DataFrame 為主的 Spark Public API 由方法調(diào)用變成 gRPC 遠(yuǎn)程調(diào)用的方式,將客戶端與服務(wù)端分離,類似于將 Hive 遷移到 BeeLine 和 HiveServer2 的過程。

理想情況下,Spark Connect 可以將 Spark Jar / PySpark 任務(wù)也支持服務(wù)化,這會(huì)進(jìn)一步簡化 Spark 的上手成本,比如大幅簡化 PySpark 用戶配置本地環(huán)境和安裝依賴步驟,用戶只需安裝一個(gè) 1MiB 多的客戶端,直接連接遠(yuǎn)程的 Connect Server 即可運(yùn)行 Spark 作業(yè)。

圖片

在具體實(shí)現(xiàn)細(xì)節(jié)上,Connect Server 與 Thrift Server 有很多異同之處,如果大家對 Thrift Server 有了解,通過對比可以快速了解 Connect Server。

首先兩者的通信協(xié)議不同,Connect Server 選擇了 gRPC 而非 Thrift,基于 gRPC 目前的生態(tài),我相信這也是當(dāng)下最正確的選擇;在 API 數(shù)量上,Thrift 僅需考慮 SQL 場景,而 Connect 覆蓋 DataFrame 幾乎所有 API,API 和數(shù)據(jù)結(jié)構(gòu)數(shù)量上 Connect 要遠(yuǎn)多與 Thrift;兩者架構(gòu)無本質(zhì)卻別,都是單點(diǎn)的 RPC Server,也僅支持 Client 模式。

Kyuubi 兼容 Thrift Server 的API,但架構(gòu)創(chuàng)新取得了成功,這是否意味著 Kyuubi 的架構(gòu)也能適用于 Connect Server,再次取得成功?

圖片

對此我們持樂觀態(tài)度,并且已經(jīng)實(shí)現(xiàn)了一個(gè) PoC 版本,驗(yàn)證了此想法的可行性,歡迎有興趣的同學(xué)到 GitHub 進(jìn)一步交流。

五、Q&A

Q1:Kyuubi Server 服務(wù)如果崩潰,正在執(zhí)行的 SQL 會(huì)失敗嗎?

A1:如果使用 THRIFT_BINARY 協(xié)議,即基于 TCP 長鏈接,socket 斷開后會(huì)自動(dòng)關(guān)閉會(huì)話并 cancel 所有正在執(zhí)行的 SQL,可以通過配置 kyuubi.session.close.on.discnotallow=true 來改變此行為;如果使用 RESTful Batch API 提交的作業(yè),則不會(huì)受到影響。

Q2:Spark on K8s 場景下,Kyuubi Server 可以部署在 K8s 外部嗎?如果可以,Kyuubi Server 如何與 Spark Driver 通信呢?

A2:可以,只要外部網(wǎng)絡(luò)與 K8s 內(nèi)部網(wǎng)絡(luò)互通即可。一般情況下,我們使用 Cluster 模式運(yùn)行 Spark on K8s,Kyuubi Engine(即 Spark App)啟動(dòng)后,會(huì)將 Spark Driver Pod 的 IP 注冊到 Zookeeper 或 ETCD 以供 Kyuubi Server 發(fā)現(xiàn)和連接。默認(rèn)情況下,K8s 的 Service 和 Pod 運(yùn)行在與宿主機(jī)不同的網(wǎng)段中,其具體實(shí)現(xiàn)取決于管理員安裝的 CNI 插件, 常用的網(wǎng)絡(luò)插件如 Calico 可以使用 BGP 協(xié)議將 K8s 網(wǎng)絡(luò)平面與宿主機(jī)網(wǎng)絡(luò)聯(lián)通,即可正常通信;在實(shí)踐中,我們也看到一些用戶通過使用 Host 網(wǎng)絡(luò)模式運(yùn)行 Spark on K8s,直接規(guī)避了不同網(wǎng)絡(luò)平面的通信的問題。這也印證了前面提及的觀點(diǎn):雖然大家都在向云原生靠攏,但對云原生有不同的理解,Spark 云原生部署依然面臨著巨大的基礎(chǔ)設(shè)施差異。

責(zé)任編輯:姜華 來源: DataFunTalk
相關(guān)推薦

2022-05-19 10:52:20

云原生網(wǎng)關(guān)技術(shù)

2022-05-13 14:28:03

云原生權(quán)限云原生

2023-06-12 07:44:21

大數(shù)據(jù)數(shù)據(jù)治理

2023-03-15 07:29:54

開源數(shù)據(jù)湖

2023-11-20 07:27:00

云原生Spark

2022-04-28 15:34:00

應(yīng)用優(yōu)化實(shí)踐

2017-03-07 10:00:01

定義實(shí)踐DevOps

2023-06-14 08:25:18

2022-10-14 14:20:20

云原生數(shù)據(jù)倉庫

2016-11-22 13:25:28

Apache Spar大數(shù)據(jù)

2020-11-19 15:01:50

云原生IBMCloud Paks

2022-05-02 15:11:15

Bytedoc云原生數(shù)據(jù)庫服務(wù)

2020-03-04 09:56:56

網(wǎng)絡(luò)安全云原生容器

2020-09-18 13:09:15

云原生云安全網(wǎng)絡(luò)安全

2022-09-14 23:14:10

vivoPulsar大數(shù)據(jù)

2024-05-31 08:53:40

2021-06-15 09:57:23

云計(jì)算云原生云開發(fā)

2016-11-29 09:27:22

Apache SparDashboard構(gòu)建

2018-09-20 20:46:51

云原生CNBPS靈雀云

2017-12-10 14:13:14

云服務(wù)云原生應(yīng)用程序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

亚洲男人天堂古典| 懂色av一区二区三区| 国产精品一区二区三区成人| 黄色片网站在线播放| 香蕉久久一区| 亚洲一区中文日韩| 欧美高清性xxxxhd| 中文字幕第一页在线播放| 91精品久久久久久久蜜月| 精品成人一区二区| 欧美日韩国产精品激情在线播放| 国产小视频在线观看| 久久99日本精品| 隔壁老王国产在线精品| 亚洲最大成人综合网| 精品国产亚洲一区二区三区在线| 天天操天天色综合| 亚洲国产精品www| 亚洲精品第五页| 日本欧美一区二区三区| 欧美激情视频一区二区三区不卡| 成都免费高清电影| 亚洲成人黄色| 欧美午夜精品久久久久久超碰| 真人做人试看60分钟免费| 国产尤物视频在线| 成人h动漫精品一区二| 国产日韩在线视频| 西西44rtwww国产精品| 91精品成人| 在线观看视频99| a天堂视频在线观看| 日韩一区二区三免费高清在线观看| 午夜久久福利影院| 伊人再见免费在线观看高清版| 国产天堂素人系列在线视频| 成人精品一区二区三区四区| 91精品久久久久久综合乱菊| 国产一级片av| 亚洲综合电影一区二区三区| 欧美精品福利在线| 成熟的女同志hd| 日韩久久精品| 在线播放国产精品| 中文字幕在线1| 香蕉久久夜色精品国产更新时间 | 91视频免费网址| 欧美成人69| 久久久国产精品亚洲一区| 西西444www无码大胆| 麻豆成人入口| 亚洲缚视频在线观看| 麻豆免费在线观看视频| 久久伊人久久| 欧美一级高清大全免费观看| 中文字幕66页| 99riav视频一区二区| 色综合天天狠狠| 国产av无码专区亚洲精品| 成年男女免费视频网站不卡| 亚洲h在线观看| 成人午夜免费在线| 超碰资源在线| 色综合天天综合狠狠| 国产日韩一区二区在线观看| 亚洲天堂导航| 在线免费观看不卡av| 爆乳熟妇一区二区三区霸乳| 99久久精品一区二区成人| 欧美性色综合网| 国产精品视频中文字幕| 9999精品| 精品久久五月天| xfplay5566色资源网站| 另类图片第一页| 国产视频自拍一区| 精品欧美一区二区久久久| 精品午夜久久| 久久精品久久久久久国产 免费| 尤物在线免费视频| 亚洲欧美综合| 96精品视频在线| www.国产一区二区| 久久电影国产免费久久电影| 亚洲直播在线一区| 色婷婷av一区二区三| 久久亚洲精品国产精品紫薇| 亚洲不卡1区| 欧美一级二级三级区| 一区二区三区蜜桃| 日韩欧美精品在线观看视频| 国产成人精品一区二区三区在线| 欧美一区二区三区在线观看视频| av免费观看不卡| 国内精品久久久久久99蜜桃| www.日韩.com| 欧美精品亚洲精品日韩精品| 日本不卡123| 高清不卡日本v二区在线| 四虎精品成人影院观看地址| 国产性天天综合网| 久久久久久久久网| 韩国成人漫画| 日韩一区二区三区在线| 97人妻精品一区二区三区免| 欧美1级片网站| 国模精品视频一区二区| 久久午夜鲁丝片| 成人av资源在线观看| 日韩av一级大片| 免费影视亚洲| 欧美手机在线视频| 欧亚乱熟女一区二区在线| 日韩精品网站| 日本国产精品视频| a级片免费观看| 国产亚洲一区二区三区| 欧美国产综合在线| 亚洲国产一区二区久久| 亚洲欧美中文日韩在线| 九热这里只有精品| 国产一区亚洲一区| 性欧美videosex高清少妇| 亚洲国产欧美日本视频| 精品久久久久久久久久久久久久久 | 亚洲精品97久久| 国产精品久久久久久久精| 天堂影院一区二区| 激情五月综合色婷婷一区二区 | 日本午夜精品久久久| 久久躁日日躁aaaaxxxx| 中文字幕免费高清网站| 99re8在线精品视频免费播放| 久久香蕉视频网站| 91久久青草| 色偷偷88888欧美精品久久久| 国产精品久免费的黄网站| 成人福利视频网站| 丰满人妻一区二区三区53号| 国产精品毛片无码| 日韩中文字幕免费视频| 午夜视频网站在线观看| 久久蜜桃一区二区| 99精品视频在线看| 亚洲精品**不卡在线播he| 国产+成+人+亚洲欧洲| 成人毛片视频免费看| 亚洲精品日产精品乱码不卡| 亚洲欧美手机在线| 999精品视频| 成人福利视频网| 日本免费视频在线观看| 欧美日韩精品一区二区三区| 国产18无套直看片| 欧美aaaaaa午夜精品| 色噜噜狠狠一区二区三区| 播放一区二区| 色婷婷久久av| 99re只有精品| 一区二区在线免费| 精品人妻一区二区免费| 亚洲激情婷婷| 久久久久网址| 国产日韩另类视频一区| 亚洲欧洲日本专区| 中文区中文字幕免费看| 国产精品免费看片| 三级黄色片免费观看| 欧美jjzz| 国产综合动作在线观看| 涩涩视频在线播放| 亚洲最新av网址| 国产有码在线观看| 亚洲在线观看免费| 国产伦精品一区三区精东| 午夜亚洲性色福利视频| 视频一区二区综合| 国产精品亚洲欧美日韩一区在线| 久久久久久久激情视频| 日韩一区av| 欧美日韩一区二区三区四区五区| 国产美女久久久久久| 成人在线视频首页| 国产成人无码一二三区视频| 欧美成人激情| 国产精品12| 日韩一区二区三区免费| 麻豆成人在线看| 神宫寺奈绪一区二区三区| 色婷婷久久久综合中文字幕| 欧美色视频一区二区三区在线观看| 国产福利一区在线| 亚洲人成色77777| 91精品国产91久久久久久密臀 | 丰满熟女一区二区三区| 欧美性xxxxx极品娇小| 亚洲少妇xxx| yourporn久久国产精品| 天堂网在线免费观看| 欧美亚洲不卡| 翔田千里亚洲一二三区| 国产精品丝袜在线播放| 国产精品久久久av久久久| 日本色护士高潮视频在线观看| 日韩精品有码在线观看| 国产麻豆精品一区| 色婷婷久久久久swag精品| 国产高清在线免费观看| 国产人久久人人人人爽| 国内精品免费视频| 精品在线免费视频| 成人三级视频在线播放 | 男人操女人免费软件| 天天久久综合| 欧美午夜欧美| 成人免费在线电影网| 国产欧美日韩视频| 成人性生活视频| 九九久久久久久久久激情| 国产二区视频在线观看| 亚洲国产天堂久久综合| 99久久精品国产色欲| 日本国产一区二区| 日韩xxxxxxxxx| 亚洲男人的天堂在线观看| 最新中文字幕av| 91在线你懂得| 亚洲一区二区三区四区av| 国产老女人精品毛片久久| 亚洲免费av一区二区三区| 国产婷婷精品| 国产aaa免费视频| 欧美三级小说| 日日噜噜夜夜狠狠久久丁香五月| 欧美影院三区| 欧美在线一二三区| 亚洲涩涩av| 黑人中文字幕一区二区三区| 99国产精品免费网站| 91亚洲va在线va天堂va国| 欧美日韩va| 国产精品视频地址| 成人免费一区| 国产精品欧美久久久| 一二区成人影院电影网| 国产成人一区二区| 久久爱91午夜羞羞| 日本中文字幕不卡免费| 成人爽a毛片免费啪啪| 日韩免费观看视频| 亚洲日本网址| 国产精品免费在线免费| 国产综合色激情| 成人国产精品久久久| 成人在线视频区| 91免费在线视频| 日韩一区二区三区精品| y111111国产精品久久婷婷| 日韩一级淫片| 精品国产综合| 精品一区三区| 日韩欧美一区二区视频在线播放| 国产一区2区| 亚洲巨乳在线观看| 亚洲最新av| 国内精品国产三级国产99| 一区二区视频欧美| 国产中文字幕视频在线观看| 久久亚洲电影| 五月婷婷六月丁香激情| 国产一区二区三区免费| 第一页在线视频| 99视频精品全部免费在线| 中文字幕在线1| 日韩毛片高清在线播放| 免费一级片在线观看| 精品久久久久久久久久久久| 中文在线第一页| 欧美欧美欧美欧美首页| xxxx18国产| 亚洲欧美成人网| 欧美成人三区| 国语自产偷拍精品视频偷| 男人最爱成人网| 91精品一区二区| 国产成人tv| 色综合久久久久久久久五月| 91精品国偷自产在线电影| 欧美变态另类刺激| 老鸭窝一区二区久久精品| 古装做爰无遮挡三级聊斋艳谭| 成人aa视频在线观看| 鲁丝一区二区三区| 一区二区三区.www| 无码日韩精品一区二区| 欧美一级片在线观看| 天堂av在线7| 久久久成人av| 不卡一二三区| 成人91免费视频| 欧美偷拍综合| 国产精品999视频| 久久国产精品72免费观看| 污污内射在线观看一区二区少妇 | 台湾成人av| 黄色在线成人| 日韩av.com| 久久精品夜色噜噜亚洲aⅴ| 中文字幕在线2021| 在线精品视频一区二区三四| 高h调教冰块play男男双性文| 国产一区二区三区精品久久久| 欧美xxxx性xxxxx高清| 国产精品一区久久| 一区二区美女| 亚洲理论电影在线观看| 久久99久久久欧美国产| 一级性生活毛片| 亚洲成人在线观看视频| 国产毛片在线视频| 国产亚洲欧美日韩精品| 老色鬼在线视频| 亚洲中国色老太| 欧美oldwomenvideos| 青青草原av在线播放| 成人免费视频一区| 国产suv一区二区三区| 精品视频免费在线| 国产粉嫩一区二区三区在线观看| 欧美性视频网站| 果冻天美麻豆一区二区国产| 欧洲xxxxx| 精品一区中文字幕| 欧美精品日韩在线| 在线精品视频免费观看| 你懂的免费在线观看| 97成人在线视频| 美女av一区| 成人毛片视频网站| 99久久99精品久久久久久| 午夜偷拍福利视频| 精品少妇一区二区三区| 日本无删减在线| 国产高清一区视频| 国产综合精品| 图片区偷拍区小说区| 樱花影视一区二区| 亚洲乱码在线观看| 欧美极品少妇xxxxⅹ喷水| 激情五月综合婷婷| 青青视频免费在线观看| 国产91精品一区二区麻豆网站| 美女福利视频在线观看| 日韩丝袜情趣美女图片| 免费污视频在线| 国产一级特黄a大片99| 一本色道久久综合亚洲精品高清| 人妻av一区二区| 五月天激情小说综合| 天天色综合久久| 欧美在线视频一区二区| 久草在线成人| 在线看的黄色网址| 亚洲欧美在线观看| 国产青青草视频| 高清欧美性猛交xxxx| 亚洲最好看的视频| 国产精品一区二区羞羞答答| 国产精品人妖ts系列视频| 国产美女www爽爽爽视频| 欧美日韩福利视频| 乱中年女人伦av一区二区| 亚洲精品高清无码视频| 亚洲欧美综合色| 日韩一区二区三区不卡| 日韩美女视频在线观看| 91亚洲国产| xxxwww国产| 在线看国产一区| 亚洲综合图区| 久久久免费看| 极品美女销魂一区二区三区免费| 欧美日韩亚洲国产另类| 日韩的一区二区| 国产精品99| 东北少妇不带套对白| 91片黄在线观看| 91国在线视频| 性色av一区二区三区红粉影视| 国产一区二区欧美| 国产精品igao网网址不卡| 亚洲妇熟xx妇色黄| 成人p站proumb入口| 国产成人精品福利一区二区三区 | 亚洲免费在线电影| 天堂中文资源在线| 国产精品亚洲综合天堂夜夜| 亚洲午夜伦理| 奇米网一区二区| 亚洲国产成人精品一区二区|