久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

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

编程问答

kafka集群原理介绍

發布時間:2024/1/23 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kafka集群原理介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

kafka集群原理介紹

@(KAFKA)[kafka, 大數據]

  • kafka集群原理介紹
  • 一基礎理論
  • 二配置文件
    • 一java調優
    • 二參數說明
  • 三錯誤處理
  • 四zookeeper中的內容
      • 1brokers中的信息
      • 2consumer的信息
        • offset中的這個值表示什么意思不是時間是batch先看看simple levele api然后再考慮mail list
      • 3controller和controller_epoch

(一)基礎理論

1、相關資料
官方資料,非常詳細:
http://kafka.apache.org/documentation.html#quickstart

以下部分內容來源于此文檔。

2、kafka是什么?

(1)Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.

Kafka是一個 分布式的、可分區的、可復制的消息系統。它提供了普通消息系統的功能,但具有自己獨特的設計。

(2)可以簡單的理解為:kafka是一個日志集群,各種各樣的服務器將它們自身的日志發送到集群中進行統一匯總和存儲,然后其它機器從集群中拉取消息進行分析處理,如ELT、數據挖掘等。

(3)kafka使用scala語言實現,提供了JAVA API,同時對多種語言都提供了支持。

3、幾個關鍵術語

topic: Kafka將消息以topic為單位進行歸納。

producer: 將向Kafka topic發布消息的程序稱為producers.

consumer: 將預訂topics并消費消息的程序稱為consumer.

broker: Kafka以集群的方式運行,可以由一個或多個服務組成,每個服務叫做一個broker.

4、分區與副本

(1)一個topic是對一組消息的歸納。對每個topic,Kafka 對它的日志進行了分區。

(2)一般而言,一個topic會有多個分區,每個分區會有多個副本。

分區是分了將一個topic分到多個地方存儲,提高并行處理的能力。副本是為了容錯,保證數據不丟失。

(3)對于每一個分區,都會選取一個leader,這個分區的所有讀取都在這個leader中進行,而其它副本會同步leader中的數據,且只做備份。

即leader只是針對一個分區而言,而非整個集群。一個服務器對于某個分區是leader,對于其它分區可能是follower。

(4) Producer將消息發布到它指定的topic中,并負責決定發布到哪個分區。通常簡單的由負載均衡機制隨機選擇分區,但也可以通過特定的分區函數選擇分區。

(5)發布消息通常有兩種模式:隊列模式(queuing)和發布-訂閱模式(publish-subscribe)。隊列模式中,consumers可以同時從服務端讀取消息,每個消息只被其中一個consumer讀到;發布-訂閱模式中消息被廣播到所有的consumer中。

Consumers可以加入一個consumer 組,共同競爭一個topic,topic中的消息將被分發到組中的一個成員中。同一組中的consumer可以在不同的程序中,也可以在不同的機器上。如果所有的consumer都在一個組中,這就成為了傳統的隊列模式,在各consumer中實現負載均衡。

如果所有的consumer都不在不同的組中,這就成為了發布-訂閱模式,所有的消息都被分發到所有的consumer中。

更常見的是,每個topic都有若干數量的consumer組,每個組都是一個邏輯上的“訂閱者”,為了容錯和更好的穩定性,每個組由若干consumer組成。這其實就是一個發布-訂閱模式,只不過訂閱者是個組而不是單個consumer。

(6)有序性

相比傳統的消息系統,Kafka可以很好的保證有序性。

傳統的隊列在服務器上保存有序的消息,如果多個consumers同時從這個服務器消費消息,服務器就會以消息存儲的順序向consumer分 發消息。雖然服務器按順序發布消息,但是消息是被異步的分發到各consumer上,所以當消息到達時可能已經失去了原來的順序,這意味著并發消費將導致 順序錯亂。為了避免故障,這樣的消息系統通常使用“專用consumer”的概念,其實就是只允許一個消費者消費消息,當然這就意味著失去了并發性。

在這方面Kafka做的更好,通過分區的概念,Kafka可以在多個consumer組并發的情況下提供較好的有序性和負載均衡。將每個分區分 只分發給一個consumer組,這樣一個分區就只被這個組的一個consumer消費,就可以順序的消費這個分區的消息。因為有多個分區,依然可以在多 個consumer組之間進行負載均衡。注意consumer組的數量不能多于分區的數量,也就是有多少分區就允許多少并發消費。

Kafka只能保證一個分區之內消息的有序性,在不同的分區之間是不可以的,這已經可以滿足大部分應用的需求。如果需要topic中所有消息的有序性,那就只能讓這個topic只有一個分區,當然也就只有一個consumer組消費它。

5、數據持久化(本部分內容直接翻譯自官方文檔)

不要畏懼文件系統!

Kafka大量依賴文件系統去存儲和緩存消息。對于硬盤有個傳統的觀念是硬盤總是很慢,這使很多人懷疑基于文件系統的架構能否提供優異的性能。實際上硬盤的快慢完全取決于使用它的方式。設計良好的硬盤架構可以和內存一樣快。

在6塊7200轉的SATA RAID-5磁盤陣列的線性寫速度差不多是600MB/s,但是隨即寫的速度卻是100k/s,差了差不多6000倍?,F代的操作系統都對次做了大量的優化,使用了 read-ahead 和 write-behind的技巧,讀取的時候成塊的預讀取數據,寫的時候將各種微小瑣碎的邏輯寫入組織合并成一次較大的物理寫入。對此的深入討論可以查看這里,它們發現線性的訪問磁盤,很多時候比隨機的內存訪問快得多。

為了提高性能,現代操作系統往往使用內存作為磁盤的緩存,現代操作系統樂于把所有空閑內存用作磁盤緩存,雖然這可能在緩存回收和重新分配時犧牲一些性能。所有的磁盤讀寫操作都會經過這個緩存,這不太可能被繞開除非直接使用I/O。所以雖然每個程序都在自己的線程里只緩存了一份數據,但在操作系統的緩存里還有一份,這等于存了兩份數據。

另外再來討論一下JVM,以下兩個事實是眾所周知的:

?Java對象占用空間是非常大的,差不多是要存儲的數據的兩倍甚至更高。

?隨著堆中數據量的增加,垃圾回收回變的越來越困難。

基于以上分析,如果把數據緩存在內存里,因為需要存儲兩份,不得不使用兩倍的內存空間,Kafka基于JVM,又不得不將空間再次加倍,再加上要避免GC帶來的性能影響,在一個32G內存的機器上,不得不使用到28-30G的內存空間。并且當系統重啟的時候,又必須要將數據刷到內存中( 10GB 內存差不多要用10分鐘),就算使用冷刷新(不是一次性刷進內存,而是在使用數據的時候沒有就刷到內存)也會導致最初的時候新能非常慢。但是使用文件系統,即使系統重啟了,也不需要刷新數據。使用文件系統也簡化了維護數據一致性的邏輯。

所以與傳統的將數據緩存在內存中然后刷到硬盤的設計不同,Kafka直接將數據寫到了文件系統的日志中。

常量時間的操作效率

在大多數的消息系統中,數據持久化的機制往往是為每個cosumer提供一個B樹或者其他的隨機讀寫的數據結構。B樹當然是很棒的,但是也帶了一些代價:比如B樹的復雜度是O(log N),O(log N)通常被認為就是常量復雜度了,但對于硬盤操作來說并非如此。磁盤進行一次搜索需要10ms,每個硬盤在同一時間只能進行一次搜索,這樣并發處理就成了問題。雖然存儲系統使用緩存進行了大量優化,但是對于樹結構的性能的觀察結果卻表明,它的性能往往隨著數據的增長而線性下降,數據增長一倍,速度就會降低一倍。

直觀的講,對于主要用于日志處理的消息系統,數據的持久化可以簡單的通過將數據追加到文件中實現,讀的時候從文件中讀就好了。這樣做的好處是讀和寫都是 O(1) 的,并且讀操作不會阻塞寫操作和其他操作。這樣帶來的性能優勢是很明顯的,因為性能和數據的大小沒有關系了。

既然可以使用幾乎沒有容量限制(相對于內存來說)的硬盤空間建立消息系統,就可以在沒有性能損失的情況下提供一些一般消息系統不具備的特性。比如,一般的消息系統都是在消息被消費后立即刪除,Kafka卻可以將消息保存一段時間(比如一星期),這給consumer提供了很好的機動性和靈活性。

6、事務性

之前討論了consumer和producer是怎么工作的,現在來討論一下數據傳輸方面。數據傳輸的事務定義通常有以下三種級別:

最多一次: 消息不會被重復發送,最多被傳輸一次,但也有可能一次不傳輸。

最少一次: 消息不會被漏發送,最少被傳輸一次,但也有可能被重復傳輸.

精確的一次(Exactly once): 不會漏傳輸也不會重復傳輸,每個消息都傳輸被一次而且僅僅被傳輸一次,這是大家所期望的。

大多數消息系統聲稱可以做到“精確的一次”,但是仔細閱讀它們的的文檔可以看到里面存在誤導,比如沒有說明當consumer或producer失敗時怎么樣,或者當有多個consumer并行時怎么樣,或寫入硬盤的數據丟失時又會怎么樣。kafka的做法要更先進一些。當發布消息時,Kafka有一個“committed”的概念,一旦消息被提交了,只要消息被寫入的分區的所在的副本broker是活動的,數據就不會丟失。關于副本的活動的概念,下節文檔會討論?,F在假設broker是不會down的。

如果producer發布消息時發生了網絡錯誤,但又不確定實在提交之前發生的還是提交之后發生的,這種情況雖然不常見,但是必須考慮進去,現在Kafka版本還沒有解決這個問題,將來的版本正在努力嘗試解決。

并不是所有的情況都需要“精確的一次”這樣高的級別,Kafka允許producer靈活的指定級別。比如producer可以指定必須等待消息被提交的通知,或者完全的異步發送消息而不等待任何通知,或者僅僅等待leader聲明它拿到了消息(followers沒有必要)。

現在從consumer的方面考慮這個問題,所有的副本都有相同的日志文件和相同的offset,consumer維護自己消費的消息的offset,如果consumer不會崩潰當然可以在內存中保存這個值,當然誰也不能保證這點。如果consumer崩潰了,會有另外一個consumer接著消費消息,它需要從一個合適的offset繼續處理。這種情況下可以有以下選擇:

consumer可以先讀取消息,然后將offset寫入日志文件中,然后再處理消息。這存在一種可能就是在存儲offset后還沒處理消息就crash了,新的consumer繼續從這個offset處理,那么就會有些消息永遠不會被處理,這就是上面說的“最多一次”。

consumer可以先讀取消息,處理消息,最后記錄offset,當然如果在記錄offset之前就crash了,新的consumer會重復的消費一些消息,這就是上面說的“最少一次”。

“精確一次”可以通過將提交分為兩個階段來解決:保存了offset后提交一次,消息處理成功之后再提交一次。但是還有個更簡單的做法:將消息的offset和消息被處理后的結果保存在一起。比如用Hadoop ETL處理消息時,將處理后的結果和offset同時保存在HDFS中,這樣就能保證消息和offser同時被處理了

7、關于性能優化

Kafka在提高效率方面做了很大努力。Kafka的一個主要使用場景是處理網站活動日志,吞吐量是非常大的,每個頁面都會產生好多次寫操作。讀方面,假設每個消息只被消費一次,讀的量的也是很大的,Kafka也盡量使讀的操作更輕量化。

我們之前討論了磁盤的性能問題,線性讀寫的情況下影響磁盤性能問題大約有兩個方面:太多的瑣碎的I/O操作和太多的字節拷貝。I/O問題發生在客戶端和服務端之間,也發生在服務端內部的持久化的操作中。
消息集(message set)
為了避免這些問題,Kafka建立了“消息集(message set)”的概念,將消息組織到一起,作為處理的單位。以消息集為單位處理消息,比以單個的消息為單位處理,會提升不少性能。Producer把消息集一塊發送給服務端,而不是一條條的發送;服務端把消息集一次性的追加到日志文件中,這樣減少了瑣碎的I/O操作。consumer也可以一次性的請求一個消息集。
另外一個性能優化是在字節拷貝方面。在低負載的情況下這不是問題,但是在高負載的情況下它的影響還是很大的。為了避免這個問題,Kafka使用了標準的二進制消息格式,這個格式可以在producer,broker和producer之間共享而無需做任何改動。
zero copy
Broker維護的消息日志僅僅是一些目錄文件,消息集以固定隊的格式寫入到日志文件中,這個格式producer和consumer是共享的,這使得Kafka可以一個很重要的點進行優化:消息在網絡上的傳遞。現代的unix操作系統提供了高性能的將數據從頁面緩存發送到socket的系統函數,在linux中,這個函數是sendfile.
為了更好的理解sendfile的好處,我們先來看下一般將數據從文件發送到socket的數據流向:

操作系統把數據從文件拷貝內核中的頁緩存中
應用程序從頁緩存從把數據拷貝自己的內存緩存中
應用程序將數據寫入到內核中socket緩存中
操作系統把數據從socket緩存中拷貝到網卡接口緩存,從這里發送到網絡上。

這顯然是低效率的,有4次拷貝和2次系統調用。Sendfile通過直接將數據從頁面緩存發送網卡接口緩存,避免了重復拷貝,大大的優化了性能。
在一個多consumers的場景里,數據僅僅被拷貝到頁面緩存一次而不是每次消費消息的時候都重復的進行拷貝。這使得消息以近乎網絡帶寬的速率發送出去。這樣在磁盤層面你幾乎看不到任何的讀操作,因為數據都是從頁面緩存中直接發送到網絡上去了。

8、數據壓縮
很多時候,性能的瓶頸并非CPU或者硬盤而是網絡帶寬,對于需要在數據中心之間傳送大量數據的應用更是如此。當然用戶可以在沒有Kafka支持的情況下各自壓縮自己的消息,但是這將導致較低的壓縮率,因為相比于將消息單獨壓縮,將大量文件壓縮在一起才能起到最好的壓縮效果。
Kafka采用了端到端的壓縮:因為有“消息集”的概念,客戶端的消息可以一起被壓縮后送到服務端,并以壓縮后的格式寫入日志文件,以壓縮的格式發送到consumer,消息從producer發出到consumer拿到都被是壓縮的,只有在consumer使用的時候才被解壓縮,所以叫做“端到端的壓縮”。
Kafka支持GZIP和Snappy壓縮協議。

9、producer和consumer

Kafka Producer

消息發送

producer直接將數據發送到broker的leader(主節點),不需要在多個節點進行分發。為了幫助producer做到這點,所有的Kafka節點都可以及時的告知:哪些節點是活動的,目標topic目標分區的leader在哪。這樣producer就可以直接將消息發送到目的地了。

