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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

hdfs的学习和高可用部署

發布時間:2023/12/14 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hdfs的学习和高可用部署 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HDFS的數據遷移解決方案:
1,理解HDFS數據遷移方案及工具DistCp(分布式拷貝工具)的使用:
數據遷移的場景:
冷熱集群數據同步,分類存儲
集群數據整體搬遷(業務增長,需要將數據整體遷移到新的集群)
數據的準實時同步(數據準實時同步的目的在于數據的雙備份可用,比如某天A集群突然宣告不允許再使用了,此時可以將線上使用集群直接切向B的同步集群
, 因為B集群實時同步A集群數據,擁有完全一 致的真實數據和元數據信息,所以對于業務方使用而言是不會受到任何影響的。)
數據遷移要素考量:
●Bandwidth-帶寬:帶寬用多了會影響線上的業務,帶寬少了有會導致同步數據過慢的問題
●Performance-性能:采用簡單的單機程序還是多線程的性能更佳的分布式程序?
●Data-Increment-增量同步:可以針對變化的增量數據進行同步。可以配合HDFS快照等技術實現增量數據的同步
●Syncable-數據遷移的同步性:數據遷移的過程中需要保證周期內數據是一定能夠同步完的. 不能差距太大.比如A集群7天內的增量數據,我只要花半天就可以完全同步
到B集群,然后我又可以等到下周再次進行同步.最可怕的事情在于A集群的7天內的數據,我的程序花了7天還同步不完,然后下一一個周期又
來,這樣就無法做到準實時的一致性.其實7天還是一個比較大的時間, 最好是能達到按天同步.
HDFS分布式拷貝工具:DistCp
DistCp是hadoop中的一種工具,在hadoop-tools工程下,作為獨立子工程存在。
定位用于數據遷移,定期在集群之間和集群內部備份數據。
在備份過程中,每次運行DistCp都稱為一個備份周期。盡管性能相對較慢,但是普及成都已經是越來越高。
DistCp底層使用mapreduce在集群之間活并行在同意集群內復制文件,執行復制的mapreduce只有mapper階段。
●DistCp的優勢:
帶寬限流:可以通過參數來bandwidth來為程序進行帶寬限流。
增量數據同步:可以使用三個參數實現增量的同步:
updata:只拷貝不存在的文件或者目錄
Append:追加寫目標路徑下已存在的文件
diff: 通過快照的diff對比信息來同步源端路徑于目標路徑
updata解決了新增文件、目錄的同步。append解決了已存在文件的增量更新同步。diff解決了刪除或者重命名類型文件的同步
高性能性:分布式的特性
DistCp底層使用mapreduce執行數據同步,mapreduce本身一類分布式的程序。
●DistCp命令:
distcp options [source_path …] <target_path>
-append :拷貝文件時支持對現有文件進行追加寫操作
-async :異步執行distcp拷貝任務
-bandwidth :對每個map任務的帶寬限速
-delete :刪除相對于源端,目標端多出的文件
-diff :通過快照diff信息進行數據的同步
-overwrite:已覆蓋的方式進行拷貝,如果目標端已經就存在,則直接覆蓋
-p :拷貝數據時,擴展屬性信息的保留,包括權限信息,塊大小信息等
-skipcrcccheck :拷貝文件時是否跳過cheacksum的校驗
-updata:拷貝數據時,只拷貝相對于源端,目標端不存在的文件數據
其中 source_path、target_path需要【帶上地址前綴以區分不通的集群】
例:hadoop distcp hdfs://nn1:8020/foo/a hdfs://nn2:8020/bar/foo
表示:從nn1集群拷貝/foo/a路徑下的數據到nn2集群的/bar/foo路徑下

HDFS namenode的安全模式:
●安全模式:只讀,不可寫和刪除(是namenode的維護狀態)
●在NameNode啟動過程中 ,首先會從fsimage和edits日志文件加載文件系統狀態。然后,等待DataNodes匯 報可用的block信息。在此期間, NameNode保持在安全模式。
隨著DataNode的block匯 報持續進行,當整個系統達到安全標準時, HDFS自動離開安全模式。在NameNode Web主頁上會顯顯安全模式是打開還是關閉。
HDFS的安全模式原理,進入離開的條件:
自動進入安全模式的時間:hdfs集群啟動時,當namenode啟動成功后,此時集群會自動進入安全模式
安全模式自動離開:條件由(hdfs-aite.xml、hdfs-default.xml)默認配置文件管理。
dfs.replication #hdfs block的副本數據,默認3
dfs.replication.max #最大塊副本數。默認512
dfs.namenode.replication.min #最小塊副本數, 默認1
dfs.namenode.safemode.threshold-pct #已匯報可用數據塊數量占整體塊數量的百分比閾值。默認0.999f。
#小于或等于0,則表示退出安全模式之前,不要等待特定百分比的塊。大于1的值將使安全模式永久生效。
dfs.namenode. safemode min.datanodes #指在退出安全模式之前必須存活的DataNode數量,默認0
dfs.namenode.safemode. extension #達到閾值條件后持續擴展的時間。倒計時結束如果依然滿足閾值條件自動離開安全模式。默認30000毫秒
安全模式手動進入離開:
手動獲取安全模式狀態:
hdfs dfsadmin -safemode get
手動進入安全模式:
hdfs dfsadmin -safemode enter
手動離開安全模式:
hdfs dfsadmin -safemode leave

HDFS高階優化方案:
1,短路本地讀取
●客戶端讀取數據的順序:dfsclient->datanodes->data directores->datanodes->dfsclient ##讀取數據要經過datanode中轉,效率不高
理解:在HDFS中,不管是Local Reads ( DFSClient和Datanode在同一個節點)還是Remote Reads ( DFSClient和Datanode不在同一個節點) , 底層處理方式都是一樣的,都是先由Datanode讀取數據,然后再通過RPC (基于TCP )把數據傳
給DFSClient。這樣處理是比較簡單的,但是性能會受到一些影響,因為需要Datanode在中間做一次中轉。尤其Local Reads的時候,既然DFSClient和數據是在一個機器 上面,那么很自然的想法,就是讓DFSC1 ient繞開
Datanode自己去讀取數據。所謂的“短路”讀取繞過了DataNode,從而允許客戶端直接讀取文件。顯然,這僅在客戶端與數據位于同一機器的情況下才可行。短路讀取為許多應用提供了顯著的性能提升。
實現:
在HDFS–347中,提出了一種新的解決方案 ,讓短路本地讀取數據更加安全。
在Linux中,有個技術叫做Unix Domain Socket。 Unix Domain Socket 是一種進程間的通訊方式,它使得同一個機器上的兩個進程能以Socket的方式通訊。
它帶來的另一大好處是,利用它兩個進程除了可以傳遞普通數據外,還可以在進程間傳遞文件描述符。
●客戶端獲取數據的描述信息:dfsclient->datanodes->data directores->datanodes->(open)dfsclient ##客戶端獲取到數據描述符
●客戶端讀取數據的順序:dfsclient->(read)file descriptor ###根據描述信息在本地找到數據
●配置:
需要安裝:libhadoop.so
檢查是否安裝: hadoop checknative
配置hdfs-site.xml:
添加:dfs.client.read.shortcircuit–“true”
####打開短路讀取本地功能的開關
dfs.domain.socket.path–"/var/lib/hadoop-hdfs/dn_socket"
###datanode和dfsclient之間溝通的socket的本地路徑,需要先創建好"/var/lib/hadoop-hdfs"。dn_socket是文件,是系統之間生成的。
確認配置生效:配置修改完成啟動集群,打開hadoop datanade的日志,查找“more /usr/local/hadoop/logs/hadoop-hadoop-datanode-master.log |grep domain”
[hadoop@master ~]$ more /usr/local/hadoop/logs/hadoop-hadoop-datanode-master.log |grep domain
2021-06-04 18:56:09,254 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Listening on UNIX domain socket: /var/lib/hadoop-hdfs/dn_socket
方式2:讀取一個文件到本地
hdfs dfs -get /tmp/hadoop-yarn/staging/hadoop/.staging/job_1617001022520_0001 .
查看日志:[hadoop@master ~]$ more /usr/local/hadoop/logs/hadoop-hadoop-datanode-master.log |grep SHORT_CIRCUIT
2021-06-04 19:06:48,450 INFO org.apache.hadoop.hdfs.server.datanode.DataNode.clienttrace: cliID: DFSClient_NONMAPREDUCE_-754604018_1, src: 127.0.0.1, dest: 127.0.0.1, op: REQUEST_SHORT_CIRCUIT_SHM, shmId: 6586ba296ba797be3e7d0e6b93370ffa, srvID: b9d1d200-1bfb-499b-9b5b-07677a4dfbc9, success: true
2021-06-04 19:06:48,484 INFO org.apache.hadoop.hdfs.server.datanode.DataNode.clienttrace: src: 127.0.0.1, dest: 127.0.0.1, op: REQUEST_SHORT_CIRCUIT_FDS, blockid: 1073741826, srvID: b9d1d200-1bfb-499b-9b5b-07677a4dfbc9, success: true
2021-06-04 19:06:48,553 INFO org.apache.hadoop.hdfs.server.datanode.DataNode.clienttrace: src: 127.0.0.1, dest: 127.0.0.1, op: REQUEST_SHORT_CIRCUIT_FDS, blockid: 1073741827, srvID: b9d1d200-1bfb-499b-9b5b-07677a4dfbc9, success: true
2021-06-04 19:06:48,559 INFO org.apache.hadoop.hdfs.server.datanode.DataNode.clienttrace: src: 127.0.0.1, dest: 127.0.0.1, op: REQUEST_SHORT_CIRCUIT_FDS, blockid: 1073741828, srvID: b9d1d200-1bfb-499b-9b5b-07677a4dfbc9, success: true

