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

IoT前沿 | 流數(shù)據(jù)處理難?一切都在計劃之中

企業(yè)動態(tài)
俗話說“眼過百遍不如動手一遍”,Pravega說得再好,那也是王婆賣瓜,不如讓各位讀者親自動手部署一番,因此在今天的這篇文章里,我們將為大家詳細介紹Pravega的部署方法。

各位讀者,《IoT前沿》欄目已經(jīng)進行了三期啦~

之前的內(nèi)容里,我們已經(jīng)對Pravega的特性和優(yōu)勢進行了介紹,相信大家對它已經(jīng)有了一個完整的了解。

現(xiàn)在問題來了,既然Pravega歪瑞酷,能夠解決未來流數(shù)據(jù)處理的難題,那么我要什么時候才能用上這項技術(shù)呢?

咳咳,雖然正式推出市場還在戴爾易安信的計劃之中...

但是,Pravega的發(fā)行版已經(jīng)開放,可以供大家下載使用了!

俗話說“眼過百遍不如動手一遍”,Pravega說得再好,那也是王婆賣瓜,不如讓各位讀者親自動手部署一番,因此在今天的這篇文章里,我們將為大家詳細介紹Pravega的部署方法

Pravega從入門到精通,從這里開始~

作者簡介

[[262113]]

滕昱

滕昱:就職于Dell EMC中國研發(fā)集團,非結(jié)構(gòu)化數(shù)據(jù)存儲部門團隊并擔任軟件開發(fā)總監(jiān)。2007年加入Dell EMC以后一直專注于分布式存儲領(lǐng)域。參加并領(lǐng)導(dǎo)了中國研發(fā)團隊參與兩代Dell EMC對象存儲產(chǎn)品的研發(fā)工作并取得商業(yè)上成功。從2017年開始,兼任Streaming存儲和實時計算系統(tǒng)的設(shè)計開發(fā)與領(lǐng)導(dǎo)工作。

[[262114]]

劉晶晶

劉晶晶:現(xiàn)就職于DellEMC,10 年+分布式、搜索和推薦系統(tǒng)開發(fā)以及架構(gòu)設(shè)計經(jīng)驗,現(xiàn)從事流存儲相關(guān)的設(shè)計與開發(fā)工作。

[[262115]]

周煜敏

周煜敏:復(fù)旦大學(xué)計算機專業(yè)研究生,從本科起就參與Dell EMC分布式對象存儲的實習(xí)工作。現(xiàn)參與Flink相關(guān)領(lǐng)域研發(fā)工作。

Pravega屬于戴爾科技集團IoT戰(zhàn)略下的一個子項目。該項目是從0開始構(gòu)建,用于存儲和分析來自各種物聯(lián)網(wǎng)終端的大量數(shù)據(jù),旨在實現(xiàn)實時決策。其結(jié)合了戴爾易安信PowerEdge服務(wù)器,并無縫集成到非結(jié)構(gòu)化數(shù)據(jù)產(chǎn)品組合Isilon和Elastic Cloud Storage(ECS)中,同時擁抱Flink生態(tài),以此為用戶提供IoT所需的關(guān)鍵平臺。

4.jpg

戴爾科技集團IoT解決方案集合了戴爾科技家族的力量,覆蓋從邊緣到核心再到云端

 

云原生與Pravega

隨著容器技術(shù)和云服務(wù)的發(fā)展,Kubernetes和云原生已經(jīng)重定義了應(yīng)用設(shè)計和開發(fā)的一些方面。

Pravega從設(shè)計之初就是云原生應(yīng)用,可以在各大公有/私有云平臺上進行部署和運行

  • 它的組件都是以低耦合的微服務(wù)形式存在,通過運行多個服務(wù)實例保證高可用性。
  • 每個服務(wù)實例運行于單獨的容器中,使用容器實現(xiàn)服務(wù)的相互隔離。
  • 可以使用容器編排工具(如Kubernetes)進行統(tǒng)一的服務(wù)發(fā)現(xiàn)、治理和編排,提高資源利用率,降低運營成本。