客戶端控制消息將被分發到哪個分區。可以通過負載均衡隨機的選擇,或者使用分區函數。Kafka允許用戶實現分區函數,指定分區的key,將消息hash到不同的分區上(當然有需要的話,也可以覆蓋這個分區函數自己實現邏輯).比如如果你指定的key是user id,那么同一個用戶發送的消息都被發送到同一個分區上。經過分區之后,consumer就可以有目的的消費某個分區的消息。

異步發送

批量發送可以很有效的提高發送效率。Kafka producer的異步發送模式允許進行批量發送,先將消息緩存在內存中,然后一次請求批量發送出去。這個策略可以配置的,比如可以指定緩存的消息達到某個量的時候就發出去,或者緩存了固定的時間后就發送出去(比如100條消息就發送,或者每5秒發送一次)。這種策略將大大減少服務端的I/O次數。

既然緩存是在producer端進行的,那么當producer崩潰時,這些消息就會丟失。Kafka0.8.1的異步發送模式還不支持回調,就不能在發送出錯時進行處理。Kafka 0.9可能會增加這樣的回調函數。見Proposed Producer API.

Kafka Consumer

Kafa consumer消費消息時,向broker發出”fetch”請求去消費特定分區的消息。consumer指定消息在日志中的偏移量(offset),就可以消費從這個位置開始的消息。customer擁有了offset的控制權,可以向后回滾去重新消費之前的消息,這是很有意義的。

10、推還是拉?

Kafka最初考慮的問題是,customer應該從brokes拉取消息還是brokers將消息推送到consumer,也就是pull還push。在這方面,Kafka遵循了一種大部分消息系統共同的傳統的設計:producer將消息推送到broker,consumer從broker拉取消息。
一些消息系統比如Scribe和Apache Flume采用了push模式,將消息推送到下游的consumer。這樣做有好處也有壞處:由broker決定消息推送的速率,對于不同消費速率的consumer就不太好處理了。消息系統都致力于讓consumer以最大的速率最快速的消費消息,但不幸的是,push模式下,當broker推送的速率遠大于consumer消費的速率時,consumer恐怕就要崩潰了。最終Kafka還是選取了傳統的pull模式。
Pull模式的另外一個好處是consumer可以自主決定是否批量的從broker拉取數據。Push模式必須在不知道下游consumer消費能力和消費策略的情況下決定是立即推送每條消息還是緩存之后批量推送。如果為了避免consumer崩潰而采用較低的推送速率,將可能導致一次只推送較少的消息而造成浪費。Pull模式下,consumer就可以根據自己的消費能力去決定這些策略。
Pull有個缺點是,如果broker沒有可供消費的消息,將導致consumer不斷在循環中輪詢,直到新消息到t達。為了避免這點,Kafka有個參數可以讓consumer阻塞知道新消息到達(當然也可以阻塞知道消息的數量達到某個特定的量這樣就可以批量發送)。

11、消費狀態跟蹤

對消費消息狀態的記錄也是很重要的。
大部分消息系統在broker端的維護消息被消費的記錄:一個消息被分發到consumer后broker就馬上進行標記或者等待customer的通知后進行標記。這樣也可以在消息在消費后立馬就刪除以減少空間占用。
但是這樣會不會有什么問題呢?如果一條消息發送出去之后就立即被標記為消費過的,一旦consumer處理消息時失敗了(比如程序崩潰)消息就丟失了。為了解決這個問題,很多消息系統提供了另外一個個功能:當消息被發送出去之后僅僅被標記為已發送狀態,當接到consumer已經消費成功的通知后才標記為已被消費的狀態。這雖然解決了消息丟失的問題,但產生了新問題,首先如果consumer處理消息成功了但是向broker發送響應時失敗了,這條消息將被消費兩次。第二個問題時,broker必須維護每條消息的狀態,并且每次都要先鎖住消息然后更改狀態然后釋放鎖。這樣麻煩又來了,且不說要維護大量的狀態數據,比如如果消息發送出去但沒有收到消費成功的通知,這條消息將一直處于被鎖定的狀態,
Kafka采用了不同的策略。Topic被分成了若干分區,每個分區在同一時間只被一個consumer消費。這意味著每個分區被消費的消息在日志中的位置僅僅是一個簡單的整數:offset。這樣就很容易標記每個分區消費狀態就很容易了,僅僅需要一個整數而已。這樣消費狀態的跟蹤就很簡單了。
這帶來了另外一個好處:consumer可以把offset調成一個較老的值,去重新消費老的消息。這對傳統的消息系統來說看起來有些不可思議,但確實是非常有用的,誰規定了一條消息只能被消費一次呢?consumer發現解析數據的程序有bug,在修改bug后再來解析一次消息,看起來是很合理的額呀!

12、離線處理消息

高級的數據持久化允許consumer每個隔一段時間批量的將數據加載到線下系統中比如Hadoop或者數據倉庫。這種情況下,Hadoop可以將加載任務分拆,拆成每個broker或每個topic或每個分區一個加載任務。Hadoop具有任務管理功能,當一個任務失敗了就可以重啟而不用擔心數據被重新加載,只要從上次加載的位置繼續加載消息就可以了。

13、副本與主從關系(本部分直接翻譯自官方文檔)

Kafka允許topic的分區擁有若干副本,這個數量是可以配置的,你可以為每個topci配置副本的數量。Kafka會自動在每個個副本上備份數據,所以當一個節點down掉時數據依然是可用的。

Kafka的副本功能不是必須的,你可以配置只有一個副本,這樣其實就相當于只有一份數據。

創建副本的單位是topic的分區,每個分區都有一個leader和零或多個followers.所有的讀寫操作都由leader處理,一般分區的數量都比broker的數量多的多,各分區的leader均勻的分布在brokers中。所有的followers都復制leader的日志,日志中的消息和順序都和leader中的一致。flowers向普通的consumer那樣從leader那里拉取消息并保存在自己的日志文件中。
許多分布式的消息系統自動的處理失敗的請求,它們對一個節點是否
著(alive)”有著清晰的定義。Kafka判斷一個節點是否活著有兩個條件:

節點必須可以維護和ZooKeeper的連接,Zookeeper通過心跳機制檢查每個節點的連接。
如果節點是個follower,他必須能及時的同步leader的寫操作,延時不能太久。
符合以上條件的節點準確的說應該是“同步中的(in sync)”,而不是模糊的說是“活著的”或是“失敗的”。Leader會追蹤所有“同步中”的節點,一旦一個down掉了,或是卡住了,或是延時太久,leader就會把它移除。至于延時多久算是“太久”,是由參數replica.lag.max.messages決定的,怎樣算是卡住了,怎是由參數replica.lag.time.max.ms決定的。
只有當消息被所有的副本加入到日志中時,才算是“committed”,只有committed的消息才會發送給consumer,這樣就不用擔心一旦leader down掉了消息會丟失。Producer也可以選擇是否等待消息被提交的通知,這個是由參數request.required.acks決定的。

Kafka保證只要有一個“同步中”的節點,“committed”的消息就不會丟失。

14、Leader的選擇

Kafka的核心是日志文件,日志文件在集群中的同步是分布式數據系統最基礎的要素。

如果leaders永遠不會down的話我們就不需要followers了!一旦leader down掉了,需要在followers中選擇一個新的leader.但是followers本身有可能延時太久或者crash,所以必須選擇高質量的follower作為leader.必須保證,一旦一個消息被提交了,但是leader down掉了,新選出的leader必須可以提供這條消息。大部分的分布式系統采用了多數投票法則選擇新的leader,對于多數投票法則,就是根據所有副本節點的狀況動態的選擇最適合的作為leader.Kafka并不是使用這種方法。

Kafaka動態維護了一個同步狀態的副本的集合(a set of in-sync replicas),簡稱ISR,在這個集合中的節點都是和leader保持高度一致的,任何一條消息必須被這個集合中的每個節點讀取并追加到日志中了,才回通知外部這個消息已經被提交了。因此這個集合中的任何一個節點隨時都可以被選為leader.ISR在ZooKeeper中維護。ISR中有f+1個節點,就可以允許在f個節點down掉的情況下不會丟失消息并正常提供服。ISR的成員是動態的,如果一個節點被淘汰了,當它重新達到“同步中”的狀態時,他可以重新加入ISR.這種leader的選擇方式是非??焖俚?#xff0c;適合kafka的應用場景。

一個邪惡的想法:如果所有節點都down掉了怎么辦?Kafka對于數據不會丟失的保證,是基于至少一個節點是存活的,一旦所有節點都down了,這個就不能保證了。
實際應用中,當所有的副本都down掉時,必須及時作出反應??梢杂幸韵聝煞N選擇:

等待ISR中的任何一個節點恢復并擔任leader。
選擇所有節點中(不只是ISR)第一個恢復的節點作為leader.
這是一個在可用性和連續性之間的權衡。如果等待ISR中的節點恢復,一旦ISR中的節點起不起來或者數據都是了,那集群就永遠恢復不了了。如果等待ISR意外的節點恢復,這個節點的數據就會被作為線上數據,有可能和真實的數據有所出入,因為有些數據它可能還沒同步到。Kafka目前選擇了第二種策略,在未來的版本中將使這個策略的選擇可配置,可以根據場景靈活的選擇。

這種窘境不只Kafka會遇到,幾乎所有的分布式數據系統都會遇到。

15、副本管理

以上僅僅以一個topic一個分區為例子進行了討論,但實際上一個Kafka將會管理成千上萬的topic分區.Kafka盡量的使所有分區均勻的分布到集群所有的節點上而不是集中在某些節點上,另外主從關系也盡量均衡這樣每個幾點都會擔任一定比例的分區的leader.

優化leader的選擇過程也是很重要的,它決定了系統發生故障時的空窗期有多久。Kafka選擇一個節點作為“controller”,當發現有節點down掉的時候它負責在游泳分區的所有節點中選擇新的leader,這使得Kafka可以批量的高效的管理所有分區節點的主從關系。如果controller down掉了,活著的節點中的一個會備切換為新的controller.

16、消息格式

(1)消息格式

消息由一個固定長度的頭部和可變長度的字節數組組成。頭部包含了一個版本號和CRC32校驗碼。

/** * 具有N個字節的消息的格式如下 * * 如果版本號是0 * * 1. 1個字節的 "magic" 標記 * * 2. 4個字節的CRC32校驗碼 * * 3. N - 5個字節的具體信息 * * 如果版本號是1 * * 1. 1個字節的 "magic" 標記 * * 2.1個字節的參數允許標注一些附加的信息比如是否壓縮了,解碼類型等 * * 3.4個字節的CRC32校驗碼 * * 4. N - 6 個字節的具體信息 * */

(2)日志

一個叫做“my_topic”且有兩個分區的的topic,它的日志有兩個文件夾組成,my_topic_0和my_topic_1,每個文件夾里放著具體的數據文件,每個數據文件都是一系列的日志實體,每個日志實體有一個4個字節的整數N標注消息的長度,后邊跟著N個字節的消息。每個消息都可以由一個64位的整數offset標注,offset標注了這條消息在發送到這個分區的消息流中的起始位置。每個日志文件的名稱都是這個文件第一條日志的offset.所以第一個日志文件的名字就是00000000000.kafka.所以每相鄰的兩個文件名字的差就是一個數字S,S差不多就是配置文件中指定的日志文件的最大容量。

消息的格式都由一個統一的接口維護,所以消息可以在producer,broker和consumer之間無縫的傳遞。存儲在硬盤上的消息格式如下所示:

消息長度: 4 bytes (value: 1+4+n)版本號: 1 byteCRC校驗碼: 4 bytes具體的消息: n bytes

(3)寫操作

消息被不斷的追加到最后一個日志的末尾,當日志的大小達到一個指定的值時就會產生一個新的文件。對于寫操作有兩個參數,一個規定了消息的數量達到這個值時必須將數據刷新到硬盤上,另外一個規定了刷新到硬盤的時間間隔,這對數據的持久性是個保證,在系統崩潰的時候只會丟失一定數量的消息或者一個時間段的消息。

(4)讀操作

讀操作需要兩個參數:一個64位的offset和一個S字節的最大讀取量。S通常比單個消息的大小要大,但在一些個別消息比較大的情況下,S會小于單個消息的大小。這種情況下讀操作會不斷重試,每次重試都會將讀取量加倍,直到讀取到一個完整的消息。可以配置單個消息的最大值,這樣服務器就會拒絕大小超過這個值的消息。也可以給客戶端指定一個嘗試讀取的最大上限,避免為了讀到一個完整的消息而無限次的重試。

在實際執行讀取操縱時,首先需要定位數據所在的日志文件,然后根據offset計算出在這個日志中的offset(前面的的offset是整個分區的offset),然后在這個offset的位置進行讀取。定位操作是由二分查找法完成的,Kafka在內存中為每個文件維護了offset的范圍。

下面是發送給consumer的結果的格式:

MessageSetSend (fetch result) total length : 4 bytes error code : 2 bytes message 1 : x bytes ... message n : x bytes MultiMessageSetSend (multiFetch result) total length : 4 bytes error code : 2 bytes messageSetSend 1 ... messageSetSend n

(5)刪除

日志管理器允許定制刪除策略。目前的策略是刪除修改時間在N天之前的日志(按時間刪除),也可以使用另外一個策略:保留最后的N GB數據的策略(按大小刪除)。為了避免在刪除時阻塞讀操作,采用了copy-on-write形式的實現,刪除操作進行時,讀取操作的二分查找功能實際是在一個靜態的快照副本上進行的,這類似于Java的CopyOnWriteArrayList。

(6)可靠性保證

日志文件有一個可配置的參數M,緩存超過這個數量的消息將被強行刷新到硬盤。一個日志矯正線程將循環檢查最新的日志文件中的消息確認每個消息都是合法的。合法的標準為:所有文件的大小的和最大的offset小于日志文件的大小,并且消息的CRC32校驗碼與存儲在消息實體中的校驗碼一致。如果在某個offset發現不合法的消息,從這個offset到下一個合法的offset之間的內容將被移除。

有兩種情況必須考慮:1,當發生崩潰時有些數據塊未能寫入。2,寫入了一些空白數據塊。第二種情況的原因是,對于每個文件,操作系統都有一個inode(inode是指在許多“類Unix文件系統”中的一種數據結構。每個inode保存了文件系統中的一個文件系統對象,包括文件、目錄、大小、設備文件、socket、管道, 等等),但無法保證更新inode和寫入數據的順序,當inode保存的大小信息被更新了,但寫入數據時發生了崩潰,就產生了空白數據塊。CRC校驗碼可以檢查這些塊并移除,當然因為崩潰而未寫入的數據塊也就丟失了

二、配置文件

(一)java調優

特別說明一下JVM配置 在bin/kafka-server-start.sh中添加以下內容:

export KAFKA_HEAP_OPTS=”-Xmx4G -Xms4G”

官方的推薦使用G1GC,但感覺還不穩定,還是先用CMS算了。以下為官方推薦內容