2,負載均衡
●HDFS數據可能并不總 是在DataNode之間均勻分布。一個常見的原因是向現有群集中添加了新的DataNode。HDFS提供
了一個Balancer程序,分析block放置信息并且在整個DataNode節點之間平衡數據,直到被視為平衡為止。
●所謂的平衡指的是每個DataNode的利用率(本機已用空間與本機總容量之比)與集群的利用率( HDFS整體已用空間
與HDFS集群總容量的比)之間相差不超過給定閾值百分比。
●平衡器無法在單個DatalNode.上的各個卷(磁盤)之間進行平衡。
●命令行:
hdfs balancer --help ##查看參數
-threshold 10 ##集群平衡的條件,datanode間磁盤使用率相差閾值,區間:0-100
-policy datanode ##平衡策略,默認為datanode,若datanode平衡,則集群已平衡
-ecxclude -f /tmp/ip1.txt ##默認為空,指定該部分IP不參與balance,-f 指定輸入為文件
-iclude -f /tmp/ip2.txt ##默認為空,只允許這部分ip參與balance,-f指定輸入為文件
-idleiteation 5 ###迭代5
●如何運行
設置平衡數據傳輸帶寬
hdfs dfsadmin -setBalancerBandwidth new_bandwidth
其中new_bandwidth是每個datanode在平衡操作期間可以使用的最大網絡帶寬,以每秒字節數為單位。
例如:hdfs dfsadmin -setBalancerBandwidth 104857600(100M)

運行balancer:默認參數運行:hdfs balancer例:指定閾值運行:hdfs balancer -threshold 5 ##balancer將以閾值5%運行(默認10%)

3,磁盤均衡器(HDFS Disk Balancer)[hadoop3.0引入的]:
作用:均衡單個datanode中各個磁盤的存儲數據平衡
單機中的存儲策略:
●循環策略:它將新block均勻分布在可用磁盤上。默認此策略。
●可用空間策略:此策略將數據寫入具有更多可用空間(按百分比)的磁盤。
功能:
1,數據傳播報告:
為了衡量集群中哪些計算機遭受數據分布不均的影響,磁盤平衡器定義了Volume Data Density metric (卷/磁盤數據密度度量標準)
和Node Data Density metric (節點數據密度度量標準)。
●卷/磁盤數據密度度量標準:比較同臺機器上不通卷之間的數據分布情況
●節點數據密度度量標準:比較的是不同機器之間的
2,磁盤平衡
hdfs disk balancer開啟:
默認情況下,hadoop集群上已經啟用了disk balancer功能。通過hdfs-site.xml中調整
dfs.disk.balancer.enabled參數值,選擇在hadoop中是否啟用磁盤均衡器
相關命令:
1,plan計劃:
命令:hdfs diskbalancer -plan
-out ###控制計劃文件的輸出位置
-bandwidth ##設置用于disk balancer的最大帶寬。默認是10M/s
-thresholdPercentage #定義磁盤開始參與數據重新分配或平衡操作的值默認的thresholdPercentage值為10%,
#這意味著僅當磁盤包含的數據比理想存儲值多10%或更少時,磁盤才用于平衡操作.
-maxerror ###它允許用戶在中止移動步驟之前為兩個磁盤之間的移動操作指定要忽略的錯誤數.
-V #詳細模式,指定此選項將強制plan命令在stdout上顯示計劃的摘要.
-fs #此選項指定要使用的NameNode如果未指定則Disk Balancer將使用配置中的默認NameNode.
2,Execute執行:
hdfs diskbalancer -execute
execute命令針對為其生成計劃的datanode執行計劃
Query查詢:
hdfs diskbalancer -query
query命令從運行計劃的datanode獲取hdfs磁盤均衡器的當前狀態
3,Canel取消:
hdfs diskbalancer -canel
hdfs diskbalancer -canel planID node
canel 命令取消運行計劃
Report匯報:
hdfs diskbalancer -fs hdfs://nn_host:8020 -report ###這里的端口是8020/9000

4,糾刪碼存儲技術(EC):
●糾刪碼技術 ( Erasure coding )簡稱EC ,是一種編碼容錯技術。最早用于通信行業,數據傳輸中的數據恢復。它通
過對數據進行分塊,然后計算出校驗數據,使得各個部分的數據產生關聯性。當-部分數據塊丟失時,可以通過剩
余的數據塊和校驗塊計算出丟失的數據塊。

Reed-Solomon(RS)碼是常用的一種糾刪碼,他有兩個參數k,m 。記為RS(k,m)。 k個數據塊組成一個向量被乘上一個生成矩陣( Generator Matrix ) GT從而得到一個碼字(codeword)向量,該向量由k個數據塊( d0, d1. . d3 )和m個校驗塊(c0,c1 )構成。 如果數據塊失,可以用GT逆矩陣乘以碼字向量來恢復出丟失的數據塊。hadoop EC架構: node擴展:條帶化的hdfs文件在邏輯上由block group(塊組)組成,每個塊組包含一定量的內部塊,這允許在塊組級別而不是快級別進行文件管理。 客戶端擴展:客戶端的讀寫路徑得到增強,可以并行處理塊組中的多個內部塊 Datanode擴展:DataNode運行一個附加的ErasureCodingWorker ( ECorker )任務,以對失敗的糾刪編碼塊進行后臺恢復。NameNode檢測到失敗的EC塊,然后NameNode選擇一個DataNode進行恢復 工作。