同時,Pravega團隊通過第三方資源機制擴展了Kubernetes的API,開發(fā)了能夠使得Pravega集群的創(chuàng)建、配置和管理更高效和自動化的Operator,包括 Pravega Operator和Zookeeper Operator,通過他們可以使得Pravega在Kubernetes環(huán)境中快速創(chuàng)建集群和動態(tài)擴展。這些Operator以及其他相關(guān)的容器鏡像會上傳至Pravega在DockerHub官方的鏡像倉庫:https://hub.docker.com/u/pravega中,用戶也可以直接拉取使用,源代碼也在GitHub網(wǎng)站:https://github.com/pravega上公開。

 

2 Pravega核心組件及交互

Pravega能夠以一致的方式靈活地存儲不斷變化的流數(shù)據(jù),主要得益于控制面(Control Plane)和數(shù)據(jù)面(Data Plane)的有機結(jié)合。兩者都由低耦合的分布式微服務(wù)組件管理,前者主要由控制器(Controller)實現(xiàn),后者主要由段存儲器(Segment Store)實現(xiàn),它們通常以多實例的形式運行在集群中。除此以外,一個完整的Pravage集群還包括一組Zookeeper實例,一組Bookkeeper實例,以及用于提供第二層的存儲的服務(wù)或接口。 它們的關(guān)系如圖:

5.jpg

控制器是Pravega的控制中心,對外提供 JAVA 和 REST 接口,接收客戶端對于Stream的創(chuàng)建、刪除、讀寫等請求;對內(nèi)負責Segment的管理和集群的管理。客戶端對于Stream的讀寫請求在控制器中被分拆為對Segment的請求,控制器確定需要使用哪些Segment,從而分發(fā)給相應(yīng)的段存儲器來操作。

段存儲器(Segment Store)提供了Segment的管理入口,實現(xiàn)了Segment的創(chuàng)建、刪除、修改和讀取功能。數(shù)據(jù)被存儲在一層和二層存儲上,由段存儲器負責數(shù)據(jù)的存儲和降層操作。其中一層存儲由低延遲的Bookkeeper擔任,通常運行于集群的內(nèi)部;二層存儲由容量大且成本較低存儲的擔任,一般運行于集群的外部。

Zookeeper做為集群的協(xié)調(diào)者, 它維護可用的控制器和段存儲器列表,控制器會監(jiān)聽它們的變化。當一個控制器從集群中刪除時,它的工作會被其他的控制器自動接管。當段存儲器發(fā)生變化時,控制器也會將段容器重新映射以保證系統(tǒng)的正常運行。

 

3 Pravega的部署

了解Pravega***方法就是自己動手部署一個,然后跑一下Pravega示例程序:

https://github.com/pravega/pravega-samples

單機版部署

單機版部署是最快捷的方式,你只需要從Pravega Release Github:https://github.com/pravega/pravega/releases下載一個Pravega發(fā)行版,解壓后運行:  

bin/pravega-standalone

單機版部署只能用來學(xué)習(xí)和測試,不能用于生產(chǎn)環(huán)境中,程序一旦關(guān)閉所有的數(shù)據(jù)也會丟失。

集群部署

Pravega可以運行于多個主機所組成的集群中,也可以運行于云平臺中。這里我們只介紹Kubernetes環(huán)境下的部署,其他的方式參考:

http://pravega.io/docs/latest/deployment/deployment/

運行之前,需要保證你擁有一套Kubernetes環(huán)境,可以是公有云上的Kubernetes服務(wù)(如GKE,Amazon EKS),或者是分布式集群上自建的Kubernetes環(huán)境(如通過Kubeadm),以及命令行工具kubectl,helm。

1首先,在你的Kubernetes環(huán)境中創(chuàng)建一個Zookeeper集群。

Zookeeper集群可以使用Zookeeper Operator來創(chuàng)建,你可以直接使用deploy文件夾中的資源描述文件來部署。  

git clone https://github.com/pravega/zookeeper-operator && cd zookeeper-operator
# 創(chuàng)建名為 ZookeeperCluster 的自定義資源定義(custom resource definition)
kubectl create -f deploy/crds/zookeeper_v1beta1_zookeepercluster_crd.yaml
# 創(chuàng)建 Zookeeper Operator 的服務(wù)賬號、角色和角色綁定,并部署 Zookeeper Operator
kubectl create -f deploy/default_nsall_ns/rbac.yaml
kubectl create -f deploy/default_nsall_ns/operator.yaml
# 部署 Zookeeper 集群,根據(jù)該資源描述文件,將會創(chuàng)建有三個節(jié)點的 Zookeeper 集群
kubectl create -f deploy/crds/zookeeper_v1beta1_zookeepercluster_cr.yaml