Xms4g -Xmx4g -XX:PermSize=48m -XX:MaxPermSize=48m -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35

好像有問題,G1還是慎用吧,先用CMS夠了。

目前的配置如下:

-Xmx30G -Xms30G -XX:+UseCompressedOops -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSParallelRemarkEnabled -XX:+DisableExplicitGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=75 -Xnoclassgc

For reference, here are the stats on one of LinkedIn’s busiest clusters (at peak): - 15 brokers - 15.5k partitions (replication factor 2) - 400k messages/sec in - 70 MB/sec inbound, 400 MB/sec+ outbound The tuning looks fairly aggressive, but all of the brokers in that cluster have a 90% GC pause time of about 21ms, and they’re doing less than 1 young GC per second.

另關于jmx
配置jmx服務
kafka server中默認是不啟動jmx端口的,需要用戶自己配置

vim bin/kafka-run-class.sh
最前面添加一行
JMX_PORT=8060

(二)參數說明

kafka中有很多的配置參數,大致可以分為以下4類:

Broker Configs
Consumer Configs
Producer Configs
New Producer Configs

以下僅對部分重要參數說明并不斷完善,全部的參數說明請參考http://kafka.apache.org/documentation.html#consumerconfigs

broker中的配置只有3個參數是必須提供的:broker.id,log,dir, zookeeper.connect.

1、broker.id=0

用于區分broker,確保每臺機器不同,要求是正數。當該服務器的IP地址發生改變時,broker.id沒有變化,則不會影響consumers的消息情況

2、log.dirs=/home/data/kafka

kafka用于放置消息的目錄,默認為/tmp/kafka-logs。它可以是以逗號分隔的多個目錄,創建新分區時,默認會選擇存在最少分區的目錄。

3、zookeeper.connect=192.168.169.91:2181,192.168.169.92:2181,192.168.169.93:2181/kafka zk

用于放置kafka信息的地方。注意一般情況下,直接使用192.168.169.91:2181,192.168.169.92:2181,192.168.169.93:2181即可,此時kafka的相關信息會放在zk的根目錄下,但如果這個zk集群同時為多個kafka集群,或者其它集群服務,則信息會很混亂,甚至有沖突。因此一般會建一個目錄用于放置kafka集群信息的目錄,此處的目錄為/kafka。注意,這個目錄必須手工創建,kafka不會自動創建這個目錄。此外,在conusmer中也必須使用192.168.169.91:2181,192.168.169.92:2181,192.168.169.93:2181/kafka來讀取topic內容。

4、num.partitions=1

創建topic時,默認的分區數

5、num.network.threads=25

broker用于處理網絡請求的線程數,如不配置默認為3。主要處理網絡io,讀寫緩沖區數據,基本沒有io等待,配置線程數量為cpu核數加1.

6、zookeeper.connection.timeout.ms=6000

7、num.replica.fetchers=4
用于follower從leader復制消息的線程數,默認為1。
這個參數與下面介紹的replica.fetch.max.bytes決定了kafka副本從leader復制的速率,如果過小,則集群重啟時同步很慢。如果過大,則會導致這個線程消耗過多的IO,導致集群響應很慢。目前建議為:

num.replica.fetchers=5 replica.fetch.max.bytes=10000000

參考:http://grokbase.com/t/kafka/users/14chm1f1mg/increase-in-kafka-replication-fetcher-thread-not-reducing-log-replication

7、message.max.bytes=10000000

replica.fetch.max.bytes=10000000

一條消息的最大字節數,說明如下:

kafka中出現以下異常:

[2015-06-09 17:03:05,094] ERROR [KafkaApi-0] Error processing ProducerRequest with correlation id 616 from client kafka-client on partition [test3,0] (kafka.server.KafkaApis)
kafka.common.MessageSizeTooLargeException: Message size is 2211366 bytes which exceeds the maximum configured message size of 1000012.

原因是集群默認每次只能接受約1M的消息,如果客戶端一次發送的消息大于這個數值則會導致異常。
在server.properties中添加以下參數

message.max.bytes=10000000 replica.fetch.max.bytes=10000000

同時在consumer.properties中添加以下參數:

fetch.message.max.bytes=10000000

然后重啟kafka進程即可,現在每次最大可接收10M的消息。

8、delete.topic.enable=true

默認為false,即delete topic時只是marked for deletion,但并不會真正刪除topic。

9、關于日志的保存時間或量:
(1)log.retention.hours=24 消息被刪除前保存多少小時,默認1周168小時
(2)log.retention.bytes 默認為-1,即不限制大小。注意此外的大小是指一個topic的一個分區的最大字節數。
當超出上述2個限制的任何一個時,日志均會被刪除。

也可以在topic級別定義這個參數:

retention.bytes=3298534883328 #3T retention.bytes與retention.ms

10、同步發送還是異步發送,異步吞吐量較大,但可能引入錯誤,默認為sync

producer.type=sync|async

This parameter specifies whether the messages are sent asynchronously in a background thread. Valid values are (1) async for asynchronous send and (2) sync for synchronous send. By setting the producer to async we allow batching together of requests (which is great for throughput) but open the possibility of a failure of the client machine dropping unsent data.

11、batch.size 默認值為16384

在async模式下,producer緩存多少個消息后再一起發送

12、compression.type 默認值為none,可選gzip snappy

The compression type for all data generated by the producer. The default is none (i.e. no compression). Valid values are none, gzip, or snappy. Compression is of full batches of data, so the efficacy of batching will also impact the compression ratio (more batching means better compression).

13、default.replication.factor 消息副本的數量,默認為1,即沒有副本

14、 num.io.threads=48
主要進行磁盤io操作,高峰期可能有些io等待,因此配置需要大些。配置線程數量為cpu核數2倍,最大不超過3倍.

15、這2個參數慎用,研究一下再改動

為了大幅度提高producer寫入吞吐量,需要定期批量寫文件。
建議配置:
* 每當producer寫入10000條消息時,刷數據到磁盤
log.flush.interval.messages=10000
* 每間隔1秒鐘時間,刷數據到磁盤
log.flush.interval.ms=1000

但官方的建議是:
The maximum time between fsync calls on the log. If used in conjuction with log.flush.interval.messages the log will be flushed when either criteria is met.

The number of messages written to a log partition before we force an fsync on the log. Setting this lower will sync data to disk more often but will have a major impact on performance. We generally recommend that people make use of replication for durability rather than depending on single-server fsync, however this setting can be used to be extra certain.

且二者的默認值均為Long.MaxValue

還有一些需要關注的配置項:

Replication configurations

用于follower從leader復制消息的線程數,默認為1

replica.fetch.max.bytes=1048576

當follow向leader發送數據請求后,最大的等待時長,默認為500ms

replica.fetch.wait.max.ms=500

每隔多久,follower會將其復制的highwater寫到磁盤中,以便出錯時恢復。

replica.high.watermark.checkpoint.interval.ms=5000

follower與leader之間的time out時長,默認為30秒 replica.socket.timeout.ms=30000

socket每次的buffer字節數 replica.socket.receive.buffer.bytes=65536

如果一個follower在這段時長內都沒有向leader發出復制請求,則leader會認為其已經
down掉,并從ISR中去掉。

replica.lag.time.max.ms=10000

如果一個follower比leader落后超過這個數據的消息數,則leader會將其從isr中去掉。

replica.lag.max.messages=4000 partition management controller 與replica之間的超時時

長 controller.socket.timeout.ms=30000

The buffer size for controller-to-broker-channels

controller.message.queue.size=10

Log configuration

如果在創建topic時沒有指定分區大小,默認的分區大小如下 num.partitions=8

kafka集群可以接收的最大消息字節數,默認為1M.注意,如果增大了這個數值,在

consumer中也必須增大這個數值,否則consumer將無法消費這個消息。

message.max.bytes=1000000

當向一個不存在的topic發送消息時,是否允許自動創建topic

auto.create.topics.enable=true

kafka保存多久的數據,單位是小時

log.retention.hours=72

The number of messages written to a log partition before we force an fsync on the log.

Setting this lower will sync data to disk more
often but will have a major impact on performance. We generally recommend that
people make use of replication for durability rather
than depending on single-server fsync, however this setting can be used to be extra certain.

下面2個值默認都是Long.MaxValue。
log.flush.interval.ms=10000 log.flush.interval.messages=20000

log.flush.scheduler.interval.ms=2000

log.roll.hours=168

log.retention.check.interval.ms=300000

log.segment.bytes=1073741824 # ZK configuration zookeeper.connection.timeout.ms=6000 zookeeper.sync.time.ms=2000 # Socket server configuration
執行請求的線程數,至少與你的磁盤數量相同。

服務器允許最大的請求大小。它可以預防out of memory,而且應該小于java 堆大小。

socket.request.max.bytes=104857600 socket.receive.buffer.bytes=1048576

socket.send.buffer.bytes=1048576 queued.max.requests=16

fetch.purgatory.purge.interval.requests=100

producer.purgatory.purge.interval.requests=100

14、自動創建topic
當有消息發送到一個不存在的topic時,是否允許自動創建topic

auto.create.topics.enable=false

默認值為true

三、錯誤處理

1、配置kafka時,如果使用zookeeper create /kafka創建了節點,kafka與storm集成時new ZkHosts(zks) 需要改成 new ZkHosts(zks,”/kafka/brokers”),不然會報

java.lang.RuntimeException: java.lang.RuntimeException: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /brokers/topics/my-replicated-topic5/partitions。

storm-kafka插件默認kafka的 zk_path如下:

public class ZkHosts implements BrokerHosts { private static final String DEFAULT_ZK_PATH = “/brokers”;

2、如果出現以下問題,代表偏移量出錯,建議重新開一個topic

ERROR [KafkaApi-3] Error when processing fetch request for partition [xxxxx,1] offset 112394 from consumer with correlation id 0 (kafka.server.KafkaApis) kafka.common.OffsetOutOfRangeException: Request for offset 112394 but we only have log segments in the range 0 to 665.

3、當沒有某個topic,或者是某個topic的node放置不在默認位置時,會有以下異常:

java.lang.RuntimeException: java.lang.RuntimeException: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /kafka/brokers/topics/mytest/partitions at storm.kafka.Dynam

4、kafka中出現以下異常:

[2015-06-09 17:03:05,094] ERROR [KafkaApi-0] Error processing ProducerRequest with correlation id 616 from client kafka-client on partition [test3,0] (kafka.server.KafkaApis) kafka.common.MessageSizeTooLargeException: Message size is 2211366 bytes which exceeds the maximum configured message size of 1000012.

原因是集群默認每次只能接受約1M的消息,如果客戶端一次發送的消息大于這個數值則會導致異常。
在server.properties中添加以下參數

message.max.bytes=1000000000 replica.fetch.max.bytes=1073741824

同時在consumer.properties中添加以下參數:

fetch.message.max.bytes=1073741824

然后重啟kafka進程即可,現在每次最大可接收100M的消息。

5、open too many files
kafka出現異常,日志提示open too many file
查找文件打開數量
lsof -p 30353 | wc
如果在1000以上,一般都是不正常,走過65535就會出錯。
原因打開了太多producer,沒關閉,調用producer.close()即可。

6、 Error while fetching metadata

不小心修改了機器的hostname,但沒有重啟storm。

[2015-07-02 15:15:39,295] WARN Error while fetching metadata [{TopicMetadata for topic datadog-dev -> No partition metadata for topic datadog-dev due to kafka.common.LeaderNotAvailableException}] for topic [datadog-dev]: class kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo)[2015-07-02 15:15:39,295] ERROR Failed to collate messages by topic, partition due to: Failed to fetch topic metadata for topic: datadog-dev (kafka.producer.async.DefaultEventHandler)[2015-07-02 15:15:39,399] WARN Error while fetching metadata [{TopicMetadata for topic datadog-dev -> No partition metadata for topic datadog-dev due to kafka.common.LeaderNotAvailableException}] for topic [datadog-dev]: class kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo)[2015-07-02 15:15:39,399] ERROR Failed to send requests for topics datadog-dev with correlation ids in [9,16] (kafka.producer.async.DefaultEventHandler)[2015-07-02 15:15:39,399] ERROR Error in handling batch of 4 events (kafka.producer.async.ProducerSendThread)kafka.common.FailedToSendMessageException: Failed to send messages after 3 tries.at kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:90)at kafka.producer.async.ProducerSendThread.tryToHandle(ProducerSendThread.scala:104)at kafka.producer.async.ProducerSendThread$$anonfun$processEvents$3.apply(ProducerSendThread.scala:87)at kafka.producer.async.ProducerSendThread$$anonfun$processEvents$3.apply(ProducerSendThread.scala:67)at scala.collection.immutable.Stream.foreach(Stream.scala:547)at kafka.producer.async.ProducerSendThread.processEvents(ProducerSendThread.scala:66)at kafka.producer.async.ProducerSendThread.run(ProducerSendThread.scala:44)

解決方法其實很簡單,只需要在Kafka的配置文件server.properties中,設置好主機名即可:

# Hostname the broker will bind to. If not set, the server will bind to all interfaceshost.name=kafka01

或者是指定某個ip地址,如機器有2個ip,且希望使用內網ip,則需要設置為

host.name=10.120.1.1

7、netty reconnect

出現大量的以下異常:

2015-09-16T09:43:48.701+0800 b.s.m.n.Client [ERROR] connection attempt 60 to Netty-Client-gdc-storm03-storm./192.168.172.120:6727 failed: java.lang.RuntimeException: Returned channel was actually not established2015-09-16T09:43:48.701+0800 b.s.m.n.Client [INFO] connection attempt 61 to Netty-Client-gdc-storm05-storm./192.168.172.122:6718 scheduled to run in 1174 ms2015-09-16T09:43:48.701+0800 b.s.m.n.Client [INFO] connection attempt 61 to Netty-Client-gdc-storm03-storm./192.168.172.120:6727 scheduled to run in 1174 ms2015-09-16T09:43:49.383+0800 b.s.m.n.StormClientErrorHandler [INFO] Connection failed Netty-Client-gdc-storm02-storm./192.168.172.119:6720at org.apache.storm.netty.channel.socket.nio.NioWorker.read(NioWorker.java:64) [storm-core-0.9.4.jar:0.9.4]at org.apache.storm.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108) [storm-core-0.9.4.jar:0.9.4]at org.apache.storm.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:318) [storm-core-0.9.4.jar:0.9.4]at org.apache.storm.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89) [storm-core-0.9.4.jar:0.9.4]at org.apache.storm.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) [storm-core-0.9.4.jar:0.9.4]at org.apache.storm.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) [storm-core-0.9.4.jar:0.9.4]at org.apache.storm.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) [storm-core-0.9.4.jar:0.9.4]2015-09-16T09:43:49.534+0800 b.s.m.n.Client [ERROR] connection attempt 11 to Netty-Client-gdc-storm04-storm./192.168.172.121:6726 failed: java.lang.RuntimeException: Returned channel was actually not established

