99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

基于Hadoop的游戲推薦商城系統(tǒng)與可視化大屏:離線數(shù)倉(cāng)全流程實(shí)戰(zhàn)

基于Hadoop的游戲推薦商城系統(tǒng)與可視化大屏:離線數(shù)倉(cāng)全流程實(shí)戰(zhàn) 在課程設(shè)計(jì)大廳里看到“大數(shù)據(jù)基于Hadoop的熱門(mén)游戲推薦商城系統(tǒng)的可視化大屏”這種題目時(shí)基本就能猜到它的定位一個(gè)需要走完“數(shù)據(jù)采集 → 數(shù)據(jù)存儲(chǔ) → 數(shù)據(jù)清洗 → 數(shù)據(jù)計(jì)算 → 數(shù)據(jù)應(yīng)用 → 數(shù)據(jù)可視化”全流程的經(jīng)典大數(shù)據(jù)綜合項(xiàng)目。很多同學(xué)卡住的原因并不是某個(gè)組件不會(huì)裝而是不知道把Hadoop、Hive、推薦邏輯和大屏這些散件串成一條能跑通的鏈路到底該怎么下手。這篇文章就把我當(dāng)時(shí)做這套系統(tǒng)的完整思路、技術(shù)選型、核心實(shí)現(xiàn)和踩坑記錄全部拆開(kāi)講給正在做同類(lèi)課程設(shè)計(jì)或者想拿Hadoop生態(tài)練手的朋友一份可以直接抄作業(yè)的參考。先說(shuō)這個(gè)項(xiàng)目到底解決什么問(wèn)題一個(gè)游戲商城需要把用戶的瀏覽、購(gòu)買(mǎi)、收藏行為沉淀下來(lái)通過(guò)Hadoop生態(tài)完成離線分析算出“哪些游戲最熱門(mén)”“不同品類(lèi)賣(mài)得怎么樣”“當(dāng)前全場(chǎng)交易趨勢(shì)如何”最后用可視化大屏把結(jié)果直觀地展示在運(yùn)營(yíng)人員面前。它本質(zhì)上是一套非常典型的離線數(shù)倉(cāng) 簡(jiǎn)易推薦 BI可視化的閉環(huán)方案技術(shù)棧覆蓋了HDFS、MapReduce、Hive、Flume/Sqoop、Zookeeper、Flask和ECharts做完一遍Hadoop生態(tài)的核心工作流程基本就都有體感了。1. 項(xiàng)目拆解這個(gè)“游戲推薦商城”到底要做什么1.1 從標(biāo)題里讀出課程設(shè)計(jì)的核心需求標(biāo)題里信息密度很高拆開(kāi)看就是三件事“基于Hadoop”說(shuō)明數(shù)據(jù)存儲(chǔ)和計(jì)算必須落在Hadoop生態(tài)上“熱門(mén)游戲推薦”說(shuō)明需要產(chǎn)出推薦結(jié)果而且是面向“熱門(mén)”這種榜單型推薦“可視化大屏”說(shuō)明最終要以數(shù)據(jù)大屏的形式呈現(xiàn)分析結(jié)果。把這三點(diǎn)串起來(lái)項(xiàng)目基本形態(tài)就出來(lái)了一套構(gòu)建在Hadoop之上的離線數(shù)據(jù)倉(cāng)庫(kù)從業(yè)務(wù)庫(kù)或者埋點(diǎn)日志抽取游戲商城的用戶行為數(shù)據(jù)經(jīng)過(guò)清洗和計(jì)算得到熱門(mén)游戲排行、用戶畫(huà)像標(biāo)簽、訂單分析等指標(biāo)再通過(guò)后端接口把結(jié)果投放到可視化大屏上。很多同學(xué)容易忽略的是“推薦”這兩個(gè)字的含義。真正的協(xié)同過(guò)濾推薦系統(tǒng)需要非常復(fù)雜的算法和實(shí)時(shí)計(jì)算支撐這對(duì)課程設(shè)計(jì)來(lái)說(shuō)既不現(xiàn)實(shí)也沒(méi)必要。這里的推薦應(yīng)該理解成“熱門(mén)榜 基于行為的個(gè)性化排序”熱門(mén)榜用聚合統(tǒng)計(jì)實(shí)現(xiàn)個(gè)性化排序用用戶行為標(biāo)簽去加權(quán)修正。這樣講解既符合大數(shù)據(jù)離線處理的定位又能在論文或答辯里把推薦鏈路說(shuō)清楚。1.2 推薦、商城、大屏三塊功能的邊界劃分商城數(shù)據(jù)模擬系統(tǒng)本身不需要真的做一個(gè)能在線購(gòu)買(mǎi)的游戲商城而是要有商城形態(tài)的業(yè)務(wù)數(shù)據(jù)。可以用腳本生成用戶表、游戲商品表、訂單表、點(diǎn)擊流日志模擬真實(shí)電商場(chǎng)景。Hadoop離線數(shù)倉(cāng)數(shù)據(jù)落地到HDFS通過(guò)Hive建庫(kù)建表用SQL完成ETL和指標(biāo)計(jì)算產(chǎn)出結(jié)果表。可視化大屏后端用Flask提供查詢接口前端用ECharts繪制圖表定時(shí)或?qū)崟r(shí)刷新數(shù)據(jù)形成運(yùn)營(yíng)監(jiān)控大屏。這個(gè)邊界非常重要。我見(jiàn)過(guò)太多人試圖把推薦商城做成一個(gè)SpringBoot MySQL的Web項(xiàng)目再掛個(gè)Hadoop目錄湊數(shù)那是跑偏了。大數(shù)據(jù)的重點(diǎn)在于數(shù)據(jù)量、存儲(chǔ)、計(jì)算和調(diào)度商城只是業(yè)務(wù)載體不是主菜。1.3 指標(biāo)體系設(shè)計(jì)大屏上到底該放哪些數(shù)據(jù)大屏不是隨便畫(huà)幾個(gè)圖表就叫大屏每個(gè)數(shù)字背后都要有明確的數(shù)倉(cāng)字段和計(jì)算口徑。我最終定下來(lái)的指標(biāo)體系大致如下后來(lái)做數(shù)據(jù)模型和可視化大屏?xí)r都是圍繞這張表展開(kāi)的總體概覽總用戶數(shù)、游戲總量、總訂單量、總銷(xiāo)售額、今日訂單數(shù)、今日銷(xiāo)售額。熱門(mén)榜單熱門(mén)游戲TOP10、熱門(mén)品類(lèi)TOP5、熱銷(xiāo)價(jià)格區(qū)間。趨勢(shì)分析近7日訂單量趨勢(shì)、近24小時(shí)各時(shí)段活躍趨勢(shì)。用戶畫(huà)像用戶性別分布、年齡段分布、新老用戶占比、付費(fèi)率。實(shí)時(shí)動(dòng)態(tài)最近訂單流水滾動(dòng)列表、最新注冊(cè)用戶滾動(dòng)列表、庫(kù)存預(yù)警TOP5。這些指標(biāo)從計(jì)算難度上看分為三層sum/count型總訂單量、總銷(xiāo)售額、group by排序型熱門(mén)榜、窗口計(jì)算型近7日趨勢(shì)。正好對(duì)應(yīng)Hive SQL的不同寫(xiě)法也能在答辯時(shí)展示你對(duì)離線計(jì)算的分析能力。2. 技術(shù)選型邏輯Hadoop體系為什么是課程設(shè)計(jì)首選2.1 數(shù)據(jù)層選型HDFS與Hive的分工既然題目限定“基于Hadoop”那么底層存儲(chǔ)必須用HDFS。HDFS在這套系統(tǒng)里的作用有兩個(gè)一是接收離線導(dǎo)入的業(yè)務(wù)數(shù)據(jù)二是充當(dāng)Hive的數(shù)據(jù)倉(cāng)庫(kù)目錄。Hive并不是數(shù)據(jù)庫(kù)它只是把SQL翻譯成MapReduce/Spark任務(wù)的“翻譯官”真正的文件還是躺在HDFS上。建表時(shí)務(wù)必要用外部表 分區(qū)表的組合。外部表的好處是刪除表不會(huì)把HDFS上的原始數(shù)據(jù)刪掉操作失誤也有后悔藥分區(qū)表的好處是數(shù)據(jù)按日期分目錄存放查詢時(shí)能通過(guò)分區(qū)裁剪減少掃描量比如統(tǒng)計(jì)近7日訂單時(shí)只需要讀取7個(gè)分區(qū)目錄而不是全表掃描。這一點(diǎn)在面試?yán)镆彩歉哳l考點(diǎn)分區(qū)表怎么設(shè)計(jì)、動(dòng)態(tài)分區(qū)怎么開(kāi)值得單獨(dú)吃透。2.2 計(jì)算層選型MapReduce與Spark的取舍傳統(tǒng)課程設(shè)計(jì)通常默認(rèn)用Hadoop原生的MapReduce去做計(jì)算但我當(dāng)時(shí)實(shí)際上用了Hive SQL。因?yàn)镠ive的底層執(zhí)行引擎本來(lái)就可以是MapReduce用SQL寫(xiě)業(yè)務(wù)邏輯不僅代碼量小、可讀性強(qiáng)答辯時(shí)還能講清楚“SQL是怎么被翻譯成MapReduce任務(wù)”的既體現(xiàn)了對(duì)Hadoop原理的理解又兼顧了項(xiàng)目產(chǎn)出效率。如果你有余力可以把Hive執(zhí)行引擎切到Tez或者Spark on Hive計(jì)算速度會(huì)明顯提升。這個(gè)升級(jí)操作在課程設(shè)計(jì)里屬于加分項(xiàng)也正好呼應(yīng)了大數(shù)據(jù)領(lǐng)域從MapReduce向Spark遷移的技術(shù)趨勢(shì)。在項(xiàng)目文檔里可以這樣寫(xiě)使用Hive作為數(shù)據(jù)倉(cāng)庫(kù)分析工具以MapReduce/Spark作為底層執(zhí)行引擎兼顧了易用性與性能。2.3 輔助組件Zookeeper、Flume、Sqoop的角色定位Zookeeper在高可用集群方案里Zookeeper負(fù)責(zé)NameNode的自動(dòng)故障轉(zhuǎn)移。如果你做的是單機(jī)偽分布式其實(shí)用不到ZK但題目熱詞里既然有“hadoop和zookeeper整合實(shí)戰(zhàn)”和“hadoop ha”強(qiáng)烈建議在集群方案中把它加上這是一個(gè)很能體現(xiàn)系統(tǒng)完備性的點(diǎn)。Flume如果數(shù)據(jù)源是實(shí)時(shí)產(chǎn)生的日志文件用Flume采集后寫(xiě)入HDFS非常方便。我做的時(shí)候用Flume模擬監(jiān)控日志目錄把游戲商城的點(diǎn)擊流日志實(shí)時(shí)追加到HDFS再定時(shí)跑Hive任務(wù)分析。Sqoop如果模擬商城的數(shù)據(jù)在MySQL里可以用Sqoop把MySQL業(yè)務(wù)表導(dǎo)入Hive數(shù)倉(cāng)。這就是經(jīng)典的離線數(shù)倉(cāng)數(shù)據(jù)同步方案。MySQL/RedisHadoop算完的結(jié)果要供大屏查詢不可能讓前端直接查Hive延遲太高所以結(jié)果表要回寫(xiě)到MySQL或者存到Redis里由Flask接口讀取。3. 數(shù)據(jù)鏈路與推薦核心的實(shí)現(xiàn)3.1 數(shù)據(jù)從哪來(lái)模擬埋點(diǎn)與離線數(shù)據(jù)生成沒(méi)有真實(shí)業(yè)務(wù)數(shù)據(jù)怎么辦寫(xiě)Python腳本造數(shù)據(jù)。我用的方案是同時(shí)生成兩種數(shù)據(jù)一種落在MySQL里模擬商城業(yè)務(wù)庫(kù)一種生成JSON格式的日志文件模擬埋點(diǎn)日志。業(yè)務(wù)庫(kù)包含用戶表、游戲表、訂單表字段覆蓋用戶ID、用戶名、性別、年齡、游戲ID、游戲名稱、所屬分類(lèi)、價(jià)格、下單時(shí)間、支付金額等。日志文件則記錄每條點(diǎn)擊流用戶ID、游戲ID、點(diǎn)擊時(shí)間、行為類(lèi)型瀏覽/收藏/加購(gòu)/購(gòu)買(mǎi)、停留時(shí)長(zhǎng)。埋點(diǎn)日志生成要注意一個(gè)細(xì)節(jié)Zipf分布。真實(shí)場(chǎng)景里熱門(mén)游戲會(huì)聚集大量流量冷門(mén)游戲只有零星訪問(wèn)用均勻分布生成的數(shù)據(jù)算出來(lái)的熱門(mén)榜毫無(wú)區(qū)分度。我當(dāng)時(shí)用Zipf分布控制游戲被點(diǎn)擊的概率讓TOP10游戲拿到約60%的流量這樣熱門(mén)榜的結(jié)果一眼看上去就很“真實(shí)”也方便后續(xù)推薦算法做物品熱度加權(quán)。所謂“數(shù)據(jù)量要夠大”在多節(jié)點(diǎn)集群上可以吹到幾百萬(wàn)條但在偽分布式環(huán)境下生成50萬(wàn)條訂單數(shù)據(jù)、200萬(wàn)條點(diǎn)擊日志就足夠了。重要的是數(shù)據(jù)格式規(guī)范日期用統(tǒng)一格式金額精確到分時(shí)間戳用10位或者13位統(tǒng)一否則后面清洗的時(shí)候會(huì)非常痛苦。3.2 數(shù)據(jù)清洗與入庫(kù)Hive SQL處理明細(xì)數(shù)據(jù)原始數(shù)據(jù)必然有臟數(shù)據(jù)空值、商品價(jià)格小于等于0、訂單時(shí)間在未來(lái)、重復(fù)點(diǎn)擊日志等。一定不要在Hive里直接跑業(yè)務(wù)統(tǒng)計(jì)先建好ODS層原始數(shù)據(jù)層再建DWD層清洗明細(xì)層最后建ADS層應(yīng)用匯總層。哪怕是一個(gè)20萬(wàn)條數(shù)據(jù)的小項(xiàng)目分層帶來(lái)的維護(hù)價(jià)值也非常明顯。核心清洗邏輯一般包括這些-- DWD層用戶表去重并過(guò)濾無(wú)效記錄 INSERT OVERWRITE TABLE dwd_user_info SELECT DISTINCT user_id, user_name, CASE WHEN gender IN (M, F) THEN gender ELSE U END AS gender, age FROM ods_user_info WHERE user_id IS NOT NULL AND age BETWEEN 5 AND 80; -- DWD層訂單表金額校驗(yàn) 日期規(guī)范化 INSERT OVERWRITE TABLE dwd_order_info SELECT order_id, user_id, game_id, pay_amount, FROM_UNIXTIME(CAST(order_time AS BIGINT), yyyy-MM-dd HH:mm:ss) AS order_time FROM ods_order_info WHERE pay_amount 0 AND game_id IS NOT NULL AND order_time 0; -- 動(dòng)態(tài)分區(qū)插入按天分區(qū)存儲(chǔ)訂單明細(xì) INSERT OVERWRITE TABLE dwd_order_info_partition PARTITION (dt) SELECT order_id, user_id, game_id, pay_amount, substr(order_time, 1, 10) AS dt FROM dwd_order_info;這套SQL寫(xiě)完后建議用hive -f或者Beeline執(zhí)行然后把執(zhí)行日志整理成截圖放進(jìn)項(xiàng)目文檔。一個(gè)MapReduce的日志能看出數(shù)據(jù)從分片讀取到Reduce歸并的完整過(guò)程答辯的時(shí)候截圖就是最能體現(xiàn)Hadoop原理掌握的素材。3.3 熱門(mén)游戲推薦的計(jì)算邏輯“熱門(mén)游戲推薦”到底怎么算我采用了一個(gè)多維度熱度加權(quán)公式熱度分 0.3 × 瀏覽量歸一化 0.3 × 購(gòu)買(mǎi)量歸一化 0.2 × 收藏量歸一化 0.2 × 近7日銷(xiāo)售額占比設(shè)計(jì)原因很清晰瀏覽量反映曝光廣度購(gòu)買(mǎi)量反映轉(zhuǎn)化能力收藏量反映潛在興趣銷(xiāo)售額反映商業(yè)價(jià)值。不同指標(biāo)量綱差異很大直接相加沒(méi)有意義需要先做Min-Max歸一化把每個(gè)指標(biāo)壓縮到[0, 100]區(qū)間。Hive SQL里可以用兩個(gè)子查詢先算出各游戲每個(gè)維度的原始值再通過(guò)多表JOIN把歸一化后的評(píng)分算出來(lái)INSERT OVERWRITE TABLE ads_hot_game_score SELECT t2.game_id, t2.game_name, t2.category, t2.view_score t2.buy_score t2.cart_score t2.sale_score AS hot_score FROM ( SELECT t.game_id, t.game_name, t.category, 100 * t.view_cnt / v.max_view AS view_score, 100 * t.buy_cnt / b.max_buy AS buy_score, 100 * t.cart_cnt / c.max_cart AS cart_score, 100 * t.sale_amt / s.max_sale AS sale_score FROM (...) t LEFT JOIN (SELECT MAX(view_cnt) AS max_view FROM ...) v ON 11 LEFT JOIN (SELECT MAX(buy_cnt) AS max_buy FROM ...) b ON 11 LEFT JOIN (SELECT MAX(cart_cnt) AS max_cart FROM ...) c ON 11 LEFT JOIN (SELECT MAX(sale_amt) AS max_sale FROM ...) s ON 11 ) t2 ORDER BY hot_score DESC;在真正用于推薦時(shí)為了照顧用戶的個(gè)人偏好我還會(huì)在熱度分基礎(chǔ)上加一個(gè)**“品類(lèi)偏好加權(quán)”**從用戶歷史行為里算出他最喜歡的游戲品類(lèi)做推薦時(shí)把該品類(lèi)的得分乘以1.2再參與排序。這個(gè)邏輯簡(jiǎn)單、解釋性強(qiáng)又能同時(shí)兼顧“熱門(mén)”和“推薦”兩個(gè)關(guān)鍵詞非常契合課程設(shè)計(jì)的需要。3.4 推薦結(jié)果回寫(xiě)與對(duì)外接口Hive計(jì)算出的結(jié)果在HDFS上前端大屏不能直接讀。我當(dāng)時(shí)的做法是把ADS層結(jié)果表通過(guò)Sqoop導(dǎo)出到MySQL再用Flask提供JSON接口。Sqoop命令如下sqoop export \ --connect jdbc:mysql://localhost:3306/game_shop?characterEncodingutf8 \ --username root --password 123456 \ --table ads_hot_game_score \ --export-dir /user/hive/warehouse/ads_hot_game_score \ --input-fields-terminated-by \001 \ --m 1注意--input-fields-terminated-by \001要跟Hive表的字段分隔符保持一致默認(rèn)是SOH控制符否則導(dǎo)出的字段會(huì)全部串到一個(gè)列里。這個(gè)細(xì)節(jié)非常經(jīng)典十個(gè)用Sqoop的同學(xué)里至少有四個(gè)在這翻車(chē)。此外我設(shè)計(jì)了一張ads_realtime_order_info表存最近訂單流水通過(guò)Flask輪詢或WebSocket推給大屏前端。對(duì)于課程設(shè)計(jì)而言Flask輪詢已經(jīng)夠用沒(méi)必要上Kafka Flink那一套實(shí)時(shí)架構(gòu)把離線數(shù)倉(cāng)做扎實(shí)才是重點(diǎn)。4. 可視化大屏從設(shè)計(jì)到落地4.1 大屏布局與視覺(jué)動(dòng)線大屏的視覺(jué)設(shè)計(jì)是有講究的不是把一堆圖表平均鋪開(kāi)。我當(dāng)時(shí)用的布局是“中間突出、兩側(cè)輔助、底部滾動(dòng)”的結(jié)構(gòu)頂部居中核心KPI數(shù)字滾動(dòng)區(qū)展示總訂單量、總銷(xiāo)售額、今日活躍用戶數(shù)。左側(cè)區(qū)域熱門(mén)游戲TOP10榜單橫向柱狀圖、支付方式占比環(huán)形圖。中間區(qū)域熱門(mén)游戲排行榜大圖配合全品類(lèi)銷(xiāo)量地圖或氣泡圖底部是最近訂單滾動(dòng)列表。右側(cè)區(qū)域用戶性別與年齡分布玫瑰圖/堆疊圖、近7日訂單趨勢(shì)折線圖、價(jià)格區(qū)間銷(xiāo)量分布瀑布圖。大屏的背景色建議用深色系比如#0a1628到#0d2137的漸變主色調(diào)用青色、金色或者藍(lán)紫色。深色背景能壓住熒光屏的刺眼感數(shù)據(jù)高亮也更加明顯。圖表組件之間保留適當(dāng)?shù)牧舭撞灰寯?shù)字“貼”在一起。ECharts的tooltip和dataZoom必須開(kāi)啟因?yàn)榇笃辽险故局笜?biāo)多交互查數(shù)是很常見(jiàn)的需求。4.2 后端數(shù)據(jù)接口設(shè)計(jì)要點(diǎn)FlaskFlask接口設(shè)計(jì)要注意四點(diǎn)接口語(yǔ)義清晰、返回結(jié)構(gòu)統(tǒng)一、支持跨域、查詢走索引。我當(dāng)時(shí)寫(xiě)的接口風(fēng)格如下# /api/overview { code: 0, msg: success, data: { total_users: 32876, total_orders: 186432, total_sales: 2897315.50, today_orders: 1877, today_sales: 45231.20 } } # /api/hot_games { code: 0, msg: success, data: { last_update: 2026-04-25 14:30:00, rank: [ {game_id: 1001, game_name: 星際遠(yuǎn)征, hot_score: 98.2}, ... ] } }Flask請(qǐng)求MySQL時(shí)用連接池SQLAlchemy或DBUtils.PooledDB避免每次請(qǐng)求都重新創(chuàng)建數(shù)據(jù)庫(kù)連接。接口層返回?cái)?shù)據(jù)后前端ECharts直接使用后端只做數(shù)據(jù)聚合和格式組織不要在前端做二次聚合。大屏一般還有“自動(dòng)刷新”需求Flask端提供一個(gè)last_update字段前端定時(shí)輪詢接口并根據(jù)該字段判斷是否有新數(shù)據(jù)。如果接口沒(méi)有變化可以不刷新圖表減少無(wú)效渲染。4.3 前端圖表實(shí)現(xiàn)ECharts動(dòng)態(tài)刷新與自適應(yīng)ECharts是大屏項(xiàng)目里最順手的選擇。初始化時(shí)設(shè)置grid、axis、series的樣式后通過(guò)setOption更新數(shù)據(jù)即可。關(guān)鍵技巧有三個(gè)第一用統(tǒng)一的數(shù)據(jù)刷新函數(shù)管理所有圖表function refreshCharts() { fetch(/api/overview).then(res res.json()).then(data { overviewChart.setOption({ series: [{ data: [data.data.total_sales] }] }); }); fetch(/api/hot_games).then(res res.json()).then(data { hotChart.setOption({ series: [{ data: data.data.rank.map(item item.hot_score) }] }); }); } setInterval(refreshCharts, 30000);第二窗口自適應(yīng)在window.onresize時(shí)執(zhí)行每個(gè)圖表的resize()。一套大屏可能要適配不同分辨率的投屏不處理自適應(yīng)的話在答辯現(xiàn)場(chǎng)很容易出現(xiàn)圖表溢出邊界的情況。第三加載動(dòng)畫(huà)與空數(shù)據(jù)兜底接口未返回或者返回空數(shù)組時(shí)圖表要展示“暫無(wú)數(shù)據(jù)”而不是白屏??梢杂肊Charts的graphic組件畫(huà)一條提示文字或者用loading遮罩配合輪詢等待。答辯時(shí)最怕的就是ECharts因?yàn)閿?shù)據(jù)異常出錯(cuò)提前做好兜底能省掉現(xiàn)場(chǎng)很多尷尬。5. Hadoop環(huán)境搭建與實(shí)戰(zhàn)操作5.1 偽分布式 vs 集群課程設(shè)計(jì)怎么選“hadoop偽分布式搭建”和“hadoop集群搭建”經(jīng)常同時(shí)出現(xiàn)在熱詞里很多同學(xué)會(huì)糾結(jié)到底用哪種環(huán)境。我的建議是**課程設(shè)計(jì)論文寫(xiě)集群方案實(shí)驗(yàn)環(huán)境以偽分布式為主如果有條件再用Docker起小型集群驗(yàn)證。**原因很簡(jiǎn)單集群方案需要至少3臺(tái)機(jī)器很多同學(xué)手頭只有一臺(tái)筆記本內(nèi)存8G跑三臺(tái)虛擬機(jī)非常吃力。偽分布式能完整跑通HDFS和MapReduce的所有流程從功能角度已經(jīng)滿足驗(yàn)收要求。偽分布式模式下NameNode和DataNode在同一臺(tái)機(jī)器上Hive的元數(shù)據(jù)一般用本地Derby單機(jī)夠用或者單獨(dú)裝MySQL推薦后者更貼近生產(chǎn)。要注意偽分布式模式下YARN的資源默認(rèn)配置很低跑較大的Hive任務(wù)時(shí)容易卡死需要調(diào)整yarn.nodemanager.resource.memory-mb和mapreduce.map.memory.mb等參數(shù)。整理答辯材料時(shí)建議同時(shí)附上“偽分布式拓?fù)鋱D”和“三節(jié)點(diǎn)集群拓?fù)鋱D”說(shuō)明兩種模式的差異和如何從偽分布式平滑遷移到集群既展示實(shí)踐能力又體現(xiàn)系統(tǒng)設(shè)計(jì)視野。5.2 從零搭建Hadoop偽分布式含參數(shù)我用的Hadoop 3.3.6版本Java 8。下載好安裝包后解壓并配置環(huán)境變量然后準(zhǔn)備修改core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml四個(gè)核心配置文件。以下是簡(jiǎn)化但可復(fù)現(xiàn)的模板!-- core-site.xml -- property namefs.defaultFS/name valuehdfs://localhost:9000/value /property property namehadoop.tmp.dir/name value/usr/local/hadoop/tmp/value /property !-- hdfs-site.xml -- property namedfs.replication/name value1/value /property property namedfs.namenode.name.dir/name value/usr/local/hadoop/tmp/name/value /property property namedfs.datanode.data.dir/name value/usr/local/hadoop/tmp/data/value /property關(guān)鍵步驟# 設(shè)置免密登錄偽分布式也需要否則操作時(shí)頻繁輸密碼 ssh-keygen -t rsa -P -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys # 格式化NameNode只在第一次搭建時(shí)做 hdfs namenode -format # 啟動(dòng) start-dfs.sh start-yarn.sh # 檢查進(jìn)程 jps# 把數(shù)據(jù)放到HDFS hdfs dfs -mkdir -p /user/hive/warehouse hdfs dfs -put /opt/data/ods_user_info /user/hive/warehouse/注意事項(xiàng)hdfs namenode -format這個(gè)命令是不可逆的第二次開(kāi)發(fā)時(shí)如果亂執(zhí)行會(huì)清掉原有元數(shù)據(jù)導(dǎo)致DataNode與NameNode的clusterID不一致啟動(dòng)就報(bào)錯(cuò)這是初學(xué)者最容易踩的坑。每次格式化之后如果DataNode起不來(lái)很大概率就是/tmp/hadoop目錄下的元數(shù)據(jù)不一致需要清空所有tmp目錄后重新格式化。論文里把這個(gè)坑寫(xiě)清楚答辯時(shí)就是很加分的實(shí)戰(zhàn)細(xì)節(jié)。5.3 Zookeeper Hadoop HA 整合要點(diǎn)如果你要展示的是HA高可用集群Zookeeper就是自動(dòng)故障轉(zhuǎn)移的核心。HA模式下需要兩個(gè)NameNode一個(gè)Active一個(gè)StandbyZK負(fù)責(zé)實(shí)時(shí)監(jiān)控并自動(dòng)切換同時(shí)用JournalNode同步元數(shù)據(jù)edits log。# 啟動(dòng)順序非常關(guān)鍵 zkServer.sh start # 1. 先啟動(dòng)Zookeeper集群 start-dfs.sh # 2. 再啟動(dòng)HDFS hdfs haadmin -getAllServiceState # 3. 查看誰(shuí)是ActiveHA模式下dfs.nameservices、dfs.ha.namenodes.xxx、dfs.namenode.rpc-address.xxx等配置要成組出現(xiàn)漏一個(gè)都會(huì)啟動(dòng)失敗。生產(chǎn)環(huán)境里ZK集群至少3臺(tái)課程設(shè)計(jì)可以用Docker起3個(gè)容器模擬。熱詞里提到“hadoop和zookeeper整合實(shí)戰(zhàn)”這里最核心的就是搞清楚ZK在HA里到底管什么——它管的是鎖和狀態(tài)上報(bào)不直接存儲(chǔ)數(shù)據(jù)塊信息很多資料把這個(gè)講得很玄其實(shí)原理就是“兩個(gè)NameNode都爭(zhēng)搶一個(gè)Active鎖誰(shuí)拿到鎖誰(shuí)干活”。5.4 Docker化部署思路如果你手頭機(jī)器只有一臺(tái)Windows不想折騰虛擬機(jī)用Docker鏡像是個(gè)高效的辦法。搜“hadoop的docker鏡像”能找到現(xiàn)成的bde2020/hadoop或apache/hadoop鏡像總結(jié)一下快速拉起集群的命令思路docker network create hadoop-net docker run -d --name namenode --network hadoop-net \ -p 9870:9870 -p 9000:9000 \ -e CLUSTER_NAMEmini-cluster \ bde2020/hadoop-namenode:2.0.0-hadoop3.2.1 docker run -d --name datanode --network hadoop-net \ -p 9864:9864 \ -e CLUSTER_NAMEmini-cluster \ bde2020/hadoop-datanode:2.0.0-hadoop3.2.1Docker化的好處是環(huán)境干凈、可重復(fù)、不污染宿主機(jī)壞處是鏡像之間的版本匹配需要額外留意。我自己試下來(lái)bde2020系列鏡像配套比較齊全但默認(rèn)內(nèi)存參數(shù)偏低需要在啟動(dòng)的時(shí)候用-e 環(huán)境變量調(diào)高。如果只是做Hive SQL練習(xí)Docker 一個(gè)單節(jié)點(diǎn)Hadoop鏡像就完全夠用。6. 高頻踩坑與排查實(shí)錄6.1 常見(jiàn)問(wèn)題速查表這三年里幫人看過(guò)不少Hadoop項(xiàng)目自己也踩過(guò)一輪坑把出現(xiàn)頻率最高的問(wèn)題整理成表癥狀原因解決方式啟動(dòng)時(shí)NameNode一直處于SafeMode兩次格式化NameNode導(dǎo)致clusterID不一致清空/tmp/hadoop目錄后重新格式化Hive查詢?nèi)頀呙韬苈唇ǚ謪^(qū)表或分區(qū)裁剪失效按日期建分區(qū)查詢條件帶dtyyyy-MM-dd500端口無(wú)法訪問(wèn)HDFS Web UI防火墻未關(guān)閉或者HTTP端口配置錯(cuò)誤檢查防火墻確認(rèn)9870/50070端口對(duì)應(yīng)Hadoop版本YARN任務(wù)卡住不動(dòng)偽分布式內(nèi)存資源不足調(diào)大yarn.nodemanager.resource.memory-mb降低任務(wù)并行度Sqoop導(dǎo)出后MySQL中文亂碼連接串缺少UTF-8配置連接串加characterEncodingutf8Hive表也統(tǒng)一utf8ECharts數(shù)據(jù)為空時(shí)白屏接口返回結(jié)構(gòu)異?;蛘咦侄蚊黄ヅ浣y(tǒng)一接口返回code/data/msg結(jié)構(gòu)前端加異常兜底DataNode進(jìn)程反復(fù)退出數(shù)據(jù)目錄權(quán)限不對(duì)或者集群ID不一致檢查logs日志清空tmp目錄重新格式化Hive并發(fā)訪問(wèn)Derby鎖沖突偽分布式默認(rèn)用Derby元數(shù)據(jù)庫(kù)只支持單會(huì)話換成MySQL存儲(chǔ)Hive元數(shù)據(jù)6.2 面試官最可能追問(wèn)的幾個(gè)點(diǎn)課程設(shè)計(jì)做完了面試官不會(huì)只看你的截圖臨近答辯前這幾類(lèi)高頻問(wèn)題最好提前準(zhǔn)備好Hadoop寫(xiě)一份數(shù)據(jù)到HDFS的完整流程是什么答客戶端先調(diào)用NameNode獲取數(shù)據(jù)塊位置然后客戶端將數(shù)據(jù)按Block128MB切分逐塊寫(xiě)入第一個(gè)DataNode再由DataNode之間流水線復(fù)制副本默認(rèn)3份寫(xiě)完返回確認(rèn)。重點(diǎn)是解釋清楚“機(jī)架感知”和“流水線復(fù)制”。為什么推薦熱門(mén)游戲不用實(shí)時(shí)計(jì)算例如Flink答當(dāng)前場(chǎng)景核心是“以天/周為周期的運(yùn)營(yíng)決策”對(duì)延遲要求不高離線批處理能保證計(jì)算穩(wěn)定和鏈路簡(jiǎn)易。如果要升級(jí)為實(shí)時(shí)推薦可以在后續(xù)引入Flink對(duì)接Kafka。大屏的數(shù)據(jù)延遲是多久答數(shù)據(jù)從產(chǎn)生到入庫(kù)約10分鐘主要原因是為了湊批處理周期。如果需要更低的延遲可以引入Flink或者把Flume的采集頻率調(diào)高。這里要表達(dá)的不是“不能低延遲”而是“基于當(dāng)前架構(gòu)的合理取舍”。這個(gè)系統(tǒng)的瓶頸在哪里答偽分布式環(huán)境主要瓶頸是NameNode的內(nèi)存和YARN資源擴(kuò)到集群后瓶頸會(huì)轉(zhuǎn)移到網(wǎng)絡(luò)IO和Hive任務(wù)的Shuffle階段。如果數(shù)據(jù)量翻10倍哪里最先扛不住答單NameNode的內(nèi)存元數(shù)據(jù)壓力以及Hive的MapReduce任務(wù)Shuffle階段所以生產(chǎn)環(huán)境通常會(huì)引入聯(lián)邦機(jī)制或者升級(jí)Spark引擎。整理這些問(wèn)題不是讓你背答案而是要提醒你課程設(shè)計(jì)做完之后一定要從“為什么這么設(shè)計(jì)”的角度重新串一遍自己的項(xiàng)目把所有選擇都講得出理由。我個(gè)人在實(shí)際操作中最大的體會(huì)是做個(gè)課程設(shè)計(jì)難的地方其實(shí)是環(huán)境搭建與排錯(cuò)的過(guò)程。第一次格式化NameNode、第一次跑通MapReduce、第一次用Hive算出自己的榜單數(shù)據(jù)那種感覺(jué)跟寫(xiě)普通Web項(xiàng)目完全不一樣。強(qiáng)烈建議不要用一鍵腳本把環(huán)境全部自動(dòng)化解決掉親手搭一次、親手把進(jìn)程配置調(diào)通比抄十篇論文都管用。最后給你一個(gè)小技巧項(xiàng)目文檔和源碼一定要同步保存環(huán)境配置、SQL腳本、接口文檔和大屏截圖這四類(lèi)資產(chǎn)答辯前一晚再通讀一遍自己的README你就不會(huì)在臺(tái)上被問(wèn)慌了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
级情九色| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 亚洲影院婷婷色| 五月丁香影院| 99在线亚洲| 亚洲午夜AV| 男女啪啪做爰高潮无遮挡| 激情五月天婷婷在线网址发给我| 色爱终和网| 亚洲性爱电影| 婷婷色片| 久久五月婷综合网| 亚洲影院婷婷色| 夜夜爽天天干| 久热九九| 超碰国产在线| 色婷五月| 丁香五月性| 这里只有精品免费视频在线观看 | 婷婷五月激情在线视频| 天天日夜夜操五月| 日批在线看| 久久99网站| 玖玖九九99| www.激情| 中文字幕在线播放视频| 中文字幕在线播放视频| 五月丁香婷婷色色| 成人亚洲精品| 99亚色色色| 五月叮香啪| 九月激情婷婷丁香| 97se在线视频| 99久久精彩视频| 久久无码成人| 久久日本wwww色| AV在线不卡播放| 精品色| 人妻少妇色综合| 欧美婷婷五月天综合| 91精品电影18T| 黄色aaaaa| 在线观看的av| 色色自拍视频网站| 激情五月综合免费| 久热精品视频| 色婷婷中文在线| 综合激情五月天六月婷免费视频| 五月天婷婷在线播放| 久久这里只有精品网| 狠狠色综合777| h在线看免费版在线看| 久久婷婷综合网| 亚洲综合五月天婷婷丁香| 久久性爱视频网站| 激情五月综合网最新| 无码99| 十一月婷婷激情四射| 婷婷深爱五月丁香| 综合色情网| 婷婷激情九月| 国产在线aaa片一区二区99| 六月丁香啪啪| 婷婷激情五月天桃花网| 99色视频在线观看最新| 久久这里只有精品无码| 99热亚洲| 野战J办公桌椅H| 日本大人久久| 色999亚洲人成色| 欧美在线干| 九九热这里只有精品7| 人妻操逼视频。| www.国产亚洲69ty.久久久久久久久久久久 | 梁铮版蜘蛛女在线观看| 婷婷久久丁香| 婷婷在线视频| 色综合久久无码| 色五月大香蕉婷婷| 日韩成人五月天| 五月婷婷中文网| 啪到高潮激情丁香五月| 激情综合网五月婷婷| 五月丁香久久| 亚洲最大激情无码| 性综合网| 99在线视频女女视频| 伊人网大香| 激情综合自拍五月婷婷色五月| 欧美婷婷五月激情| 久久ww| 国产成人精品亚洲线观看| 色婷婷呢狠禁久禁| 激情婷婷丁香五月天小说| 襙比视频| 日本色色网| Av狠狠色丁香婷| 一二区成人电影| 激情五月婷婷丁香六月| 天天透天天爱| 色色色色色色综合网| 热996精品在线观看| 99久在线精品99re8| 色五月六月婷婷| 综合激情在线视频| 毛片九九九九九九| 婷婷激情五月天亚洲综合| 亚洲天堂色色| 国产精品24r| 色婷操逼| 玖玖五月| 亚洲人妻电影| 停停五月丁香| 中文字幕色色| 丁香五月自拍| 级情九色| 亚洲高清在线| 91se在线视频| 日韩在线视频网站| 97色女人在线| www.夜夜操| 99热在线观看| 五月人人丁香婷婷五月人人丁香| 丁香五月天激情综合| 久久精品噜噜噜成人A∨色欲 | www.jiujiujiu| 91精品久久久久久综合五月天| 久操干| 免费一区二区三区| 丁香六月毛片| 伊人免费视频9| 色婷婷五月天中文字幕| 91狠狠色| 99色在线视频| 婷婷久久综合| 国产亚洲精品人人| 91chinese在线| 色五月激情综合网| 丁香五月五月婷婷| 狠狠看狠狠| 婷婷涩涩五月天| 五月婷婷婷色| 五月婷婷日| 91主播在线| 五月丁香六月婷婷综合伊人| 五月天婷婷偷拍| 五月天无码视屏播放| 新97人人上人人| 玖玖婷婷五月天| 五月停停99| 青青草婷婷综合五月| 我爱大香蕉| 婷婷色在线观看| 在线观看免费狠狠色丁香香综合| 婷婷久热| 人妻丰满精品一区二区A片| www.激情.com.| www.五月丁香| 色婷五月天网站| 99热9| 99热99思午夜精品| 五月婷婷 激情按摩| 九九在线免费观看| bukadeavzaixian| 人人摸人人搞| 香蕉久久国产AV一区二区| 色五月天丁香婷婷| 五月婷婷就去色| 黄色片久久| 99久久99热这里只有精品| 成人中文网| 久久机热这里只有精品| 久久精品婷婷五月丁香| 中国女人做爰A片| 亚洲综合色丁香五月天| 碰超在线九色| 九九精品99| 五月天激情国产综合婷婷| 超碰免费在线| 99热99精品在线观看| 欧美成人A片AAA片在线播放| 婷婷99狠狠躁天天| 欧美五月婷婷综合| 99热九九热| www.狠狠操.con| yirenjiqingshiping| 亚洲综合99| 玖玖综合网| 婷婷五月天激情小说| 五月伊人视频在线看| 婷婷五月综合基地| 免费黄色视频网址| 可以免费观看的av| 丁香5月啪啪| 在线成人av播放| 99色视频| 五月婷激情影院| 草美女在线观看视频在线播放| 色无婷婷| 99热18| 成人超碰Av| 婷婷激情在线| 99热97美女| AV性爱在线| 色五月丁香六月婷婷| 91精品人妻少妇无码影院| 婷婷丁香六月| 丁香婷婷性爱| 婷婷五月天六月丁香| 久久久人妻人伦| 97婷婷五月天| 色婷婷视频| 99色.com| 婷婷六月久久| 色色网站毛片| 天天综合网站| 五月天播播| 婷婷六月五月天综合| 激情综合五月丁香| 成人精品人妻| 一级二级色大片| 极品人妻VIDEOSSS人妻| 人人干av| 天天色天天日| 国产 码在线成人网站| 婷婷五月天啪啪| 五月婷婷五月丁香综合| 亚洲色情久久| 婷婷色中文字幕| 成人丁香五月婷| 欧美三级巜人妻互换| 色色吧综合| 99精品在线观看视频| AV五月丁香| 99久在线| 激情伊人| 欧美在线97| 亚洲精品中文字幕成人片| 中国丰满熟女A片免费观| 五月丁香婷婷啪啪| 五月婷婷丁香成人网| 丁香啪啪中文字幕| 操草草草| 综合九九久久| 99色久| 婷婷丁香五月社区亚洲| 免费在线观看av网站| 国产午夜精品AV一区二区麻豆| 91久久久久久久久| 夜夜谢天天干| 蜜桃人妻无码AV天堂三区| 九九九九毛片| 色综合色色| 九九99精品| 久久婷婷五月综合激情国产 | 综合在线观看99| 国产69精品久久久久999小说| 天天操天天操天天操天天操天天操| 久久99久久99精品免观看粉嫩| 婷婷丁香五月综合网上| 另类图片五月天| 裸体美女丁香五月天。| 国产精品爽爽久久久久久| 久久婷婷综合五月趴| 十月丁香九月婷婷综合| 99亚洲视频| 久99在线视频| 九九热在线视频| 久久97| 99热精品少| 精品在线| 五月天色婷婷网| 丁香五月婷婷在线观看| 欧洲亚洲免费视频9| 婷婷在线免费| 丰满少妇猛烈A片免费看观看| 午夜无码熟熟妇丰满人妻 | 人人色人人摸人人看| 入口五月婷婷六月香| 99精品色色| 五月婷婷伊人网| 天天做综合网色综合| 美女妹子后射视频网站在线观看| 噜噜操操| 国产成人综合电影| 五月婷婷色影院| 欧美天天爽| 激情五月婷婷在线区| 女力报到正好爱上你| 婷婷成年人免费视频| 亚洲AV日韩无码| 亚洲成人免费电影| 婷婷久久图片| 色色综合日韩| 色九亚洲| 91聚色综合网| 第四色婷婷日本| 婷婷激情蜜桃玖玖丁香| 超碰二区| 婷婷六月丁香五月图区| 亚洲AV综合在线观看| 黄桃AV无码免费一区二区三区| 亚洲黄网AV| 4438国产免费看| 秋霞电影一级黄| 狠狠色噜噜狠狠| 97碰在线视频| 人人操人人添人人摸97| 婷婷五月天AV激情| 久久综合中文| 97婷婷五月激情六月丁香伊人| 中文字幕AV在线| 思思热再线视频| 9 1超碰九色| 成人婷婷色综合| 91婷婷色 | 亚洲色婷婷| 日韩av变天就操逼不卡区| 任你操精品免费| 色五月婷婷视频| 69久久99精品久久久久婷婷| 九九久久偷拍| 99精品在线下载| 亚洲AV成人精品日韩在线播放| 婷婷色五月大香蕉在线| 色的色综合| 久久总和99| 激情精品久久| 亚洲九九99精品视频在线播放| 久久综合中文| 久久久宗合| 五月第四色| 五月天婷婷基地| www.综合久久.com| 99热精品在线在线| 亚洲成人av在线播放| 综合五月天天天天天五月| 99人碰碰碰| 婷婷五月六月| 天天干夜夜谢| 99小视频在线观看| 五月婷婷丁香婷婷| 玖玖综合玖玖| 五月色丁香| 超碰啪啪网| 狠狠干激情五月| 六月婷婷综合| 美女婷婷六月色| 九九热免费视频| 99精品久久久久久久婷婷| 色五婷婷开心缴| 色婷婷精品视频在线播放| 日本色婷婷久久99精品91| 婷婷五月无码| 99热国内| 亚洲成av人影院| 综合亚洲五月天| 亚洲免费婷婷| 五月熟妇婷婷久久| 清纯唯美 激情四射| 丁香五月天天日| 91碰碰碰| 色了色综合| 北京熟妇搡BBBB搡BBBB| 伊人国产婷婷五月天| 三级三久久线久久99久目本WW| 玖玖色综合网| 欧美槡BBBB槡BBB少妇| 九九热只有这里精品| 久久一热| 99热在线这里只有精品| 91欧美日韩| 强伦轩人妻一区二区电影| 2022久久婷婷| 91久久婷婷| 久久精品爱爱| 九九丁香社区欧美激情| 日韩三级高清无码| 草草视频91| 亚洲色婷婷| 精品久久久久久久久久久久人妻| 丁香五月天激情四射网络不好| Www,五月天| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 国产看真人毛片爱做A片| 天天粽合合合合| 亚洲欧美综合7777色亭亭| 久久黄色片| 久操干| 人人摸人人摸| 5月丁香六月情| 亚州激情九月| 丁香五月久久| 五月丁香激情综合久久| 色五月丁香六月资源站| 超碰69天堂| 婷婷综合色图| 色情五月天A片| 日日操夜夜操无码免费| 亚洲va综合va国产va中文| 婷婷亚洲在线| 91婷婷在线| 欧美大片免费播放器| 五月天婷婷丁香社区| 亚洲五月激情| 久久视9精| 国产精品爽爽久久久久久| 色噜噜狠狠色综| 色婷婷很很丝袜| 91狠狠综合网| av性爱在线| 丁香六月啪| 日比网免费国产| 看全色黄大色大片| 天天天日天天天干| 丁香婷婷五月天亚洲| 五月色亭丁香| 成 人片 黄 色 大 片| 久久久噜噜噜久久人妻| 亚洲十月婷婷综合| 激情深爱综合| 影音先锋一区| 97热超碰| 色欲五月丁香| 五月天激情网图片| 婷婷色导航| 婷婷五月av| 天天狠狠插| 亚洲综合成人网| 丁香五夜激情四射夜夜夜| 激情五月丁香五月| 日韩高清成人| 九九热视频在线观看| 亚洲九九九九| 天天在线久久综合 | 狠狠色狠狠操| 丁香五月日韩| 99久精品视频| 日本九九网| 大陆肏屄视频| 色婷亚洲| 狠狠干思思热| 婷婷五月天激情影片| 欧美A级网站| 婷婷欧美激情综合| www.五月丁香| 亚洲av日韩无码| 婷婷WWW久久| 91av传媒高清在线视频网| 丁香五月人妻| 丁香五月在线播放| 六月激情综合| 99精品在线播放| 久久99视频| 超碰a女人的天堂| 天天久综合| 综合五月天婷婷色| www.成人婷婷综合| 九九99一区| 丁香激激情网| 亚洲视色| 色色色五月婷| 久久99综合| 久久免费操| 色色五月天丁香婷婷| 日本婷婷| 久久色婷婷| 香蕉久久国产AV一区二区| 四虎成人精品永久免费AV九九| 五月丁香激情综合啪啪| 自拍偷窥99热| 亚洲天堂99| 另类少妇人与禽zOZZ0性伦| 日本精品久久久久中文字幕| 2018夜夜草| 亚洲精品一二三| 任你爽在线视频| 亚洲精品**不卡在线播he| 婷婷丁香红五月91C| 日韩欧美成人一区二区三区| 婷婷自拍| 九九热中文| 久热超碰| 深爱激情久久| 啪啪色区| 五月天激情视频| 97超碰,人人舔,人人操,人人摸| av在线婷婷| av在线不卡播放| 婷婷午夜综合| 色五月 激情婷婷 综合五月天| 日本熟妇人妻在线| 久久丁香五月| 五月丁香啪啪啪| 亚洲三A| 五月天婷婷激情四射综合| 超碰爱爱爱| 五月丁香美女视频| 人人视频色| 亚洲性爱电影| 爱久久小说下载网| 亚州操逼网| 五月丁香六月在线欧美| 五月激情婷婷六月| 五月色婷婷综合| 男人的天堂婷婷色五月| 91丨九色丨熟女|新版| 亚洲色色图片| 99性爱视频| av九九| 色色色五月| 婷婷午夜| 久久人妻人人槡| 五月天激情亚洲| 爱射综合| 五月丁香六月停停停| 亚洲激情婷婷| 日本熟女内射| 色五月婷婷综合| 91聚色综合网| 日日操夜夜爽白洁| 丁香五月人妻| 免费在线观看av网站| 97碰超级人人看| 五月天激情图| 337p大胆噜噜噜噜噜91Av| 亚州日本欧州韩美高青高潮一| 激情五月天色婷婷| 婷婷成人五月天| 超碰不卡在线| 日日舔夜夜操| 欧美性生交XXXXX无码小说| 成人短视频在线免费观看| 丁香五月aV| 婷婷激情四射| 大香蕉久久草| 五月六月婷| 日本人妻伦在线中文字幕| 99操久久| 超碰色色综合| 五月天丁香婷婷社区| 99热精这里只有精品| 色婷婷久久综合| 丁香花操逼| 操丝袜视频影院导航| 五月婷婷丁香五月| 久久女婷| 开心激情网五月天| 91碰碰碰| 五月成人网站| 狠狠搞五月天| 91精品久久久久久综合五月天| 2025天天操| 亚洲黄色网址| 草婷婷在线| 丁香五月天啪啪| 五月婷婷色色| 色噜噜狠狠色综无码久久合欧美| 91狠狠综合久久久| 久热无码| 思思热这里只有精品视频666| 久久九九@| 九九九九九九综合| 九九性爱网| 狠狠久综合| 99视频精品在线| 嘿嘿视频免费看9| 激情综合色| 秋霞AV吧| 婷婷激情五月色综合| 综合色在线| 亚洲五月天狠狠| 九九日伊人| 思思热再线视频| 色五月,com| 亚洲激情97五月天| 色九月综合网| 色婷婷六月天| 国产色丁香| 八戒青柠影视剧在线观看| 色五月激情五月丁香五月婷婷啪啪综合 | 日日夜夜天天| www久久99| 亭亭五月色男人| 久久婷婷五月国产激情综合片| 成人五月天在线观看| 天天做天天爱天天高潮| 五月天婷婷丁香蜜桃91| Y11111111111少妇电影院| 99无码黄色视频| 岛国操B不卡在线| 色五月天堂| 都市激情久久| 97色一二三| 182TV大香蕉| 五月天婷婷色色| 丁香五月成人| www.五月天婷婷| 超碰人人操人人干| chaopengdaxiangjiao| 99精色| 色狠狠色综合久久久绯色AⅤ影视| 99热久| 开心五月色婷| 丁香五月天.com| 人人摸人人| 色欲资源网| 五月丁香激| 五月丁香婷婷色| 五月婷婷丁香狠狠撸久久| 麻豆雪千夏| 91性高潮久久久久久久久| 久久婷婷丁香六月天| 色蜜婷婷| www.色五月| 丁香五月成人婷婷| 色五月婷婷成人视频| 999精品久久久久久久| 久热九九| 婷婷五月天久久久| 九九免费视频在线| 欧美超级视频97| 亚洲乱码日产精品BD| 精品久久这里热66| 精品久久久久久久久久久久人妻| 九九九日本熟女| 波多野结衣不卡AV| 久久婷婷亚洲| 99视频在线播放大全| 婷婷激情综合网| 丁香六月激情四射| 亚洲啪啪自拍| 国产69精品久久久久999小说| 天天干天天干天天| 五月丁香六月欧美| 五月丁香五月丁香| 色综合综合色| 综合激情专区| 大香蕉伊然在亚洲90| 丰满人妻一区二区三区| 丁香六月婷婷开心| 色色色综合| 成人色色视频| 能看的AV网站| 色色色99韩| 综合色99| 日本天堂爱爱| 视频1区2区| 久9精品视频在线| 日韩中文字幕| 精品人妻伦九区久久AAA片| www狠狠| 激情小说在线视频| 久久久久丁香婷婷五月天| 久久A热| 99惹| 五月激情六月| 婷婷,五月天,丁香,第一| 色婷婷丁香九月| 国产精品岛国片在线观看免费| 国产性av| 蜜臀久久99精品久久久久久酒店| 成人无码精品1区2区3区免费看| 青草激情综合| 婷婷婷婷色| 婷婷色网站| 丁香六月久久| 99热在线看| 性色五月天| av狠狠操| 激情又色又爽又黄的A片| www99热| 婷婷六月色| 99国产精品久久久久久久久久久| 熟妇人妻中文字幕无码老熟妇| 五月天激情综合| 五月婷婷啪啪| XX色综合| 99九九热播在线免费视频| 五月丁香另类网| 国产三级在线播放| 久9精品| 国产9色在线/日韩| 五月丁香六月婷婷精品| 五月婷成人网| 亚洲精品色色色| 天天操电影院色狼性av| 四月婷婷五月丁香| 亚洲精品亚洲人成人网| 9999久久久久| 婷婷五月丁香第四色超碰在线| 玖玖婷婷五月天毛片| 日本在线wwww| 中文字幕在线免费观看视频| 丁香五月婷婷综合视频| site:ornaments52.com| 久狠狠| 久9热| 国色天香成人网| 亚洲狠9| 成人网站av免费网站推荐| 99自拍视频网站| 亚洲精品欧洲精品| www.五月天激情| 五月婷婷狠狠干| 亚洲妇女熟BBW| 九九精品re免费视频| 五月色丁香| 婷婷丁香成人在线视频| 丁香五月亚综合图片| 婷婷99狠狠躁天天躁中| 无码激情AAAAA片-区区| 丁香五月综合首页| 思思视频精品| 五月丁香婷婷导航视频| 久久精彩免费视频| 97自拍99| 婷婷亚洲丁香五月| 日韩狠狠色| 日产精品一线二线三线芒果| 久久性刺激| 丁香亚洲婷婷五月| 国产色网站| 情欲禁地| 久久久8| 五月丁香六月婷婷网站| 亚洲日日操| 操日本色| 操逼福利视频| 丁香六月婷婷久久综合| 亚洲激情| 婷婷五月天熟妇| 婷婷五月天堂| 中文字幕婷婷在线| 手机AVAV天堂看网| 五月丁香色| 亚洲成人无码片| 五月丁香六月婷婷在线小说视频| 久久婷婷丁香| 俺去婷婷 丁香| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 噜噜色天天开心| 五月丁香六月婷婷在线| 欧美日本韩国亚洲| 思恩热国产视频右线观看| 天天久| 日韩国产在线精品| 日韩一区二区在线播放| 碰超99| 色婷婷AⅤ| 久久人妻在线| 国产精品久久久久久妇女6080| 变态另类9| 丁香美女五月天婷婷| 91无码一起草| 综合热无码| 深爱五月婷婷| 久久99这里只有精品| 久久色天堂| 久人操| AV操操操| Av免费网站在线| 色婷婷丁香五月天| 久cao香蕉影院| 狠狠色婷婷丁香六月| 99超级碰免费视频| 亚洲精品va| 99re这里只有| 天天天久久久| 97婷婷色| 久久亚洲色导航| 91久久久久久久| 婷婷四月 成人 狠狠干| 这里只有精品视频在线| 婷婷成人网五月天| 另类小说色婷婷| 五月丁香六月久久| 五月天激情影院| 婷婷色五月噜噜| 69精品人人人人| yazhou seshipin| 狠狠狠狠狠| 天天操夜夜夜拍拍拍| 久久AV无码精品人妻系列试探| 五月天开心成人网| 玖玖爱伊人网| 五月天五月天成人网亭亭成人色网站| 91碰碰碰久久久久| 天天爱综合网| 激情综合国产| 色丁香五月| A√天堂网在线| 国产偷人爽久久久久久老妇APP| 玖玖资源网站最新站| 极品精品一区二区三区在线| 操操操AV| 国产精品日日躁夜夜躁| 大香蕉综合在线| 2050人人操免费工开爱| 1024操逼| 亚洲第一综合| 久久五月丁香婷婷| 亚洲V国产V欧美V久久久久久| 无码人妻一区二区三区免费九色| 日本天堂网站99| 九月激情综合| 色五月婷婷五月丁香五月激情五月视频| 久99热| 五月开行婷婷色五月| 狠狠色九月| 婷婷中文在线| 亚洲婷婷婷| 51精品国内探花| 91超碰人人操| 啪啪啪五月天| 五月婷久久草| 五月丁香| 九九热在线精品| 狠狠色丁香| 日本久久激情| 日韩性视频| 99在线视频精品| 激情久久婷婷| 婷婷中文字幕| 亚洲热综合| 亚洲视99| 天天插,天天射| 婷婷色丁香五月| 国产日产亚系列精品版优势| 99久久精品国产色欲| 五月丁香久久综合| 亚洲色图日韩网址| 涩五月婷婷| 天天做天天爱天天要| 色很很96| 丁香五月最新网址| 无码人妻丰满熟妇奶水区码| 五月婷婷激情日本| 襙逼网| 亚洲区视频| www.久操| 欧美性生交XXXXX无码小说| z色五月播播久久| 丁香五月婷婷成人色区| 国产脫衣舞一区二区三区| 草了bav视频在线观看| 丁香九月婷婷综合| 国产色色色色| 亚洲激情五月婷婷日日| www.婷婷五月| 十区av| 丁香婷婷狠狠97| 99热精品无码| 91九色精品| 99久久精品视频女神1| 久久视这里只有精品| 99玖玖人人| 丁香婷婷影院| 无码成人AAAAA毛片AI换脸| 亚洲欧洲国产精品| 激情五月天婷婷五月天| 99精品久久久久久久婷婷久久| 五月婷丁香| 丁香五月激情网| 狠狠 久久| 97人碰人操| 欧美性色A片免费免费观看的| 婷婷操久久| 天天做天天爱| 久久人妻乱| 欧美va欧美va差| 五月天五月色| 加勒比色色| 国产精品久久99| 91色在线/日韩| 婷婷丁香五月天影院 | 99熟女啪啪视频| 亚洲成Av人片乱码色第1集| 丁香伍月婷电影全集| 麻豆WWWCOM内射软件| 97香蕉碰碰人妻国产欧美| 99久久99九九99九九九| 婷婷综合色| 97碰超级人人看| 狠狠爱婷婷爱| 粉嫩av蜜桃av蜜臀av| 超碰三级片| 影音先锋四区| 久久99网站| 色五月婷婷丁香五月| 丁香五月天啪啪| 色婷婷网| 色婷婷丁香| 九九碰九九爱97超碰| 亚洲中文字幕av| 337p大胆噜噜噜噜噜91Av| 人人操av| 免费看欧美成人A片无码| 色色色热| 韩国中文字幕91| 婷婷干| 中文字幕不卡视频| 激情宗合 激情宗合| 在线中文亚洲| 亚洲色情久久| 婷婷色五月天第7色| oVV4WIB3vFi8D| 天天操天天日天天操| 五月婷婷六月丁香在线视频| 熟女激情五月天 | 综合色七七| xxxx五月天色色| 亚洲久久日| 99热九九这里只有精品| 包操45分钟网站| 蜜乳国产网站| 夜夜撸夜夜骑| 日本久久综合| 欧美成人精品三区综合A片| 中文字幕视频色婷婷| 激情婷婷五月天丁香| www.sebowuyue| 激情五月,色五月| 九九热在线观看视频网站| 日韩99精品| 中文字幕在线免费| 男妓跪趴把舌头伸进我的嘴巴| 久操乱| 99re热99| 亚洲激情电影五月天色婷婷丁香一起草| 色五月成人在线| 五月天激情国产综合婷婷婷| 色色婷婷五月天| WWW嗯嗯啊啊啊啊| 五月天婷婷激情在线色图| 激情综合色| 狠狠狠五月婷婷六月丁香| 天天舔天天爽| 婷婷午夜| 久草九九| 综合激情综合啪啪| xx久久| 狠狠干五月| 丁香婷婷色九月| 五月花成人网| 99re热在线视频观看| 丁香六月婷| 欧美日韩国产一区二区| 激情com| 久久婷婷五月| 中文字幕丰满孑伦无码专区| 金品在线视频99| 精品无码人妻一区| 香蕉婷婷色五月| 疯狂做受XXXX高潮A片| 97电影99热| 亚洲十月婷婷综合| 久久伊人大香蕉| 超碰在线个人观看| 九九成人高清视频| 五月天伊人综合| 免费看欧美成人A片无码| 五月婷婷综合久久| 丁香六月婷婷一区二区三区| 色屌丝中文字幕| 五月丁香人妻| 六月丁香五月激情婷婷| 五月丁香六月情| 色情五月| 亚洲丁香网| 国产亚洲在线观看| 51成人| 99精品热| 99在线视频观看| 99超在线| 婷婷丁香五月综合| 99视频在线观看网址| 婷婷综合五月色播| 女人高潮内射99精品| 毛片新网地| 国产在这里只有精品| 天天操天天干天天射| 99人这里只有精品| 五月天六月色| 色播婷婷五月天| 久婷五月| 停停综合色色| 婷婷激情社区| 区欧美日韩成人| 亚洲另类婷婷五月综合| 色色色综合网| 亚洲另类婷婷五月丁香在线播放| 久久婷婷综合网| 全高清无码视頻| 九九99热久久精品66中文字幕| 综合久久综合五月天婷婷| 五月天婷婷五月| 久久大香蕉丁香| 婷婷六月中文字幕| 精品亚洲国产成人A片在线鸭王 | 天天摸天天日天天舔| 五月成人丁香av91| 五月婷婷九月婷婷九月婷婷| 日本色色色色色色色色一色二色| 日本美女天天日天天爽| 激情综合亚洲| 婷婷亚洲五月丁香综合在线| 日本天天色| 亚洲色五月天在线| 狠狠精品干练久久久无码中文字幕 | 久久精品日| 五月天久久网站| 97超碰欧美中文字幕| 五月天亭亭俺也| 97香蕉人人在线观看| 人人干人人看| 狠狠第四色| 中文字幕在线免费观看视频| 日夜操B| 天天爱天天操| 色播五月丁香婷婷| 婷婷丁香熟女| 99国产在线| 丁香五月激情网| 九九99免费视频| 久久66er久久| 国产真人做爰视频免费| 亚洲成人乱码av网站| 婷色综合| 97超碰在线免费观看| 男女99免费视频| 丁香五月婷婷基地| 开心色播色五月婷婷| 五月黄色婷婷| 婷婷色色丁香五月天| 欧美性二区| 男男野外做爰全过程69| 欧美色五月天| 91超级碰在线视频| 九九色色| 人妻精品久久久久久| 无码一级片| 97干在线| 九九热在线视频,| 蜜臀99久久精品久久久久| 日91高清无玛| 99热香港| 亚洲啪啪精品| 亭亭五月色男人| 日韩精品色| 日韩黄色电影| 99啪啪视频| 九九热这里只有精品31| 婷婷综合亚洲| 国产人妻777人伦精品HD| 丁香色五月天| 日本久久网| 日韩av在线播放综合网| 五月天丁香成人| 五月色情网| 成人午夜免费电影| 九九热视频在线观看| 99久精品| 日韩丰满少妇无码内射| 亚洲国产99| 丁香婷婷五月天亚洲| 97在线日本| 色综合色色| 激情影院丁香五月| 色99亚洲| 热99在线精品| 国产真实乱了老女人视频| 九九色播五月丁香| 国产精品-第3页-91JQ就要激情网91JQ5.JQJQ926.XYZ | 九九热在线99| 日韩黄在免| 五月丁香婷中文| 夜夜骑福利资源| site:pzdcoin.com| 啪啪东京热| 一级黄在线| 亚州操人在线视频| 久草五月天| 丁香五月aV| 92久久| www亚洲无码| 国产精品久久久久久妇女6080| 久操无码| 色欲色香综合网| 天干干夜夜操| 久久婷婷影院| 丁香 亚洲 久久| 国产精品电| 97色在线| 9久精品视频| www.五月天婷婷| 九色色| 激情网站综合五月天| 99热伊人| www.色色五月天.com| 欧美日韩国产成人在线| 99燥99日| 五月婷婷影院| 伊人五月综合网| 97干欧美| 婷婷久久免费| 色婷婷久久综合中文久久一本 | 91九色视频在线观看| 亚洲色激情| 五月天激情网页| 337p午夜影院| 国产伊人五月天| 日韩色色色色色| 99ri久久| 亚洲无码成人| 99视频在线播放大全| 98色丁香五月婷婷综合网| 665566 无码| 天天综合社区| 超碰成人电影| 久婷久婷| 中文成人在线| 五月婷婷婷| 五月天天爽| www.深爱激情| 五月丁香六月婷婷视频| 五月婷婷九| 99爱视频在线免费观看| 操逼福利视频| 欧美成人网婷婷综合在线| 国产精品五月丁香| 五月天全国最大成人网| 婷婷成人五月天一区| 色婷婷五月天天天做| 色五月久久成人婷婷| 日本天天综合| 亚洲爱爱无码婷婷色五月| 深爱五月中文字幕| 九九视频精品视频精品| 日本成人小说婷婷六月| 亚洲情a| 久久少妇视频| 网站免费一站二站| www.99热精品| 婷婷丁香97| 五月色婷婷综合| 婷婷六月色| 不卡在线视频| 婷婷综合干| 婷婷五月色影视先锋| 亚洲视频五区| 欧美五月丁香啪啪响视频| 天天干狠狠操| 国产精品A片| 五月婷婷丁香俺日污视频| 丁香六月婷婷久久综合| 亚洲中文字幕AV| 久久婷婷亚洲| 久久R激情| 中文字幕性爱视频| 久久久性爱视频| 天天搞夜夜叫| 永久地址 色| 丁香五月激情网| 夜夜干夜夜操| 丁香五婷婷| 国产五月天婷婷| 激情五月久久| 超碰网站在线观看| 啪啪操超碰| 天天操夜夜操| 九九热av| 国产又色又爽又黄又免费| 婷婷丁香婷婷97| 激情床戏| 五月丁香网站在线播放| 啪啪小说五月天| 丁香婷婷五月综合色情| 精品成人无码A片观看香草视频| 精品视频网| 丁香五月婷婷亚洲人| 艾小青av| 26.uuu丁香五月婷婷| 久碰视频| A1片久久| 丁香无五月网| 色天五月天在线观看视频| 深爱综合网| 狠狠色狠狠色综合日日91| 激情五婷网| 思思热精品在线观看| 色婷婷色99国产综合精品| 久久五月天激情| 最新色色五月天| 五月丁香欧美综合免费视频| 久久综合中文字幕| 4438亚洲欧美| 久婷五月| 丁香五月婷中字幕| 99精品热| 97碰碰视频| 婷婷五月天com| 99视频自拍| 97操男人的天堂| 草美女在线观看视频在线播放| 日本丁香五月| 欧美槡BBBB槡BBB少妇| 九九亚洲综合| 婷婷五月花丁香| 成人国产欧美大片一区| 色天堂A| 日本va欧美va欧美| 婷婷色播婷婷| 久久香蕉福利| 九九这里都是精品| 天天躁日日躁狠狠躁日日躁2022年5月9日 | 天天肏屄夜夜爽| www.色婷婷.com| www.韩日视频| 五月丁香在线国产 | 色五月大| Av在线不卡一区| 噜噜噜色噜噜| 大香蕉av在线| 另类在线| 九九热自拍| 婷婷综合日本| 五月天五月天激情网| 亚洲V国产V欧美V久久久久久| 九九AV| WWW久久久| 久99热在线观看| 思思热视频在线| 色婷婷aV四虎| 99成人免费视频| 国产毛片精品一区二区色欲黄A片| 丁香五月天激情网址| 激情文学久久| 色婷婷9| 99热在线观看精品| 狠狠色丁香久久| 五月天淫乱视频| 丁香五月www| AV五月婷婷露脸| 好叼操在线观看| 婷婷伊人五月| 大香伊人久色| av在线色五月丁香婷区久| 日韩成人中文| 青青草日本亚洲| 丁香8月手机综合| 99热精国产这里只有精品| 超碰日韩人妻在线| 久久久久99精品成人片| 丁香五月五月婷婷欧美大香蕉| 开心五月婷婷六月丁香| 亚洲亚洲人成综合网络 | 五月天伊人| 9 99免费视频| 九九AV在线| 久久香蕉网| 亚洲色久| 天天射射夜| 欧在线一区| 激情五月天天狠狠久久| 92久久|