2然后,為Pravega第二層存儲創(chuàng)建單獨的持久化存儲卷(PV)及持久化存儲卷聲明(PVC)。

這里我們使用NFS Server Provisioner:https://github.com/kubernetes/charts/tree/master/stable/nfs-server-provisioner ,其他的方式請參考Pravega Operator的自述文件。

NFS Server Provisioner是一個開源工具,它提供一個內(nèi)置的NFS服務(wù)器,可以根據(jù)PVC聲明動態(tài)地創(chuàng)建基于NFS的持久化存儲卷。  

通過helm chart創(chuàng)建nfs-server-provisioner,執(zhí)行helm install stable/nfs-server-provisioner將會創(chuàng)建一個名為nfs的存儲類(StorageClass)、nfs-server-provisioner服務(wù)與實例、以及相應(yīng)的服務(wù)賬戶和角色綁定。  

新建一個持久化存儲卷聲明文件pvc.yaml,這里storageClassName指定為nfs。當它被創(chuàng)建時,NFS Server Provisioner會自動創(chuàng)建相應(yīng)的持久化存儲卷。pvc.yaml內(nèi)容如下:

kind: PersistentVolumeClaim 
apiVersion: v1 
metadata: 
name: pravega-tier2 
spec: 
storageClassName: "nfs" 
accessModes: 
 - ReadWriteMany 
resources: 
  requests: 
  storage: 50Gi

通過kubectl create -f pvc.yaml創(chuàng)建該持久化存儲卷聲明,你會發(fā)現(xiàn)相應(yīng)的持久化存儲卷也被創(chuàng)建。

3接著,部署一個Pravega Operator。

你可以直接使用deploy文件夾中的資源描述文件部署:  

git clone https://github.com/pravega/pravega-operator && cd pravega-operator 
kubectl create -f pravega-operator/deploy

這里會創(chuàng)建一個名為PravegaCluster自定義資源定義(Custom Resource Definition)、服務(wù)賬號、角色、角色綁定,并把Pravega Operator部署到Kubernetes集群中。

4***,修改資源描述文件并創(chuàng)建Pravega集群。

資源描述文件cr.yaml指定了Zookeeper地址、各組件的實例數(shù)和存儲空間。完整文件可以從這里獲得:

https://github.com/pravega/pravega-operator/tree/master/example

apiVersion: "pravega.pravega.io/v1alpha1" 
kind: "PravegaCluster" 
metadata: 
name: "pravega" 
spec: 
# 配置 zookeeper 集群的地址 
zookeeperUri: example-zookeepercluster-client:2181 
# 配置 bookkeeper,建議至少三個實例 
bookkeeper: 
 replicas: 3    
... 
pravega: 
 # 配置控制器實例,建議至少兩個實例 
 controllerReplicas: 2 
 # 配置段存儲器實例,建議至少三個實例 
 segmentStoreReplicas: 3 
 # 配置第二層存儲,使用之前創(chuàng)建的持久化存儲卷聲明 
 tier2: 
   filesystem: 
     persistentVolumeClaim: 
       claimName: pravega-tier2 
...

根據(jù)描述文件(cr.yaml)創(chuàng)建一個Pravega 集群:  

kubectl create -f pravega-operator/example/cr.yaml

集群創(chuàng)建成功后,你可以通過以下命令查看集群的運行狀態(tài):  

kubectl get all -l pravega_cluster=pravega

4創(chuàng)建一個簡單的應(yīng)用

讓我們來看看如何構(gòu)建一個簡單的Pravega應(yīng)用程序。最基本的Pravega應(yīng)用就是使用讀客戶端(Reader)從Stream中讀取數(shù)據(jù)或使用寫客戶端(Writer)向Stream中寫入數(shù)據(jù)。兩個簡單的例子都可以在Pravega示例中的gettingstarted應(yīng)用程序中找到:

https://github.com/pravega/pravega-samples/tree/master/pravega-client-examples/src/main/java/io/pravega/example/gettingstarted

