国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

大數(shù)據(jù)開發(fā)(Hadoop面試真題-卷二)

這篇具有很好參考價值的文章主要介紹了大數(shù)據(jù)開發(fā)(Hadoop面試真題-卷二)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、在大規(guī)模數(shù)據(jù)處理過程中使用編寫MapReduce程序存在什么缺點?如何解決這些問題?

缺點:

  1. 復雜度高:編寫MapReduce程序需要考慮拆分、排序、歸約等許多細節(jié),容易出錯且編寫和調(diào)試的時間較長
  2. 開銷大:MapReduce在耗費昂貴的I/O操作時,會產(chǎn)生較多的磁盤讀寫開銷
  3. 編程模型局限性:MapReduce框架主要適合于批處理任務,在實時計算或迭代計算等方面顯得不足。

為了解決以上問題,可以使用Spark來替換傳統(tǒng)的MapReduce
4. Spark提供了高級API和豐富的轉(zhuǎn)換操作,減少了復雜度并加速開發(fā)和調(diào)試過程。
5. Spark通過將數(shù)據(jù)保留到內(nèi)存中來最小化磁盤讀寫,并使用強大的優(yōu)化技術提高性能。
6. 由于Spark基于RDD模型,并支持流式處理、圖計算等功能,在不同類型任務上更加靈活和適用。

2、請解釋一下HDFS架構(gòu)中NameNode和DataNode之間是如何通信的?

在HDFS架構(gòu)中,NameNode負責管理文件系統(tǒng)元數(shù)據(jù)信息,并保存在內(nèi)存中。而DataNode則負責保存具有文件快的數(shù)據(jù)。它們之間通過以下方式進行通信。

  1. 心跳消息DataNode定期向NameNode發(fā)送心跳消息來保持活躍狀態(tài),并匯報存儲狀況。
  2. 數(shù)據(jù)塊報告DataNode周期性地向NameNode發(fā)送數(shù)據(jù)塊報告,以更新分布式文件系統(tǒng)地整體信息。
  3. 元數(shù)據(jù)操作:客戶端對于文件系統(tǒng)的元數(shù)據(jù)操作(如創(chuàng)建、刪除、更改)會首先與NameNode通信,獲取相應操作的權限和解析路徑等信息。

3、請解釋一下Hadoop的工作原理及其組成部分?

Hadoop是一個用于處理大規(guī)模數(shù)據(jù)集的開源框架。它包含以下幾個核心組成部分:

  1. HDFS:這是一個分布式文件系統(tǒng),用于存儲大規(guī)模數(shù)據(jù)集并提供高可靠性、高擴展性和高吞吐量。
  2. YARN:YARN充當了資源管理器的角色,負責為不同應用程序動態(tài)分配計算資源。它可以同時執(zhí)行多種計算模型(如MapReduce,Spark等)。
  3. MapReduce:這是一種計算模型,也是Hadoop的核心編程框架之一。MapReduce將任務劃分為Map和Reduce兩個階段,利用并行處理來執(zhí)行大規(guī)模數(shù)據(jù)集上的計算操作。
  4. Hadoop Common:提供了支持其它Hadoop組件所需的庫和實用程序。

4、HDFS讀寫流程是什么樣子?

HDFS是Apache Hadoop生態(tài)系統(tǒng)的一部分,用于存儲大規(guī)模數(shù)據(jù)的分布式文件系統(tǒng)。HDFS的讀寫流程包括以下步驟:

HDFS寫入流程
客戶端請求:當一個應用程序需要將數(shù)據(jù)存儲到HDFS中,首先由客戶端發(fā)送寫請求。
數(shù)據(jù)劃分:要寫入的數(shù)據(jù)被劃分成一系列數(shù)據(jù)塊(通常是128MB或256MB)。這些數(shù)據(jù)塊會被分布式存儲在HDFS集群的不同節(jié)點上。
選擇DataNode:HDFS的NameNode被用于維護文件系統(tǒng)的元數(shù)據(jù)信息,它記錄了每個數(shù)據(jù)塊存儲在哪個DataNode上??蛻舳藭?mark>向NameNode發(fā)送數(shù)據(jù)塊的位置請求,以確定要寫入的DataNode。
客戶端寫入:客戶端將數(shù)據(jù)塊寫入選定的DataNode。
數(shù)據(jù)復制:數(shù)據(jù)復制是HDFS的一個關鍵特性,通常每個數(shù)據(jù)塊都會復制到多個不同的DataNode上,以防數(shù)據(jù)丟失。
數(shù)據(jù)流水線:數(shù)據(jù)的寫入是通過數(shù)據(jù)流水線(pipeline)進行的,以提高寫入速度。在流水線上的DataNodes之間數(shù)據(jù)以塊的形式傳輸,而不是整個文件。
確認寫入:當所有數(shù)據(jù)塊都寫入成功并復制到足夠的DataNode時,客戶端會收到寫入成功的確認。

HDFS讀取流程
客戶端請求:當一個應用程序需要讀取HDFS中的文件時,客戶端向HDFS的NameNode發(fā)送讀取請求
元數(shù)據(jù)查詢:NameNode負責維護文件系統(tǒng)的元數(shù)據(jù),它會返回文件的位置信息,包括哪些DataNodes上存儲了數(shù)據(jù)塊。
DataNode讀取:客戶端開始從最近的DataNode讀取數(shù)據(jù)塊。如果某個DataNode不可用,客戶端會嘗試從副本中的其它DataNode讀取數(shù)據(jù)。
數(shù)據(jù)傳輸數(shù)據(jù)會通過網(wǎng)絡傳輸?shù)娇蛻舳?/mark>,通常以塊的形式傳輸,而不是整個文件。
數(shù)據(jù)組裝:客戶端將從不同DataNodes讀取的數(shù)據(jù)塊組裝成完整的文件。

需要注意的是,HDFS是為大規(guī)模數(shù)據(jù)存儲和分析設計的,因此在讀寫時會有一些額外的優(yōu)化的容錯機制,以確保數(shù)據(jù)的高可用性和可靠性。此外,HDFS還支持數(shù)據(jù)壓縮和數(shù)據(jù)復制策略的配置,以滿足不同應用場景的需求。流程中的一些具體細節(jié)可能會因Hadoop版本和配置而有所不同。

5、Hadoop中fsimage和edit的區(qū)別是什么?

在Hadoop中,fsimage和edit是兩個關鍵的組件,用于存儲和管理文件系統(tǒng)的元數(shù)據(jù)。

  1. fsimage:fsimage是一個靜態(tài)的文件,用于存儲Hadoop文件系統(tǒng)的整體狀態(tài)。它包含了文件和目錄的層次結(jié)構(gòu)、文件和目錄的屬性信息、權限和訪問控制列表等。fsimage文件在NameNode啟動時加載到內(nèi)存中,并用于響應客戶端的元數(shù)據(jù)請求。
  2. edit:edit是一個動態(tài)的文件,用于記錄Hadoop文件系統(tǒng)的變化操作。當有文件系統(tǒng)操作(如創(chuàng)建、刪除、重命名文件或目錄)時,edit文件會記錄這些操作的細節(jié)。edit文件不斷地增長,記錄了文件系統(tǒng)地歷史變化。NameNode在啟動時會將fsimage文件加載到內(nèi)存中,然后再將edit文件的操作應用于內(nèi)存中地fsimage文件,以保持文件系統(tǒng)地最新狀態(tài)。

區(qū)別:
-fsimage是一個靜態(tài)的文件,用于存儲文件系統(tǒng)的整體狀態(tài),而edit是一個動態(tài)的文件,用于記錄文件系統(tǒng)的變化操作。
-fsimage文件在NameNode啟動時加載到內(nèi)存中,用于響應客戶端的元數(shù)據(jù)請求,而edit文件的操作會被應用到已加載的fsimage文件中,以保持文件系統(tǒng)的最新狀態(tài)。
-fsimage文件相對較大,而edit文件相對較小,只記錄了變化操作的細節(jié)。
-fsimage文件的加載和應用較慢,而edit文件的處理速度較快。

