久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

ELK+Flink+Kafka:實(shí)時(shí)日志分析平臺(tái)的Kappa架構(gòu)實(shí)戰(zhàn)

ELK+Flink+Kafka:實(shí)時(shí)日志分析平臺(tái)的Kappa架構(gòu)實(shí)戰(zhàn) 1. 項(xiàng)目整體設(shè)計(jì)與Kappa架構(gòu)選型背后的邏輯1.1 為什么是Kappa而不是Lambda先說結(jié)論如果你現(xiàn)在還要為一個(gè)新項(xiàng)目搭建實(shí)時(shí)日志分析平臺(tái)Lambda架構(gòu)大概率已經(jīng)不是最優(yōu)解了。Kappa架構(gòu)的核心思想非常樸素——把所有數(shù)據(jù)都當(dāng)作流來處理用一個(gè)引擎同時(shí)支撐實(shí)時(shí)計(jì)算和歷史數(shù)據(jù)重放不需要像Lambda那樣為批處理和流處理各維護(hù)一套代碼。Lambda架構(gòu)給人挖的坑我太有體會(huì)了。流批兩套代碼意味著兩套邏輯、兩套部署、兩套運(yùn)維最痛苦的是當(dāng)你要修一個(gè)bug或者加一個(gè)字段時(shí)要在兩個(gè)項(xiàng)目里分別改一遍然后還得對(duì)兩邊的計(jì)算結(jié)果做合并和校驗(yàn)。日志分析這個(gè)場(chǎng)景尤其尷尬日志數(shù)據(jù)本質(zhì)上就是一條條不斷產(chǎn)生的事件流你非要用批處理框架對(duì)一份靜態(tài)文件反復(fù)跑批屬于脫褲子放屁。Kappa的底氣來自Kafka的持久化和重放能力。Kafka可以保留全量日志數(shù)據(jù)通常按天或按容量設(shè)置retention當(dāng)業(yè)務(wù)方需要重新計(jì)算某個(gè)時(shí)間窗口的指標(biāo)時(shí)我們只要把Kafka的消費(fèi)位點(diǎn)重置到那個(gè)時(shí)間點(diǎn)之前再用Flink從那個(gè)位點(diǎn)重新消費(fèi)、重新計(jì)算結(jié)果寫到新的Elasticsearch索引里就行。整個(gè)過程不需要啟動(dòng)任何批處理任務(wù)也不需要寫一套MapReduce代碼。舉一個(gè)具體例子某天凌晨線上有一個(gè)支付接口的調(diào)用量異常飆升業(yè)務(wù)方想對(duì)比今天早高峰和上周同一天的數(shù)據(jù)。Lambda架構(gòu)的做法是臨時(shí)寫一個(gè)Hive SQL跑一遍昨天的HDFS日志再把結(jié)果和實(shí)時(shí)結(jié)果合并。Kappa的做法更簡(jiǎn)單直接把Flink作業(yè)的Kafka消費(fèi)位點(diǎn)重置到上周同一天的0點(diǎn)讓作業(yè)重新跑一遍幾分鐘后就能拿到完整的歷史計(jì)算結(jié)果。數(shù)據(jù)規(guī)模上來之后這體驗(yàn)差別會(huì)越來越明顯。1.2 技術(shù)選型這套方案里的每一個(gè)組件都不是湊數(shù)的ELKFlinkKafka這套組合每一個(gè)組件承擔(dān)的職責(zé)都很清晰沒有一個(gè)是可以砍掉的Kafka是整條鏈路的地基。它承接所有實(shí)時(shí)日志數(shù)據(jù)用分區(qū)機(jī)制提供并行度用offset機(jī)制支撐Flink的exactly-once狀態(tài)恢復(fù)用數(shù)據(jù)保留策略支撐Kappa架構(gòu)的核心——數(shù)據(jù)重放。沒有KafkaFlink的checkpoint恢復(fù)和重放能力就無從談起。Flink是計(jì)算引擎。日志分析的實(shí)時(shí)ETL、指標(biāo)聚合、窗口統(tǒng)計(jì)、異常檢測(cè)都跑在Flink上。選Flink而不是Spark Streaming核心考量是Flink的原生流處理語義、低延遲特性和精確一次exactly-once的狀態(tài)一致性保證。Spark Streaming的micro-batch模式在處理秒級(jí)窗口時(shí)延遲偏高而且批流一體做起來比Flink要費(fèi)勁得多。Elasticsearch負(fù)責(zé)存儲(chǔ)與檢索。清洗后的日志寫入ESKibana負(fù)責(zé)可視化。ES的倒排索引、聚合分析能力天然適合日志場(chǎng)景——業(yè)務(wù)方要查某個(gè)用戶的所有操作記錄、統(tǒng)計(jì)某個(gè)接口的錯(cuò)誤率、分析某個(gè)時(shí)間段的流量走勢(shì)這些都是ES的主場(chǎng)。這套方案能解決的問題邊界也很清楚適合日志量大、實(shí)時(shí)性要求高、需要靈活檢索和分析的場(chǎng)景。如果你的日志量小到單機(jī)就能搞定或者離線分析需求遠(yuǎn)大于實(shí)時(shí)需求那這套方案的復(fù)雜度對(duì)你來說就是純負(fù)擔(dān)。注意Kappa架構(gòu)有個(gè)隱含前提——你的消息中間件必須能保留足夠長時(shí)間的數(shù)據(jù)。如果你遇到的是日志量巨大、Kafka保留窗口只能覆蓋幾個(gè)小時(shí)的場(chǎng)景Kappa的“重放”優(yōu)勢(shì)就沒有了這時(shí)候需要認(rèn)真考慮Lambda或者混合架構(gòu)。這是我踩過一次大坑后得到的體會(huì)。2. 核心組件部署與配置實(shí)戰(zhàn)2.1 Kafka集群參數(shù)規(guī)劃比安裝更重要Kafka集群的規(guī)劃不能只看節(jié)點(diǎn)數(shù)要算清楚吞吐量和存儲(chǔ)的匹配關(guān)系。這里給出一個(gè)實(shí)戰(zhàn)參考假設(shè)單日日志量約200GB日志峰值速率大約是每秒30MB到50MB一般至少需要3個(gè)Kafka節(jié)點(diǎn)每個(gè)節(jié)點(diǎn)掛2塊獨(dú)立數(shù)據(jù)盤做目錄分離。安裝Kafka本身不復(fù)雜網(wǎng)上教程滿天飛。真正的難點(diǎn)在參數(shù)。我挑幾個(gè)踩過坑的配置說# server.properties 核心配置參考 broker.id0 log.dirs/data/kafka-logs-1,/data/kafka-logs-2 num.partitions12 log.retention.hours168 log.segment.bytes1073741824 log.retention.check.interval.ms300000 replica.lag.time.max.ms30000 offsets.topic.replication.factor3 transaction.state.log.replication.factor3 min.insync.replicas2第一條避坑log.segment.bytes默認(rèn)1GB這個(gè)值不用動(dòng)。但要注意log.retention.hours和消息總流量的匹配。我見過有人為了省磁盤把retention設(shè)成24小時(shí)結(jié)果某天Flink作業(yè)掛了一天后恢復(fù)時(shí)發(fā)現(xiàn)Kafka從第20個(gè)小時(shí)開始的數(shù)據(jù)已經(jīng)被清掉了無法完整重放。建議至少保留72小時(shí)留出故障恢復(fù)的窗口。第二條避坑min.insync.replicas2必須設(shè)。如果你的Kafka集群只有3個(gè)節(jié)點(diǎn)副本因子設(shè)為2或者3生產(chǎn)端開啟acksall這樣配置能保證部分節(jié)點(diǎn)故障時(shí)寫入不丟數(shù)據(jù)。這個(gè)參數(shù)不設(shè)生產(chǎn)端配合不當(dāng)會(huì)有丟數(shù)據(jù)的風(fēng)險(xiǎn)。默認(rèn)分區(qū)數(shù)我一般設(shè)成12原因后面講Flink并行度的時(shí)候會(huì)解釋。如果你的Flink作業(yè)并行度很高分區(qū)數(shù)也要跟著提升每個(gè)分區(qū)就是Flink的一個(gè)消費(fèi)并行度來源。分區(qū)數(shù)一旦確定后期擴(kuò)容是要花不少代價(jià)的——從頭新建topic、讓Flink重新消費(fèi)做數(shù)據(jù)遷移。所以初期寧可設(shè)大一點(diǎn)。2.2 Flink部署模式與內(nèi)存配置Flink的部署方式有三種Standalone、YARN Session、YARN Per-Job新版本里推薦Application Mode。實(shí)時(shí)日志分析這種場(chǎng)景我推薦用YARN Session模式。原因很簡(jiǎn)單日志分析任務(wù)不算重型作業(yè)Session模式允許多個(gè)Flink作業(yè)共享一個(gè)集群資源利用率高作業(yè)啟動(dòng)速度快。Per-Job模式每個(gè)作業(yè)啟動(dòng)一個(gè)專用集群隔離性好但資源開銷大。關(guān)于Flink的內(nèi)存配置有一條極其重要的經(jīng)驗(yàn)一定要給Flink設(shè)置獨(dú)立的堆外內(nèi)存和系統(tǒng)內(nèi)存否則默認(rèn)配置在容器環(huán)境下很容易出事。# conf/flink-conf.yaml 關(guān)鍵配置示例 jobmanager.memory.process.size: 2048m taskmanager.memory.process.size: 4096m taskmanager.memory.managed.size: 2048m taskmanager.numberOfTaskSlots: 2 parallelism.default: 4 state.backend: rocksdb state.backend.incremental: true checkpointing.interval: 60000state.backend用RocksDB而不是默認(rèn)的HashMap是因?yàn)槿罩痉治鲎鳂I(yè)通常要保存較大規(guī)模的狀態(tài)比如窗口聚合的中間結(jié)果。RocksDB支持增量checkpoint在大狀態(tài)場(chǎng)景下性能要好很多。這里想特別強(qiáng)調(diào)task slot數(shù)量不要盲目設(shè)成和CPU核數(shù)一致。每個(gè)slot上運(yùn)行的任務(wù)要占用內(nèi)存slot太多會(huì)導(dǎo)致堆內(nèi)存溢出slot太少則CPU利用率不足。我在生產(chǎn)環(huán)境使用的經(jīng)驗(yàn)是單機(jī)slot數(shù)量CPU核數(shù)的一半左右比較穩(wěn)妥。2.3 ELK部署別用默認(rèn)配置直接上ELK的部署現(xiàn)在基本都是Docker Compose一把梭。網(wǎng)上搜“elk docker 部署”能搜到一堆模板但默認(rèn)模板直接拿來用會(huì)埋不少雷。先看一個(gè)精簡(jiǎn)的docker-compose版本然后逐個(gè)說坑version: 3.8 services: elasticsearch: image: elasticsearch:7.17.9 environment: - cluster.namees-log-cluster - discovery.typesingle-node - ES_JAVA_OPTS-Xms4g -Xmx4g - bootstrap.memory_locktrue volumes: - es-data:/usr/share/elasticsearch/data ports: - 9200:9200 kibana: image: kibana:7.17.9 environment: - ELASTICSEARCH_HOSTShttp://elasticsearch:9200 - I18N_LOCALEzh-CN ports: - 5601:5601 depends_on: - elasticsearch logstash: image: logstash:7.17.9 volumes: - ./logstash.conf:/usr/share/logstash/pipeline/logstash.conf environment: - LS_JAVA_OPTS-Xms2g -Xmx2g depends_on: - elasticsearch第一個(gè)大坑ES的ES_JAVA_OPTS堆內(nèi)存配置。默認(rèn)JVM堆只有2GB日志數(shù)據(jù)一旦上來分片數(shù)又設(shè)得很大幾乎必然OOM。經(jīng)驗(yàn)是按機(jī)器內(nèi)存的50%給ES堆內(nèi)存但不要超過32GB。再往上走JVM的對(duì)象指針壓縮就失效了性能反而下降。第二個(gè)大坑bootstrap.memory_locktrue配合vm.max_map_count的系統(tǒng)參數(shù)。ES需要鎖定內(nèi)存防止交換到磁盤但如果宿主機(jī)沒設(shè)置vm.max_map_countES啟動(dòng)時(shí)會(huì)報(bào)max virtual memory areas vm.max_map_count [65530] is too low。解決辦法是在宿主機(jī)執(zhí)行sudo sysctl -w vm.max_map_count262144第三個(gè)大坑Logstash不裝時(shí)好端端的一加上就瘋狂占內(nèi)存。Logstash默認(rèn)JVM堆1GB處理高吞吐日志時(shí)根本不夠。設(shè)置LS_JAVA_OPTS-Xms2g -Xmx2g是基礎(chǔ)更關(guān)鍵的是別讓Logstash承擔(dān)太重的解析工作——復(fù)雜的grok正則解析會(huì)嚴(yán)重拖慢吞吐能用Flink清洗的字段就丟給FlinkLogstash只做最輕量級(jí)的托運(yùn)。ES索引的生命周期管理ILM是另一個(gè)不能偷懶的點(diǎn)。日志數(shù)據(jù)按天建索引保留30天足夠ILM策略自動(dòng)滾動(dòng)和刪除舊索引省心又防止磁盤被打滿PUT _ilm/policy/log_retention_policy { policy: { phases: { hot: { actions: { rollover: { max_size: 50GB, max_age: 1d } } }, delete: { min_age: 30d, actions: { delete: {} } } } } }3. 實(shí)時(shí)日志分析鏈路的核心實(shí)現(xiàn)3.1 端到端鏈路從日志產(chǎn)生到Kibana圖表這條鏈路我用一個(gè)nginx訪問日志的例子走一遍全流程Filebeat采集每臺(tái)服務(wù)器上部署Filebeat讀取nginx的access.log把每行日志轉(zhuǎn)成JSON消息發(fā)送到Kafka。Kafka緩沖消息按nginx-log這個(gè)topic組織默認(rèn)12個(gè)分區(qū)按服務(wù)器IP或請(qǐng)求路徑做key保證同一來源的日志有序。Flink清洗與計(jì)算消費(fèi)Kafka消息解析出時(shí)間戳、客戶端IP、請(qǐng)求路徑、狀態(tài)碼、響應(yīng)耗時(shí)等字段做ETL清洗然后按1分鐘窗口聚合出各接口的調(diào)用量、P95耗時(shí)、錯(cuò)誤率。ES存儲(chǔ)Flink把清洗后的明細(xì)數(shù)據(jù)寫入nginx-access-log-YYYY.MM.dd索引聚合結(jié)果寫入nginx-access-metric索引。Kibana展示在Kibana里創(chuàng)建Dashboard實(shí)時(shí)展示各接口的吞吐、錯(cuò)誤率趨勢(shì)、TOP訪問IP等。鏈路看起來不長但每一環(huán)的細(xì)節(jié)都能要你命。Filebeat采集端的細(xì)節(jié)要設(shè)置publisher_confirms: true默認(rèn)配置下Filebeat寫Kafka是異步送達(dá)一旦broker端短暫不可用消息就丟了。3.2 Flink作業(yè)讀取、窗口與Processor的完整實(shí)現(xiàn)寫一個(gè)大概的Flink作業(yè)骨架覆蓋日志分析最常見的需求public class LogAnalysisJob { public static void main(String[] args) throws Exception { StreamExecutionEnvironment env StreamExecutionEnvironment.getExecutionEnvironment(); env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime); env.enableCheckpointing(60000, CheckpointingMode.EXACTLY_ONCE); env.getCheckpointConfig().setMinPauseBetweenCheckpoints(30000); env.getCheckpointConfig().setTolerableCheckpointFailureNumber(3); Properties kafkaProps new Properties(); kafkaProps.setProperty(bootstrap.servers, kafka-1:9092,kafka-2:9092,kafka-3:9092); kafkaProps.setProperty(group.id, log-analysis-group); kafkaProps.setProperty(auto.offset.reset, earliest); // 事務(wù)讀配合Flink的checkpoint保證exactly-once FlinkKafkaConsumerString consumer new FlinkKafkaConsumer( nginx-log, new SimpleStringSchema(), kafkaProps ); consumer.setStartFromLatest(); // 首次部署從當(dāng)前時(shí)間開始消費(fèi) DataStreamString rawLogStream env.addSource(consumer); SingleOutputStreamOperatorAccessLog logStream rawLogStream .map(new JsonToAccessLogFunction()) .assignTimestampsAndWatermarks( WatermarkStrategy.AccessLogforBoundedOutOfOrderness(Duration.ofSeconds(10)) .withTimestampAssigner((log, ts) - log.getTimestamp()) ); // 窗口聚合每1分鐘統(tǒng)計(jì)各接口的調(diào)用量、平均耗時(shí)、P95耗時(shí) DataStreamInterfaceMetric metricStream logStream .filter(log - log.getStatus() 200) .keyBy(AccessLog::getApiPath) .window(TumblingEventTimeWindows.of(Time.minutes(1))) .aggregate(new MetricAggregateFunction(), new MetricWindowProcessFunction()); // 寫入ES metricStream.addSink(createElasticsearchSink(nginx-access-metric)); logStream.addSink(createElasticsearchSink(nginx-access-log)); env.execute(nginx-log-analysis); } }這里有幾個(gè)非常關(guān)鍵的實(shí)現(xiàn)細(xì)節(jié)第一EventTime和Watermark必須設(shè)置。日志數(shù)據(jù)的業(yè)務(wù)時(shí)間本身是事件發(fā)生時(shí)間如果直接拿Flink處理時(shí)間來做窗口統(tǒng)計(jì)任何網(wǎng)絡(luò)延遲和反壓都會(huì)導(dǎo)致統(tǒng)計(jì)錨點(diǎn)錯(cuò)亂。設(shè)置forBoundedOutOfOrderness(Duration.ofSeconds(10))允許日志亂序10秒以內(nèi)這個(gè)值要按實(shí)際網(wǎng)絡(luò)環(huán)境調(diào)整設(shè)太大窗口輸出延遲高設(shè)太小丟數(shù)據(jù)。第二聚合函數(shù)里要做狀態(tài)清理。MetricAggregateFunction里保存的就是窗口內(nèi)狀態(tài)的累加器。如果不清理過期key長尾的接口路徑會(huì)持續(xù)占用內(nèi)存。窗口結(jié)束后要主動(dòng)清理狀態(tài)或者用Flink的TTL機(jī)制給狀態(tài)設(shè)置過期時(shí)間。第三ES Sink要設(shè)置冪等寫入。日志場(chǎng)景的冪等最簡(jiǎn)單實(shí)用——ES按_id做upsert。給每條日志生成一個(gè)MD5(時(shí)間戳 日志原文)作為文檔ID這樣即使Flink作業(yè)發(fā)生故障重放同一批次數(shù)據(jù)重復(fù)寫入時(shí)也會(huì)因?yàn)镮D相同被覆蓋不會(huì)產(chǎn)生重復(fù)文檔。3.3 寫入ES的調(diào)優(yōu)細(xì)節(jié)bulk是王道ES Sink的性能是整個(gè)鏈路的瓶頸之一。默認(rèn)的ES connector寫入是逐條、同步的日志量大時(shí)吞吐根本扛不住。我建議所有生產(chǎn)環(huán)境的ES Sink都開啟bulk模式private static ElasticsearchSinkAccessLog createElasticsearchSink(String indexName) { ListHttpHost httpHosts new ArrayList(); httpHosts.add(new HttpHost(es-1, 9200, http)); ElasticsearchSinkFunctionAccessLog sinkFunction new ElasticsearchSinkFunctionAccessLog() { Override public void process(AccessLog log, RuntimeContext ctx, RequestIndexer indexer) { MapString, Object json new HashMap(); json.put(apiPath, log.getApiPath()); json.put(status, log.getStatus()); json.put(costMs, log.getCostMs()); IndexRequest request Requests.indexRequest() .index(indexName) .id(log.generateId()) .source(json); indexer.add(request); } }; return new ElasticsearchSink.Builder(httpHosts, sinkFunction) .setBulkFlushMaxActions(5000) .setBulkFlushMaxSizeMb(100) .setBulkFlushInterval(5000) .build(); }我把bulkFlushMaxActions設(shè)為5000maxSizeMb設(shè)為100MBflushInterval設(shè)為5秒。這幾個(gè)值是根據(jù)ES的寫入吞吐實(shí)測(cè)出來的平衡點(diǎn)。bulk太頻繁會(huì)增加ES的索引壓力bulk太少則不能充分合并寫入請(qǐng)求。ES服務(wù)端的兩個(gè)參數(shù)對(duì)日志場(chǎng)景極其關(guān)鍵PUT /_cluster/settings { transient: { indices.memory.index_buffer_size: 20%, indices.requests.cache.size: 5% } }index_buffer_size決定ES在落到磁盤前能在內(nèi)存里攢多少數(shù)據(jù)20%是官方建議值別貪大太大容易OOM。requests.cache.size只在大量重復(fù)聚合場(chǎng)景下有收益日志檢索場(chǎng)景設(shè)置5%足夠了。4. 常見問題排查與調(diào)優(yōu)實(shí)錄4.1 Kafka消息延遲高問題可能不在Kafka“Kafka延遲高”是我被問過最多的問題。排查這類問題有一個(gè)黃金法則先看生產(chǎn)端再看消費(fèi)端最后看Broker。很多時(shí)候Kafka自己根本沒毛病。最典型的場(chǎng)景是業(yè)務(wù)方反饋日志從產(chǎn)生到出現(xiàn)在Kibana里延遲了十幾分鐘。查Kafka broker的CPU和網(wǎng)絡(luò)都正常topic的分區(qū)數(shù)12個(gè)消費(fèi)端Flink作業(yè)各并行度也正常那問題大概率出在三個(gè)方面生產(chǎn)端batch.size和linger.ms搭配不佳。Kafka生產(chǎn)端默認(rèn)batch.size16KBlinger.ms0。批量太小、等待時(shí)間太短會(huì)導(dǎo)致每條消息都單獨(dú)發(fā)一次網(wǎng)絡(luò)請(qǐng)求網(wǎng)絡(luò)往返消耗遠(yuǎn)大于發(fā)送數(shù)據(jù)本身。把batch.size適當(dāng)調(diào)大比如64KBlinger.ms設(shè)為5到10毫秒Kafka吞吐會(huì)有立竿見影的提升。注意linger.ms不是延遲發(fā)送多少毫秒的意思而是等待攢夠一個(gè)批次的最長等待時(shí)間5毫秒級(jí)別的設(shè)置對(duì)實(shí)時(shí)性幾乎無感。消費(fèi)端fetch.max.bytes設(shè)置過小。這是另一個(gè)容易被忽略的點(diǎn)。Flink的Kafka消費(fèi)者默認(rèn)fetch.max.bytes50MB但單個(gè)分區(qū)的fetch.max.bytes默認(rèn)是1MB。如果你設(shè)置了12個(gè)分區(qū)每個(gè)分區(qū)的消費(fèi)并發(fā)一次fetch能拉取的數(shù)據(jù)量可能撐不滿網(wǎng)絡(luò)帶寬。日志場(chǎng)景的消費(fèi)速度頻繁被這個(gè)參數(shù)拖后腿。建議顯式設(shè)置為Properties kafkaProps new Properties(); kafkaProps.setProperty(FlinkKafkaConsumer.KEY_FETCH_MAX_BYTES, 52428800);Flink作業(yè)存在反壓。這是最多發(fā)的情況。日志高峰期數(shù)據(jù)量暴增Flink的源端消費(fèi)不過來下游ES寫入跟不上整個(gè)鏈路卡住。最直接的表現(xiàn)是Kafka的consumer lag持續(xù)增長。排查方法是看Flink UI上每個(gè)算子是否有背壓告警或者直接看Kafka consumer group的lag指標(biāo)。如果確認(rèn)是ES寫入瓶頸除了前面提到的bulk調(diào)優(yōu)外還可以給ES增加數(shù)據(jù)節(jié)點(diǎn)或者檢查ES索引的分片數(shù)量是否過多——分片過多會(huì)導(dǎo)致每寫一條數(shù)據(jù)都要和所有分片協(xié)調(diào)性能反而不升反降。4.2 Flink的JDBC連接器異常幾乎都是連接池配置問題Flink寫MySQL或別的數(shù)據(jù)庫報(bào)連接器異常我排查過的case里八九成是連接池相關(guān)配置不當(dāng)。典型報(bào)錯(cuò)是Could not initialize class org.apache.flink.connector.jdbc.table.JdbcDialect或者Caused by: java.sql.SQLException: Cannot create PoolableConnectionFactory排查思路按順序走第一檢查驅(qū)動(dòng)版本和Flink版本是否匹配。Flink 1.15以上用JDBC Connector 2.x底層數(shù)據(jù)庫驅(qū)動(dòng)如果太舊會(huì)出現(xiàn)不兼容的異常。這類問題去搜“flink jdbc connector異?!蹦苷业讲簧侔咐夥ù蠖嗍巧?jí)驅(qū)動(dòng)版本。第二檢查數(shù)據(jù)庫連接數(shù)限制。日志分析場(chǎng)景給Flink配置連接池大小不是越大越好而是取決于下游數(shù)據(jù)庫的max_connections。比如MySQL默認(rèn)max_connections151你給Flink配50個(gè)連接還要考慮別的服務(wù)很可能直接把數(shù)據(jù)庫打爆。穩(wěn)妥做法Flink的JDBC連接池大小不要超過數(shù)據(jù)庫最大連接數(shù)的20%。第三檢查checkpoint恢復(fù)后的連接狀態(tài)。Flink任務(wù)重啟恢復(fù)時(shí)舊連接可能已經(jīng)失效需要設(shè)置JdbcExecutionOptions的自動(dòng)重連參數(shù)。我在Flink里一般這樣配JdbcExecutionOptions.builder() .withBatchSize(5000) .withBatchIntervalMs(2000) .withMaxRetries(3) .build();4.3 ES寫入報(bào)錯(cuò)與Kafka的InvalidReceiveException日志鏈路的另一個(gè)高頻故障是啟動(dòng)時(shí)ES集群還沒就緒Flink的Sink已經(jīng)開始寫入報(bào)各種節(jié)點(diǎn)不可用、shard lock異常。規(guī)避方法是在鏈路啟動(dòng)前做一次健康檢查——確認(rèn)ES的/_cluster/health返回的statusgreen或者至少yellow再啟動(dòng)Flink作業(yè)。生產(chǎn)環(huán)境建議把健康檢查腳本寫成shell腳本在CI/CD流水線里檢查。還有一個(gè)必須認(rèn)識(shí)清楚的經(jīng)典Kafka報(bào)錯(cuò)org.apache.kafka.common.network.InvalidReceiveException: Invalid receive (size 647204481 larger than 100000000)我第一看到這個(gè)報(bào)錯(cuò)時(shí)也懵了后來排查清楚才知道兩個(gè)原因最常見一是客戶端配置的receive.buffer.bytes和broker端不匹配。某次我排查的時(shí)候發(fā)現(xiàn)Flink客戶端的receive.buffer.bytes被設(shè)成了100MB而broker端的socket.request.max.bytes默認(rèn)只有100MB。當(dāng)單條消息大小接近這個(gè)值時(shí)會(huì)觸法這個(gè)異常。解決方案是把message.max.bytes和socket.request.max.bytes在broker端和客戶端都調(diào)大并保持匹配。二是客戶端反序列化框架的版本不一致。Kafka客戶端把字節(jié)流反序列化時(shí)會(huì)校驗(yàn)FrameSize版本不一致或被污染的數(shù)據(jù)流就會(huì)出現(xiàn)這個(gè)異常。排查這種報(bào)錯(cuò)的標(biāo)準(zhǔn)姿勢(shì)是先看客戶端配置再看broker端配置逐個(gè)對(duì)齊同時(shí)檢查兩端Kafka版本是否一致。4.4 Kafka消費(fèi)端多線程如何保證消息順序性日志分析場(chǎng)景對(duì)全局順序的要求通常不高但如果你要處理某個(gè)用戶的完整操作鏈路同一用戶的操作日志必須保證順序。Kafka保證順序性的前提是同一分區(qū)內(nèi)的消息按offset遞增順序消費(fèi)而相同key的消息會(huì)被路由到同一個(gè)分區(qū)。Flink消費(fèi)Kafka時(shí)默認(rèn)以partition為單位做并行消費(fèi)Flink內(nèi)部每個(gè)partition對(duì)應(yīng)一個(gè)subtask天然保證同一個(gè)分區(qū)內(nèi)的消息按順序處理。問題出在多線程處理下游的環(huán)節(jié)如果Flink算子內(nèi)部用了線程池并發(fā)處理消息順序就亂了。我踩過這個(gè)坑后總結(jié)了三個(gè)保序方案按推薦程度排序方案一提高Flink并行度但保證相同key的數(shù)據(jù)進(jìn)同一個(gè)分區(qū)。Flink上游Kafka Source并行度等于Kafka分區(qū)數(shù)保證相同key的消息進(jìn)入同一個(gè)子任務(wù)即可保序。這個(gè)方案最干凈前提是你的并行度要求和分區(qū)數(shù)匹配。方案二關(guān)鍵算子內(nèi)部用單線程。如果你不得不在算子內(nèi)部并發(fā)處理比如外部IO較慢那就要隱藏分區(qū)key讓該key的所有數(shù)據(jù)都被路由到同一個(gè)線程。做法是自定義一個(gè)KeyedProcessFunction內(nèi)部用單線程處理每個(gè)key的數(shù)據(jù)。方案三放棄全局嚴(yán)格順序用事件時(shí)間水位線兜底。日志場(chǎng)景里95%的“順序性問題”其實(shí)可以用窗口和事件時(shí)間優(yōu)雅解決。Flink的Watermark機(jī)制允許一定程度的亂序只要延遲在容忍范圍內(nèi)計(jì)算結(jié)果就是正確的。最后提醒一個(gè)特別容易犯的錯(cuò)誤如果你為了保序而把所有數(shù)據(jù)都發(fā)送到同一個(gè)分區(qū)那你等于放棄了Kafka的并行能力整個(gè)鏈路的吞吐會(huì)驟降。生產(chǎn)環(huán)境優(yōu)先選方案一把保序收斂到key級(jí)別而不是全局。5. 這套方案的后續(xù)擴(kuò)展方向剛才提到的這些都還只是實(shí)時(shí)日志分析的基線能力。鏈路搭好之后往上擴(kuò)展的空間非常大——比如把Flink的Cep模式匹配能力接進(jìn)來做異常行為實(shí)時(shí)告警又比如把日志指標(biāo)輸出到Prometheus用Grafana做基礎(chǔ)監(jiān)控還比如在Flink里接入OpenMetadata自動(dòng)采集Flink作業(yè)的血緣關(guān)系讓數(shù)據(jù)資產(chǎn)的元數(shù)據(jù)跟上實(shí)時(shí)的節(jié)奏。我個(gè)人的體會(huì)是日志分析平臺(tái)永遠(yuǎn)不是靜態(tài)工程它更像一個(gè)不斷生長的基座不停接入新的數(shù)據(jù)源、新的分析維度、新的下游系統(tǒng)。架構(gòu)選型時(shí)如果沒留出擴(kuò)展的余地后面每一次新需求都要傷筋動(dòng)骨。而這套ELKFlinkKafka的組合擴(kuò)展性恰恰是我在工程實(shí)踐中體會(huì)最深的一點(diǎn)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
殴美牲| 国产极品粉嫩馒头一线天av| 九久9热| 99爱爱| 天天肏视频| 老熟女乱伦一区| 91视频国品一二三区| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 91精品啪在线观看国产城中村| 艳尻美人妻| 99国产在线 精品 视频| 午夜在线播放| 中文字幕亚洲欧美在线不卡| 九九碰九九爱97超碰| 99999亚洲| 偷拍欧美综合| 欧美黄色片AAAAA| 亚洲欧美清纯| 立川理惠被中出无码| 很黄很污的免费网站| 国产精品视频自拍在线| 欧美在线干| 国产精品久久伊人| 亚洲精品毛片在线观看| 久伊人网78| 超碰天天操| a在线观看| www.伪伪| 日本性爱欧美性爱| 欧美美女视频| 天天综合亚洲综合| 色色青青久久| 欲香欲色综合天天伊人| 我中文字幕6区| 99操碰| 日本熟妇人妻中出视频| 亚洲五码一区二区三区| 亚洲无码视频免费在线观看网址!| 久草毛片电影怡| 久久综合乱子伦国产免费| 一起草精品人妻| 熟妇熟女亚洲天堂网| 福利伊人玖玖国产| 亚洲另类欧美精品| 欧美日韩中文字幕人妻| 精品性爱| 日韩激情毛片一级久久久| 91亚洲色图| 被男人吃奶很爽的毛片| 日韩一级成人毛片免费观看 | 东京热男人的天堂网| 久久久五月天| 五月婷色| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | av橘色网站| 青青草大香蕉在线视频| 97色色色综合网站| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 亚洲自拍欧美色综合| 日韩三四五区| 老女人老91妇女老热女| 91亚洲狠狠色| 啊啊啊久久久视频| 九九九九九九九九九九精品视频| 91精品国产长腿丝袜美女| 亚洲偷91色| 亚洲色图加勒比| 久久亚洲色图中文字幕| 午夜性生活av免费在线看| 欧美色www亚洲国产阿娇要播| 天天躁日日躁狠狠狠躁| 插插综合网天天影视网| 日韩三级伊人| 亚洲伊人成综合成人网| 久久婷婷电影网| 青草草免费网站av| 日韩 人妻 精品| 欧美 熟女 日韩| 日本国产二线女色| 国产精品日日摸夜夜添骚逼| 国产成人bd在线观看| 色嘟嘟人妻天堂网| 热热色综合网| 啪啪啪综合| 超碰导航97| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 国产强奸超碰AV| 欧美亚州手机在线| 日日夜夜青青草母狗| 日少妇亚洲版| 亚州男人天堂| 日韩乱伦影音先锋| 伊人色综合超碰| 怡红院网站在线视频| 国产强奸乱伦第1页| 中文字幕亚洲永久精品| 色情综合| 尤物视频偷拍免费| 午夜福利1区2区3区| a网站免费观看| 丁香五月天激情综合| 欧美性爱一内片一区二区三区| 九九九九九九亚洲| 中文欧丝袜诱惑| 天天综合中文字幕 91| 天天日B夜夜干B时时操B| 婷婷成人久久久精品| 亚洲s在线观看| 综合一区二区影视| 一类av片在线看| 日本不卡高清免v欧美日韩在线观看| 性爱AV天堂| 天堂av最新电影网| 国产精品探花视频| 97亚洲欧美日韩| 91精片| 日韩精品一区二区三区色欲| 国产妇女精品视频青青草| 神马麻豆福利院| 色情成人五月天| 日本好吊色视频| 91亚洲综合在线| 欧美日韩操逼嗦吊| 亚洲国产综合久久天堂| 亚洲人妻在线精品| 综合网~91综合网| 中文字幕在线免费观看2| 99热免费| 91伊人久久在线| 99re9这里只有精品| 在线中文字幕视频| 成人贴图日韩欧美| 超碰成人人人爽人人爽| 久久久久久久久久久久久9999| 久久国产乱子伦精品免费女,网站| 绯色一区二区三区不卡少妇| 九九热免费国产视频婷婷伊人| 99热欧美| 小骚逼被操的爽不爽| 高清国产无码av| 欧美亚洲20p| 手机午夜电影神马久久| 超碰在线97国产| se01国产在线视频| 9I1性色影院| 四虎影库国产精品免费| 免费国产视频| 亚洲人妻AV| 精品人妻15区| 欧美激情欧美精品| 波多野结衣先锋影音| 久久精品人妻一区二区| 综合色啪| 又粗又长又大国产不卡| 金典av| www…国产操逼| 激情小说激情视频| 射欧美综合| 熟女色综合久久| 欧美在线啊啊啊| 5278欧美一区二区三区| 黄久在线| 情色AV电影| 婷婷丁香激情| 日少妇亚洲版| 国产亚洲禁久一区二区| 亚洲欧美色图小说| 一区二区不卡视| 刺激精品视频| 久热九九| 不卡中文字幕aⅴ在线| www.AV有限公司一区| 日韩一级二级三级免费看完整版| 伊人国产视频| 国产 日韩 欧美 人妻 熟女 中文| 69一区二区| 牛牛久久国产精品视频一二三| 天天色,天天干,天天干| 91无遮挡| 超碰在线成人电影| 热久久99999| 亚洲AV永久无码一区仙野| 综合伊人激情| 日韩超碰97| 四虎免费视频| 好好的日:com久久九九| 91亚州日韩高清| 日韩乱中文| 久久是精品| 狠狠躁AV| 又黑又大又粗| 九九九九久久久| 亚洲最大成人a毛毛片| 免费观看的av| 国产极品一区二区三区三州| 女同女同恋久久级三级| 亚洲高清无毛一区二区| AA级电影三区| 欧美Ⅴ性爱| 超碰导航97| 中文字幕精品乱码| 亚洲91网。| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 天天操人人操狠狠插| 国产三级片在线观看| 激情文学亚洲| 青青草一区二区三区四| 嫩草影院永久在线制服丝袜| 久久久网一区| 日韩中文字幕2020| 色哟哟1区2区| 91精品少妇搡搡搡| 91美女国产在线| 成人AV在线电影| 99久久精品无码一区二区| 日韩激情无码影院| 久久久久久一日韩字幕无码| 91亚洲情色| 欧美 亚洲 在线| 热热色色综合| 综合性视频99| 国产搭汕a级片| 91精品国产一区三一| 亚洲在线观看| 91综合无码| 人妻少妇精品久久久久久| 97资源站国产精品| 欧美成人性爱视频在线播放| 被男人吃奶很爽的毛片| 日本三级一区二区 在线| 亚洲少妇综合在线播放| 天天日天天插| 日日夜夜青青草母狗| 国产精品密臀网在线观看| 大香蕉啪啪啪啪在线| 美日韩在线不卡人妻| 夜夜 中文视频rt| 国产青青综合伊人| 91美女视频| 精品国产一区二区三区在线播出| 乱色视频中文字幕| 97久久久久久久精| 欧洲精品欧洲精品| 91综合在线| 五月激情在线| 麻豆精品天美| 欧美热图99| 亚洲AV成人精品网站在AV| 中文字幕日韩专区精品系列| 久久久夜夜嗨免费视频| 欧美成人精品一区二区三区| 久久九九精品一区二区| 久久久久久97| 在线精品福利免费播放| 夜夜狼人妻| 激情文学小说一区二区| 亚洲?V高清一区二区三区尤物| 操www| 爱我干综合| 超碰在线974| 久久亚洲日韩熟女精品| www久久国产精品| 日本性爱少妇| 亚洲色悠悠久久88| 日韩欧美性吧婷婷乱伦大香蕉| 91精品国产日韩欧美综合| 911av网站免费观看| 强奸a片网| 国产老熟女| 亚洲日本天堂| 性在久久久久久| 天天添天天干电影| 欧洲自拍第一页| 日韩精品资源专区二区| 成人丁香五月| 午夜视频久久久| 色综合久久av| 欧美性爱一区| 日韩97| 日韩不卡av一二三| 性生活无遮挡纯毛片在线看| 国产综合在线视频网站| 美女的肌被草喷水视频| 国产97在线视频| 涩五月婷婷| 啊啊啊啊好疼视频| 日日摸夜夜夜夜爽| 熟女露脸激情自拍视频| 日韩无码a片| 少妇诱惑视频| 亚洲自拍偷拍视频在线| 情色日播放AV| 97久久超碰| 日日夜夜干| 久久国产精品一区二区| 婷婷丁香五月综合| 日韩91网| 无码又爽又硬又激情免费视频| 亚洲色图 91| 乱伦图av| 91色s| 亚洲日韩美女中文字幕乱| 精品视频专区| 日韩熟女操逼| 美美91成人国产精品欧美精品久久久久久久| 99无码| 日韩三四五区| 在线观看一级α片刺激高潮视频| AV老汉| 国产狂喷潮在线精品| 男人的天堂2018.| 日本影视久久免费| 欧美熟女妇同| 亚洲97久久精品亚洲| 亚洲精品一区二区免费在线观看| 亚洲精品无码久久AV| 九九九热精品| 精品一二三区久久AAA片| 四虎免费视频| 亚洲中文字幕噜噜噜久久久| 亚洲无码com| 98精品国产乱码久久久久久| 人人妻人人爽 97人人看碰人免费公开视频| 激情四射五月天| 欧美96在线|欧| 天天日夜夜| 在线亚洲 欧美 日本专区 | 97在线观看免费视频| 九九天堂| 熟女乱伦A| 福利五区| http://qxhbdz.com| 骚逼高潮久久精品| 久草精品国产99| 九九九精品一区二区无码| 郑州宾馆老熟女露脸啪啪| 熟妇一区,二区,三区。| 国产精品视频电影| 无码乱人伦中文视频| 澳门色噜噜色噜噜色噜噜色噜噜色噜噜| 欧美日韩m| 日本性爱欧美性爱| 97国产|免费| 中文字幕版| A片 AV一级在线播放观看免费| 91成人无码| 久久免费精品96| 99精品在线| 宅男影院久久久,99| 九九九只有精品| 97超碰逼| 欧美精品四区| 户外裸露刺激视频第一区| 精品对白久久不卡| 国产精品白丝AV| 国产这里只有精品| 嗯嗯啊啊啊好爽| 欧美亚洲自拍另类人妻| 欧美性天天影院| julia高潮后不停追击中出| 青青免费在线视频一区 | 国产无码成人无码| 欧美在线|亚洲| 中文字幕丝袜人妻| 日韩在线视频1234| 天天射影院| 看日韩操逼| 国产精品原创巨作?v网站| 91亚洲影视| 日韩丨制服丨中文|在线| ,国产乱人伦精品一区二区三区| 亚洲乱码尤物193YW| 乱伦一二三| 天啪| 欧美日韩狠狠爱| 久久人妇| 热热色国产一二区AV| 男人久久精品| 亚洲自拍另类丝袜综合| 色老汉玖玖爱| 蜜臀久久99精品久久综合| 精品国产精品一区二区| 久精品无码av一区二免费国产在线观看| 成人av性爱电影在线观看| 97国产精品一区| 亚洲欧美变态| 色噜噜日韩精品| 91亚洲最新在线| 中文字幕第95页| 加勒比五月天| 福利五区| 亚洲熟女人妻中文字幕一区二区| 久久男人| 亚洲天堂2020| 日韩一级久久毛片| 国产精品亚洲天堂网址| 97精品熟女少妇一区| 波多野42部无码喷潮在线观看| A一区片| AV一区观看| 91社区拍啪人妻| 国产午夜无码片在线观看影视| 日本天天操| 一本一道vs波多野结衣| av九九| 久久久人妻| 欧美亚洲丝袜美女电影| 欧亚成人在线视频| 色婷婷一区二区三区久久午夜成人不| 欧美综合天堂| 亚洲国产成人7777| 日本色色的视频| 亚洲第一综合| 人人搡人人肉久久精品| 97jingpin| 91狠狠综| 天天色,天天干,天天干| 91综合在线| 欧美天天弄| 国产精品熟女一区二区三区| 美女操逼A A| 亚洲黄色网址视频| 亚洲日韩一区电影| 亚洲淫色网中文| 成人无码欧美一级A片狼牙直播| 青青草中文字幕| 午夜激情成人在线观看| 色色色综合网| 欧亚日韩三区| yiqicaoav| 国产福利在线视频网站| 青青草视频这里只有精品| 桃色六月天| 夜夜嗨一区二区三区三州加勒比| 1240青青草一区二区三区视频天爱| 国产一区二区成人av在线播放| 日本国产高清色www视频在线| 欧美毛片在线网| 中文字幕久久精视频久久大全| 国产黑白丝在线| 超碰精品日韩欧美国产| 久久久久久久人妻| 青青草中日韩在线| 亚洲无码国产探花在线观看| 五月天色五月| 欧美九一精品久久久熟妇| 神马久久久久| 97干在线| 97在线播放| 人人艹亚洲| 蜜臀久久99精品久久久老,,| 校园春色家庭伦理欧美激情| 人人操人人摸人人看人人插| 欧美亚男人的天堂| 精品少妇99| 亚洲美女自拍偷拍视频| 久热久| 香蕉欧美| 午夜天天碰综合视频| 青草伊人网| 操逼视频免费日韩无码| 尤物网站91| 日本色婷婷| 97在线公开视频| 成年人性爱日韩| 99只有精品| 欧美一级美片在线观看免费| 不卡码视频| 久久久久亚洲| 夜夜操天| 明星性猛交ⅹxxx乱大交| 精品久久視頻在线| 人人操人人色网| 日本高清电影欧美色图| 麻豆精品一区二区三区四区免费观看| 亚洲精品男人的天堂| 东京男人天堂| 东京日日夜夜| 香蕉人欧美综合| 混色激情av| yw尤物av无码点击进入麻豆| 少妇一区二区三区在线观看| 国产拍偷精品网站| 妇女视频网站| 午夜120视频在线观看| 热热色色综合| 成人av动漫在线观看| 综合亚洲网| 国产精品大香蕉| 欧美另类丝袜熟女| 欧美精品成人亚洲| 曰韩操B| 97精品97久久| 色五月综合网| a片自拍直播视频| 乱久久久| 亚洲熟妇自偷自拍另欧美| 人人操欧美风骚| 中文字幕少妇色| 先锋色眉乱伦资源| 亚洲第一页色网| 内射日韩大臀美女| 国产精品一级片在线看| 青娱乐黄色录像| 大香蕉在线视频15| 亚洲国产麻豆一区二区三区| 青青青在线高清视频在线一二三四区| 男人的天堂在线2| 日韩 欧美 另类 人妻| 国内一级精品| 99蜜桃臀久久久欧美精品网站| 中文激情网| 国产美女在线精品免费看| 日本孕妇孕交| 青娱乐 成人娱乐在线| 99国产在线 精品 视频| 色香天天| 91N综合网在线| 亚洲国产精品久久久久婷婷青年| 色色色欧美| 91狠狠综| 国产精品伦理| 国产熟女精品区| 五月丁香色综合| 国产精品熟女九色九色蜜臀| 97天天| 日本性一区| 色999偷自拍拍| 99色天堂| 亚洲最新中文字幕免费| 国产亚洲99久久精品熟| 亚洲欧美97| 亭亭在线资源| 自拍视频大全亚洲专媒视频/一区二区三区| 国产亚洲禁久一区二区| 国内偷自视频区视频综合| 亚洲色图欧洲| 怡红院久久老司机| 色一区二区三区综合| 激情综合av| 婷婷国产精品九区| 淫淫总合网| 一区二区娱乐网站| 久草视频在线视频在线视频在线观看| 乱伦熟女专区| 国产黄色剧情影片麻豆免费播放| 国产人妻久久精品一区二区三区| 秋霞福利网| 欧美日韩青操| 情侣操 逼视频99| 久久大香蕉手机高清| 六月激情网| 91色久| 亚洲码专区| 亚州AV无码国产精品| 久久国产热视频97电影| 中国一级特黄大片护士 | 久九干| 久久久久精| 99色色网| 99亚亚热| 亚洲aw毛茸茸在线 | 欧美精品宗合| 69XX一中文字幕人妻91| 久久久精品91八戒| 亚洲91在线播放影院| 成人一道本免费视频| 午夜福利1区2区3区| 国产精品不卡av免费在线观看| 免费精品无码一级毛片牛牛影视 | 人人操人人操草草| 欧美黄片视频在线观看免费 | 久久超碰、| 91网站18在线| 精彩久久中文| 中国91AV| 欧美激情久操网| 内射老妇BBWX0C0CK| 18禁美女裸体无遮挡啪啪| 亚洲av综合色区无码一| 大屁股xxxxx| 欧美超碰9798| 天天摸夜夜操视频| 91蜜桃传媒精品久久久一区二区| 蜜臀久久99精品久久久久久| 成人一二| 美国日韩黄色片| 丁香五月色情| 少妇天堂网络| 骚鸭AV| 日韩97| 激情无码日韩| 婷婷五月天补不补| 亚州男人的天堂| 香蕉精品二区二区 | 在线天堂999| 色爽——AV| 国产日韩久久| 亚洲成人久久一区二区| 精品视频久久久久九九九九9999 | 91精品久久久| 色婷婷久久| 99色婷婷中文字幕乱色| 亚洲男人在线观看天堂| 午夜无遮挡男女啪啪视频| 亚洲精品美女久久久久久久久| 熟女丰满人妻一区| 国产精品一级二级在线| 中文字幕97| 久久久免费一级黄片| 人妻精品4K4K4K4K4| 99re综合伊人| 午夜福利一区二区影院| 超碰在线91| 欧美激情久| 超碰97人妻| 乱色视频中文字幕| 欧美亚洲高清不卡| 一级性爱视频免费观看 | 怡春院久久| 中文字幕亚洲热播人妻| 黑丝91视频| 国产丝袜啪啪| 亚洲四虎熟女精品| 91超碰碰在线| 少妇一区二区三区精选| 日韩人体偷拍| 欧成人精品一区二区三区| 性开放中文AV高清无码免费看| 一区中文字幕二区日韩| 日韩兔费看黄片| 国产成人网址| 亚洲欧洲综合| 国产成人久久久精品免费AV| 99精品人人爽| 乱论91| 亚洲情色在线| 日韩高清黄片| WWW.加勒比人妻一区不卡.com| 精品九九九| 国模限制级电影| 澳门色噜噜色噜噜色噜噜色噜噜色噜噜| 操逼逼中文字幕| 亚洲黄a三级三级三级看三级| 欧亚无码视频| 青青操在线亚洲视频观看欧美在线| 一起草视频在线| 日韩久久三区| 欧美97爱| 国产视频一区二区三区久久亚洲天堂 | 熟女激情综合网| 国产白领连续中出在线观看| 欧美综合自拍| 国产精品久久久蜜臀| 日本黄色精品专区网站| 国产人伦精品一区二区三区| 亚洲黄色视频在线观看视频| 久久AV无码1区2区3区| 98人妻精品一区二区色欲| 嗯阿好爽好紧| 日韩中文字幕精品一区在线| 无码久| 国产精品一区二区 尿失禁| 色悠久久久av| 免费一级视频特黄色大片| 清纯唯美第一页| 天天欧美欧美亚洲网| 激情综合网激情综合| 蜜臀AV成人精品蜜臀AV久久| 十八禁av无码免费网站APP| 亚洲欧洲第二视频在线观看色图| 国产操操日韩三级黄| av草草在线电影| 色优久久| 激情小说图片亚洲首页| 99国内熟女露脸视频| 久久久九九网站| 91肉丝| 性色av一区二区| 色噜噜人妻丝袜a∨先锋影| 0755午夜福利视频| 国产a级精品| 青青久久手机线视频| 亚洲 日本 不卡| 亚洲综合码| 国产一区二区av综合| 97免费视频在线| 久久亚洲天天做| 国产一区二区在线电影| 亚洲久久久久| 国产99999久久精品| 99∨VTV| 亚洲欧洲综合成人av一区| 男人天堂最新手机版在线青青草| 淫色网综合| 亚洲一本大道中文字幕无码在线| 久久久亚洲| 日韩97视频| 蜜臀AV一区二区三区激情综合| 东京热男人的天堂精品| 国产三级片在线观看| 中出后入| 97人人中文网| 超碰久热| 婷婷视频在线免费观看| а√天堂资源官网在线资源| 91痴汉| 国产白领连续中出在线播放| 97超碰69| 久久九九综合| 日韩一级成人毛片免费观看 | 人妻碰碰碰碰碰碰| 日韩人妻无码专区| 日韩人妻制服丝袜av| 欧美激情一区| 就去色综合| 尤物视频偷拍免费| 国产噜噜噜噜噜久久久久久久久| 丰满欧美少妇| 国产成人网| 日韩中文字幕视频在线观看| 中文字幕日韩电影人妻| 欧美资源| 色噜噜国产精品视频一区二区| 色悠久久久av| 一区二区三区色综合| 久久综合日韩亚洲欧美| 1区2区3区在线视频| 成人日韩欧美| 色婷婷网| 成年女人18级毛片毛片免费观看| 激情综合网五月婷婷五月天| 久久首页| 日日日日做夜夜夜夜无码| 青娱乐二区免费| 在线日韩日本亚洲国产| 好吊色综合| 欧美少妇色图| 欧美综合网| 日本不卡五区| 久久超碰网| 精品人妻一区二区三区四区不卡在| 视频在线97| 精品女同一区二区三区| 国产AV天美传媒一区二区三区 | 无码动漫av中文字幕| 国产色图乱伦| 欧美真人抽搐一进一出gif| 富女玩鸭子一级毛片| 国产在线综合福利网站| 三男一女不戴套的A片| 国模无码人体一区二区三| 亚洲精品一区二区精品| 中文字幕奈奈美被公侵犯| 久操网视频| 国产视频一区二区免费| 99天堂网| 内射日韩大臀美女| 自拍欧美| 欧美丝袜美女电影一二三四区| 97免费视频在线观看视频| 久久久性少妇| 蜜桃久久一区二区| 久久无码一区二区二三区性色| 日本三级A片网站com| 欧美日韩操逼动图| www五月| 亚洲最大的黄色电影网站。 | 狠狠色噜噜狠狠狠狠2018| 精品国产一区二区三区香蕉欧美| 九月丁香综合网| 丁香五月天视频| 日本一区二区三区欧美日韩中文字幕| 久久久国产精品人妻丝袜| 欧美亚洲厕所精品偷拍91| 曰本道人妻久久久在线不卡色视频| 国产9l 大屁股| 尤物av网站免费在线播放| 欧美一区二区日韩三区| 国产精品国产拍高清AV| 99热这里只有精| 欧美亚州色的图| 综合色91| 日韩精品在线观看观看| 狠狠狠狠狠干| 亚洲天堂人人妻| 91精品导航| 激情五月天插| 天天操天天插| 日本好吊色视频| 亚洲加勒比久久日本道| 岛国AB视频| 亚洲日韩肥臀视频在线观看| 狠狠干妹子| 欧美精品三级黄片| 亚洲制服欧美另类内射| 久久一二三四五六七八九区区区 | 啊啊啊操死我| 日本操BAV| 中文乱码99| 青青青在线高清视频在线一二三四区| 精品成人无码| 91色综| 久久久三区二区一区| 网站A V在线| 亚洲中文字幕噜噜噜久久久| 锕锕好爽 死我在线观看| 青娱乐国产剧情av一区| 大香网伊人久久综合| 精品人妻一区二区乱码一区二区| 久久超碰97| 欧美人人AAA| 久九9精品| 素人一区二区三区日韩| 青娱乐av在线| 久久久四区| 中文字幕 国产区| 欧美大片一区二区三区| 不卡中文字幕aⅴ在线| 亚洲春色激情小说| 欧美色乱| 国产女人高潮视频| 91综合网站| 青青草日韩无码| 国产999精品久久久| 熟女乱伦二区| 啊啊啊 在线| av凤凰久久久| 人人九九精| 男女激情黄色网址| 亚洲熟女乱综合一区二区三区| 国产一区二区三区高清视频| 无码免费一区二区三区啪啪| 久久久青青草| 91狠狠综合久久久久久| 亚洲在线A| 久久亚洲av成人无码国产| 人妻无码一区二区三区久久99| 欧美老妇曰批的视频| 天天天天天天天天综合| 思思久热在线精品66| 国产久久久9999| 放黄片放3级黄片没穿衣服| 97操97色| 精品久久久久久AV无码| 嗯嗯啊啊亚欧精品| 在线综合 亚洲 欧美中文字幕| 在线天堂999| 色婷婷六月丁香七月婷婷| 91l欧美在线| 青娱乐国产盛宴视频| 97超色| 97婷婷色| 黄骗免费网站| 青青草十区九区爱夜| 国产成年精品高清在线观看91| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 限制级中的三级片中的黑粗大屌屌日人妻熟女| 一级啊性爱在线视频| 久草色在线观看| 精品国产乱码久久久久久久久1| 久久男人天堂| 亚洲人妖网| 日韩欧美字幕亚洲一区二区| 亚洲丝袜在线观看| 香一区二区三区| 黄色片一区二区三区四区五区| 综合97亚洲| 亚洲国产激情国产av| 伊人骚琪琪亚洲天堂网站| 在线观看十八禁| 强上我不卡卡| 欧美性爱日韩性爱| 男人的天堂Va| 精彩国产视频播放1区2区| 欧美亚洲| 啊啊啊啊啊啊啊啊视频| 加勒比日本在线| 妺妺跟我一起洗澡没忍住| 91九九| 久草精品一区| 深夜操逼网| 伊人久久综合精品欧美| 怡春院久久| 欧美熟妇亚洲版| 婷婷色婷婷| 黄片com.| 操逼网站网站| 老熟女阿 国产91| 麻豆性爱视频在线播放| 色色色99| 一区二区三区探花在线观看| 超碰95| 九九五月天| 99久在线精品99re8a| 久久国产三区| 欧美精品日韩一区二区| 91成人高清在线观看| 亚洲欧洲综合| 精久久久| 97一本大道亚洲一区| 亚洲……91| 91超级碰碰碰| 岛园激情| 最好看的中文字幕在线2018| 亚洲麻豆av一区二区| 欧美综合中文| 91热色| 东京热激情视频一二三区| 超碰在线欧美性爱激情| 亚洲精品 欧美精品| 亚洲欧美日韩精品久| 欧美日韩传媒| 婷婷人妻激情| 亚洲色丰满少妇高潮| 久操视频免费在线观看| 成人片在线播放| 午夜理论片在线观看免费| 欧美日韩国产一区二区小黄片大全| 偷窥自拍亚洲| 死我十八禁| 中文字幕av丝袜| 国产乱弄免费在线视频。| 超碰调教97| 韩国久久97| 丁香六月婷| 五月色综合| 激情小说五月天| 亚洲天堂 视频你懂的| 无色无码| 国产精品免费视频人成| 人人摸人人添人人操| 国产女人和拘做爰视频 | 久操91视频| 人妻少妇精品久久久久久久| 久久婷婷成人综合色怡春院| 一区二区三区男人的天堂| 欧美天天在线| 激情文学小说一区二区| 伊人嫩草| 欧美春色| 91色拍| 97色97干| 欧美夜夜草视频| 五月天久久综合网| 少妇一级婬片免费放一级a性色.| 天天谢天天干| av午夜影院在线播放| 人妻精品一区二区在线| 国产精品久久久鸭无码的功能| 黄色性爱网网| 97久久视频| 艳美熟妇先锋一二三区| 欧洲射精91| 中文字幕精品久久久久人妻红杏ⅰ| 精品9区| 久久性爱视频99| 最近2018中文字幕在线高清第一页| 国产又黄又爽又刺激久久久久久| 亚洲免费成人在线高清无码视频| 福利视频一区二区微拍| 在线观看日韩av不卡| 99re在线观看| 久久久久久久久久久人妻| 亚洲色香| 亚洲精品蜜桃久久久| 中文字幕制服诱惑| 一区AV| 天天综合97| 久久精品中文| 97网站在线观看 | 性饥渴少妇av无码毛片| 影音先锋视频在线| 91肉片| 成人八戒网站| 亚洲色天堂日韩中| 丁香六月婷婷综合| 啊啊啊啊啊啊好湿好爽视频| 精品制服美女中文一区二区三区| 日韩无码服务区| a片自拍直播视频| 日本在线不卡v二区| 高清无码国产亚洲| 国产精品无码久久久久2025| 日本在线伊人啪啪| www.99色| 性色av婷婷久久一区二区点复制| 丁香五月天堂网| 天天做天天爱天天爽| 久久久久久久久久久久久久久性生活视频 | 天天日天天操天天射河南省| 无码人妻一区二区三区色欲aⅴ| 黄色人人| 亚洲人妻中文高清| 日韩人妻少妇 一区二区三区| 黑丝日韩av丝袜av| 男人的天堂Va| 男人的天堂va在线| 国产精品探花色| 极品色社| 亚洲天在线| 啪啪视频免费在线观看| 日韩丰满熟妇| 综合网~91综合网| 欧美92| 免费一级性爱久久| 亚洲av夫妻操穴网| 亚洲做性| 日韩黄色片子| 日韩美一区| 风间由美日韩欧美久久| 亚洲熟伦熟妇AV无码春色| 99久久久久| 中文在线视频| 亚洲国产精品久久AV| 狠狠穞A片一區二區三區| 91美女視頻| 无遮挡又黄又刺激的视频| 婷婷久久综合| av影院十区| 日本黄色大片一级视频免费麻豆| 人妻碰碰碰碰碰碰| 亚洲国产熟妇综合色专区| 深夜国产一区二区三区在线看| 最新亚洲风情电影| 囯产精品久久久久久久久久梁医生 | 美国日韩黄片| 99久久无色码| 992视频一区| 99热在线观看| 亚洲国产97在线精品一区| 蜜乳av一区二区| 久久日本熟妇熟色高清| a亚洲欧美色欲| 日韩三级一区 | 人妻丝袜肏逼| 亚洲一区二区三区在线激情| 偷拍欧美激情| 黄片视频观看| oumeisetu综合| 中国人高清www色视频免费| 校园春色制服丝袜中文字亚洲| 欧美日日人人天天| 蘋果手機免費看成人Av| 亚洲一区二区三区不卡国产欧美| 亚洲欧洲小说图片视频| 精品国产Av无码久久久伦古装| 中文高清一区二区的| 91黄射| 日本三级日本三级99| 欧美一区二区| 久久99黄色卞西瓜| 野狼福利社区| 中文字幕天天天天天| 久久性生大片免费观看性| 丰满人妻一区二区三区| 欧美超碰97| 久操 高清| 亚洲国产97| 三级片大波波| 自拍视频一区在线观看| 色一区二区三区综合| 户外裸露刺激视频第一区| 欧美激情 一区| 爱射综合| 一个人免费视频观看在线WWW | 精品少妇人妻av久久免费| 一区| a在线视频免费观看| 另类图片综合| 宅男午夜在线视频| 国产区91柔拿会所技师| 久热精品在线| 强上我不卡卡| 亚洲h片在线免费观看| 亚洲猛交| 精品国产一区二区三区久久久蜜臀 | 久久婷婷影院| 国产欧美在线观看免费观看| 国产传媒操逼视频| 吖在线不卡一区二区国产剧情| 色婷婷婷五月天激情四射| 国产高清精品一区二区三区毛片 | 精品综合久久久久久97| 色情成人五月天| 亚洲密乳AV| 色偷偷人人玩人人舔人人操人人摸人人爽 | 激情综合二| 日本久久超碰| 午夜精品久久久99| 极品色www影院| 乱伦熟女专区| 夜色97| 91 国产丝袜在线放观看| 91成人精品在线播放| 91综合网| 96久久久精品| JULIA人妻风俗店中出电影| 久久AV无码网址| 中文人妻av高清一区| 另类TS人妖一区二区三区| 91国产美女丝袜足交精品视频 | AV色五月| 国产欧美伊人| 国产亚洲日本精品在线| 色哟哟 日韩精品| 91少妇高潮| 久久超碰亚洲人| www.五月天| 日韩一级成人毛片免费观看| 亚洲啪啪综合?v一区综合精品区| 香蕉av一区二区三区| sss视频华人在线| 色99色| 午夜超爽| 黑人免费福利视频| 精品一区二区三区蜜桃| 97超碰总站| 九九视品黄色| 五月婷婷丁香| 色综合九九| 日本色色的视频| 白丝被操91| 色墦五月丁香| 欧美一区二区观看在线| 国产色图乱伦| 自拍啪啪视频| 亚洲男人天堂视频| 91精品人妻啪啪间| 岛国小电影| 青青草原狼av| 天天操av懂色| 粉嫩国产精品久久粉嫩| 97任你吞精| 日人妻视频91| 亚洲AV无码黄色强奸| 日韩色欲久久一二三四区| 操东北女人| 人妻三级在线中文字幕| 好爽视频在线观看视频| 天天92av| 超碰97久| 91女色| 熟妇女伦乱视频| 国产传媒日韩欧美| 操久久久久| 综合欧美亚洲| 超碰午夜| 日产欧美电影一区二区三区| 少妇久久久久| 水多多映视AV| 久久 国产 无码| 国产乱色国产精品免费视| 成年人网站在线免费观看| jizz啪啪| 尤物黄色在线观看网站| 在线国产福利网址导航| 蜜乳av一区二区| 精品毛片久久久精品毛片| 国产成人久久久精品免费AV|