要正確實現(xiàn)這些應(yīng)用,首先了解一下Pravega是如何高效并發(fā)地讀寫Stream:  

  • 為了實現(xiàn)并發(fā)地讀寫,Stream被分為一個或多個Segment,系統(tǒng)可以根據(jù)I/O負載動態(tài)調(diào)整Segment的數(shù)目。
  • 寫數(shù)據(jù)時,多個Writer可以同時向多個Segment追加數(shù)據(jù)而無需知道它們的變化,由路由鍵(Routing key) 保證順序的一致性。
  • 路由鍵是一個字符串,控制器會根據(jù)它的哈希值而決定該事件將會被派發(fā)到哪個Segment中。具有同樣路由鍵的事件會被派發(fā)到同一個 Segment,這樣可以保證它們能以一致的順序被訪問。
  • 如果Segment發(fā)生了變化,具有相同路由鍵的事件也會一致的被映射到新的Segment中。
  • 讀數(shù)據(jù)時,讀者組(ReaderGroup) 中的一組Reader可以同時從不同的Segment中讀數(shù)據(jù)。
  • 一個ReaderGroup包含一個或多個Reader,每個Reader從一個或多個Segment中讀數(shù)據(jù)。
  • 為了保證每個事件只被讀取一次,一個Segment只能被當前ReaderGroup中的一個Reader讀。
  • 一個ReaderGroup可以從一個或多個Stream中讀數(shù)據(jù),不同的ReaderGroup是相互獨立的。
  • 寫數(shù)據(jù)只能向Stream的尾部追加,讀數(shù)據(jù)可以從指定位置讀。

6.jpg

5使用Writer向流中寫數(shù)據(jù)

示例HelloWorldWriter舉例說明了如何使用EventStreamWriter向Stream中寫一個事件。 我們來看一下其中最關(guān)鍵的run()方法:

❶ 使用StreamManager創(chuàng)建一個Scope。

StreamManager streamManager = StreamManager.create(controllerURI); 
final boolean scopeCreation = streamManager.createScope(scope);

StreamManager是創(chuàng)建、刪除和管理stream及scope的接口,通過指定一個控制器地址與控制器通信。

❷ 使用StreamManager創(chuàng)建一個Stream。

StreamConfiguration streamConfig = StreamConfiguration.builder() 
      .scalingPolicy(ScalingPolicy.fixed(1)) 
      .build(); 
final boolean streamCreation = streamManager.

createStream(scope, streamName, streamConfig);

創(chuàng)建stream的時候需要指定scope,名稱和配置項。

其中,流配置項包括流的伸縮策略(Scaling Policy)和降層策略(Retention Policy)。Pravega支持三種伸縮策略,將會在下一篇《Pravega動態(tài)彈性伸縮特性》中具體介紹。降層策略已經(jīng)在上一篇中介紹過。

❸ 使用ClientFactory創(chuàng)建一個Writer,并向Stream中寫數(shù)據(jù)。

try (ClientFactory clientFactory = ClientFactory.withScope(scope, controllerURI); 
       EventStreamWriter writer = clientFactory.createEventWriter(streamName,                                                          new JavaSerializer(),                                                EventWriterConfig.builder().build())) {    final CompletableFuture writeFuture = writer.writeEvent(routingKey, message);  }

ClientFactory是用于創(chuàng)建Readers,Writers和其它類型的客戶端對象的工具,它是在Scope的上下文中創(chuàng)建的。ClientFactory以及由它創(chuàng)建的對象會消耗Pravega的資源,所以在示例中用try-with-resources來創(chuàng)建這些對象,以保證程序結(jié)束時這些對象會被正確的關(guān)閉。如果你使用其他的方式創(chuàng)建對象,請確保在使用結(jié)束后正確的調(diào)用這些對象的close方法。

在創(chuàng)建Writer的時候還需要指定一個序列化器,它負責把Java對象轉(zhuǎn)化為字節(jié)碼。事件在Pravega中是以字節(jié)碼的形式存儲的,Pravega并不需要知道事件的具體類型,這使得Pravega可以存儲任意類型的對象,由客戶端負責提供序列化/反序列化的方法。

用writeEvent方法將事件寫入流,需要指定一個路由鍵(Routing key)。

6使用Reader從流中數(shù)據(jù)

示例HelloWorldReader舉例說明了如何使用EventStreamReader從Stream中讀取事件,其關(guān)鍵部分也是在run()方法中。