總結(jié):fsimage是文件系統(tǒng)的靜態(tài)狀態(tài),而edit是文件系統(tǒng)的動態(tài)變化記錄。兩者共同作用于文件系統(tǒng)元數(shù)據(jù)的管理和維護。

6、Spark為什么比MapReduce更快?

  1. 內(nèi)存計算Spark將數(shù)據(jù)存儲在內(nèi)存中,而不是磁盤上。這樣可以避免磁盤的讀寫操作,大大提高了計算速度。
  2. DAG執(zhí)行引擎:Spark適用DAG(有向無環(huán)圖)執(zhí)行引擎,可以將多個計算步驟合并為一個DAG,從而減少了磁盤讀寫的數(shù)據(jù)傳輸?shù)拈_銷。
  3. 運算模型:Spark提供了更高的高級運算模型,如RDD,可以更方便地計算數(shù)據(jù)處理和分析。而MapReduce只提供了基本地Map和Reduce操作。
  4. 數(shù)據(jù)共享:在Spark中,可以將多個計算任務之間的數(shù)據(jù)共享到內(nèi)存中,避免了重復計算,提高了計算效率。而MapReduce每次計算都需要從磁盤讀取數(shù)據(jù)。
  5. 運行模式:Spark支持交互式運行模式,可以在數(shù)據(jù)處理過程中進行實時調(diào)試和優(yōu)化。而MapReduce只支持批處理模式

7、詳細描述一下Hadoop高可用的原理?

Hadoop的高可用性是通過Hadoop集群中的主節(jié)點和從節(jié)點之間的備份和自動故障恢復機制來實現(xiàn)的
首先,Hadoop集群中有兩個類型的節(jié)點:主節(jié)點(NameNode和JobTracker)和從節(jié)點(DataNode和TastTracker)。主節(jié)點負責管理整個集群的元數(shù)據(jù)和任務調(diào)度,從節(jié)點則負責存儲數(shù)據(jù)和執(zhí)行任務。
Hadoop的高可用性主要圍繞主節(jié)點的故障恢復展開。當主節(jié)點失敗時,系統(tǒng)會自動將備份節(jié)點(Secondary NameNode和Standby NameNode)的元數(shù)據(jù)恢復到新的主節(jié)點上,并將新的主節(jié)點提升為活躍狀態(tài)。這個過程稱為故障求換。備份節(jié)點會定期與主節(jié)點進行通信,以保持數(shù)據(jù)同步。
為了確保高可用性,Hadoop還使用了數(shù)據(jù)復制機制來保護數(shù)據(jù)。在Hadoop中,默認情況下,每個數(shù)據(jù)塊會被復制到多個從節(jié)點上,這些從節(jié)點通常位于不同的機架上。當一個從節(jié)點失敗時,系統(tǒng)會自動從其它副本中選擇一個可用的副本來進行讀取操作,保證數(shù)據(jù)的可靠性和可用性。
此外,Hadoop還使用了心跳機制來檢測節(jié)點的狀態(tài),每個節(jié)點都會定期向主節(jié)點發(fā)送心跳信號,以表明自己的存活狀態(tài)。如果主節(jié)點在一定時間內(nèi)沒有收到來自某個節(jié)點的心跳信號,系統(tǒng)會認為該節(jié)點已經(jīng)故障,并觸發(fā)相應的恢復流程。
總的來說,Hadoop的高可用性通過備份和自動故障恢復機制、數(shù)據(jù)復制和心跳機制等多種手段來保證集群的穩(wěn)定運行和數(shù)據(jù)的可靠性。

8、介紹下Hadoop

Hadoop是一個開源的分布式計算框架,用于處理大規(guī)模數(shù)據(jù)集的存儲和處理。它由Apache基金會開發(fā)和維護,為處理大數(shù)據(jù)提供了可靠和高效的解決方案。