其實就是storm的supervisor和worker之間進行netty通信時,netty無反應,原因可能是很多種:
如果是一直出現,從開始就沒正常過,很有可能是hostname的配置有問題。
如果是之前好好的,突然出現了,那有可能是各方面的原因了,比如:
(1)網絡突然有問題
(2)防火墻
(3)要升級到0.9.5
反正網上各種各樣的說法都有,沒有明確答案。

我們還遇到了一種情況,就是在supervisor機器上執行rm和wc,導致IO非常的高,機器接近沒有反應,同時出現大量的netty 連接失敗。
解決辦法,把大IO操作停掉,部分拓撲會自動恢復(但有一些拓撲不會,filter類的全部恢復了)。

還有人建議:https://gist.github.com/amontalenti/8ff0c31a7b95a6dea3d2

執行這個命令:sudo ethtool -K eth0 sg off

最后還可以搜索一下storm的maillist “netty reconnect”

四、zookeeper中的內容

默認情況,kafka在zk的/brokers目錄下記錄topic相關的信息,但如果在創建topic時,指定了路徑,則放置到固定的路徑中,如:

bin/kafka-topics.sh --create --zookeeper 192.168.169.91:2181,192.168.169.92:2181,192.168.169.93:2181/kafka --replication-factor 3 --partitions 5 --topic test_topic

1、/brokers中的信息

創建的topic,其相關信息會放置到/kafka/brokers中,這個目錄中主要包括2個子目錄:ids 和 topics
1、ids:記錄這個kafka集群中有多少個broker
如:

ls /kafka/brokers/ids/ 3 2 5 4

這個集群有4個節點,節點id分別為2,3,4,5。 我們看一下內容

[zk: localhost:2181(CONNECTED) 27] get /kafka/brokers/ids/2 {"jmx_port":-1,"timestamp":"1435833841290","host":"kafka02-log.i.nease.net","version":1,"port":9092} cZxid = 0x1000e8a68 ctime = Thu Jul 02 18:44:01 HKT 2015 mZxid = 0x1000e8a68 mtime = Thu Jul 02 18:44:01 HKT 2015 pZxid = 0x1000e8a68 cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x44e440d0bdf06eb dataLength = 104 numChildren = 0

記錄著這個節點的一些基本情況。

2、topics
先看一下有哪些內容:

[zk: localhost:2181(CONNECTED) 29] ls /kafka/brokers/topics/test30/partitions [3, 2, 1, 0, 4] [zk: localhost:2181(CONNECTED) 30] ls /kafka/brokers/topics/test30/partitions/0 [state] [zk: localhost:2181(CONNECTED) 1] get /kafka/brokers/topics/test30/partitions/0/state {"controller_epoch":4,"leader":5,"version":1,"leader_epoch":2,"isr":[5]} cZxid = 0x100017c5e ctime = Wed Jul 01 14:54:24 HKT 2015 mZxid = 0x1000e8a84 mtime = Thu Jul 02 18:44:01 HKT 2015 pZxid = 0x100017c5e cversion = 0 dataVersion = 2 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 72 numChildren = 0

可以看某個分區的leader是哪個,從而讀取kafka消息時,可以從這個leader中讀取數據。

以下內容來自官方文檔:

下面給出了zk中用于保存consumber與brokers相關信息的目錄結構與算法介紹。

關于目錄結構的前提說明:默認情況下,kafka相關的信息放在zk根目錄下的某個路徑中,但也可以設置為單獨的路徑,設置方法見配置選項部分。在我們的集群中,我們建立了一個目錄/kafka作為所有kafka相關信息的保存位置。因此我們在這里所列的/kafka/xyz,對于默認情況應該是/xyz。

broker節點的注冊

[zk: localhost:2181(CONNECTED) 140] get /kafka/brokers/ids/2 {"jmx_port":-1,"timestamp":"1437460315901","host":"gdc-kafka02-log.i.nease.net","version":1,"port":9092}

在zk中,有一個broker節點的列表,列表中的每一項表示一個邏輯broker。在啟動時,broker節點會在zk中的/kafka/broker/ids/目錄下創建一個znode,名稱為配置文件中定義的broker id,如上面所示的/kafka/brokers/ids/2。建立邏輯broker id的目的是允許一個broker節點遷移到另一臺機器上,而不會影響到consumer的消費。如果想注冊一個已經存在的broker id會引起錯誤(比如說有2個broker的配置文件都寫了同一個broker id)。

由于broker在zk中注冊的是一個ephemeral znodes,因此當這個broker關機或者掛掉的時候,這個注冊信息會自動刪除,從而會通知consumer這個節點已經不可用。

Topic注冊

ls /kafka/brokers/topics/testtopic/partitions/3 2 1 0 4get /kafka/brokers/topics/testtopic/partitions/0/state{"controller_epoch":9,"leader":5,"version":1,"leader_epoch":26,"isr":[5]}

每個topic都會在zk中注冊,如上面的testtopic有5個分區。

2、consumer的信息

consumer與consumer組
為了彼此協調以及平衡數據的消費,consumer也會在zk中注冊信息。通過設置offsets.storage=zookeeper,可以將consumer的offset保存在zk中,不過這種做法會被逐步淘汰?,F在推薦使用kafka作為offset的保存。

一個組內的consumer可以共同消費一個topic,它們擁有同一個group_id。組內的consumer會盡可能公平的將topic的分區切分。

關于conumser的信息儲存在/consumer目錄下,然后是consumer group的名稱,然后分成3個子目錄,分別為id, offset與owner。

consumer id注冊
每一個consumer都會在zk注冊信息,如:

get /kafka/consumers/console-consumer-30094/ids/console-consumer-30094_gdc-kafka03-log.i.nease.net-1437029151314-d7cdc855 {"version":1,"subscription":{"streaming_ma30_sdc":1},"pattern":"white_list","timestamp":"1437459282749"}

consumer offset
conusumer會根據它已經消費的最大的offset,默念會存儲在zk的目錄下(也可以設置為kafka)。

get /kafka/consumers/testtopic/offsets/testtopic/0 1413950858

注意這是一個永久節點,因此當consumer掛掉重啟時可以繼續讀取。

offset中的這個值表示什么意思?不是時間?是batch?先看看simple levele api,然后再考慮mail list

分區owner注冊
每一個broker分區會被一個consumer組里的一個consumer消費,這個consumer必須建立它對這個分區的占有(ownership),再開始消費。為了建立這個占有關系,consumer會在zk中建立相關的信息。

/kafka/consumers/[group_id]/owners/[topic]/[broker_id-partition_id] --> consumer_node_id (ephemeral node)

3、controller和controller_epoch

見控制器的介紹

總結

以上是生活随笔為你收集整理的kafka集群原理介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

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