❶ 使用ReaderGroupManager創(chuàng)建一個ReaderGroup。

final ReaderGroupConfig readerGroupConfig = ReaderGroupConfig.builder() 
      .stream(Stream.of(scope, streamName)) 
      .build(); 
try (ReaderGroupManager readerGroupManager =              

                 ReaderGroupManager.withScope(scope, controllerURI)) { 
  readerGroupManager.createReaderGroup(readerGroup, readerGroupConfig); 
}

ReaderGroupManager類似于ClientFactory,也是在scope的上下文中創(chuàng)建的。

創(chuàng)建ReaderGroup需要指定名稱和配置項,其中配置項規(guī)定了該ReaderGroup從哪些Stream中讀數(shù)據(jù),以及所要讀取的Stream的起止位置。Pravega具有Position的概念,它表示Reader當前所在的Stream中的位置。應(yīng)用保留Reader***成功讀取的位置,Position的信息可以用于Checkpoint恢復(fù)機制,如果讀失敗了就從這個保存的檢查點重新開始讀。

❷ 創(chuàng)建一個Reader并從流中讀數(shù)據(jù)。

try (ClientFactory clientFactory = ClientFactory.withScope(scope, controllerURI); 
  EventStreamReader reader = clientFactory.createReader("reader",                                         readerGroup,                                         new JavaSerializer(),                                         ReaderConfig.builder().build())) {    EventRead event = null;    do {           event = reader.readNextEvent(READER_TIMEOUT_MS);                } while (event.getEvent() != null);  }

Reader也是由ClientFactory創(chuàng)建的。一個新建的Reader會被加入到相應(yīng)的ReadGroup中,系統(tǒng)根據(jù)當前ReaderGroup的工作負載自動分配相應(yīng)的段給新創(chuàng)建的Reader。Reader可以通過readNextEvent讀取事件。

由于Pravega的自動伸縮功能,Segment的數(shù)量會隨著負載的變化而變化,當ReaderGroup管理的Segment總數(shù)發(fā)生變化時,會觸發(fā)段通知(SegmentNotification),ReaderGroup可以監(jiān)聽該事件并適時地調(diào)整Reader的數(shù)量。 如果當前的Segment比較多,為了保證讀的并發(fā)性,建議增加Reader;反之,如果當前的Segment比較少,建議減少Reader。由于Reader和Segment是一對多的關(guān)系,Reader的數(shù)量大于Segment的數(shù)量是沒有意義的。

本章總結(jié):

本期內(nèi)容我們重點介紹了Pravega的云原生特性、核心組件、安裝部署實踐以及Reader/Writer的基本應(yīng)用實踐

截至目前,我們已經(jīng)花了4個篇幅(***期第二期第三期)詳細了Pravega,相信你對它已經(jīng)有了全面的了解,在下一期的內(nèi)容里,我們將對Pravega的僅一次語義及事務(wù)支持進行介紹。歡迎大家持續(xù)關(guān)注,如何你有疑問,可在下方留言或知乎號上(見下方二維碼)找到我們。下一期見~

zhihu.jpg

掃碼關(guān)注知乎號

你和戴爾易安信專家只有一條網(wǎng)線的距離~

往期回顧

5G時代下,大數(shù)據(jù)存儲面臨的三大挑戰(zhàn)
探尋流數(shù)據(jù)存儲Pravega的優(yōu)勢與特點
假如紐約出租車數(shù)據(jù)交給Pravega分析

 

責任編輯:張燕妮 來源: 戴爾易安信解決方案
相關(guān)推薦

2022-11-28 08:44:46

死鎖面試線程

2023-08-11 08:00:00

人工智能Keras 3.0

2019-08-13 17:10:18

鍵盤機械鍵帽

2020-04-29 09:25:35

iOS 14蘋果iPhone

2024-11-11 10:17:00

AI技術(shù)

2016-03-01 16:14:32

問問應(yīng)用商店Android Wea

2012-05-31 14:37:10

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

2011-12-08 09:56:14

Hadoop

2019-08-01 07:56:43

安全數(shù)據(jù)網(wǎng)絡(luò)安全安全分析

2009-03-04 17:51:52

桌面LinuxWindows虛擬化

2013-08-08 10:20:39