EC集群的部署方式:
●Stepl :集群和硬件配置
編碼和解碼二工作會消耗HDFS客戶端和DataNode.上的額外CPU。
糾刪碼文件也分布在整個機架上,以實現機架容錯。這意味著在讀寫條帶化文件時,大多數操作都是在機架上進行的。因此,網絡帶寬也非常重要。
對于機架容錯,擁有足夠數量的機架也很重要,每個機架所容納的塊數不超過EC奇偶校驗塊的數。機架數量= ( 數據塊+奇偶校驗塊) /奇偶校驗塊后取整。
比如對于EC策略RS (6,3) , 這意味著最少3個機架(由(6 + 3)/ 3 = 3計算) , 理想情況下為9個或更多,以處理計劃內和計劃
外的停機。對于機架數少于奇偶校驗單元數的群集, HDPS無法維持機架容錯能力,但仍將嘗試在多個節點之間分布條帶化文件以保留節
點級容錯能力。因此,建議設置具有類似數量的DataNode的機架。
●Step2 :糾刪碼策略設置
糾刪碼策略由參數dfs. namenode. ec. system. default. policy指定,默認是RS- 6-3-1024k
(RS表示編碼器算法Reed- Solomon, 6、3中表示數據塊和奇偶校驗塊的數量, 1024k表示條帶化單元的大小。),其他策略默認是禁用的。
可以通過hdfs ec [-enablePolicy -policy ]命令啟用策略集。
●Step3 :啟用英特爾ISA-L (智能存儲加速庫)
默認RS編解碼器的HDFS本機實現利用Intel ISA-L庫來改善編碼和解碼計算。要啟用和使用Intel ISA-L ,需要執行三個步驟。
1)建立ISA-L庫;
2)使用ISA-.支持構建Hadoop ;
3)使用Dbundle.isal將isal.lib目錄的內容復制到最終的tar文件中。使用tar文件部署Hadoop。確保ISA-L在HDFS客戶端和DataNode上可用。
●Step4 : hdfs ec
[-setPolicy -path [-policy ] [-replicatel]
#在指定路徑的目錄上設置擦除編碼策略。
#ath: HDFS中的目錄。這是必填參數。設置策略僅影響新創建的文件, 而不影響現有文件。
#policy:用于此目錄下文件的擦除編碼策略。默認RS-6-3-1024k策略。
#replicate在目錄上應用默認的REPLICATION方案,強制目錄采用3x復制方案。replicate 和-policy 是可選參數。不能同時指定它們。
[-getPolicy -path < path >]
#獲取指定路徑下文件或目錄的擦除編碼策略的詳細信息。
[-unsetPolicy -path < path >]
#取消設置先前對日錄上的setPolicy的調用所設置的擦除編碼策略。如果該日錄從祖先日錄繼承了擦除編碼策略,則unsetPolicy是no-op。在沒有顯式策略集的目錄上取消策略將不會返回錯誤。
[-listPolicies]
#列出在HDFS中注冊的所有(啟用,禁用和刪除)擦除編碼策略。只有啟用的策略才適合與setPolicy命令-起使用。
[-addPolicies -policyFile <文件>]
#添加用戶定義的擦除編碼策略列表。。
[-listCodecs]
#獲取系統中支持的擦除編碼編解碼器和編碼器的列表。
[-removePolicy -policy ]
#刪除用戶定義的擦除編碼策略。
[-enablePolicy -policy ]
#啟用擦除編碼策略。
[-disablePolicy -policy ]
#禁用擦除編碼策略。

注釋:需要先創建好編碼策略,然后啟用才可以

HDFS動態節點管理:
動態擴容(節點上線):
step1 :新機器基礎環境準備:
●主機名、ip
●hosts映射
●防火墻,時間同步
●ssh免密登錄
●jdk環境
step2 :hadoop配置:
●修改namenode節點workers配置文件,增加節點主機名,便于后續一鍵啟停
●從namenode節點復制hadoop安裝包到新節點。注意不包括hadoop.tmp.dir指定的數據存儲目錄
scp -r /usr/local/hadoop hadoop@slave3:/usr/local/
或者 cd /usr/local/ ;scp -r /usr/local/hadoop hadoop@slave3:$PWD
注:要事先在新機器中建好目錄(不是root用戶的話),要不然會報scp沒權限問題
●新機器上配置Hadoop環境變量
step3 :手動啟動datanode進程:
●hadoop-daemon.sh start datanode 或者 hdfs --daemon start datanode
報錯:ERROR: Cannot set priority of datanode process 4217
看日志:Too many failed volumes - current valid volumes: 0, volumes configured: 1, volumes failed: 1, volume failures tolerated: 0
原因:存放數據的路徑dfs屬性是root的,需要改為hadoop
解決:root操作:chown -R hadoop:hadoop hadoop
●yarn-daemon.sh start nodemanager 或者 yarn --daemon start nodemanager
step4 :datanode的負載均衡(主節點操作):
新加的機器沒有數據,需要和舊的datanode做一個負載均衡:
設置負載均衡的數據傳輸帶寬:hdfs dfsadmin -setBalancerBandwidth 104857600
然后啟動balancer,等待集群自均衡完成即可:hdfs balancer -threshold 5

動態縮容(節點下線):
step1 :添加退役節點:
在namenode機器hdfs-site.xml配置文件中需要提前配置dfs.hosts.exclude屬性,該屬性指向的文件就是所謂的黑名單列表,
會被namenode排除在集群外。如果文件內容為空,則意味著不禁止任何機器
這個配置具有前瞻性,建集群時提前加進去,否則需要重啟集群加載

dfs.hosts.exclude
/usr/local/hadoop/etc/hadoop/excludes
datanode黑名單

注意:如果副本數是3,服役的節點數小于等于3,是不能退役成功的,需要修改副本數后才可以成功退役
step1 :刷新集群
在namanode所在集群刷新節點:hdfs dfsadmin -refreshNodes
等待退役節點服務器狀態為decommissioned(所有塊已經復制完成)
例:[hadoop@master local]$ hdfs dfsadmin -refreshNodes
Refresh nodes successful
白名單:
●所謂的白名單指的是允許哪些機器加入到當前的HDFS集群中,是一種準入機制。
●名單由dfs.hosts參數指定,該參數位于hdfs-site.xml。默認值為空。
●dfs.hosts指向文件,文件包含允許連接到namenode的主機列表。必須指定文件的完整路徑名。如果該值為空則允許所有主機準入。
黑名單:
●所謂的黑名單指的是禁止哪些機器加入到當前的HDFS集群中。是一種禁入機制。
●黑名單由dfs. hosts. exclude參數指定,該參數位于hdfs -site. xml。默認值為空。
●dfs. hosts. exc lude指向文件。該文件包含不允許連接到名稱節點的主機列表。必須指定文件的完整路徑名。如果該值為空,則不禁上任何主機加入。

HDFS 的HA高可用機制:
HA系統設計核心問題( 1 )
●腦裂問題:
腦裂(split-brain)是指”大腦分裂”, 本是醫學名詞。
在HA集群中,腦裂指的是當聯系主備節點的"心跳線”斷開時(即兩個節點斷開聯系時) ,本來為一個整體、動作協調的HA系統,就分
裂成為兩個獨立的節點。由于相互失去了聯系,主備節點之間像裂腦人"-樣,使得整個集群處于混亂狀態。腦裂的嚴重后果:
1 )集群無主:都認為對方是狀態好的,自己是備份角色,后果是無服務;
2)集群多主:都認為對方是故障的,自己是主角色。相互爭搶共享資源,結果會導致系統混亂,數據損壞。此外對于客戶端訪問也是一頭霧水,找誰呢?
避免腦裂問題的核心是:保持任意時刻系統有且只有一個主角色提供服務。
HA系統設計核心問題( 2)
●數據狀態同步問題
備切換保證服務持續可用性的前提是主備節點之間的狀態數據是一致的 ,或者說準一致的。 如果說備用的節點和主節點之間的數據差距過大,即使完成了主備切換的動作,那也是沒有意義的。
數據同步常見做法是:通過日志重演操作記錄。主角色正常提供服務,發生的事務性操作通過日志記錄,備用角色讀取日志重演操作。
解決:
●在同一群集中運行兩個(從3.0. 0起.支持超過兩個)冗余NameNode. 形成主備架構。
●這樣可以在機器崩潰的情況 下快速故障轉移到新的NameNode ,或者出于計劃維護的目的由管理員發起的正常故障轉移。
Quorum Journal Manager介紹
●QJM全稱Quorum Journal Manager (仲裁日志管理器), Hadoop官方推薦的HDFS HA解決方案之一。
●使用zookeeper中ZKFC來實現主備切換 ;
●使用Journal Node(JN )集群實現edits_log的共享以達到數據同步的目的。
主備切換、腦裂問題解決–ZKFai loverController ( zkfc )
ZKFailoverController ( ZKFC )是一個ZooKeeper客戶端。主要職責:
1)監視和管理NameNode健康狀態
ZKFC通過命令監視的NameNode節點及機器的健康狀態。
2)維持和ZK集群聯系
如果本地NameNode運行狀況良好,粗ZKFC看到當前沒有其他節點持有鎖znode ,它將自己嘗試獲取該鎖。如果成功,則表明它"贏得了選舉”,
復責運行故障轉移以使其本地NameNode處于Active狀態。如果已經有其他節點持有鎖,zkfc選舉失敗,則會對該節點注冊監聽,等待下次繼續選舉。
主備切換、腦裂問題解決–Fencing( 隔離)機制
●故障轉移過程也就是俗稱的主備角色切換的過程 .切換過程中最怕的就是腦裂的發生。因此需要Fencing機制來避免,將先前的Active節點隔離,然后將Standby轉換為Active狀態。
●Hadoop公共庫中對外提供了兩種Fenching實現,分別是sshfence和shellfence (缺省實現)。
sshfence是指通過ssh登陸目標節點上,使用命令fuser將進程殺死(通過tcp端口號定位進程pid ,該方法比ips命令更準確);
shellfence是指執行一個用戶事先定義的shell命令(腳本)完成隔離。
主備數據狀態同步問題解決
●Journal Node ( JN)集群是輕量級分布式系統,主要用于高速讀寫數據、存儲數據。
●通常使用2N+1臺JournalNode存儲共享edits Log (編輯日志)。–底層類似于zk的分布式一致性算法。
●任何修改操作在 Active NN 上執行時, JournalNode進程同時也會記錄edits log到至少半數以上的JN中,這時
Standby NN監測到JN里面的同步log發生變化了會讀取JN里面的edits log ,然后重演操作記錄同步到自己的目錄鏡像樹里面。
HA hdfs配置:
strp1:基礎環境的準備:
1,修改linux主機名 /etc/hostanme
2,修改ip vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
3,修改主機名和hosts的映射關系
4,關閉防火墻
5,ssh免密登陸
6,安裝JDK,配置環境變量 /etc/profile
7,集群時間同步
8,配置準備NN之間的互相免密登陸
step2: HA集群規劃
機器 運行角色
master namenode、zkfc、datannode、zookeeper、journal node(共享編輯日志,edits log)
slave1 namenode、zkfc、datannode、zookeeper、journal node
slave2 datannode、zookeeper、journal node
操作:
上傳安裝包
解壓縮:tar -zxvf /usr/local/hadoop-3.2.2.tar.gz -C /usr/local/
mv /usr/local/hadoop-3.2.2 /usr/local/hadoop
配置hadoop環境變量:
#hadoop
export HADOOP_HOME=/usr/local/hadoop
export PATH=HADOOPHOME/bin:HADOOP_HOME/bin:HADOOPH?OME/bin:HADOOP_HOME/sbin:$PATH
修改hadoop-env.sh
vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/local/jdk-16 ###找到修改
export HDFS_NAMENODE_USER=hadoop ##添加
export HDFS_JOURNALNODE_USER=hadoop ##添加
export HDFS_DATANODE_USER=hadoop ##添加
export HDFS_ZAKC_USER=hadoop ##添加
修改core-site.xml:
vim /usr/local/hadoop/etc/hadoop/core-site.xml


fs.defaultFS
hdfs://mycluster



hadoop.tmp.dir
/tmp/data/ha-hadoop



ha.zookeeper.quorum
master:2181,slave1:2181,slave2:2181

修改hdfs-site.xml:


dfs.nameservices
mycluster