Hadoop的核心組件:

  1. HDFS:HDFS是一個可擴展的分布式文件系統(tǒng),用于存儲大規(guī)模數(shù)據(jù)集。它將數(shù)據(jù)分割成多個塊,并在集群中的多個節(jié)點上進行分布式存儲。
  2. YARN:YARN是Hadoop的資源管理系統(tǒng),負責集群資源的調(diào)度和管理。它允許不同的應用程序在同一個Hadoop集群上運行,提供了更好的資源利用率和多樣化的應用支持。
  3. MapReduce:Hadoop的計算模型,用于并發(fā)處理大規(guī)模數(shù)據(jù)集。它將計算任務分成多個Map和Reduce階段,可在分布式環(huán)境中高效執(zhí)行各種數(shù)據(jù)處理任務。

特點:
4. 可擴展性:Hadoop可以在集群中添加更多的節(jié)點,以適應不斷增長的數(shù)據(jù)量和計算需求。
5. 容錯性:Hadoop具有自動備份和數(shù)據(jù)冗余機制,確保數(shù)據(jù)的可靠性和容錯性。
6. 高性能:Hadoop可以并行處理大規(guī)模數(shù)據(jù)集,提高高性能的數(shù)據(jù)處理能力。

9、說下Hadoop生態(tài)圈組件及其作用

以下是Hadoop生態(tài)圈中一些重要組件及其作用:

  1. HDFS:用于在Hadoop集群中存儲和管理大量的數(shù)據(jù),提供高可靠性和高擴展性。
  2. MapReduce:是Hadoop的核心計算框架,用于將大規(guī)模數(shù)據(jù)集分解成小塊進行并行處理,并在集群中的多個節(jié)點上執(zhí)行計算任務。
  3. YARN:作為Hadoop的集群資源管理器,負責管理和分配集群中的計算資源,以支持各種計算框架如MapReduce、Spark等。
  4. Hive:一個基于Hadoop的數(shù)據(jù)倉庫基礎設施,提供了類似SQL的查詢語言(HiveSQL)和數(shù)據(jù)存儲管理,使非技術人員可以輕松地進行數(shù)據(jù)分析。
  5. HBase一個分布式、面向列的NoSQL數(shù)據(jù)庫,適用于快速讀寫大規(guī)模數(shù)據(jù)集,提供了實時隨機讀寫的能力。
  6. Spark:一個快速、通用的大數(shù)據(jù)處理引擎,可以在內(nèi)存中進行數(shù)據(jù)處理,支持多種數(shù)據(jù)處理模型(批處理、流處理、機器學習等)。
  7. Sqoop:用于在Hadoop和關系型數(shù)據(jù)庫之間進行數(shù)據(jù)傳輸?shù)墓ぞ?,方便將結(jié)構(gòu)化數(shù)據(jù)導入到Hadoop集群中進行處理
  8. Flume:用于高效地收集、聚合和移動大量日志數(shù)據(jù)的分布式系統(tǒng),可以將日志數(shù)據(jù)傳輸?shù)紿adoop集群中進行存儲和分析。
  9. Kafka:一個高性能、分布式的流式數(shù)據(jù)平臺,用于處理和傳輸實時數(shù)據(jù)流,廣泛應用于大數(shù)據(jù)流處理和消息隊列系統(tǒng)。

10、Hadoop 1.x,2.x,3.x的區(qū)別?

Hadoop是一個開源的分布式計算框架,用于處理大規(guī)模數(shù)據(jù)集的分布式存儲和計算。下面是Hadoop 1.x,2.x和3.x的區(qū)別:

  1. Hadoop 1.x
    -基于MapReduce計算資源
    -采用Hadoop分布式文件系統(tǒng)(HDFS)作為數(shù)據(jù)存儲系統(tǒng)。
    -使用JobTracker和TaskTracker來管理作業(yè)和任務的執(zhí)行。
    -不支持容器化(Containerization)和動態(tài)資源管理。
    -不支持快速故障恢復和高可用性。

  2. Hadoop 2.x
    -引入了YARN資源管理器,取代了JobTracker和TaskTracker。
    -YARN支持多種計算模型,如MapReduce、Spark、Hive等。
    -引入了容器化技術,將計算任務封裝在容器中,提供了更好的資源隔離和管理。
    -支持動態(tài)資源管理,可以根據(jù)應用程序的需求進行資源分配。
    -支持高可用性,引入了ResourceManager和NodeManager來實現(xiàn)故障恢復和容錯。

  3. Hadoop 3.x
    -引入了一些新的特性和改進。
    -引入了Erasure Coding(糾刪碼)技術,用于提供更高的存儲效率和容錯效率。
    -引入了多個NameNode,實現(xiàn)了多活的高可用性,提供了更好的性能和可靠性。
    -引入了Container Placement Constraint,可以根據(jù)特定條件將容器分配到相應的節(jié)點上
    -引入了GPU支持,可以利用GPU進行計算加速。