大胆欧美熟妇xx | 国产亚av手机在线观看 | 秋霞成人午夜鲁丝一区二区三区 | 天下第一社区视频www日本 | 国产香蕉97碰碰久久人人 | 东京热男人av天堂 | 久久精品中文字幕大胸 | 国产精品怡红院永久免费 | 久久久精品欧美一区二区免费 | 色妞www精品免费视频 | 亚洲熟女一区二区三区 | 97久久国产亚洲精品超碰热 | 无码一区二区三区在线 | 亚洲自偷自拍另类第1页 | 国产午夜福利100集发布 | 黑森林福利视频导航 | 无码纯肉视频在线观看 | 欧美猛少妇色xxxxx | 牲欲强的熟妇农村老妇女 | 在线精品国产一区二区三区 | 国产乱人伦偷精品视频 | 狠狠噜狠狠狠狠丁香五月 | 大肉大捧一进一出好爽视频 | 日本精品少妇一区二区三区 | 小泽玛莉亚一区二区视频在线 | 亚洲精品无码人妻无码 | 国产一区二区三区精品视频 | 日本护士xxxxhd少妇 | 亚拍精品一区二区三区探花 | 国产综合在线观看 | 国产无遮挡吃胸膜奶免费看 | 亚洲中文字幕久久无码 | 亚洲a无码综合a国产av中文 | 欧美乱妇无乱码大黄a片 | 久久精品视频在线看15 | 精品国产一区二区三区四区 | 国产成人精品无码播放 | 野外少妇愉情中文字幕 | 亚洲精品一区二区三区四区五区 | 无码av岛国片在线播放 | 又大又黄又粗又爽的免费视频 | 日韩无套无码精品 | 国产suv精品一区二区五 | 亚洲精品一区二区三区四区五区 | 国产成人精品视频ⅴa片软件竹菊 | 国产精品对白交换视频 | 亚洲 另类 在线 欧美 制服 | 人人澡人摸人人添 | 四虎国产精品免费久久 | 亚洲日韩av一区二区三区四区 | 天下第一社区视频www日本 | 性啪啪chinese东北女人 | 国产精品第一区揄拍无码 | 女人高潮内射99精品 | 国产乱人无码伦av在线a | 中文字幕av日韩精品一区二区 | 中文无码精品a∨在线观看不卡 | 亚洲精品成人av在线 | 国产在线一区二区三区四区五区 | 婷婷丁香五月天综合东京热 | 亚洲精品中文字幕乱码 | 狠狠cao日日穞夜夜穞av | 午夜丰满少妇性开放视频 | 国产在线aaa片一区二区99 | аⅴ资源天堂资源库在线 | 亚洲自偷自拍另类第1页 | 亚洲国产高清在线观看视频 | 亚洲乱亚洲乱妇50p | 无遮无挡爽爽免费视频 | 麻豆成人精品国产免费 | 国精品人妻无码一区二区三区蜜柚 | 国产三级精品三级男人的天堂 | 精品国产av色一区二区深夜久久 | 色婷婷欧美在线播放内射 | 久久午夜无码鲁丝片秋霞 | 欧美人与动性行为视频 | 国内精品久久久久久中文字幕 | 日产精品高潮呻吟av久久 | 自拍偷自拍亚洲精品10p | 国产亚洲精品久久久久久国模美 | 午夜熟女插插xx免费视频 | 99久久婷婷国产综合精品青草免费 | 成人一在线视频日韩国产 | 一本久道高清无码视频 | 欧美激情综合亚洲一二区 | 亚洲国产精品一区二区美利坚 | 成人综合网亚洲伊人 | 丰满少妇女裸体bbw | 国产高潮视频在线观看 | 风流少妇按摩来高潮 | 亚洲成a人一区二区三区 | 精品久久久中文字幕人妻 | 亚洲熟女一区二区三区 | 小泽玛莉亚一区二区视频在线 | 国产成人一区二区三区在线观看 | 久久久精品456亚洲影院 | 高中生自慰www网站 | 少妇无码吹潮 | 午夜成人1000部免费视频 | 欧美 日韩 亚洲 在线 | 中文字幕乱码亚洲无线三区 | 亚洲人成网站在线播放942 | 亚洲成色www久久网站 | 东京一本一道一二三区 | 精品一区二区三区无码免费视频 | 日日橹狠狠爱欧美视频 | 日韩av无码一区二区三区 | 东北女人啪啪对白 | 久久国内精品自在自线 | 精品亚洲成av人在线观看 | 欧美性生交xxxxx久久久 | 天天躁夜夜躁狠狠是什么心态 | 日韩人妻无码中文字幕视频 | 欧美丰满熟妇xxxx | 久久久久久久人妻无码中文字幕爆 | 亚洲精品国产精品乱码视色 | 日本xxxx色视频在线观看免费 | 国产福利视频一区二区 | 日日摸夜夜摸狠狠摸婷婷 | 精品国偷自产在线视频 | 国产精品久久精品三级 | 娇妻被黑人粗大高潮白浆 | 妺妺窝人体色www婷婷 | 黑人大群体交免费视频 | 国产黄在线观看免费观看不卡 | 骚片av蜜桃精品一区 | 亚洲の无码国产の无码影院 | 亚洲熟妇自偷自拍另类 | 性欧美大战久久久久久久 | 久久久久久九九精品久 | 久久久国产精品无码免费专区 | aⅴ在线视频男人的天堂 | 亚洲精品久久久久中文第一幕 | 国产乱子伦视频在线播放 | 娇妻被黑人粗大高潮白浆 | 少妇的肉体aa片免费 | 特级做a爰片毛片免费69 | 中文字幕乱码人妻二区三区 | 日韩av无码一区二区三区不卡 | 一本大道久久东京热无码av | 丁香花在线影院观看在线播放 | 午夜福利电影 | 国产亚洲视频中文字幕97精品 | 国产明星裸体无码xxxx视频 | 高清无码午夜福利视频 | 奇米影视7777久久精品人人爽 | 亚洲中文字幕无码一久久区 | 野外少妇愉情中文字幕 | 少妇高潮一区二区三区99 | 久久久久亚洲精品男人的天堂 | 无套内谢老熟女 | 97夜夜澡人人爽人人喊中国片 | 精品aⅴ一区二区三区 | 少妇人妻偷人精品无码视频 | 亚洲一区二区三区偷拍女厕 | 四虎影视成人永久免费观看视频 | 精品少妇爆乳无码av无码专区 | 欧美激情一区二区三区成人 | 国产精品亚洲一区二区三区喷水 | 国産精品久久久久久久 | 亚洲精品一区二区三区在线 | 国产成人无码a区在线观看视频app | 亚洲 a v无 码免 费 成 人 a v | 中文字幕无码av激情不卡 | 免费乱码人妻系列无码专区 | 国产超级va在线观看视频 | 少妇人妻av毛片在线看 | 天天躁夜夜躁狠狠是什么心态 | 麻豆国产人妻欲求不满 | 国产乱人无码伦av在线a | 国产精品久久久久久久9999 | 国产精品高潮呻吟av久久 | 成人无码精品1区2区3区免费看 | 少妇被黑人到高潮喷出白浆 | 精品成人av一区二区三区 | 大乳丰满人妻中文字幕日本 | 国产激情精品一区二区三区 | 水蜜桃亚洲一二三四在线 | 人妻互换免费中文字幕 | 男人扒开女人内裤强吻桶进去 | 免费无码的av片在线观看 | 亚洲啪av永久无码精品放毛片 | 桃花色综合影院 | 乱人伦中文视频在线观看 | 亚洲精品国产品国语在线观看 | 1000部夫妻午夜免费 | 色窝窝无码一区二区三区色欲 | 国产乱人伦偷精品视频 | 国产精品国产三级国产专播 | a片免费视频在线观看 | 精品国产一区av天美传媒 | 最近免费中文字幕中文高清百度 | 伊在人天堂亚洲香蕉精品区 | 亚洲s码欧洲m码国产av | 国内精品久久久久久中文字幕 | 国产成人精品无码播放 | 亚洲乱码中文字幕在线 | 麻豆精品国产精华精华液好用吗 | 妺妺窝人体色www婷婷 | 国产精品久久久久久亚洲影视内衣 | 强辱丰满人妻hd中文字幕 | 桃花色综合影院 | 一本加勒比波多野结衣 | 久久综合网欧美色妞网 | 一个人看的www免费视频在线观看 | 精品无人区无码乱码毛片国产 | 精品国产成人一区二区三区 | 玩弄少妇高潮ⅹxxxyw | 久久久精品人妻久久影视 | 国语自产偷拍精品视频偷 | 久久天天躁夜夜躁狠狠 | 青青久在线视频免费观看 | 欧美xxxxx精品 | 欧美xxxxx精品 | 麻豆蜜桃av蜜臀av色欲av | 自拍偷自拍亚洲精品10p | 丰满肥臀大屁股熟妇激情视频 | 久久精品国产99久久6动漫 | 久久久av男人的天堂 | 国产精品丝袜黑色高跟鞋 | 亚洲 另类 在线 欧美 制服 | 乱人伦人妻中文字幕无码久久网 | 久久久久免费看成人影片 | 激情亚洲一区国产精品 | 国产精品久免费的黄网站 | 一区二区三区乱码在线 | 欧洲 | 日韩av无码中文无码电影 | 亚洲国产成人av在线观看 | 日日碰狠狠躁久久躁蜜桃 | 三上悠亚人妻中文字幕在线 | 国产美女极度色诱视频www | 日本丰满护士爆乳xxxx | 久久国产劲爆∧v内射 | 色老头在线一区二区三区 | 欧美激情综合亚洲一二区 | 国产一区二区不卡老阿姨 | 无码人妻丰满熟妇区五十路百度 | 在线精品亚洲一区二区 | 乱人伦人妻中文字幕无码久久网 | 全球成人中文在线 | 少妇邻居内射在线 | 成人女人看片免费视频放人 | 无套内射视频囯产 | 无码一区二区三区在线观看 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 欧美三级a做爰在线观看 | 国产在线无码精品电影网 | 亚洲va欧美va天堂v国产综合 | 天天做天天爱天天爽综合网 | 亚洲人成人无码网www国产 | 一本久道久久综合狠狠爱 | 亚洲天堂2017无码 | 98国产精品综合一区二区三区 | 成人无码视频免费播放 | 久久精品中文字幕一区 | 日韩av无码一区二区三区不卡 | а√天堂www在线天堂小说 | 亚洲中文字幕乱码av波多ji | 亚洲精品国偷拍自产在线麻豆 | 青青草原综合久久大伊人精品 | 国产免费无码一区二区视频 | 伊人久久大香线蕉亚洲 | 99久久久国产精品无码免费 | 荫蒂被男人添的好舒服爽免费视频 | 少妇被黑人到高潮喷出白浆 | 国产成人无码一二三区视频 | 老子影院午夜精品无码 | 奇米影视888欧美在线观看 | 精品国产aⅴ无码一区二区 | 久久亚洲中文字幕无码 | 又湿又紧又大又爽a视频国产 | 精品无人国产偷自产在线 | 麻豆av传媒蜜桃天美传媒 | 久久久国产一区二区三区 | 天天摸天天透天天添 | 中文字幕无码乱人伦 | 国产日产欧产精品精品app | 婷婷丁香六月激情综合啪 | 日日摸日日碰夜夜爽av | 成人女人看片免费视频放人 | 国产激情精品一区二区三区 | 在线观看欧美一区二区三区 | 精品国产一区二区三区四区 | 亚洲中文无码av永久不收费 | 女人被爽到呻吟gif动态图视看 | 色窝窝无码一区二区三区色欲 | 波多野结衣一区二区三区av免费 | 中文字幕无码av波多野吉衣 | 性欧美大战久久久久久久 | 久久天天躁夜夜躁狠狠 | 成人av无码一区二区三区 | 亚洲欧美色中文字幕在线 | 亚洲中文字幕在线无码一区二区 | 亚洲日韩乱码中文无码蜜桃臀网站 | 欧美日韩在线亚洲综合国产人 | 国产精品免费大片 | 久久久久亚洲精品中文字幕 | 久久精品国产精品国产精品污 | 亚洲综合色区中文字幕 | 免费观看的无遮挡av | 粗大的内捧猛烈进出视频 | 久久aⅴ免费观看 | 国产av一区二区精品久久凹凸 | 久久人妻内射无码一区三区 | 毛片内射-百度 | 亚洲欧美日韩国产精品一区二区 | 久久久久久亚洲精品a片成人 | 一本久道高清无码视频 | 天天拍夜夜添久久精品 | 无码av岛国片在线播放 | 麻豆md0077饥渴少妇 | 免费无码av一区二区 | 香蕉久久久久久av成人 | 日韩av无码一区二区三区 | 精品偷拍一区二区三区在线看 | 亚洲中文字幕av在天堂 | 亚洲人交乣女bbw | 日本免费一区二区三区最新 | 亚洲自偷自拍另类第1页 | 亚洲啪av永久无码精品放毛片 | 成人精品视频一区二区 | 欧美黑人巨大xxxxx | 亚洲人亚洲人成电影网站色 | 国产成人无码午夜视频在线观看 | 午夜丰满少妇性开放视频 | 无码国产色欲xxxxx视频 | 97久久国产亚洲精品超碰热 | 精品一二三区久久aaa片 | 免费观看激色视频网站 | 伊人久久大香线焦av综合影院 | 国产精品久免费的黄网站 | 无码任你躁久久久久久久 | 亚洲中文字幕无码中字 | 免费无码的av片在线观看 | 99久久精品国产一区二区蜜芽 | 精品无人国产偷自产在线 | 欧洲精品码一区二区三区免费看 | 欧美性黑人极品hd | 亚洲成a人片在线观看无码3d | 国产精品成人av在线观看 | 中文字幕无线码免费人妻 | 人人妻人人澡人人爽人人精品浪潮 | 亚洲国产精品美女久久久久 | 国产乱人偷精品人妻a片 | 亚洲综合在线一区二区三区 | 在线a亚洲视频播放在线观看 | 午夜男女很黄的视频 | 国产午夜福利亚洲第一 | 鲁大师影院在线观看 | 国产九九九九九九九a片 | 日本熟妇大屁股人妻 | v一区无码内射国产 | 未满成年国产在线观看 | 色窝窝无码一区二区三区色欲 | 欧美 亚洲 国产 另类 | 免费人成在线观看网站 | 2019nv天堂香蕉在线观看 | 国产舌乚八伦偷品w中 | 欧美精品国产综合久久 | 亚洲日本va中文字幕 | 在线а√天堂中文官网 | 在线播放亚洲第一字幕 | 亚洲国产精品无码久久久久高潮 | 国产亚av手机在线观看 | 久久久久成人精品免费播放动漫 | 亚洲va欧美va天堂v国产综合 | 国产精品久久久午夜夜伦鲁鲁 | 免费观看又污又黄的网站 | 免费网站看v片在线18禁无码 | 久久久久亚洲精品男人的天堂 | 日本精品少妇一区二区三区 | 国产成人综合在线女婷五月99播放 | 人人超人人超碰超国产 | 国产精品办公室沙发 | 欧美老人巨大xxxx做受 | 中文字幕人成乱码熟女app | 荫蒂添的好舒服视频囗交 | 欧美人与牲动交xxxx | 日韩av无码一区二区三区 | 婷婷丁香六月激情综合啪 | 国产偷国产偷精品高清尤物 | 中文字幕无码av波多野吉衣 | 亚洲国产av精品一区二区蜜芽 | 麻花豆传媒剧国产免费mv在线 | 国产成人无码区免费内射一片色欲 | 亚洲男人av香蕉爽爽爽爽 | 久久综合激激的五月天 | 装睡被陌生人摸出水好爽 | 精品无码av一区二区三区 | 77777熟女视频在线观看 а天堂中文在线官网 | 亚洲精品久久久久久久久久久 | 日韩在线不卡免费视频一区 | 久久久久人妻一区精品色欧美 | 欧美老妇与禽交 | 日韩欧美成人免费观看 | 中文字幕无码人妻少妇免费 | 扒开双腿疯狂进出爽爽爽视频 | 亚洲中文字幕va福利 | 无遮挡国产高潮视频免费观看 | 中文字幕精品av一区二区五区 | 国产一区二区三区四区五区加勒比 | 永久免费精品精品永久-夜色 | 国内丰满熟女出轨videos | 老子影院午夜伦不卡 | 亚洲精品成人av在线 | 狂野欧美激情性xxxx | 日本乱偷人妻中文字幕 | 丁香啪啪综合成人亚洲 | 欧美激情综合亚洲一二区 | 国产精品无码一区二区桃花视频 | 欧美肥老太牲交大战 | 亚洲综合另类小说色区 | 国内少妇偷人精品视频免费 | 无码av中文字幕免费放 | 老头边吃奶边弄进去呻吟 | 欧美老妇交乱视频在线观看 | 无码毛片视频一区二区本码 | 亚洲无人区一区二区三区 | 免费观看的无遮挡av | 美女扒开屁股让男人桶 | 国产在线精品一区二区高清不卡 | 免费观看又污又黄的网站 | 国产sm调教视频在线观看 | 国产精品久久久久影院嫩草 | 国产乱人无码伦av在线a | 成年美女黄网站色大免费视频 | 国产真实乱对白精彩久久 | 国产在线精品一区二区高清不卡 | 午夜不卡av免费 一本久久a久久精品vr综合 | 特级做a爰片毛片免费69 | aa片在线观看视频在线播放 | 亚洲精品国产a久久久久久 | 色爱情人网站 | 无码国产激情在线观看 | 东京一本一道一二三区 | 又黄又爽又色的视频 | 中国大陆精品视频xxxx | 亚洲精品综合一区二区三区在线 | 人妻aⅴ无码一区二区三区 | 日日碰狠狠躁久久躁蜜桃 | 人人妻人人澡人人爽欧美精品 | 国产精品久久久 | 男人和女人高潮免费网站 | 国产又爽又猛又粗的视频a片 | 自拍偷自拍亚洲精品被多人伦好爽 | 两性色午夜视频免费播放 | 欧美性黑人极品hd | 曰本女人与公拘交酡免费视频 | 欧美人与物videos另类 | 亚洲gv猛男gv无码男同 | 亚洲七七久久桃花影院 | 日日碰狠狠躁久久躁蜜桃 | 波多野结衣乳巨码无在线观看 | 无码人妻丰满熟妇区五十路百度 | 最新国产乱人伦偷精品免费网站 | 亚洲精品成人福利网站 | 欧美成人午夜精品久久久 | 天堂а√在线中文在线 | 亚洲一区二区三区无码久久 | 极品尤物被啪到呻吟喷水 | 青春草在线视频免费观看 | 国产精品无码一区二区三区不卡 | 国产av无码专区亚洲a∨毛片 | 亚洲色www成人永久网址 | 国产精品无码mv在线观看 | 亚洲一区二区三区无码久久 | 国产人妻精品一区二区三区 | 欧美黑人巨大xxxxx | 四虎4hu永久免费 | 国产情侣作爱视频免费观看 | 久久久久免费看成人影片 | 噜噜噜亚洲色成人网站 | 少妇的肉体aa片免费 | 最新国产麻豆aⅴ精品无码 | 亚洲精品国偷拍自产在线麻豆 | 久久久无码中文字幕久... | 四虎国产精品一区二区 | 日本精品高清一区二区 | 久久国产精品精品国产色婷婷 | 在线 国产 欧美 亚洲 天堂 | 天天躁夜夜躁狠狠是什么心态 | 老太婆性杂交欧美肥老太 | 国产精华av午夜在线观看 | 牲欲强的熟妇农村老妇女视频 | 国精品人妻无码一区二区三区蜜柚 | 亚洲精品综合五月久久小说 | 国产亚洲精品久久久久久久久动漫 | 装睡被陌生人摸出水好爽 | 97夜夜澡人人爽人人喊中国片 | 欧美丰满熟妇xxxx性ppx人交 | 中文字幕无线码免费人妻 | 国产精品久久国产三级国 | 亚洲日韩乱码中文无码蜜桃臀网站 | 国产一区二区三区四区五区加勒比 | 久久精品中文字幕大胸 | 成在人线av无码免费 | 丝袜美腿亚洲一区二区 | 玩弄人妻少妇500系列视频 | 久久久久人妻一区精品色欧美 | 曰本女人与公拘交酡免费视频 | 国产精品igao视频网 | 无码精品人妻一区二区三区av | 99久久久国产精品无码免费 | 强伦人妻一区二区三区视频18 | 中国女人内谢69xxxx | 成人av无码一区二区三区 | 自拍偷自拍亚洲精品10p | 无遮挡啪啪摇乳动态图 | 色综合久久久久综合一本到桃花网 | 亚洲精品中文字幕 | 亚洲自偷精品视频自拍 | 永久免费观看美女裸体的网站 | 好爽又高潮了毛片免费下载 | 亚洲人成影院在线观看 | 日韩成人一区二区三区在线观看 | 国产亚洲精品久久久久久久久动漫 | 成熟人妻av无码专区 | 国产精品沙发午睡系列 | 色婷婷香蕉在线一区二区 | 熟女俱乐部五十路六十路av | 久久人妻内射无码一区三区 | 亚洲一区二区三区播放 | √8天堂资源地址中文在线 | 国产精品国产自线拍免费软件 | 一区二区三区高清视频一 | 精品无人区无码乱码毛片国产 | a在线观看免费网站大全 | 伊人久久大香线蕉亚洲 | 国内老熟妇对白xxxxhd | 国产美女极度色诱视频www | 日本精品少妇一区二区三区 | 老熟妇乱子伦牲交视频 | 初尝人妻少妇中文字幕 | 内射巨臀欧美在线视频 | 5858s亚洲色大成网站www | 无码精品国产va在线观看dvd | 欧美黑人乱大交 | 免费播放一区二区三区 | 丝袜人妻一区二区三区 | 国产精品人人爽人人做我的可爱 | 欧美猛少妇色xxxxx | 少妇人妻偷人精品无码视频 | 精品国偷自产在线视频 | 台湾无码一区二区 | 亚洲一区二区观看播放 | 丰腴饱满的极品熟妇 | 久久午夜无码鲁丝片秋霞 | 18黄暴禁片在线观看 | 国产午夜视频在线观看 | 国产成人久久精品流白浆 | 对白脏话肉麻粗话av | 无码免费一区二区三区 | 少妇人妻大乳在线视频 | 精品人妻中文字幕有码在线 | 熟女俱乐部五十路六十路av | 久久久久人妻一区精品色欧美 | 欧美国产日产一区二区 | 日本乱偷人妻中文字幕 | 亚洲精品中文字幕乱码 | 综合激情五月综合激情五月激情1 | 中文字幕乱码中文乱码51精品 | 欧洲极品少妇 | 熟女体下毛毛黑森林 | 88国产精品欧美一区二区三区 | 亚洲中文无码av永久不收费 | 日韩人妻无码一区二区三区久久99 | 18禁黄网站男男禁片免费观看 | 欧美人与物videos另类 | 九月婷婷人人澡人人添人人爽 | 最新国产乱人伦偷精品免费网站 | 人妻插b视频一区二区三区 | aa片在线观看视频在线播放 | 国产又爽又黄又刺激的视频 | 久久综合久久自在自线精品自 | 乱人伦人妻中文字幕无码久久网 | 国产亚洲美女精品久久久2020 | 亚洲一区二区三区偷拍女厕 | 在线看片无码永久免费视频 | 99国产欧美久久久精品 | 亚洲春色在线视频 | 久久久久亚洲精品中文字幕 | 少妇性l交大片 | 欧美真人作爱免费视频 | 99re在线播放 | 婷婷综合久久中文字幕蜜桃三电影 | 欧美午夜特黄aaaaaa片 | 亚洲 激情 小说 另类 欧美 | 亚洲人成影院在线无码按摩店 | 久久综合狠狠综合久久综合88 | 国产麻豆精品精东影业av网站 | 四十如虎的丰满熟妇啪啪 | 蜜桃臀无码内射一区二区三区 | 玩弄少妇高潮ⅹxxxyw | 扒开双腿疯狂进出爽爽爽视频 | 性欧美熟妇videofreesex | 天堂无码人妻精品一区二区三区 | 欧美 亚洲 国产 另类 | 亚洲一区二区三区在线观看网站 | 熟女少妇人妻中文字幕 | 无码人妻少妇伦在线电影 | 少妇被粗大的猛进出69影院 | 成人无码精品1区2区3区免费看 | 中文久久乱码一区二区 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 无码av最新清无码专区吞精 | 无码人妻黑人中文字幕 | 99久久99久久免费精品蜜桃 | 丰满少妇弄高潮了www | 日本高清一区免费中文视频 | www一区二区www免费 | 国产精品久免费的黄网站 | 国产人成高清在线视频99最全资源 | 中文字幕中文有码在线 | 国产精品久久久av久久久 | 特大黑人娇小亚洲女 | 欧美丰满熟妇xxxx | 秋霞特色aa大片 | 乱码av麻豆丝袜熟女系列 | 久久精品国产一区二区三区 | 高中生自慰www网站 | 无码av免费一区二区三区试看 | 永久免费观看国产裸体美女 | 婷婷丁香六月激情综合啪 | 无码国产乱人伦偷精品视频 | 亚洲精品午夜国产va久久成人 | yw尤物av无码国产在线观看 | 精品无码成人片一区二区98 | 日韩精品无码一区二区中文字幕 | 亚洲狠狠色丁香婷婷综合 | 欧美日韩在线亚洲综合国产人 | 国产色在线 | 国产 | 国产精品久久久久久亚洲影视内衣 | 爽爽影院免费观看 | 色欲综合久久中文字幕网 | 亚洲欧美国产精品专区久久 | 中文字幕无线码 | 亚洲一区二区三区偷拍女厕 | 天天av天天av天天透 | 奇米影视888欧美在线观看 | 精品亚洲韩国一区二区三区 | 亚洲国产精品一区二区美利坚 | 精品夜夜澡人妻无码av蜜桃 | 精品久久久久香蕉网 | 一本色道久久综合狠狠躁 | 国产精品久久久久7777 | 乱中年女人伦av三区 | 亚洲精品成人福利网站 | 熟妇激情内射com | av无码不卡在线观看免费 | 亚洲gv猛男gv无码男同 | 十八禁视频网站在线观看 | 18黄暴禁片在线观看 | 东京无码熟妇人妻av在线网址 | a国产一区二区免费入口 | 全球成人中文在线 | 日本www一道久久久免费榴莲 | 久久久久久国产精品无码下载 | 久久综合九色综合欧美狠狠 | 内射老妇bbwx0c0ck | 国产特级毛片aaaaaa高潮流水 | 高潮毛片无遮挡高清免费 | 麻豆果冻传媒2021精品传媒一区下载 | 思思久久99热只有频精品66 | 国产午夜福利100集发布 | 狠狠cao日日穞夜夜穞av | 色一情一乱一伦 | 国产精品久久久久久亚洲毛片 | 日日麻批免费40分钟无码 | 日本免费一区二区三区最新 | 亚洲精品国产精品乱码视色 | 草草网站影院白丝内射 | 久久婷婷五月综合色国产香蕉 | 日本精品少妇一区二区三区 | 国精产品一品二品国精品69xx | 成人片黄网站色大片免费观看 | 国产国产精品人在线视 | 一本加勒比波多野结衣 | 国产疯狂伦交大片 | 午夜免费福利小电影 | 夜先锋av资源网站 | 国产av一区二区三区最新精品 | 日本护士xxxxhd少妇 | 国产人妻精品午夜福利免费 | 国产无遮挡吃胸膜奶免费看 | 乱码av麻豆丝袜熟女系列 | 伊人久久大香线焦av综合影院 | 少妇人妻av毛片在线看 | 国产香蕉97碰碰久久人人 | 少妇无码av无码专区在线观看 | 一本久道久久综合狠狠爱 | 国产亚洲日韩欧美另类第八页 | 亚洲天堂2017无码中文 | 99re在线播放 | 亚洲无人区午夜福利码高清完整版 | 久久99热只有频精品8 | 国产午夜福利100集发布 | 亚洲成a人片在线观看无码 | 思思久久99热只有频精品66 | 精品欧洲av无码一区二区三区 | 人人爽人人爽人人片av亚洲 | 日日橹狠狠爱欧美视频 | 精品国产青草久久久久福利 | 久久亚洲精品中文字幕无男同 | 久久精品一区二区三区四区 | 黑人粗大猛烈进出高潮视频 | 日韩亚洲欧美中文高清在线 | 精品国产乱码久久久久乱码 | 麻豆成人精品国产免费 | 一本久久a久久精品vr综合 | 久久综合激激的五月天 | 无码免费一区二区三区 | 中文字幕人妻无码一区二区三区 | 成熟女人特级毛片www免费 | 色一情一乱一伦一区二区三欧美 | 成人欧美一区二区三区 | 一本加勒比波多野结衣 | 影音先锋中文字幕无码 | 欧美性黑人极品hd | 国产成人精品必看 | 东京热无码av男人的天堂 | 久久无码中文字幕免费影院蜜桃 | 精品国产一区二区三区四区在线看 | 激情亚洲一区国产精品 | 2020最新国产自产精品 | 亚洲热妇无码av在线播放 | 亚洲日本在线电影 | 中文无码成人免费视频在线观看 | 天天av天天av天天透 | 日本又色又爽又黄的a片18禁 | 中文字幕无码日韩专区 | 国产偷国产偷精品高清尤物 | 噜噜噜亚洲色成人网站 | 狠狠色丁香久久婷婷综合五月 | 精品无码国产自产拍在线观看蜜 | 欧美日韩久久久精品a片 | 日韩av无码一区二区三区 | 精品久久久中文字幕人妻 | 成年女人永久免费看片 | 国产欧美亚洲精品a | 日本va欧美va欧美va精品 | 国产午夜手机精彩视频 | 亚欧洲精品在线视频免费观看 | 性色欲情网站iwww九文堂 | 一本大道伊人av久久综合 | 亚洲色欲色欲欲www在线 | 免费人成网站视频在线观看 | 日欧一片内射va在线影院 | 四虎4hu永久免费 | 人人妻人人澡人人爽欧美一区 | 亚洲精品久久久久久久久久久 | 天海翼激烈高潮到腰振不止 | 日日躁夜夜躁狠狠躁 | a片在线免费观看 | 少妇性l交大片欧洲热妇乱xxx | 一个人免费观看的www视频 | 日本高清一区免费中文视频 | 永久免费精品精品永久-夜色 | 在线a亚洲视频播放在线观看 | 色婷婷香蕉在线一区二区 | 未满成年国产在线观看 | 久久www免费人成人片 | 伊在人天堂亚洲香蕉精品区 | 丰满少妇弄高潮了www | 精品国产一区二区三区四区在线看 | 性做久久久久久久免费看 | 十八禁真人啪啪免费网站 | 88国产精品欧美一区二区三区 | 精品久久久无码人妻字幂 | 欧美成人午夜精品久久久 | 无码国产色欲xxxxx视频 | 久久久久亚洲精品中文字幕 | 国产成人精品优优av | 撕开奶罩揉吮奶头视频 | 人人妻人人藻人人爽欧美一区 | 国产免费观看黄av片 | 荡女精品导航 | 亚洲人成网站色7799 | 超碰97人人射妻 | 亚洲小说图区综合在线 | 国产人妻久久精品二区三区老狼 | 日韩人妻无码一区二区三区久久99 | 国产97人人超碰caoprom | 99久久精品日本一区二区免费 | 少妇邻居内射在线 | 久久久久久久久蜜桃 | 成人无码视频免费播放 | 国产性生大片免费观看性 | 一本色道婷婷久久欧美 | 无码国产色欲xxxxx视频 | 国产精品成人av在线观看 | 国产女主播喷水视频在线观看 | 免费人成在线观看网站 | 国精品人妻无码一区二区三区蜜柚 | 色诱久久久久综合网ywww | 精品aⅴ一区二区三区 | 秋霞特色aa大片 | 成在人线av无码免观看麻豆 | 99riav国产精品视频 | 亚洲啪av永久无码精品放毛片 | av香港经典三级级 在线 | 亚洲人成影院在线观看 | 无码人妻出轨黑人中文字幕 | 少妇性l交大片 | 精品乱码久久久久久久 | 国产艳妇av在线观看果冻传媒 | 麻豆人妻少妇精品无码专区 | 成人免费视频在线观看 | 特黄特色大片免费播放器图片 | 兔费看少妇性l交大片免费 | 亚洲精品国产精品乱码不卡 | 成人无码精品一区二区三区 | 欧美兽交xxxx×视频 | 久久精品99久久香蕉国产色戒 | 乌克兰少妇性做爰 | 噜噜噜亚洲色成人网站 | 人妻夜夜爽天天爽三区 | 5858s亚洲色大成网站www | 少妇性俱乐部纵欲狂欢电影 | 国产乡下妇女做爰 | 国产女主播喷水视频在线观看 | 成人亚洲精品久久久久软件 | 97无码免费人妻超级碰碰夜夜 | 波多野结衣aⅴ在线 | 永久黄网站色视频免费直播 | 性色欲情网站iwww九文堂 | 亚洲乱亚洲乱妇50p | 妺妺窝人体色www在线小说 | 亚洲国产精品美女久久久久 | av无码电影一区二区三区 | 亚洲 a v无 码免 费 成 人 a v | 欧美激情综合亚洲一二区 | 一本无码人妻在中文字幕免费 | 毛片内射-百度 | 亚洲综合久久一区二区 | 国产精品久久久久久久9999 | 亚洲精品一区三区三区在线观看 | 亚洲国产精品美女久久久久 | 国产亚洲美女精品久久久2020 | 国产女主播喷水视频在线观看 | 亚洲欧洲中文日韩av乱码 | 国产精品久久久久影院嫩草 | 欧美国产日韩久久mv | 免费无码肉片在线观看 | 国产精品二区一区二区aⅴ污介绍 | 大地资源网第二页免费观看 | 又粗又大又硬毛片免费看 | 国产午夜福利亚洲第一 | 婷婷丁香五月天综合东京热 | 国产xxx69麻豆国语对白 | 扒开双腿吃奶呻吟做受视频 | 人人爽人人爽人人片av亚洲 | 国产乱人无码伦av在线a | 天下第一社区视频www日本 | 国产精品久久久久久亚洲影视内衣 | 自拍偷自拍亚洲精品被多人伦好爽 | 国产区女主播在线观看 | av小次郎收藏 | 国産精品久久久久久久 | 日日碰狠狠丁香久燥 | 日日碰狠狠丁香久燥 | 亚洲乱码中文字幕在线 | 国产人妻人伦精品1国产丝袜 | 1000部夫妻午夜免费 | 国产精品资源一区二区 | 任你躁在线精品免费 | 国产va免费精品观看 | 亚洲 另类 在线 欧美 制服 | 国产精品无码一区二区三区不卡 | 国产人妻久久精品二区三区老狼 | 免费男性肉肉影院 | 国产av人人夜夜澡人人爽麻豆 | 噜噜噜亚洲色成人网站 | 人妻少妇精品久久 | 在线a亚洲视频播放在线观看 | 一本一道久久综合久久 | 欧美丰满熟妇xxxx性ppx人交 | 少妇愉情理伦片bd | 蜜臀av无码人妻精品 | 色婷婷av一区二区三区之红樱桃 | 最近免费中文字幕中文高清百度 | 国产精品国产三级国产专播 | 天天摸天天透天天添 | 中文字幕+乱码+中文字幕一区 | √天堂中文官网8在线 | 丝袜美腿亚洲一区二区 | а√天堂www在线天堂小说 | 国产网红无码精品视频 | 无码人妻丰满熟妇区毛片18 | 国产无套粉嫩白浆在线 | 国内精品人妻无码久久久影院蜜桃 | 领导边摸边吃奶边做爽在线观看 | 人人妻人人澡人人爽欧美一区 | 国产激情综合五月久久 | 一本一道久久综合久久 | 日韩精品无码一本二本三本色 | 亚洲色成人中文字幕网站 | 人妻少妇精品视频专区 | 精品人妻人人做人人爽夜夜爽 | 蜜桃视频韩日免费播放 | 激情综合激情五月俺也去 | 中文字幕 人妻熟女 | 国产婷婷色一区二区三区在线 | 国产三级久久久精品麻豆三级 | 水蜜桃av无码 | 白嫩日本少妇做爰 | 99久久亚洲精品无码毛片 | 午夜精品久久久久久久久 | 在线成人www免费观看视频 | 国产成人综合在线女婷五月99播放 | 国产suv精品一区二区五 | 久久久无码中文字幕久... | 俄罗斯老熟妇色xxxx | 久久久www成人免费毛片 | 亚洲va中文字幕无码久久不卡 | 日本护士xxxxhd少妇 | 亚洲阿v天堂在线 | 成人性做爰aaa片免费看不忠 | 欧美日韩视频无码一区二区三 | 狂野欧美激情性xxxx | 色欲综合久久中文字幕网 | 女人被男人爽到呻吟的视频 | 免费观看激色视频网站 | 亚洲精品久久久久久久久久久 | 亚洲 欧美 激情 小说 另类 | 欧美精品国产综合久久 | 熟妇人妻中文av无码 | 成年美女黄网站色大免费视频 | 少妇激情av一区二区 | 天天拍夜夜添久久精品大 | 国产激情无码一区二区app | 日韩av无码一区二区三区不卡 | 国产免费观看黄av片 | 久久国语露脸国产精品电影 | 在线精品亚洲一区二区 | 欧美激情一区二区三区成人 | 亚洲国产精品毛片av不卡在线 | 大肉大捧一进一出视频出来呀 | 粉嫩少妇内射浓精videos | 高潮毛片无遮挡高清免费 | 日本又色又爽又黄的a片18禁 | 久久久久久久女国产乱让韩 | 性色欲情网站iwww九文堂 | 国产人妻精品一区二区三区 | 大胆欧美熟妇xx | 欧洲欧美人成视频在线 | 亚洲 高清 成人 动漫 | 青青青爽视频在线观看 | 青青青爽视频在线观看 | 思思久久99热只有频精品66 | 欧美xxxxx精品 | 又色又爽又黄的美女裸体网站 | 精品无人国产偷自产在线 | 黑森林福利视频导航 | 人妻插b视频一区二区三区 | 中文字幕精品av一区二区五区 | 亚洲综合色区中文字幕 | 午夜熟女插插xx免费视频 | 无码国产乱人伦偷精品视频 | 国产精品亚洲五月天高清 | 欧美性生交xxxxx久久久 | 国产艳妇av在线观看果冻传媒 | 久久精品成人欧美大片 | 无码av最新清无码专区吞精 | 精品少妇爆乳无码av无码专区 | 红桃av一区二区三区在线无码av | 亚洲国产综合无码一区 | 国产成人午夜福利在线播放 | 日本精品人妻无码免费大全 | 2019午夜福利不卡片在线 | 一本久久a久久精品亚洲 | 久久亚洲精品成人无码 | 国产无遮挡又黄又爽又色 | 无遮挡国产高潮视频免费观看 | 鲁一鲁av2019在线 | 国语精品一区二区三区 | 国产午夜精品一区二区三区嫩草 | 国产莉萝无码av在线播放 | 真人与拘做受免费视频一 | 久久久久亚洲精品中文字幕 | 欧美国产日产一区二区 | 国产成人无码午夜视频在线观看 | 久久精品中文字幕大胸 | 久久久精品国产sm最大网站 | 精品国产乱码久久久久乱码 | 欧美 日韩 人妻 高清 中文 | 性色欲网站人妻丰满中文久久不卡 | 鲁鲁鲁爽爽爽在线视频观看 | 性欧美疯狂xxxxbbbb | 色欲人妻aaaaaaa无码 | 中文字幕色婷婷在线视频 | 亚洲自偷自偷在线制服 | 7777奇米四色成人眼影 | 欧美freesex黑人又粗又大 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 欧美 日韩 亚洲 在线 | 欧美喷潮久久久xxxxx | 亚洲精品久久久久avwww潮水 | 国产成人无码av片在线观看不卡 | 国产精品va在线观看无码 | 中文字幕人妻无码一夲道 | 99久久久无码国产精品免费 | 无遮挡啪啪摇乳动态图 | 少妇人妻偷人精品无码视频 | 欧美日韩一区二区综合 | 人妻熟女一区 | 99久久精品日本一区二区免费 | 精品无人国产偷自产在线 | 高清不卡一区二区三区 | 欧美日韩精品 | 午夜熟女插插xx免费视频 | 国产精品久久久久无码av色戒 | 欧美性猛交内射兽交老熟妇 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 欧美刺激性大交 | 动漫av一区二区在线观看 | 国产精品毛片一区二区 | 国产精品久久久久无码av色戒 | 曰韩无码二三区中文字幕 | 日本大乳高潮视频在线观看 | 熟女少妇在线视频播放 | 国产精品香蕉在线观看 | 亚洲va中文字幕无码久久不卡 | 亚洲国产精品久久久久久 | 精品人人妻人人澡人人爽人人 | 国产精品va在线观看无码 | 欧美成人午夜精品久久久 | 国产香蕉尹人视频在线 | 欧美一区二区三区 | 国产农村乱对白刺激视频 | 精品一区二区三区波多野结衣 | 牲欲强的熟妇农村老妇女视频 | 久久精品国产一区二区三区肥胖 | 久久伊人色av天堂九九小黄鸭 | 日韩av无码中文无码电影 | 亚洲国产精品久久人人爱 | 学生妹亚洲一区二区 | 97夜夜澡人人爽人人喊中国片 | 精品无码av一区二区三区 | 午夜性刺激在线视频免费 | 日日天干夜夜狠狠爱 | 日韩欧美中文字幕在线三区 | 精品国产福利一区二区 | 国产av无码专区亚洲awww | 风流少妇按摩来高潮 | 自拍偷自拍亚洲精品10p | 性欧美大战久久久久久久 | 国产成人一区二区三区在线观看 | 国产一区二区不卡老阿姨 | 理论片87福利理论电影 | 女人被爽到呻吟gif动态图视看 | 永久免费观看美女裸体的网站 | 国语自产偷拍精品视频偷 | av香港经典三级级 在线 | 国产亚洲视频中文字幕97精品 | 久久久久成人片免费观看蜜芽 | 国产成人精品视频ⅴa片软件竹菊 | 亚洲国产精品美女久久久久 | 蜜臀aⅴ国产精品久久久国产老师 | 亚洲第一无码av无码专区 | 无码人妻少妇伦在线电影 | 国产成人无码区免费内射一片色欲 | 5858s亚洲色大成网站www | 亚洲成av人影院在线观看 | 影音先锋中文字幕无码 | 福利一区二区三区视频在线观看 | 给我免费的视频在线观看 | 亚洲精品美女久久久久久久 | 好屌草这里只有精品 | 成人性做爰aaa片免费看 | 精品乱码久久久久久久 | 久9re热视频这里只有精品 | 在线精品国产一区二区三区 | 红桃av一区二区三区在线无码av | 成人精品视频一区二区三区尤物 | 99精品国产综合久久久久五月天 | 99在线 | 亚洲 | 国产亚洲精品久久久久久大师 | 日本精品高清一区二区 | 色偷偷人人澡人人爽人人模 | 欧美三级不卡在线观看 | 精品无人国产偷自产在线 | 国产午夜精品一区二区三区嫩草 | 少妇久久久久久人妻无码 | 乱人伦人妻中文字幕无码久久网 | 国产精品无码久久av | 久热国产vs视频在线观看 | 日韩精品久久久肉伦网站 | 美女毛片一区二区三区四区 | 亚洲小说春色综合另类 | 免费无码一区二区三区蜜桃大 | 精品夜夜澡人妻无码av蜜桃 | 久久久中文久久久无码 | 一本无码人妻在中文字幕免费 | 丰满岳乱妇在线观看中字无码 | 久久久久se色偷偷亚洲精品av | 欧美自拍另类欧美综合图片区 | 亚洲人成网站色7799 | 伊在人天堂亚洲香蕉精品区 | 精品久久久无码人妻字幂 | 131美女爱做视频 | 久久亚洲精品成人无码 | 亚洲欧美日韩成人高清在线一区 | 欧美熟妇另类久久久久久不卡 | 欧美真人作爱免费视频 | 在线天堂新版最新版在线8 | 精品国产麻豆免费人成网站 | 国产偷抇久久精品a片69 | 中国大陆精品视频xxxx | 免费视频欧美无人区码 | 欧美日韩一区二区三区自拍 | 永久黄网站色视频免费直播 | 欧美老妇交乱视频在线观看 | 一本久久a久久精品vr综合 | 亚洲精品中文字幕久久久久 | 久久国产精品萌白酱免费 | 国产成人人人97超碰超爽8 | 精品无人区无码乱码毛片国产 | 黑森林福利视频导航 | 日韩精品无码一区二区中文字幕 | 精品一区二区三区无码免费视频 | 人人爽人人澡人人高潮 | 欧美一区二区三区视频在线观看 | 国产乱人伦av在线无码 | 精品无码国产自产拍在线观看蜜 | 老熟妇乱子伦牲交视频 | 大地资源中文第3页 | 中文字幕日韩精品一区二区三区 | 国产精品办公室沙发 | 日本一区二区三区免费播放 | 国产成人精品三级麻豆 | 精品成在人线av无码免费看 | 亚洲国产av精品一区二区蜜芽 | 国产精品沙发午睡系列 | 少妇的肉体aa片免费 | 久久久久国色av免费观看性色 | 99精品国产综合久久久久五月天 | 学生妹亚洲一区二区 | 狠狠噜狠狠狠狠丁香五月 | 大肉大捧一进一出视频出来呀 | 成人亚洲精品久久久久 | 人人妻人人澡人人爽人人精品浪潮 | www国产亚洲精品久久久日本 | 久久久久久久女国产乱让韩 | 无码福利日韩神码福利片 | 丰满少妇人妻久久久久久 | 中国女人内谢69xxxx | av人摸人人人澡人人超碰下载 | 97资源共享在线视频 | 一本久道久久综合狠狠爱 | 精品无码一区二区三区爱欲 | 国产亚洲精品久久久久久久 | 扒开双腿吃奶呻吟做受视频 | 男女爱爱好爽视频免费看 | 国产亚洲精品久久久久久久 | 亚洲精品一区二区三区大桥未久 | 熟妇女人妻丰满少妇中文字幕 | 亚洲无人区一区二区三区 | 亚洲午夜无码久久 | 色窝窝无码一区二区三区色欲 | 久久久久久久人妻无码中文字幕爆 | 亚洲精品鲁一鲁一区二区三区 | 乱码av麻豆丝袜熟女系列 | 成人免费视频视频在线观看 免费 | 女人被爽到呻吟gif动态图视看 | 亚洲狠狠色丁香婷婷综合 | 老子影院午夜伦不卡 | 高中生自慰www网站 | 午夜丰满少妇性开放视频 | 中文无码成人免费视频在线观看 | 亚洲色偷偷偷综合网 | 蜜桃视频插满18在线观看 | 东北女人啪啪对白 | 三上悠亚人妻中文字幕在线 | 亚洲午夜福利在线观看 | аⅴ资源天堂资源库在线 | 欧美激情一区二区三区成人 | 欧美肥老太牲交大战 | 亚洲成av人在线观看网址 | 鲁大师影院在线观看 | 色窝窝无码一区二区三区色欲 | 亚洲日韩精品欧美一区二区 | 日韩精品乱码av一区二区 | 久久伊人色av天堂九九小黄鸭 | a在线亚洲男人的天堂 | 精品国产精品久久一区免费式 | 成年女人永久免费看片 | 亚洲人成网站在线播放942 | 中文字幕无线码 | 一本色道久久综合狠狠躁 | 久久久久免费精品国产 | 亚洲国产精华液网站w | 成人av无码一区二区三区 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 久久熟妇人妻午夜寂寞影院 | 99精品国产综合久久久久五月天 | 天堂一区人妻无码 | 中文字幕人成乱码熟女app | 亚洲色成人中文字幕网站 | 97se亚洲精品一区 | 国产精品久免费的黄网站 | 中文字幕亚洲情99在线 | 理论片87福利理论电影 | 丁香啪啪综合成人亚洲 | 欧美日韩综合一区二区三区 | 色综合久久网 | 欧美一区二区三区 | 欧美喷潮久久久xxxxx | 男人的天堂av网站 | 一本精品99久久精品77 | 国产超碰人人爽人人做人人添 | 久久亚洲中文字幕无码 | 无码一区二区三区在线观看 | 国产一区二区不卡老阿姨 | 久久综合色之久久综合 | 亚洲小说春色综合另类 | 国产av无码专区亚洲awww | 精品无码一区二区三区爱欲 | 欧美肥老太牲交大战 | 人人妻人人澡人人爽欧美精品 | 精品久久久久香蕉网 | 人妻夜夜爽天天爽三区 | 激情国产av做激情国产爱 | 欧美兽交xxxx×视频 | 免费观看的无遮挡av | 精品人妻中文字幕有码在线 | 国产精品99爱免费视频 | 日日摸天天摸爽爽狠狠97 | 亚洲色在线无码国产精品不卡 | 国产农村妇女高潮大叫 | 无码国产乱人伦偷精品视频 | 亚洲精品欧美二区三区中文字幕 | 亚洲综合精品香蕉久久网 | 日本乱偷人妻中文字幕 | 又黄又爽又色的视频 | 国产日产欧产精品精品app | 人妻少妇精品久久 | 成人精品视频一区二区三区尤物 | 欧美肥老太牲交大战 | 无遮挡国产高潮视频免费观看 | 久久精品国产99久久6动漫 | 亚洲の无码国产の无码影院 | 日韩欧美群交p片內射中文 | 精品国产麻豆免费人成网站 | a片免费视频在线观看 | 中文字幕精品av一区二区五区 | 亚洲精品成人av在线 | 日本饥渴人妻欲求不满 | 国产办公室秘书无码精品99 | 在线成人www免费观看视频 | 国产精品99爱免费视频 | 中文字幕av伊人av无码av | 粗大的内捧猛烈进出视频 | 两性色午夜视频免费播放 | 蜜桃视频插满18在线观看 | 精品aⅴ一区二区三区 | 男人的天堂2018无码 | 国产日产欧产精品精品app | 99精品无人区乱码1区2区3区 | 亚洲码国产精品高潮在线 | 欧美午夜特黄aaaaaa片 | 亚洲精品午夜国产va久久成人 | 超碰97人人射妻 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 久久精品国产亚洲精品 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 少妇无码av无码专区在线观看 | 亚洲成av人综合在线观看 | 一本色道久久综合亚洲精品不卡 | 在线视频网站www色 | 久久精品国产亚洲精品 | 天天av天天av天天透 | а天堂中文在线官网 | 亚洲色偷偷男人的天堂 | 99久久人妻精品免费二区 | 色一情一乱一伦一视频免费看 | 婷婷六月久久综合丁香 | 国产午夜亚洲精品不卡 | 真人与拘做受免费视频一 | 在线播放免费人成毛片乱码 | 日韩人妻无码中文字幕视频 | 久久精品国产一区二区三区 | 激情人妻另类人妻伦 | 少妇激情av一区二区 | 丰满护士巨好爽好大乳 | 亚洲欧美国产精品专区久久 | 亚洲成a人片在线观看无码 | 无套内谢的新婚少妇国语播放 | 免费观看又污又黄的网站 | 欧美性猛交xxxx富婆 | 青青久在线视频免费观看 | 天下第一社区视频www日本 | 97色伦图片97综合影院 | 日韩亚洲欧美精品综合 | 久久久久av无码免费网 | 欧美色就是色 | 伊人久久大香线蕉亚洲 | 精品欧洲av无码一区二区三区 | 婷婷综合久久中文字幕蜜桃三电影 | 国产午夜无码精品免费看 | 无码av中文字幕免费放 | 成人欧美一区二区三区 | 娇妻被黑人粗大高潮白浆 | 97精品人妻一区二区三区香蕉 | 丰满妇女强制高潮18xxxx | 国产亚洲美女精品久久久2020 | 亚洲精品无码人妻无码 | 亚洲aⅴ无码成人网站国产app | 国内精品一区二区三区不卡 | 亚洲精品成a人在线观看 | 国产激情综合五月久久 | 国产成人久久精品流白浆 | 中文字幕无码免费久久9一区9 | 激情五月综合色婷婷一区二区 | 亚洲 日韩 欧美 成人 在线观看 | 久久精品中文字幕一区 | 国产av无码专区亚洲a∨毛片 | 亚洲一区二区三区四区 | 天堂久久天堂av色综合 | 国产精品欧美成人 | 日本精品久久久久中文字幕 | 中文字幕无码视频专区 | 十八禁真人啪啪免费网站 | 精品人妻中文字幕有码在线 | 国产性生交xxxxx无码 | 日本精品人妻无码77777 天堂一区人妻无码 | 思思久久99热只有频精品66 | 精品少妇爆乳无码av无码专区 | 正在播放东北夫妻内射 | 2019午夜福利不卡片在线 | 国产成人精品久久亚洲高清不卡 | 欧美放荡的少妇 | 亚洲成色在线综合网站 | 成人aaa片一区国产精品 | а√天堂www在线天堂小说 | 日韩亚洲欧美中文高清在线 | 国产精品亚洲lv粉色 | 亚洲娇小与黑人巨大交 | 久久午夜无码鲁丝片午夜精品 | 极品尤物被啪到呻吟喷水 | 亚洲中文字幕在线观看 | 久久精品人人做人人综合 | 精品国产国产综合精品 | av无码久久久久不卡免费网站 | 久久国产精品萌白酱免费 | 日本爽爽爽爽爽爽在线观看免 | 最新国产麻豆aⅴ精品无码 | 乱人伦中文视频在线观看 | 精品日本一区二区三区在线观看 | 无码一区二区三区在线观看 | 99在线 | 亚洲 | 亚洲精品欧美二区三区中文字幕 | 国产欧美精品一区二区三区 | 久久精品中文字幕大胸 | 亚洲国产高清在线观看视频 | 东京热无码av男人的天堂 | 亚洲码国产精品高潮在线 | 最新国产乱人伦偷精品免费网站 | 夜夜影院未满十八勿进 | 影音先锋中文字幕无码 | 少妇无码吹潮 | 未满成年国产在线观看 | 久久久精品456亚洲影院 | 久久久久人妻一区精品色欧美 | 国产区女主播在线观看 | 国产激情艳情在线看视频 | 色综合久久久无码中文字幕 | 色欲av亚洲一区无码少妇 | 国产超级va在线观看视频 | 日韩精品无码一区二区中文字幕 | 国内精品九九久久久精品 | 国产亚av手机在线观看 | 亚无码乱人伦一区二区 | 久久精品人人做人人综合试看 | 亚洲天堂2017无码 | 亚洲人成影院在线无码按摩店 | 国产人成高清在线视频99最全资源 | 四虎国产精品免费久久 | 无遮挡啪啪摇乳动态图 | 亚洲欧美日韩综合久久久 | 精品无码av一区二区三区 | 嫩b人妻精品一区二区三区 | 俺去俺来也在线www色官网 | 久久www免费人成人片 | 亚洲人成网站在线播放942 | 欧美日韩亚洲国产精品 | 国产成人一区二区三区别 | 国产精品鲁鲁鲁 | 久久亚洲日韩精品一区二区三区 | 亚洲精品久久久久avwww潮水 | 国产av一区二区精品久久凹凸 | 免费无码肉片在线观看 | 亚洲一区二区三区 | 乌克兰少妇性做爰 | 无码人妻丰满熟妇区毛片18 | 亚洲自偷精品视频自拍 | 超碰97人人做人人爱少妇 | 国产精品18久久久久久麻辣 | 国产精品人人爽人人做我的可爱 | 国产一精品一av一免费 | 久久久www成人免费毛片 | 色综合天天综合狠狠爱 | 丰腴饱满的极品熟妇 | 一本无码人妻在中文字幕免费 | 麻花豆传媒剧国产免费mv在线 | 亚洲熟悉妇女xxx妇女av | 中文无码伦av中文字幕 | 国产精品对白交换视频 | 少妇性l交大片欧洲热妇乱xxx | 熟妇女人妻丰满少妇中文字幕 | 亚洲色无码一区二区三区 | 成人无码精品1区2区3区免费看 | 亚洲综合无码久久精品综合 | 中文字幕无码免费久久99 | 色欲久久久天天天综合网精品 | 丁香啪啪综合成人亚洲 | 娇妻被黑人粗大高潮白浆 | 国产在线精品一区二区三区直播 | 欧美老人巨大xxxx做受 | 国产精品久久福利网站 | 国产成人一区二区三区别 | 日韩精品a片一区二区三区妖精 | 99久久精品日本一区二区免费 | 亚洲七七久久桃花影院 | 中文字幕人妻无码一区二区三区 | 中文无码伦av中文字幕 | 狠狠cao日日穞夜夜穞av | 麻豆精品国产精华精华液好用吗 | 55夜色66夜色国产精品视频 | 国产精品久久国产精品99 | 亚洲人成人无码网www国产 | 少妇高潮喷潮久久久影院 | 欧美性生交xxxxx久久久 | 久久综合九色综合欧美狠狠 | 色妞www精品免费视频 | 欧美国产亚洲日韩在线二区 | 久热国产vs视频在线观看 | 日韩人妻无码一区二区三区久久99 | av在线亚洲欧洲日产一区二区 | 久久国产36精品色熟妇 | 欧美日韩一区二区免费视频 | 国产乱码精品一品二品 | 久久久亚洲欧洲日产国码αv | 亚洲色大成网站www | 色欲人妻aaaaaaa无码 | 色爱情人网站 | 久久人人爽人人爽人人片ⅴ | 毛片内射-百度 | 伊人久久婷婷五月综合97色 | 国产成人无码专区 | 国产明星裸体无码xxxx视频 | 中国女人内谢69xxxxxa片 | 台湾无码一区二区 | 亚洲欧洲日本综合aⅴ在线 | 鲁大师影院在线观看 | 国产sm调教视频在线观看 | 无码人妻精品一区二区三区不卡 | 精品欧洲av无码一区二区三区 | 黄网在线观看免费网站 | 又粗又大又硬毛片免费看 | 亚洲成av人在线观看网址 | 国产亲子乱弄免费视频 | 无码播放一区二区三区 | 麻豆人妻少妇精品无码专区 | 国产成人精品三级麻豆 | 精品欧洲av无码一区二区三区 | 在线亚洲高清揄拍自拍一品区 | 亚洲一区二区三区播放 | 亚洲人成网站在线播放942 | 十八禁真人啪啪免费网站 | 久久成人a毛片免费观看网站 | 国产精品无套呻吟在线 | 欧美午夜特黄aaaaaa片 | 亚洲高清偷拍一区二区三区 | 国产成人精品必看 | 老司机亚洲精品影院 | a在线亚洲男人的天堂 | 偷窥日本少妇撒尿chinese | 无码精品人妻一区二区三区av | 蜜桃av抽搐高潮一区二区 | 精品一区二区三区波多野结衣 | 激情亚洲一区国产精品 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 免费看男女做好爽好硬视频 | 高清国产亚洲精品自在久久 | 亚洲成a人一区二区三区 | 久久久久免费精品国产 | 免费国产成人高清在线观看网站 | 国产午夜无码视频在线观看 | 亚洲国产高清在线观看视频 | 国产乱人伦偷精品视频 | 丰满人妻一区二区三区免费视频 | 成人亚洲精品久久久久软件 | 精品无码av一区二区三区 | 成人无码精品一区二区三区 | 亚洲日本一区二区三区在线 | 在线成人www免费观看视频 | 桃花色综合影院 | 精品无人国产偷自产在线 | 成人一区二区免费视频 | 欧美怡红院免费全部视频 | 亚洲色在线无码国产精品不卡 | av香港经典三级级 在线 | 少女韩国电视剧在线观看完整 | 色综合久久久久综合一本到桃花网 | 午夜精品久久久内射近拍高清 | 欧美乱妇无乱码大黄a片 | 一本久道久久综合狠狠爱 | 性色av无码免费一区二区三区 | 曰本女人与公拘交酡免费视频 | 野狼第一精品社区 | 国产精品高潮呻吟av久久4虎 | 中文字幕无码热在线视频 | 亚洲 激情 小说 另类 欧美 | 人妻少妇被猛烈进入中文字幕 | 国内丰满熟女出轨videos | 好屌草这里只有精品 | 波多野42部无码喷潮在线 | 成人一区二区免费视频 | 99久久久无码国产aaa精品 | 国产性生大片免费观看性 | 亚洲熟妇色xxxxx欧美老妇y | 午夜不卡av免费 一本久久a久久精品vr综合 | 欧美日韩综合一区二区三区 | 成年美女黄网站色大免费全看 | 中文无码伦av中文字幕 | 国产欧美熟妇另类久久久 | 国产无套粉嫩白浆在线 | 中文毛片无遮挡高清免费 | 精品国产成人一区二区三区 | 日韩人妻系列无码专区 | 四虎国产精品免费久久 | 初尝人妻少妇中文字幕 | 精品午夜福利在线观看 | 亚洲中文字幕在线无码一区二区 | 亚洲精品国偷拍自产在线麻豆 | 精品无码国产一区二区三区av | 国产精品无码成人午夜电影 | 亚洲七七久久桃花影院 | 任你躁在线精品免费 | 国产69精品久久久久app下载 | 国产精品资源一区二区 | 日本va欧美va欧美va精品 | 久久人人爽人人爽人人片ⅴ | 国内揄拍国内精品少妇国语 | 国产成人无码av一区二区 | 日韩精品无码一本二本三本色 | 午夜精品一区二区三区的区别 | 国产香蕉尹人综合在线观看 | 国产精品亚洲一区二区三区喷水 | 东京热无码av男人的天堂 | 精品日本一区二区三区在线观看 | 中文字幕无码乱人伦 | 国产网红无码精品视频 | 天干天干啦夜天干天2017 | 欧美日韩一区二区免费视频 | 中文字幕乱码人妻无码久久 | 亚洲高清偷拍一区二区三区 | 漂亮人妻洗澡被公强 日日躁 | 久久人人97超碰a片精品 | 黄网在线观看免费网站 | 久久99精品久久久久久动态图 | 亚洲综合色区中文字幕 | 男人的天堂av网站 | 性色欲网站人妻丰满中文久久不卡 | 天天av天天av天天透 | 国产精品久久久午夜夜伦鲁鲁 | 国产色xx群视频射精 | 国产乱子伦视频在线播放 | 国产精品欧美成人 | 亚洲成在人网站无码天堂 | аⅴ资源天堂资源库在线 | 亚洲精品www久久久 | 欧美人与禽zoz0性伦交 | 亚洲欧洲无卡二区视頻 | 亚洲无人区午夜福利码高清完整版 | 人妻无码久久精品人妻 | 亚洲精品久久久久avwww潮水 | 午夜嘿嘿嘿影院 | 亚洲人成网站色7799 | 国产9 9在线 | 中文 | 奇米影视7777久久精品人人爽 | 日本饥渴人妻欲求不满 | 中文字幕 人妻熟女 | aⅴ在线视频男人的天堂 | 国产无遮挡又黄又爽免费视频 | 亚洲の无码国产の无码步美 | 久久精品国产一区二区三区肥胖 | 欧美zoozzooz性欧美 | 欧美性生交活xxxxxdddd | 国产av一区二区三区最新精品 | 99久久亚洲精品无码毛片 | 欧美日韩视频无码一区二区三 | 成 人 免费观看网站 | 午夜精品一区二区三区在线观看 | 国产在线精品一区二区高清不卡 | 76少妇精品导航 | 亚洲人成人无码网www国产 | 少妇久久久久久人妻无码 | 国产精品久久久 | a在线观看免费网站大全 | 精品熟女少妇av免费观看 | 爽爽影院免费观看 | 国产在线精品一区二区三区直播 | 一本久久a久久精品亚洲 | 高潮毛片无遮挡高清免费视频 | 无码av免费一区二区三区试看 | a国产一区二区免费入口 | 人妻少妇精品视频专区 | 精品久久久中文字幕人妻 | 久久无码人妻影院 | 色婷婷综合中文久久一本 | 日韩精品a片一区二区三区妖精 | 国产精品-区区久久久狼 | 97夜夜澡人人双人人人喊 | 97色伦图片97综合影院 | 蜜臀aⅴ国产精品久久久国产老师 | √天堂资源地址中文在线 | 国产一区二区三区影院 | 成在人线av无码免观看麻豆 | 欧美肥老太牲交大战 | 丰满人妻精品国产99aⅴ | 国产精品鲁鲁鲁 | 又黄又爽又色的视频 | 色偷偷人人澡人人爽人人模 | 性欧美疯狂xxxxbbbb | 国产成人精品三级麻豆 | 大肉大捧一进一出好爽视频 | 国产 精品 自在自线 | 丰腴饱满的极品熟妇 | 性欧美牲交在线视频 | 国产亚洲精品精品国产亚洲综合 | 玩弄中年熟妇正在播放 | 99久久精品无码一区二区毛片 | 亚洲综合无码一区二区三区 | 精品日本一区二区三区在线观看 | 亚洲 日韩 欧美 成人 在线观看 | 亚洲自偷精品视频自拍 | 亲嘴扒胸摸屁股激烈网站 | 香蕉久久久久久av成人 | 精品久久久久久亚洲精品 | 欧美老妇交乱视频在线观看 | 国内精品九九久久久精品 | 精品国产aⅴ无码一区二区 | 无码一区二区三区在线观看 | 国产97人人超碰caoprom | 久久国产精品偷任你爽任你 | 欧美 日韩 人妻 高清 中文 | 狂野欧美性猛xxxx乱大交 | 国产激情无码一区二区app | 国内少妇偷人精品视频免费 | 欧美日韩久久久精品a片 | 国产人妻久久精品二区三区老狼 | 欧美黑人性暴力猛交喷水 | 国产午夜无码精品免费看 | 98国产精品综合一区二区三区 | 自拍偷自拍亚洲精品被多人伦好爽 | 国产精品无码成人午夜电影 | 中文毛片无遮挡高清免费 | 国产亚洲精品久久久久久久久动漫 | 久久久久久久女国产乱让韩 | 国产农村妇女高潮大叫 | www国产亚洲精品久久久日本 | 内射老妇bbwx0c0ck | 日日橹狠狠爱欧美视频 | 亚洲成在人网站无码天堂 | 麻豆国产人妻欲求不满谁演的 | 撕开奶罩揉吮奶头视频 | 久久亚洲日韩精品一区二区三区 | 国产无遮挡又黄又爽免费视频 | 日本一区二区三区免费播放 | 国产激情无码一区二区 | 成人欧美一区二区三区黑人 | 欧美第一黄网免费网站 | 亚洲国产欧美国产综合一区 | 狂野欧美激情性xxxx | 狠狠色色综合网站 |