<!--mycluster下面由兩個namenode,分別是nn1,nn2--><property><name>dfs.ha.namenodes.mycluster</name><value>nn1,nn2</value></property><!--nn1的rpc通信地址--><property><name>dfs.namenode.rpc-address.mycluster.nn1</name><value>master:8020</value></property><!--nn1的http通信地址--><property><name>dfs.namenode.http-address.mycluster.nn1</name><value>master:9870</value></property><!--nn2的rpc通信地址--><property><name>dfs.namenode.rpc-address.mycluster.nn2</name><value>slave1:8020</value></property><!--nn2的http通信地址--><property><name>dfs.namenode.http-address.mycluster.nn2</name><value>slave1:9870</value></property><!--指定namenode的edits元數據在journalnode上的存放位置--><property><name>dfs.namenode.shared.edits.dir</name><value>qjournal://master:8485;slave1:8485;slave2:8485/mycluster</value></property><!--指定journalnode在本地磁盤存放數據的位置--><property><name>dfs.journalnode.edits.dir</name><value>/tmp/data/journaldata</value></property><!--開啟namenode失敗自動切換--><property><name>dfs.ha.automatic-failover.enabled</name><value>true</value></property><!--指定該集群出現故障時,哪個實現類負責執行故障切換--><property><name>dfs.client.failover.proxy.provider.mycluster</name><value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value></property><!--配置隔離機制方法--><property><name>dfs.ha.fencing.methods</name><value>sshfence</value></property><!--使用sshfence隔離機制時需要ssh免密登錄--><property><name>dfs.ha.fencing.ssh.private-key-files</name><value>/home/hadoop/.ssh/id_rsa</value></property><!--配置sshfence隔離機制超時時間--><property><name>dfs.ha.fencing.ssh.connect-timeout</name><value>30000</value></property>修改mapred-site.xml:vim /usr/local/hadoop/etc/hadoop/mapred-site.xml<!--指定mr框架為yarn方式--><property><name>mapreduce.framework.name</name><value>yarn</value></property>yarn-HA的配置官方文檔:https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/ResourceManagerHA.html 修改yarn-site.xml:vim /usr/local/hadoop/etc/hadoop/yarn-site.xml<!--開啟mr高可用--><property><name>yarn.resourcemanager.ha.enabled</name><value>true</value></property><!--指定rm的cluster id--><property><name>yarn.resourcemanager.cluster-id</name><value>yrc</value></property><!--指定rm的名字--><property><name>yarn.resourcemanager.ha.rm-ids</name><value>rm1,rm2</value></property><!--分別指定rm的地址--><property><name>yarn.resourcemanager.hostname.rm1</name><value>master</value></property><!--分別指定rm的地址--><property><name>yarn.resourcemanager.hostname.rm2</name><value>slave1</value></property><!--指定zk集群地址--><property><name>yarn.resourcemanager.zk-address</name><value>master:2181,slave1:2181,slave2:2181</value></property><!--指定shuffle--><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!--啟用自動恢復--><property><name>yarn.resourcemanager.recovery.enabled</name><value>true</value></property><!--指定resourcemanager的狀態信息存儲在zookeeper集群--><property><name>yarn.resourcemanager.store.class</name><value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value></property>修改workers文件:vim /usr/local/hadoop/etc/hadoop/workersmasterslave1slave2 集群同步安裝包:master上操作:chown -R hadoop:hadoop /usr/local/hadoopchown -R hadoop:hadoop /tmpscp -r /usr/local/hadoop slave1:/usr/local/scp -r /usr/local/hadoop slave2:/usr/local/ 在slave1,slave2上操作:chown -R hadoop:hadoop /usr/local/hadoopchown -R hadoop:hadoop /tmp

HA集群初始化:
啟動zk集群:
su - hadoop
啟動方式1:每臺集群都去操作:zookeepers.sh
啟動方式2:自寫腳本 zoo_start.sh start
腳本為:
#!/bin/bash
case $1 in

"start"){for i in master slave1 slave2dossh $i "/usr/local/zookeeper/bin/zkServer.sh start"done};;"restart"){for i in master slave1 slave2dossh $i "/usr/local/zookeeper/bin/zkServer.sh stop"ssh $i "/usr/local/zookeeper/bin/zkServer.sh start"done};;"stop"){for i in master slave1 slave2dossh $i "/usr/local/zookeeper/bin/zkServer.sh stop"done};;esac 手動啟動JN集群(3臺機器): 啟動方式1:每臺集群都去操作:hdfs --daemon start journalnode 啟動方式2:自寫腳本 jn.sh start腳本為:#!/bin/bashcase $1 in"start"){for i in master slave1 slave2dossh $i "/usr/local/hadoop/bin/hdfs --daemon start journalnode"done};;"restart"){for i in master slave1 slave2dossh $i "/usr/local/hadoop/bin/hdfs --daemon start journalnode"ssh $i "/usr/local/hadoop/bin/hdfs --daemon stop journalnode"done};;"stop"){for i in master slave1 slave2dossh $i "/usr/local/hadoop/bin/hdfs --daemon stop journalnode"done};;esac

格式化namonode:
在master上執行:
格式化:hdfs namenode -format ##格式化后會根據在core-site.xml中的hadoop.tmp.dir配置的目錄下生成hdfs初始化文件
啟動namenode進程:hdfs --daemon start namenode

在slave1上進行元數據同步: hdfs namenode -bootstrapStandby格式化ZKFC(在active的namenode機器上執行[在哪個機器上執行,哪個機器就是active]): hdfs zkfc -formatZK ##手動敲,避免復制的時候格式啥的出錯【格式化】 hdfs --daemon start zkfc ###啟動zkfc 啟動HDFS(在active的namenode機器上執行) start-dfs.sh 啟動yarn: start-yarn.sh

錯誤:可能主動切換namenode不成功,出現nn1節點的namenode掛掉后nn2還是standby狀態,再啟動nn1時,nn1也是standby狀態的情況。這是由于centos7最小化安裝導致系統中沒有
fuser導致的,使用yum -y install psmisc安裝即可【兩個namenode都要操作】

舊集群的啟動:
1,hdfs --daemon start namenode
2,hdfs --daemon start zkfc
3,hdfs --daemon start journalnode
4,start-dfs.sh 或者hdfs --daemon start datanode
5,start-yarn.sh 或者yarn --daemon start resourcemanager

HDFS Federation聯邦機制:

當前的HDFS架構有兩個主要的層:
●命名空間( namespace )
由文件,塊和目錄組成的統一抽象的目錄樹結構。 由namenode根據用戶操作實時維護樹結構。
●塊存儲層 ( Block Storage )
包括兩個部分:
?塊管理: NameNode執行塊管理。 塊管理通過處理注冊和定期心跳來提供DataNode群集成員身份。它處理塊報告并支持與塊相關的操作,如創建,刪除,修改或獲取塊位置。它還維護塊的位置,副本位置。為未復制的塊管理塊復制,并在已復制的塊中刪除。
?存儲: DataNode通過在本地文件系統上存儲塊并提供讀(寫訪問權限來管理存儲空間。

當前HDFS體系架構–局限性:
當下的HDFS體系結構僅允許單個NameNode維護文件系統名稱空間。這種體系目前存在著一些弊端和局限性 :
●DataNode磁盤存儲空間不夠增加節點, NameNode內存不夠是否可以無限擴容。思考一下: 一種是DataNode橫向擴展機器增加節點, 一種是縱向擴展單機加內存。
●由于名稱空間和存儲層的緊密耦合, NameNode的替代實現很困難。這限制了其他服務直接使用塊存儲。NameNode成了唯一入口。
●文件系統的操作還限于NameNode一次處理的任務數。因此,群集的性能取決于NameNode吞吐量。
●同樣,由于使用單個名稱空間,因此使用群集的占用者組織之間沒有隔離。

聯邦Federation架構–簡介:
●Federation中文意思為聯邦,聯盟,是NameNode之間的Federat ion,也就是集群中會有多個NameNode。多個NameNode的情況意味著有多個namespace。注意,這區別于HA模式下的多NameNode , HA中它們是擁有著同一個namespace.
●Federation體系中多個namenode之間相互獨立且不需要互相協調,各自分工,管理自己的區域。每個DataNode要向集群中所有的namenode注冊,且周期性地向所有namenode發送心跳和塊報告,并執行來自所有namenode的命令。

聯邦Federation架構–好處:
●命名空間可伸縮性
使用Federation ,可以水平擴展名稱空間。這對大型群集或包含太多文件的群集有利,因為向群集添加了更多的NameNode。
●性能
由于文件系統操作不受單個NameNode吞吐量的限制,因此可以提高文件系統的性能。
●隔離
由于有多個名稱空間,它可以為使用群集的占用者組織提供隔離。

HDFS集群滾動升級:
介紹:
●在Hadoop v2中, HDFS支持NameNode高可用( HA)。使得不停機升級HDFS變得可行。請注意,僅從Hadoop-2. 4. 0起才支持滾動升級。
●因此為了在不停機的情況下升級HDFS群集,必須使用HA設置群集。
●在HA群集中,有兩個或多個NameNode ( NN) ,許多DataNode ( DN), 一些JournalNode ( JN )和一些ZooKeeperNode( ZKN)。
●JN相對穩定,在大多數情況下,升級HDFS時不需要升級。
●滾動升級過程中,僅針對NNs和DNs , JNS和ZKNs都沒有。升級JN和ZKN可能會導致群集停機。

不停機滾動升級–非聯邦HA集群:
假設有兩個名稱節點NN1和NN2 ,其中NN1和NN2分別處于Active和StandBy狀態。
●Stepl :滾動升級準備
#創建一個新的tsimage文件用于回滾:
hdfs dfsadmin -ollingUpgrade prepare
#不斷運行下面命令檢查回滾fsimage是否創建完畢。
#如果顯示Proceeding with Rolling Upgrade表示已經完成。
hdfs dfsadmin -ollingUpgrade query
●Step2:升級Active N和Standbys NN
#關閉NN2 :
hdfs --daemon stop namenode
#升級啟動NN2:
hdfs --daemon start namenode -rollingUpgrade started
#做一次failover切換, 使得NN2成為Active節點NN1變為Standby節點
#關閉NN1:
hdfs - daemon stop namenode
#升級啟動NN1 :
hdfs --daemon start namenode -rollingUpgrade started
有兩個名稱節點WI和M2 ,經過升級自前12:ire狀志。
●Step3: 升級DN
#選擇整體中的一小部分DataNode 節點進行升級(比如按照DataNode所在的不同機架來篩選)。
#關閉開級所選的DN其中IPC_PORT由參數dfs.datanode.ipc.address指定,默認9867.
hdfs dfsadmin -shutdownDatanode <DATANODE_HOST:IPC_PORT> upgrade
#檢查下線DataNode是否已經停止服務如果還能得到節點信息,意味著此節點還未真正被關閉。
hdfs dfsadmin -getDatanodelnfo <DATANODE_HOST:IPC_PORT>
#啟動DN節點。
hdfs --daemon start datanode
#對選中的所有DN節點執行以上步驟。
#重復上述步驟,直到升級群集中的所有DN節點。

●Step4:完成滾動升級#完成滾動升級hdfs dfsadmin -rollingUpgrade finalize

不停機滾動升級–聯邦HA集群:
●聯邦集群 ( federation )是擁有多namespace的集群。每個namespace對應一對主備NameNode節點。
●上述這套 集群就是俗稱的聯邦+HA集群。
聯邦集群的升級過程與非聯邦集群的升級過程比較相似,沒有什么本質區別,只是需要為不同的namespace多重復執行幾遍升級操作而已。
操作步驟:
#1、在每個namespace下執行升級級準備
hdfs dfsadmin -rollingUpgrade prepare
#2、升級每個namespace下的Active/Standby節點
#2.1、關閉NN2:
hdfs --daemon stop namenode
#2.2、升級啟動NN2:
hdfs --daemon start namenode -rollingUpgrade started
#2.3、做一次tailover切換,使得NN2成為Active節點NN1變為Standby節點。
#2.4、關閉NN1:
hdfs --daemon stop namenode
#2.5、升級啟動NN1:
hdfs --daemon start namenode -rollingUpgrade started
#3、升級每個DataNode節點
#3.1、關閉升級所選的DN其中IPC_PORT由參數dts.datanode.ipc.address指定,默認9867。
hdfs dfsadmin -shutdownDatanode <DATANODE_HOST:IPC_PORT> upgrade
#3.2、檢查下線DataNode是否已經停止服務.如果還能得到節點信息,意味著此節點還未真正被關閉。
hdfs dfsadmin -getDatanodelnfo <DATANODE_HOST:IPC_PORT>
#3.3.啟動DN節點。
hdfs --daemon start datanode
#4、升級過程執行完畢在每個namespace下執行finalize確認命令.
hdfs dfsadmin -rollingUpgrade finalize

停機升級–非HA集群
●在升級的過程中, 勢必會存在服務短暫停止的時間,因為NameNode需要重啟,而這段時間并沒有備用節點可選.
●整體過程同非聯邦HA模式的4個步驟類似。 過步驟二的過程要略微修改 :
#Step1:滾動升級準備
hdfs dfsadmin -rollingUpgrade prepare
#Step2:升級NN和SNN
#1、關閉NN
hdfs --daemon stop namenode
#、升級啟動NN 1
hdfs --daemon start namenode -ollingUpgrade started
#3、停止SNN
hdfs --daemon stop secondarynamenode
#4、開級啟動SNN
hdfs -daemon start secondarynamenode -ollingUpgrade started
#Step3:升級DN
#3.1、關閉升級所選的DN其中IPC_PORT由參數dts.datanode.ipc.address指定,默認9867。
hdfs dfsadmin -shutdownDatanode <DATANODE_HOST:IPC_PORT> upgrade
#3.2、檢查下線DataNode是否已經停止服務.如果還能得到節點信息,意味著此節點還未真正被關閉。
hdfs dfsadmin -getDatanodelnfo <DATANODE_HOST:IPC_PORT>
#3.3.啟動DN節點。
hdfs --daemon start datanode
#Step4:完成滾動升級
hdfs dfsadmin -rollingUpgrade finalize

HDFS集群降級和回滾:
降級( downgrade )和回滾( rollback)區別
●共同點:
都會將版本退回到升級前的版本;
在升級的finalize動作執行之后,將不允許再執行降級和回滾。
●不同點:
降級能支持ro1lling的方式,可以滾動降級,而回滾需要停止服務-段時間,
降級過程只會將軟件版本還原成升級前的,會保留用戶現有的數據狀態;
而回滾則會將用戶數據還原成升級前的狀態模式,現有的數據狀態不保存。

降級( downgrade )和回滾( rollback )
●友情提示: 升級慎重,降級、回滾更要慎重。
生產環境中,集群升級之前必須進行科學調研,評估升級后的版本跟現有業務的兼容性。
在測試環境下完整模擬升級流程,且針升級前集群狀態進行備份,避免意外發生導致集群中斷。
不要奢求升級失敗時,通過回滾、降級等操作挽救集群。

HA集群降級( downgrade ):
●Stepl :降級DataNode
#1.選中部分集合DataNode節點(可以按照機架進行區分)
#執行降級操作,其中IPC PORT由參數dfs. datanode.ipc.address指定,默認9867.
hdfs dfsadmin -shutdownDatanode <DATANODE_HOST:IPC_PORT> upgrade
#執行命令檢查節點是否完全停止
hdfs dfsadmin -getDatanodelnfo <DATANODE_HOST:IPC_PORT>
并在選中集合內的其他DataNode節點上重復執行上述操作.
#2.在集群中所有的DataNode節點上重復執行1.的操作.

●Step2 :降級Active NameNode和Standby NameNode#停止并降級Standby NameNode.#正常啟動Standby NameNode.#觸發failovert切換,使得主備角色對調#停止并降級之前屬于Active (現屬于Standby的NameNode)#正常啟動作為Standby節點●Step3 :降級操作的確認##完成降級操作hdfs dfsadmin -rollingUpgrade finalize

HA集群降級( downgrade )注意事項:
●降級與升級在HA模式下有一個共同點
在操作NameNode時,都是先從Standby節點開始操作,等Standby節點升/降結束,做一次切換使另外一個節點得以進行升/降操作.在全程中,始終保持一個Active節 點對外提供服務。
●降級過程NameNode與DataNode的操作和在升級時操作順序正好相反
新版本一般在協議、API是兼容老版本的,如果先降級NN,那么則會造成DN是新版,NN是舊版。
新DN中的許多協議將會在舊版NN中可能不兼容。
所以這里必須要先降級DN,然后再把服務端NN進行降級.看似簡單的一次順序顛倒,背后其實是有更深層的原因的.
●聯邦集群和非HA集群的降級操作與升級操作相對應,進行相應操作命令的替換即可。

集群回滾( rollback )操作
●回滾注意事項:
Rollback不支持滾動操作的方式,在操作期間,它需要集群對外停止提供服務.
Rollback操作不僅會將軟件版本退回到升級前的版本,還會將用戶數據退回到升級前的狀態
●回滾步驟
#1.停止所有的NameNode利DataNode節點
#2.在所有的節點機器上恢復升級前的軟件版本
#3.在NN1節點上執行-rollingUpgrade rollback命令來啟動NN1,將NN1作為Active節點
#4.在NN2上執行-bootstrapStandby命令并正常啟動NN2,將NN2作為Standby節點
#5.以-rollback參數啟動所有的DataNode.

總結

以上是生活随笔為你收集整理的hdfs的学习和高可用部署的全部內容,希望文章能夠幫你解決所遇到的問題。

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

免费看国产一级片 | 国产乱码精品一区二区蜜臀 | 日韩视频一二三区 | 日本久久成人中文字幕电影 | 超碰人人草人人 | 亚洲国产中文在线观看 | av在线中文 | 国产一区电影在线观看 | 久久99国产精品自在自在app | 一级成人网 | 天堂网一区二区三区 | 国产高清精品在线观看 | 美女网站在线播放 | 日韩高清在线不卡 | 中文字幕欧美日韩va免费视频 | 亚洲天天草| 精品国产色 | 婷婷久久综合网 | 日韩理论视频 | 特级黄色电影 | 亚洲午夜久久久久久久久电影网 | 天天干天天摸天天操 | 国产免费叼嘿网站免费 | 中文字字幕在线 | www.久久久.cum | 色wwww| 超碰成人免费电影 | 色婷婷九月 | 亚洲精品国产免费 | 日本九九视频 | 91av久久 | 欧美精品国产综合久久 | 久草在线免费播放 | 免费看久久| 999国内精品永久免费视频 | 狠狠操狠狠干天天操 | www.色的| 伊人va| 久久久国产影院 | 亚洲精品h| 国产一级二级三级视频 | 亚洲最新av | 久久在线观看视频 | 夜夜高潮夜夜爽国产伦精品 | 久草线| 国产精品一区二区三区视频免费 | 免费看黄在线看 | 亚洲精选在线 | 精品中文字幕在线 | 久久国产精品免费视频 | 网站免费黄色 | 国产五月天婷婷 | 国产又粗又长又硬免费视频 | 成人国产精品入口 | 国产在线免费观看 | 国内视频在线观看 | a天堂一码二码专区 | 91亚洲精品久久久 | 青草视频在线免费 | 久久免费高清视频 | 成人一级在线观看 | 久久av高清 | 粉嫩av一区二区三区四区在线观看 | 天天玩天天干 | 高清不卡一区二区三区 | 亚洲va在线va天堂va偷拍 | 免费看一级特黄a大片 | а天堂中文最新一区二区三区 | 中文字幕在线视频一区二区 | 五月天堂色 | 久久蜜桃av | 国产精品毛片一区视频播 | 麻豆视频www | 久久久久久久久久久久久9999 | 91丨九色丨国产在线观看 | 一二三久久久 | 欧美伦理一区二区三区 | 久久婷婷综合激情 | 免费日韩精品 | 久久久午夜精品理论片中文字幕 | 国产精品久久久久毛片大屁完整版 | 亚州精品在线视频 | 91精品一区二区三区久久久久久 | 四虎影院在线观看av | 国产视频精品免费播放 | 97韩国电影 | 亚洲伊人第一页 | 五月婷婷亚洲 | 国产精品高清在线观看 | 久久综合色婷婷 | 国产精品一区二区美女视频免费看 | av天天干| a在线观看国产 | 视频99爱 | 午夜av一区二区三区 | 天天干天天想 | 久久论理 | 色香蕉网 | 国产99久久| 国产视频 亚洲精品 | 欧美精品生活片 | www.久久色| 久久精品导航 | 久久人人添人人爽添人人88v | 亚洲精品午夜视频 | 最新av免费在线 | 国产高清无av久久 | 黄色影院在线免费观看 | 国产在线不卡 | 成人精品999| 四虎精品成人免费网站 | 成人av网址大全 | 91精品欧美一区二区三区 | 色综合天天狠天天透天天伊人 | 久久精品99久久久久久2456 | 欧美日韩国产精品一区二区三区 | 久久久午夜精品理论片中文字幕 | 日韩网站免费观看 | 亚洲欧洲久久久 | 69国产精品视频免费观看 | 91毛片视频 | 日日夜夜中文字幕 | 午夜av片 | 成人免费一区二区三区在线观看 | 在线观看精品国产 | 亚洲四虎影院 | 9在线观看免费高清完整 | 91黄色在线视频 | 高清不卡一区二区三区 | 91精品视频免费看 | 五月婷婷六月丁香激情 | 国产精品18videosex性欧美 | 国产精品美女久久久久久久 | 911久久香蕉国产线看观看 | 欧美另类tv| 久久97超碰| 日韩欧美大片免费观看 | 中文字幕乱码视频 | 国产精品嫩草影院99网站 | 婷婷5月色 | 国产精品久久久久久高潮 | 亚洲综合成人在线 | 超碰人人超 | 亚洲国产成人久久综合 | 中文字幕电影一区 | 国产精品免费高清 | 欧美精品在线观看 | 香蕉视频4aa | 欧美精品一区二区性色 | 亚洲国产精品va在线看黑人 | 色噜噜狠狠狠狠色综合久不 | 黄色免费大全 | www四虎影院| a级国产乱理论片在线观看 伊人宗合网 | 亚洲无吗天堂 | 黄色片软件网站 | 激情综合国产 | 日韩av三区 | 日本精油按摩3 | 国产精品国产三级国产aⅴ入口 | 深爱开心激情 | 激情在线网站 | 日韩久久精品一区二区三区下载 | 欧美老少交 | 色吧av色av| 一区二区三区四区免费视频 | 成人在线观看免费 | 久久露脸国产精品 | 日韩免费看视频 | 精品久久一区 | 精壮的侍卫呻吟h | 九九久久久久99精品 | 欧美亚洲国产一卡 | 91成人精品一区在线播放69 | 香蕉影院在线观看 | 国产精品九九九九九九 | 在线观看免费 | 久久国产午夜精品理论片最新版本 | www操操操 | 最新av免费 | 欧美日韩国产高清视频 | 中文字幕亚洲不卡 | 中文字幕日韩在线播放 | 中文字幕a在线 | 日韩中文字幕在线不卡 | 中文字幕日韩av | 天天摸天天舔 | 日韩精品一区二区在线观看视频 | 久草视频看看 | 成人久久国产 | 国产日韩在线一区 | 国产96精品| 青青久草在线 | 久久这里只精品 | 欧美伊人网 | 欧美国产一区在线 | 色99视频| 毛片的网址 | 亚洲国产综合在线 | 亚洲免费成人 | 人人澡人人添人人爽一区二区 | 久久9精品| 少妇av网 | 欧美 日韩 国产 中文字幕 | 欧美一级电影免费观看 | 97视频久久久 | 毛片网站免费在线观看 | 日本系列中文字幕 | 麻豆视频免费看 | 91精品视频在线看 | 婷婷九月激情 | 综合色中文 | 日韩av在线网站 | 天天干天天怕 | 人人草天天草 | 久久免费视频网 | 日韩三级不卡 | 亚洲精品国产第一综合99久久 | 成人精品久久久 | 成人av资源 | 亚洲成人二区 | 日韩毛片久久久 | 91中文字幕视频 | 国产精品久久久久久一区二区 | www.一区二区三区 | 视频一区久久 | 国产成人一区二区在线观看 | 欧美精品乱码久久久久久按摩 | 亚洲伦理一区 | 亚洲国产精品日韩 | 99免费看片 | 欧美一区二区在线免费观看 | 伊甸园av在线 | 亚洲成aⅴ人片久久青草影院 | 久久av免费| 日韩电影在线观看一区二区 | 免费国产黄线在线观看视频 | 色噜噜在线观看 | 男女激情麻豆 | 国产综合激情 | 婷婷成人综合 | 9999毛片 | 青春草视频在线播放 | 日本不卡久久 | 亚洲精品在线免费看 | 欧美一级性生活片 | av片在线观看免费 | 久久久网站 | 伊人婷婷综合 | 亚洲人精品午夜 | 国产成人av在线 | 亚洲精品va | 国产一区在线精品 | 免费福利在线播放 | 免费日韩av电影 | 久久激情小视频 | 一区在线观看视频 | 国产高清中文字幕 | 国产美女视频一区 | 一区二区三区精品久久久 | 久久婷婷精品视频 | 99热国产精品 | 国产高清精品在线观看 | 在线三级av | 热久久国产 | 西西大胆免费视频 | 免费精品在线观看 | 久久视频在线看 | 成全在线视频免费观看 | 开心色插| 亚洲高清免费在线 | 免费av小说| 韩日精品中文字幕 | 午夜国产福利在线 | 日色在线视频 | 久久免费看视频 | 新版资源中文在线观看 | 国产黄色免费电影 | 国产麻豆精品在线观看 | 久久久久久久久久电影 | 亚洲黄色在线观看 | 天天干夜夜擦 | av中文字幕网址 | 最新av网址大全 | 天堂av高清 | 国产在线色站 | 日韩在线观看的 | av高清免费在线 | 久久久久免费网站 | 国产成人精品亚洲精品 | 色网站在线免费观看 | 精品字幕 | 最近日本mv字幕免费观看 | 国产免费一区二区三区最新6 | 久久人人插 | 婷婷国产一区二区三区 | 国产精品毛片一区二区三区 | 在线观看91av | 久久精品欧美一区二区三区麻豆 | 国产视频色 | 国产色婷婷在线 | 开心激情综合网 | 亚洲精品观看 | 久久精品在线免费观看 | www.狠狠操| www.在线观看av | 久久久久久久久网站 | 亚洲伦理一区 | 免费看黄色小说的网站 | 亚洲成av人片 | 91免费视频网站在线观看 | 国产丝袜美腿在线 | 91网站免费观看 | www婷婷 | 免费男女羞羞的视频网站中文字幕 | 国产精品国内免费一区二区三区 | 欧美精品免费在线观看 | 亚洲国产成人高清精品 | 免费高清在线一区 | 日韩成人精品一区二区 | 性色av香蕉一区二区 | 国产精品久久综合 | 亚洲精品视频在线观看网站 | 色资源网免费观看视频 | 操操操天天操 | 综合久久久久久久 | 欧美一级乱黄 | 99re国产 | 色av男人的天堂免费在线 | 国产精品系列在线播放 | 人人搞人人搞 | 久久久久久久免费看 | 麻豆系列在线观看 | 日本女人逼 | 五月天av在线 | 伊人天天狠天天添日日拍 | 国产精品久久久久久久久久新婚 | 国产精品一区二区精品视频免费看 | 亚洲一区二区三区四区精品 | 日本特黄一级片 | 91麻豆精品国产91久久久更新时间 | 日韩在线观看高清 | 欧美 日韩 国产 成人 在线 | 在线免费视频a | 一级免费黄视频 | 综合色天天 | 日韩av不卡在线播放 | 亚洲激情小视频 | 久久一区二区三区超碰国产精品 | 国产高清视频在线观看 | 亚洲欧洲中文日韩久久av乱码 | 五月丁香| 亚洲精品玖玖玖av在线看 | 国产一区麻豆 | 久久久国产精品一区二区三区 | 欧美性猛片 | 91精品视频一区二区三区 | 国产精品久久久久久一区二区三区 | 国产视频亚洲精品 | 国产亚洲亚洲 | 99色在线观看视频 | 国产成人精品999在线观看 | 日日婷婷夜日日天干 | 免费在线a | 欧美日韩一区二区免费在线观看 | 亚洲日本成人 | 91九色性视频 | 婷婷久久网 | 国产午夜激情视频 | 天天干天天怕 | 亚洲精品综合一区二区 | 亚洲精品久久久蜜桃直播 | 国产综合精品一区二区三区 | 国产91在线播放 | 日日天天av | 国产视频在线观看一区 | 91av原创 | 伊人成人激情 | 中文字幕在线观看第二页 | 2019久久精品 | 91豆麻精品91久久久久久 | 夜夜操天天摸 | 综合色中色 | www久| 美女网站在线观看 | 欧美日韩网站 | 香蕉视频在线免费 | 久亚洲 | 欧美一区影院 | 日韩一区二区免费视频 | 天天操欧美 | 欧美日韩综合在线 | 又湿又紧又大又爽a视频国产 | 国产精品黄网站在线观看 | 国产精品成人久久久久久久 | 久操久| 日本在线精品视频 | 97福利视频| 91精品国产91 | 亚洲春色综合另类校园电影 | 中文久久精品 | 欧美aa一级 | 六月色 | 国产精品对白一区二区三区 | 欧美日韩国产精品一区 | av电影免费在线播放 | 麻豆传媒视频在线 | 国产精品大片免费观看 | 天天综合网天天 | 国产在线视频不卡 | 亚洲爱爱视频 | 国产精品无av码在线观看 | 中文字幕中文中文字幕 | 国产高清一区二区 | 国产 在线 日韩 | 黄色片网站免费 | 欧美在线观看视频一区二区三区 | 午夜视频在线观看一区 | 国产一区二区三区在线 | 亚洲高清资源 | 手机av网站 | 国产高清视频免费最新在线 | 亚洲区视频在线观看 | 丁香综合激情 | 欧美日韩不卡一区二区三区 | 综合激情伊人 | 二区三区毛片 | 人人超碰免费 | 99在线高清视频在线播放 | 亚洲精品美女久久久 | 日韩乱理 | 午夜免费在线观看 | 97色在线视频 | 久久av网| 亚洲美女在线一区 | 曰韩在线 | 麻豆一精品传二传媒短视频 | 国产成人久久精品77777 | 日韩欧美xxx | 国产精品一区电影 | 毛片黄色一级 | 国产99久久 | 夜夜摸夜夜爽 | 午夜精品久久久久久久99水蜜桃 | 最新日韩在线观看视频 | 在线国产一区二区三区 | 一区二区精品视频 | 欧美aaa视频 | 成人av免费电影 | 久久久久久免费毛片精品 | japanesexxxhd奶水| 开心丁香婷婷深爱五月 | 亚洲国产视频a | 日日爱网址 | 在线观看国产91 | 久久久96 | 日韩免费在线一区 | 操一草| 激情综合色图 | 久久福利综合 | 精品国产aⅴ一区二区三区 在线直播av | 欧美日韩中文国产 | 国产精品久久久久久模特 | 中文字幕在线观看第一页 | 天天躁日日躁狠狠躁av麻豆 | 国产偷国产偷亚洲清高 | 麻豆成人精品 | 日批视频国产 | 99精品国产一区二区三区麻豆 | 91免费网站在线观看 | 国产成人精品一区二区三区免费 | 二区三区精品 | 女人18精品一区二区三区 | 日韩区欠美精品av视频 | 香蕉在线视频观看 | 中文字幕4| 国产成人一区二区三区在线观看 | 亚洲另类xxxx | 国产福利一区二区三区视频 | 日韩aⅴ视频 | 六月丁香色婷婷 | 韩国在线一区 | 中文字幕超清在线免费 | 欧美一级黄色网 | 成人国产精品久久久久久亚洲 | 中文视频在线播放 | 午夜精品一区二区三区在线视频 | 在线观看免费国产小视频 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 亚洲资源| 婷婷视频导航 | 国产亚洲高清视频 | 国产一区二区三区高清播放 | 国产高清视频网 | 日韩免费看的电影 | 日韩理论在线观看 | 国产人在线成免费视频 | 人人干干人人 | 美女黄濒| 国产视频1 | 一区二区三区高清在线 | 国产精品久久久久婷婷二区次 | 成人黄色小说在线观看 | 国产五十路毛片 | 久久精品一二三区 | 日韩黄色免费在线观看 | 国产欧美日韩一区 | 黄色片免费在线 | 午夜精品久久久久久久99 | 久久99热久久99精品 | 久久草草热国产精品直播 | 免费在线观看国产精品 | 色综合久久88色综合天天免费 | 国产精品一区二区三区在线免费观看 | 在线播放国产一区二区三区 | 人人干干人人 | 久久影院精品 | 91亚色免费视频 | 亚洲激情小视频 | 成人午夜剧场在线观看 | 久久久久久国产精品久久 | 韩国av电影在线观看 | 免费在线观看毛片网站 | 波多野结衣在线播放视频 | 国产在线中文字幕 | av在线电影网站 | 91中文在线视频 | 三级黄在线 | 国产v在线播放 | 久久99精品久久久久久三级 | 手机在线观看国产精品 | 色午夜影院 | 国产高清综合 | 97电影院在线观看 | 精品一区二区三区电影 | www国产亚洲 | 欧美国产日韩一区二区三区 | 天天操天天谢 | 欧美黑吊大战白妞欧美 | 欧美伦理一区二区 | 亚洲精品视频免费观看 | 亚洲免费在线观看视频 | 国产亚洲精品久久19p | 狠狠色丁香久久婷婷综合五月 | 成人av电影网址 | 久久免费公开视频 | 免费在线观看日韩欧美 | 国产精品免费久久久久久久久久中文 | 成人高清在线观看 | 天天爽天天做 | 日日夜夜狠狠 | 国产成人99久久亚洲综合精品 | 二区三区在线观看 | 中文字幕在线观看一区 | 园产精品久久久久久久7电影 | 久久字幕精品一区 | 热re99久久精品国产99热 | 国产免费人成xvideos视频 | 成人性生交视频 | 久久久国产成人 | 日韩视频一区二区 | 国产精品99爱 | 91精品久久香蕉国产线看观看 | 日韩欧美一区二区三区免费观看 | 中文字幕日韩免费视频 | av色影院 | 国产精品一区二区在线免费观看 | 一区二区三区在线播放 | 国产五月| 久久电影网站中文字幕 | 日韩欧美高清一区二区 | 91精品亚洲影视在线观看 | 97超碰成人在线 | 91在线成人 | 国产三级国产精品国产专区50 | 免费看的av片| 操操操夜夜操 | 在线观看av小说 | 色综合久久88色综合天天6 | 高清精品久久 | 久久综合精品国产一区二区三区 | 中文字幕日韩高清 | 亚洲天堂网视频在线观看 | 麻花天美星空视频 | 伊人www22综合色 | www.五月婷婷.com | 在线中文视频 | 欧美一区成人 | 这里只有精彩视频 | 成人四虎影院 | 欧美午夜视频在线 | 久久国产综合视频 | 日韩欧美综合在线视频 | 黄污在线观看 | 免费看v片网站 | 久久九九精品久久 | 久久国产a | 日韩在线观看免费 | 色姑娘综合天天 | 亚洲另类交| 五月天视频网站 | 久久久香蕉视频 | 亚洲婷婷免费 | 五月婷婷综合激情网 | 欧美国产日韩一区二区三区 | 国产一区在线视频播放 | 天天综合入口 | 国产黄色理论片 | 国产国语在线 | 亚洲人人av | 亚洲一区视频在线播放 | 精品国产自 | av免费观看网站 | 色在线网站 | 国产成人亚洲精品自产在线 | 国产精品亚洲片在线播放 | 香蕉色综合| 欧美日韩国产精品一区二区三区 | 久久精品视频国产 | 色婷丁香 | 免费av成人在线 | 国产又粗又硬又长又爽的视频 | 国产又粗又长又硬免费视频 | 久草视频99| 91久久影院| 免费午夜网站 | 久久久国产精品人人片99精片欧美一 | 美女中文字幕 | 久艹视频在线免费观看 | 在线观看视频h | 日韩av影视| av+在线播放在线播放 | 在线欧美最极品的av | 9在线观看免费高清完整 | 精品国自产在线观看 | 天天干天天看 | 国产一区二区成人 | 999久久a精品合区久久久 | 成人午夜黄色 | 色综合天天做天天爱 | 久草在线视频网站 | 悠悠av资源片 | 欧美 另类 交 | 手机av在线网站 | 精品毛片久久久久久 | 亚洲成人免费在线观看 | 91中文字幕一区 | 97人人射| 亚洲精品福利在线观看 | 免费在线观看黄网站 | www.色综合.com | 天天操天天操天天操天天 | 精品九九九九 | 六月丁香激情网 | 麻豆视频免费在线播放 | 欧美日韩国产精品一区二区三区 | 狠狠撸电影 | 国产精品第 | 99 色| 美女视频免费一区二区 | 国产精品久久亚洲 | 精品亚洲男同gayvideo网站 | 国产性天天综合网 | 欧美精品一区二区性色 | 亚洲欧美精品一区 | 国产精品久久久久一区二区三区 | 天天操天天能 | 81国产精品久久久久久久久久 | 狠狠躁日日躁狂躁夜夜躁 | 亚洲久久视频 | 精品一区精品二区高清 | 亚洲黄色片一级 | 天天爱天天 | 国产区在线看 | 国产精品久久久99 | 九九涩涩av台湾日本热热 | 国产精品视频你懂的 | 很黄很黄的网站免费的 | 久久人人干| 99国产精品一区二区 | 成人久久久电影 | 成人性生爱a∨ | 人人爽人人爽人人爽 | 99九九99九九九视频精品 | 欧美伦理一区二区 | 亚洲专区一二三 | 日韩精品欧美视频 | 国产精品久久久久久a | 国产破处视频在线播放 | 久久人人看 | 9ⅰ精品久久久久久久久中文字幕 | 久久不卡视频 | 亚洲高清视频在线观看免费 | 在线成人短视频 | 在线观看爱爱视频 | 国产一级免费在线观看 | 久久久免费看视频 | 欧美精品久久久久久久亚洲调教 | 亚洲激情在线播放 | 久久久黄色免费网站 | 免费网站污 | 亚洲激情p | 日韩艹 | 五月开心六月伊人色婷婷 | 在线看中文字幕 | 99成人精品| 日本精品一区二区三区在线播放视频 | 97精品国自产拍在线观看 | 亚洲精品久久久久久久不卡四虎 | 99久久久国产精品美女 | 亚洲精品国产精品99久久 | 国产精品爽爽久久久久久蜜臀 | 亚洲欧洲一区二区在线观看 | 91喷水| 在线一区二区三区 | 97国产在线视频 | 在线播放视频一区 | 美女黄频免费 | 96av麻豆蜜桃一区二区 | 波多野结衣精品 | 欧美91在线| 人人爽影院 | 中文字幕av专区 | 久久亚洲综合国产精品99麻豆的功能介绍 | 伊人久久精品久久亚洲一区 | 一区二区三区三区在线 | 国产精品专区一 | 婷婷丁香花 | 精品国产a | 五月开心激情网 | 欧美日韩免费观看一区=区三区 | 日韩二区精品 | 久久精品视频中文字幕 | 国产欧美日韩精品一区二区免费 | 天天艹天天 | 久久久免费国产 | 狠狠色丁香久久婷婷综合五月 | 亚洲激情电影在线 | 亚洲精品一区二区网址 | 中文字幕一区在线 | 亚洲精品午夜视频 | av在线播放国产 | 精品欧美乱码久久久久久 | 91麻豆免费视频 | 一区二区理论片 | 天天色天天综合 | 亚洲精品videossex少妇 | 天天在线操 | 国产无限资源在线观看 | 久草免费在线视频观看 | 久久久视屏 | 成人在线观看资源 | 99久久超碰中文字幕伊人 | 久久精品视频免费观看 | 一区二区三区动漫 | 蜜臀av夜夜澡人人爽人人桃色 | 国内精品久久久久久久久久久久 | 国产精品99久久久久久宅男 | 久草综合视频 | 一级黄色片网站 | 久久人人爽视频 | 九九涩涩av台湾日本热热 | 手机在线欧美 | 日韩毛片在线免费观看 | 精品国产免费一区二区三区五区 | 国产3p视频 | 国产精品女教师 | 夜夜操网 | 国产成人精品久久久 | 国产一区二区三区黄 | 国产激情电影综合在线看 | 免费看黄在线看 | 99精品国产兔费观看久久99 | 在线看不卡av | 精品国产免费人成在线观看 | 久久久国产精品电影 | 欧美亚洲三级 | 国产做a爱一级久久 | 色婷婷av一区二 | 亚洲欧美日韩精品久久奇米一区 | 国产91精品在线播放 | 国产黄色免费电影 | 日韩精品视频在线观看免费 | 亚洲精品自在在线观看 | 五月婷婷激情 | 国产综合91 | 91精品在线免费观看视频 | 精品产品国产在线不卡 | 色中文字幕在线观看 | 精一区二区 | 精品亚洲免费 | 成人免费观看在线视频 | 久久久亚洲精品 | av亚洲产国偷v产偷v自拍小说 | 亚洲激情 在线 | 丁香婷婷久久久综合精品国产 | 正在播放国产一区 | 欧美激精品 | 国产精品久久久久久久久久妇女 | 不卡日韩av | 美女视频a美女大全免费下载蜜臀 | 91一区在线观看 | 日韩欧美视频一区 | 亚洲欧美日韩精品一区二区 | 91久久电影 | 久久精品视频国产 | 亚洲伊人第一页 | 99久久综合狠狠综合久久 | 97网站| 狠狠色丁香久久婷婷综合_中 | 性色在线视频 | 中国精品一区二区 | 国产精品久久久久久久久久久不卡 | 久久精品久久精品 | 婷婷福利影院 | 97在线看| 狠狠操操操 | 日韩精品在线视频免费观看 | 麻豆视频在线观看免费 | 69xx视频| 国产精品久久久久久久久久久不卡 | 久久av在线播放 | 一区久久久 | 最新色站| 99欧美视频 | 能在线观看的日韩av | 亚洲成a人片77777kkkk1在线观看 | 久久久久综合网 | 久久精品99久久 | 日日日操 | 青青视频一区 | 最新日韩精品 | 91爱看片 | 五月天高清欧美mv | 天天拍天天操 | 日韩电影在线观看一区二区三区 | 最新亚洲视频 | 欧美日韩国产在线 | 婷婷99| 亚洲一区欧美精品 | 日韩精品高清视频 | 五月天激情视频 | 久久精品视频在线观看免费 | 成年人黄色免费看 | 久久高视频 | 婷婷色在线播放 | 婷婷激情久久 | 国产 字幕 制服 中文 在线 | av日韩av| 一区二区三区动漫 | 狠狠色丁香婷婷综合最新地址 | 黄色小说在线免费观看 | 在线高清一区 | 精品久久久久久综合日本 | 永久免费毛片在线观看 | 亚洲女裸体| 亚洲欧美少妇 | 国产精品久久久久久一二三四五 | 色99之美女主播在线视频 | a v在线视频| 在线中文字幕av观看 | 欧美一区三区四区 | 人人澡超碰碰 | 欧美日韩高清 | 天天干中文字幕 | 91精品国自产拍天天拍 | 六月激情久久 | 国产原创在线视频 | 91麻豆国产福利在线观看 | 2019精品手机国产品在线 | 色噜噜狠狠狠狠色综合久不 | 亚洲三区在线 | 黄色成人av | 欧美男男tv网站 | 国产精品久久久久av | 久久久69| 99久久精品免费看国产免费软件 | 国产精品久久久久久久久久久杏吧 | 日韩中文字幕视频在线 | 欧美日韩精品影院 | 久久夜色精品国产欧美乱极品 | 中文字幕国产精品一区二区 | 天天干天天干天天干天天干天天干天天干 | 国产黄色片免费看 | 免费看的黄色小视频 | 91成人蝌蚪| 国产3p视频 | av在线一二三区 | 免费观看性生活大片 | 在线 国产一区 | 婷婷六月天在线 | 高清精品视频 | 亚洲 在线 | 91插插视频 | 成人在线视频免费看 | 国产日本亚洲高清 | 国产中文字幕网 | www99精品| 久久久国产精品一区二区三区 | 黄色大片av| aⅴ视频在线 | 一区二区三区在线观看中文字幕 | 91福利免费| 91在线看网站 | 国产成人综合在线观看 | 天天天插 | 在线观看视频免费大全 | 黄色成人影院 | 国产精品18久久久久久久久久久久 | 欧美大香线蕉线伊人久久 | 亚洲精品免费播放 | 国产淫a | 五月婷社区 | 亚洲免费资源 | 久久艹在线 | 国产精品中文字幕在线 | 欧美 国产 视频 | 日韩欧美视频在线播放 | 国产高清视频网 | 久久免费国产视频 | 69久久久久久久 | 成人网页在线免费观看 | 夜夜骑首页 | 天天综合成人 | 免费在线色视频 | 免费高清在线视频一区· | 成人影片在线播放 | 奇米网网址| 日韩av黄| 在线观看免费版高清版 | 国产精品成人一区二区 | 国产a精品 | 国产精品igao视频网入口 | 国产高清99| 国产一级淫片免费看 | 91精品久久久久久 | 久久久久成人精品 | 免费看黄在线网站 | 福利网址在线观看 | 久久免费看片 | 伊人一级 | 日韩免费成人 | 成 人 免费 黄 色 视频 | 亚洲爱av| 久久精品综合网 | 天天搞天天干天天色 | 亚洲精品一区二区三区四区高清 | 欧美久久久久久久 | 亚洲精品www | 亚洲视频免费在线 | 玖草影院 | 久久综合偷偷噜噜噜色 | 午夜视频日本 | 亚洲黄色一级大片 | 日韩欧美区 | 中文字幕三区 | 天海翼一区二区三区免费 | 欧美精品第一 | a在线免费观看视频 | 久久久久免费视频 | 美女免费黄网站 | 欧美日韩在线观看一区二区 | 日韩成人xxxx | 婷婷五月色综合 | 欧美一级片在线观看视频 | 99久久久精品 | 久久在线影院 | 免费在线成人av电影 | 国产成人一区三区 | 国产亚洲综合性久久久影院 | 二区三区视频 | 欧美大香线蕉线伊人久久 | 日日操操操 | 国内精品久久久久久久影视简单 | 手机成人在线电影 | 欧美日韩在线免费观看视频 | 91你懂的 | 国产综合精品一区二区三区 | 在线黄色免费av | 久久午夜色播影院免费高清 | 久久国产精品成人免费浪潮 | 国产vs久久 | 久久成电影 | 欧美激情亚洲综合 | 精品国产三级 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 久久艹综合 | 伊人丁香 | 亚洲欧美日韩一区二区三区在线观看 | 久久99精品一区二区三区三区 | 国产精品久久久久一区二区三区 | 亚洲精品网址在线观看 | 久久精品这里热有精品 | 中文一区在线观看 | 在线韩国电影免费观影完整版 | av中文资源在线 | 天天操天天色综合 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 |