總的來說,Hadoop 1.x是最早的版本,采用了傳統(tǒng)的MapReduce計算模型;Hadoop 2.x引入了YARN和容器化技術,提供了更好的資源管理和多計算模型支持;Hadoop 3.x在2.x的基礎上引入了更多的特性和改進,提供了更高的可靠性和性能。文章來源地址http://www.zghlxwxcb.cn/news/detail-838988.html

到了這里,關于大數(shù)據(jù)開發(fā)(Hadoop面試真題-卷二)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 一文搞懂什么是Hadoop?Hadoop的前世今生,Hadoop的優(yōu)點有哪些?Hadoop面試考查重點,大數(shù)據(jù)技術生態(tài)體系

    一文搞懂什么是Hadoop?Hadoop的前世今生,Hadoop的優(yōu)點有哪些?Hadoop面試考查重點,大數(shù)據(jù)技術生態(tài)體系

    目錄 1.1 Hadoop 是什么 ?1.2 Hadoop 發(fā)展歷史 1.3 Hadoop 三大發(fā)行版本? 1.4 Hadoop優(yōu)勢(4高)? 1.5 Hadoop 組成(面試重點)? 1.5.1 HDFS 架構(gòu)概述 ? 1.5.2 YARN 架構(gòu)概述 ? 1.5.3 MapReduce 架構(gòu)概述 ? 1.5.4 HDFS、YARN、MapReduce 三者關系 ? 1.6 大數(shù)據(jù)技術生態(tài)體系? 1.7 推薦系統(tǒng)框架圖 ? (1 ) Had

    2024年02月01日
    瀏覽(24)
  • 大數(shù)據(jù)面試題集錦-Hadoop面試題(一)

    目錄 1、集群的最主要瓶頸 2、Hadoop運行模式 3、Hadoop生態(tài)圈的組件并做簡要描述 4、解釋“hadoop”和“hadoop 生態(tài)系統(tǒng)”兩個概念 5、請列出正常工作的Hadoop集群中Hadoop都分別需要啟動哪些進程,它們的作用分別是什么? 6、基于 Hadoop 生態(tài)系統(tǒng)對比傳統(tǒng)數(shù)據(jù)倉庫有何優(yōu)勢? 7、如

    2023年04月09日
    瀏覽(22)
  • 大數(shù)據(jù)面試題集錦-Hadoop面試題(五)-優(yōu)化

    你準備好面試了嗎?這里有一些面試中可能會問到的問題以及相對應的答案。如果你需要更多的面試經(jīng)驗和面試題,關注一下\\\"張飛的豬大數(shù)據(jù)分享\\\"吧,公眾號會不定時的分享相關的知識和資料。 1)數(shù)據(jù)輸入 ? (1)合并小文件:在執(zhí)行mr任務前將小文件進行合并,大量的小文

    2024年02月16日
    瀏覽(28)
  • 大數(shù)據(jù)面試題集錦-Hadoop面試題(四)-YARN

    大數(shù)據(jù)面試題集錦-Hadoop面試題(四)-YARN

    你準備好面試了嗎?這里有一些面試中可能會問到的問題以及相對應的答案。如果你需要更多的面試經(jīng)驗和面試題,關注一下\\\" 張飛的豬大數(shù)據(jù)分享 \\\"吧,公眾號會不定時的分享相關的知識和資料。 目錄 1、為什么會產(chǎn)生 yarn,它解決了什么問題,有什么優(yōu)勢? 2、簡述hadoop1與h

    2024年02月13日
    瀏覽(26)
  • 大數(shù)據(jù)面試題集錦-Hadoop面試題(三)-MapReduce

    你準備好面試了嗎?這里有一些面試中可能會問到的問題以及相對應的答案。如果你需要更多的面試經(jīng)驗和面試題,關注一下\\\"張飛的豬大數(shù)據(jù)分享\\\"吧,公眾號會不定時的分享相關的知識和資料。 目錄 1、談談Hadoop序列化和反序列化及自定義bean對象實現(xiàn)序列化? 2、FileInputForma

    2024年02月11日
    瀏覽(16)
  • Hadoop快速入門+MapReduce案例(贈送17到23年往年真題答案+MapReduce代碼文件)-----大數(shù)據(jù)與人工智能比賽

    Hadoop快速入門+MapReduce案例(贈送17到23年往年真題答案+MapReduce代碼文件)-----大數(shù)據(jù)與人工智能比賽

    Hadoop的核心就是HDFS和MapReduce HDFS為海量數(shù)據(jù)提供了 存儲 而MapReduce為海量數(shù)據(jù)提供了 計算框架 一.HDFS 整個HDFS有三個重要角色: NameNode (名稱節(jié)點)、 DataNode (數(shù)據(jù)節(jié)點)和 Client (客戶機) NameNode :是Master節(jié)點(主節(jié)點) DataNode : 是Slave節(jié)點(從節(jié)點),是文件存儲的基本

    2024年02月20日
    瀏覽(15)
  • 大數(shù)據(jù)面試高頻題目 - 深入解析 Hadoop:探索強大的HDFS存儲系統(tǒng)

    在大數(shù)據(jù)面試中,深刻理解 Hadoop 是取得成功的關鍵之一。以下是一些關于 Hadoop 的HDFS存儲系統(tǒng)的高頻面試題目以及解答思路和經(jīng)驗分享: 發(fā)起下載請求: 客戶端創(chuàng)建分布式文件系統(tǒng),向 NameNode 請求下載? user/warehouse/ss.avi ?文件; 獲取文件元數(shù)據(jù):NameNode 返回目標文件的元

    2024年03月18日
    瀏覽(16)
  • mysql數(shù)據(jù)庫面試題基礎知識,Hadoop之MapReduce04,騰訊java面試流程

    mysql數(shù)據(jù)庫面試題基礎知識,Hadoop之MapReduce04,騰訊java面試流程

    該方法的執(zhí)行過程比較復雜,我們慢慢來分析,首先來看下簡化的時序圖 3.1waitForCompletion public boolean waitForCompletion(boolean verbose ) throws IOException, InterruptedException, ClassNotFoundException { // 判斷任務的狀態(tài),如果是DEFINE就提交 if (state == JobState.DEFINE) { submit(); } if (verbose) { // 監(jiān)聽并且

    2024年04月14日
    瀏覽(33)
  • 【Hadoop】大數(shù)據(jù)開發(fā)環(huán)境配置

    【Hadoop】大數(shù)據(jù)開發(fā)環(huán)境配置

    進入ifcfg-ens33文件 先修改 BOOTPROTO 參數(shù),將之前的dhcp改為static; IPADDR 中192.168.152是取自虛擬機中虛擬網(wǎng)絡編輯器中子網(wǎng)地址的值,最后的100是自定義的,這個值可以取3~254之間的任意一個數(shù)值; GATEWAY 和 DNS1 設置為網(wǎng)關IP; 先設置臨時主機名 設置永久主機名并生效 驗證主機

    2024年02月12日
    瀏覽(44)
  • 大數(shù)據(jù)開發(fā)之Hadoop(入門)

    大數(shù)據(jù)開發(fā)之Hadoop(入門)

    1、Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎架構(gòu)。 2、主要解決,海量數(shù)據(jù)的存儲和海量數(shù)據(jù)的分析計算問題。 3、Hadoop通常是指一個更廣泛的概念-Hadoop生態(tài)圈 1、高可靠性:Hadoop底層維護多個數(shù)據(jù)副本,所以即使Hadoop某個計算元素或存儲出現(xiàn)故障,也不會導致數(shù)據(jù)

    2024年01月21日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包