大數(shù)據(jù)

2023-09-07 15:11:44

2021-03-23 09:35:23

Inode文件Linux

2024-09-18 09:08:00

AIGitHubOpenAI

2011-04-11 10:14:09

服務(wù)器虛擬化

2020-09-26 21:57:44

python變量開發(fā)

2009-01-16 18:33:22

服務(wù)器虛擬化VMware

2022-06-21 14:38:34

5G人工智能物聯(lián)網(wǎng)

2016-08-31 17:24:05

大數(shù)據(jù)分析

2021-11-05 15:07:13

智能自動駕駛汽車
點贊
收藏

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

另类综合日韩欧美亚洲| 亚洲天堂av影院| 国产在线视频精品一区| 欧美黑人国产人伦爽爽爽| 国产一级免费片| 欧美成人h版| 亚洲精品综合在线| 日本精品一区| 亚洲精品国产片| 日本最新不卡在线| 久久久午夜视频| 99在线视频免费| jizz久久精品永久免费| 欧美在线你懂得| 成人免费播放器| 黄色网页在线播放| 91麻豆国产在线观看| 成人做爰www免费看视频网站| 中日韩精品视频在线观看| 欧美va久久久噜噜噜久久| 亚洲国产成人精品女人久久久 | 国产精品刘玥久久一区| 91小视频在线免费看| 亚洲一区二区三| 国产精品suv一区| 影音先锋久久精品| 精品久久久999| 青娱乐国产视频| 美女亚洲一区| 亚洲精品国产福利| 国产乱淫av片| 精品国产一区二区三区2021| 欧美影片第一页| 黄在线观看网站| a√中文在线观看| 亚洲精品免费在线播放| 一区二区三区四区在线视频| 成年人在线视频免费观看| av在线不卡观看免费观看| 91精品黄色| 国产成人麻豆精品午夜在线| 久久国产麻豆精品| 国产精品美女999| 国产精品熟女视频| 麻豆精品网站| 欧美亚洲视频在线观看| 天海翼一区二区| 亚洲高清免费| 97在线看福利| 国产成人愉拍精品久久 | 欧美激情视频一区| 久久久国产精品黄毛片| 午夜国产欧美理论在线播放| 欧美大胆在线视频| 激情五月婷婷在线| 伊人激情综合| 91av在线不卡| 中文字幕在线字幕中文| 2020欧美日韩在线视频| www.久久艹| 亚欧洲精品在线视频| 欧美精品一卡| 欧美国产高跟鞋裸体秀xxxhd| 小向美奈子av| 一区二区国产在线| 欧美猛少妇色xxxxx| 青青草原免费观看| 狠狠综合久久| 97视频在线观看视频免费视频| 日产欧产va高清| 国产视频一区欧美| 日韩美女视频在线观看| 亚洲字幕av一区二区三区四区| 美女网站色91| 91网站免费观看| 国产xxxx在线观看| 91在线视频官网| 日韩精品不卡| 在线播放免费av| 亚洲成人黄色影院| 国产真人无码作爱视频免费| 久久免费资源| 精品av综合导航| 国产熟妇久久777777| 久久国产成人精品| 欧美国产日本在线| 九九九在线观看| 另类人妖一区二区av| 国产成人看片| 国产日本在线视频| 亚洲综合在线五月| 熟妇人妻va精品中文字幕| 亚洲人成网站在线在线观看| 欧美成人a∨高清免费观看| www.超碰97| 婷婷综合伊人| 欧美中文在线视频| 国产情侣av在线| 97精品久久久久中文字幕| 图片区小说区区亚洲五月| 神马午夜伦理不卡| 欧美色涩在线第一页| 美女日批在线观看| 成人看的视频| 国内精品在线一区| 亚洲一区二区色| 99精品视频在线观看| 亚洲一区美女| 成人教育av| 日韩欧美123| 国产不卡在线观看视频| 亚洲美女少妇无套啪啪呻吟| 成人a免费视频| 青青草免费在线视频| 一区二区三区成人| 色婷婷狠狠18| 亚州精品视频| 欧美国产精品日韩| 国产日韩欧美一区二区东京热| xnxx国产精品| 性欧美大战久久久久久久| 亚洲人体在线| 亚洲色图校园春色| 日韩欧美亚洲视频| 国产suv精品一区二区三区| 婷婷久久五月天| 高清不卡亚洲| 精品香蕉一区二区三区| 国产午夜精品一区二区理论影院| 精品在线你懂的| 亚洲看片网站| 草莓视频成人appios| 亚洲欧洲高清在线| 亚洲免费在线观看av| 成人免费视频app| 国产又粗又长又爽视频| 综合久久av| 上原亚衣av一区二区三区| 乱子伦一区二区三区| 91视频在线观看免费| heyzo亚洲| 欧美国产不卡| 91av视频在线观看| 天堂影院在线| 色综合久久综合网97色综合| 久久偷拍免费视频| 亚洲欧美日韩专区| 九九国产精品视频| 亚洲字幕久久| 中文日韩在线视频| 日本黄色中文字幕| 久久免费大视频| 亚洲自拍偷拍九九九| 中文字幕 欧美日韩| 久久蜜桃av| 成人妇女免费播放久久久| 免费高清在线观看| 337p亚洲精品色噜噜噜| 九九精品视频免费| 国产精品自拍av| 日本免费成人网| 激情视频极品美女日韩| 97超碰国产精品女人人人爽 | 欧美一级免费观看| 久久老司机精品视频| 成人激情文学综合网| 成人av一级片| 成人羞羞视频在线看网址| 国产欧美韩国高清| av色综合久久天堂av色综合在| 日韩欧美亚洲国产另类| 国产黄色片免费看| 欧美国产精品v| 天天综合成人网| 亚洲大胆视频| 神马影院午夜我不卡影院| 日韩电影精品| 午夜精品蜜臀一区二区三区免费| 性感美女一级片| 欧美亚洲综合久久| 免费一级片在线观看| 99精品视频免费在线观看| 国产 porn| 欧美日韩国产欧| 久久亚洲午夜电影| 欧美xxxx性| 久久久亚洲国产天美传媒修理工| 日本福利片在线| 51精品秘密在线观看| 免费看日韩毛片| 国产精品乱码久久久久久| 性农村xxxxx小树林| 日韩高清欧美激情| 超碰人人爱人人| 北条麻妃国产九九九精品小说 | 天天操天天摸天天爽| 欧美久久综合| 日韩精品久久一区二区三区| 日韩最新av| 国产精品毛片a∨一区二区三区|国| 欧美亚洲天堂| 最好看的2019年中文视频| 日韩在线观看视频一区| 精品视频一区二区不卡| 日本在线观看视频网站| 中文字幕在线免费不卡| 日本黄色特级片| 国产成人精品一区二区三区网站观看| 欧美自拍小视频| 在线一区视频| 国产精品av免费观看| 日韩欧美午夜| 欧洲成人一区二区| 精品嫩草影院| 99久久自偷自偷国产精品不卡| 亚洲播播91| 国产91对白在线播放| 日本动漫理论片在线观看网站 | 中文字幕中文字幕在线十八区| 亚洲人成电影网| 日日夜夜精品免费| 欧美日韩二区三区| 91麻豆精品在线| 福利一区视频在线观看| 久久精品一级片| 亚洲欧美日韩国产综合| www成人啪啪18软件| 26uuu久久综合| 2一3sex性hd| 成人18视频在线播放| 日本亚洲一区二区三区| 九九热在线视频观看这里只有精品| 欧美精品第三页| 香蕉成人久久| 日本一本二本在线观看| 亚洲激情黄色| 秋霞无码一区二区| 国产精品入口66mio| 奇米精品一区二区三区| 亚洲青涩在线| 北条麻妃在线视频观看| 伊人久久大香线蕉综合热线| 欧美激情视频免费看| 狠狠久久婷婷| 妞干网在线视频观看| 亚洲三级观看| 日韩av三级在线| 久久久噜噜噜久久狠狠50岁| 狠狠爱免费视频| 久久一区视频| 日韩一级理论片| 日韩电影在线观看电影| 国产视频手机在线播放| 久久精品免费看| 91香蕉视频在线观看视频| 国产伦精品一区二区三区免费迷| 丰满少妇中文字幕| 成人激情免费网站| 一本色道综合久久欧美日韩精品 | 久久国产精品高清| 中文字幕伦av一区二区邻居| 欧美极品一区二区| 久久精品高清| 日本xxx免费| 亚洲国产欧美国产综合一区| 黄色一级视频片| 日韩电影在线观看网站| 99九九99九九九99九他书对| 国产精品资源在线观看| 日本少妇xxxx软件| 久久综合九色综合97婷婷| 永久免费av无码网站性色av| 1区2区3区国产精品| 免费一级特黄特色大片| 岛国av一区二区| 在线免费一级片| 日韩欧美你懂的| 欧美扣逼视频| 精品国产欧美一区二区五十路| 欧美人与禽猛交乱配| 欧美一级片久久久久久久| 国产精品99精品一区二区三区∴| 亚洲一区制服诱惑| 亚洲精品国模| 免费观看中文字幕| 亚洲视频大全| 亚洲a级黄色片| www.av精品| 看黄色录像一级片| 天天综合网天天综合色| 最近日韩免费视频| 欧美精品一区二区三区蜜桃| 成年人免费在线视频| 欧美激情小视频| 影音成人av| 国产精品视频免费观看| 欧美电影一二区| 欧美色图色综合| 国产成人亚洲精品青草天美| 美女爆乳18禁www久久久久久| 一区二区三区中文字幕精品精品 | 亚洲国产女人aaa毛片在线| 99中文字幕一区| 91黑丝高跟在线| 亚洲精品一区二区三区在线| 日韩中文字幕av在线| 亚洲美女91| 中文字幕一二三区| 中文字幕精品一区二区三区精品| 日韩av一二三区| 日韩情涩欧美日韩视频| 一区二区三区视频在线观看视频| 欧美与欧洲交xxxx免费观看| 91蜜桃臀久久一区二区| 天天干天天操天天干天天操| 久久精品日韩欧美| 亚洲av成人片无码| 一片黄亚洲嫩模| 国产精品一区二区人人爽| 一本色道久久88亚洲综合88| 理论片午夜视频在线观看| 国产成人一区二区三区免费看| 欧美jizz| 思思久久精品视频| 国产精品国产三级国产aⅴ原创| 香蕉影院在线观看| 日韩精品欧美国产精品忘忧草| 免费毛片在线看片免费丝瓜视频| 国产日韩欧美在线| 日本精品黄色| 色哟哟精品视频| 国产欧美视频在线观看| 黄色片视频免费| 精品调教chinesegay| 免费一二一二在线视频| 国产午夜精品一区| 亚洲区第一页| 亚洲成人日韩在线| 福利二区91精品bt7086| 你懂的视频在线播放| 57pao精品| 欧美猛男同性videos| 久久人妻精品白浆国产 | 亚洲第一精品夜夜躁人人爽 | 午夜精品一区二区三区三上悠亚| 亚洲国产综合一区| 欧美国产激情18| 久久综合社区| 久久美女福利视频| 久久精品视频一区二区| 中文字幕日本视频| 色香阁99久久精品久久久| avtt久久| 欧美黑人在线观看| 99久久精品国产网站| av片免费观看| 日韩一区视频在线| 欧美区一区二区| 亚洲 欧美 综合 另类 中字| 99在线视频精品| 欧美男人亚洲天堂| 久久se精品一区二区| 国产免费成人在线| 中文字幕精品在线不卡| 国产欧美一级片| 欧美激情视频三区| 免费看成人吃奶视频在线| 少妇黄色一级片| 亚洲免费视频中文字幕| 人妻少妇精品无码专区| 日本一区二区在线免费播放| 日韩成人影院| 99国产精品免费视频| 婷婷国产在线综合| h视频在线播放| 99中文字幕| 日韩精品五月天| 国产精品丝袜一区二区| 亚洲第一福利网| 久久精品资源| 18禁网站免费无遮挡无码中文| 国产欧美日韩在线看| 国产三级自拍视频| 欧美综合在线观看| 亚州av乱码久久精品蜜桃| 制服丝袜第一页在线观看| 欧洲一区二区av| 欧洲成人综合网| 亚洲在线不卡| 波多野结衣亚洲一区| 在线视频你懂得| 91精品国产91久久久久久不卡| av一区二区在线播放| 俄罗斯黄色录像| 欧美在线免费观看亚洲| 久草在线资源站手机版| 色乱码一区二区三区熟女 | 韩国成人av| 激情深爱一区二区| 亚洲 欧美 成人|