日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

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

编程问答

大数据基础知识问答----hadoop篇

發布時間:2025/3/15 编程问答 78 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大数据基础知识问答----hadoop篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

handoop相關知識點

1.Hadoop是什么?

Hadoop是一個由Apache基金會所開發的分布式系統基礎架構。用戶可以在不了解分布式底層細節的情況下,開發分布式程序。充分利用集群的威力進行高速運算和存儲。

Hadoop is a distributed computing platform written in Java. It incorporates features similar to those of the Google File System and of MapReduce. For some details, see HadoopMapReduce.

2.Hadoop框架最核心的設計是?

HDFS和MapReduce。HDFS為海量的數據提供了存儲,則MapReduce為海量的數據提供了計算。

3.Hadoop的主要優點?

Hadoop的主要優點有以下幾個:

  • (a) 高可靠性。Hadoop按位存儲和處理數據的能力值得人們信賴。

  • (b)高擴展性。Hadoop是在可用的計算機集簇間分配數據并完成計算任務的,這些集簇可以方便地擴展到數以千計的節點中。

  • (c)高效性。Hadoop能夠在節點之間動態地移動數據,并保證各個節點的動態平衡,因此處理速度非常快。

  • (d)高容錯性。Hadoop能夠自動保存數據的多個副本,并且能夠自動將失敗的任務重新分配。

  • (e)低成本。與一體機、商用數據倉庫以及QlikView、Yonghong Z-Suite等數據集市相比,hadoop是開源的,項目的軟件成本因此會大大降低。

4.HDFS是什么?

Hadoop實現了一個分布式文件系統(Hadoop Distributed File System),簡稱HDFS。


HDFS有高容錯性的特點,并且設計用來部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)來訪問應用程序的數據,適合那些有著超大數據集(large data set)的應用程序。HDFS放寬了(relax)POSIX的要求,可以以流的形式訪問(streaming access)文件系統中的數據。

對外部客戶機而言,HDFS就像一個傳統的分級文件系統。可以創建、刪除、移動或重命名文件,等等。但是 HDFS 的架構是基于一組特定的節點構建的,這是由它自身的特點決定的。

這些節點包括 NameNode(僅一個),它在 HDFS 內部提供元數據服務;DataNode,它為 HDFS 提供存儲塊。由于僅存在一個 NameNode,因此這是 HDFS 的一個缺點(單點失敗)。
存儲在 HDFS 中的文件被分成塊,然后將這些塊復制到多個計算機中(DataNode)。這與傳統的 RAID 架構大不相同。塊的大小(通常為 64MB)和復制的塊數量在創建文件時由客戶機決定。NameNode 可以控制所有文件操作。HDFS 內部的所有通信都基于標準的 TCP/IP 協議。

HDFS的部分特性:

1. 一致性,高可用性,分區容錯性
2. 存儲超大文件
3. 一次寫入,多次讀取(流式數據訪問)
4. 運行在普通廉價的服務器上
5. 以高延遲為代價
6. 不適合存儲大量小容量的文件
7. 會在多個datanode上存儲多份副本,默認3份,三份副本一般會保存在兩個或者兩個以上的服務器中
8. namenode 負責管理文件目錄,文件和block的對應關系以及block和datanode的對應關系
9. datanode負責存儲,大部分的容錯機制都是在datanode上實現

5、NameNode是什么?

NameNode 是一個通常在 HDFS 實例中的單獨機器上運行的軟件。
它負責管理文件系統名稱空間和控制外部客戶機的訪問。NameNode 決定是否將文件映射到 DataNode 上的復制塊上。對于最常見的 3 個復制塊,第一個復制塊存儲在同一機架的不同節點上,最后一個復制塊存儲在不同機架的某個節點上。

NameNode本身不可避免地具有SPOF(Single Point Of Failure)單點失效的風險,主備模式并不能解決這個問題,通過Hadoop Non-stop namenode才能實現100% uptime可用時間。

6.What is the purpose of the secondary name-node?

The term “secondary name-node” is somewhat misleading. It is not a name-node in the sense that data-nodes cannot connect to the secondary name-node, and in no event it can replace the primary name-node in case of its failure.

The only purpose of the secondary name-node is to perform periodic checkpoints. The secondary name-node periodically downloads current name-node image and edits log files, joins them into new image and uploads the new image back to the (primary and the only) name-node. See User Guide.

So if the name-node fails and you can restart it on the same physical node then there is no need to shutdown data-nodes, just the name-node need to be restarted. If you cannot use the old node anymore you will need to copy the latest image somewhere else. The latest image can be found either on the node that used to be the primary before failure if available; or on the secondary
name-node.

The latter will be the latest checkpoint without subsequent edits logs, that is the most recent name space modifications may be missing there. You will also need to restart the whole cluster in this case.

7. I have a new node I want to add to a running Hadoop cluster; how do I start services on just one node?

This also applies to the case where a machine has crashed and rebooted, etc, and you need to get it to rejoin the cluster. You do not need to shutdown and/or restart the entire cluster in this case.
First, add the new node’s DNS name to the conf/slaves file on the master node.
Then log in to the new slave node and execute:

$ cd path/to/hadoop $ bin/hadoop-daemon.sh start datanode $ bin/hadoop-daemon.sh start tasktracker

8. Is there an easy way to see the status and health of my cluster?

There are web-based interfaces to both the JobTracker (MapReduce master) and NameNode (HDFS master) which display status pages about the state of the entire system.
By default, these are located at:
http://job.tracker.addr:50030/ and http://name.node.addr:50070/.

The JobTracker status page will display the state of all nodes, as well as the job queue and status about all currently running jobs and tasks. TheNameNode status page will display the state of all nodes and the amount of free space, and provides the ability to browse the DFS via the web.

$ bin/hadoop dfsadmin -report

9、DataNode如何理解?

DataNode 也是一個通常在 HDFS實例中的單獨機器上運行的軟件。

Hadoop 集群包含一個 NameNode 和大量 DataNode。DataNode 通常以機架的形式組織,機架通過一個交換機將所有系統連接起來。Hadoop 的一個假設是:機架內部節點之間的傳輸速度快于機架間節點的傳輸速度。

DataNode 響應來自 HDFS 客戶機的讀寫請求。它們還響應來自 NameNode 的創建、刪除和復制塊的命令。NameNode 依賴來自每個 DataNode 的定期心跳(heartbeat)消息。每條消息都包含一個塊報告,NameNode 可以根據這個報告驗證塊映射和其他文件系統元數據。如果 DataNode 不能發送心跳消息,NameNode 將采取修復措施,重新復制在該節點上丟失的塊。

10、如何理解Google集群系統原型?

Google的數據中心使用廉價的Linux PC機組成集群,在上面運行各種應用。核心組件是3個:

  • (a) GFS(Google File System)。一個分布式文件系統,隱藏下層負載均衡,冗余復制等細節,對上層程序提供一個統一的文件系統API接口。Google根據自己的需求對它進行了特別優化,包括:超大文件的訪問,讀操作比例遠超過寫操作,PC機極易發生故障造成節點失效等。GFS把文件分成64MB的塊,分布在集群的機器上,使用Linux的文件系統存放。同時每塊文件至少有3份以上的冗余。中心是一個Master節點,根據文件索引,找尋文件塊。詳見Google的工程師發布的GFS論文。

  • (b) MapReduce。Google發現大多數分布式運算可以抽象為MapReduce操作。Map是把輸入Input分解成中間的Key/Value對,Reduce把Key/Value合成最終輸出Output。這兩個函數由程序員提供給系統,下層設施把Map和Reduce操作分布在集群上運行,并把結果存儲在GFS上。

  • (c) BigTable。一個大型的分布式數據庫,這個數據庫不是關系式的數據庫。像它的名字一樣,就是一個巨大的表格,用來存儲結構化的數據。

11、Hadoop生態圈子項目有哪些?

(a)HDFS: Hadoop分布式文件系統(Distributed File System)
(b)MapReduce:MapReduce是處理大量半結構化數據集合的編程模型
(c)HBase: 類似Google BigTable的分布式NoSQL列數據庫。
(d)Hive:數據倉庫工具,由Facebook貢獻。
(e)Zookeeper:分布式鎖設施,提供類似Google Chubby的功能,由Facebook貢獻。
(f)Avro:新的數據序列化格式與傳輸工具,將逐步取代Hadoop原有的IPC機制。
(g)Pig: 大數據分析平臺,為用戶提供多種接口。
(h)Ambari:Hadoop管理工具,可以快捷的監控、部署、管理集群。
(i)Sqoop:于在HADOOP與傳統的數據庫間進行數據的傳遞。

12、Hadoop1.x與Hadoop2.x的區別?

Hadoop2.x中有兩個重要的變更:

(a)HDFS的NameNode可以以集群的方式部署,增強了NameNode的水平擴展能力和可用性
(b)MapReduce將JobTrack中的資源管理及任務生命周期管理(包括定時觸發及監控),拆分成兩個獨立的組件,并更名為YARN

13、Hadoop2.x解決了Hadoop1.x中的哪些問題

(a)2.x解決了1.x中的namenode單點故障問題
(b)解決了namenode內存壓力過大難以擴展問題
(c)解決了JobTrack單點故障問題
(d)解決了JobTrack訪問壓力過大問題
(e)解決了對MapReduce之外的框架支持問題

Hadoop例題—-填空篇

1.在數據分析與挖掘中對數據的訪問性要求包括:交互性訪問、____、迭代計算、_____,HADOOP僅僅支持了其中____,而Spark則支持所有4種方式。

2.2004年Google發表的三篇著名的分布式論文是關于分布式計算_分布式數據庫、分布式文件系統,分別對應的開源實現是____mapreduce_BIGTABLE___GFS_______

3.HDFS的默認文件會存儲____3份,如果有三臺HDFS節點,有兩臺機器宕機的情況下文件會丟失嗎?不會

4.HDFS中Master 進程叫_, Slaves進程叫_____

Hadoop例題—-問答篇

1.解釋MapReduce中的Partition和Shuffle?

在MapReduce過程中需要將任務進行分片,Shuffle:是描述數據從map端輸入到reduce的過程,在hadoop中,大部分map task和reducetask是在不同的node執行,重要開銷是網絡開銷和磁盤IO開銷, 因此,shuffle的作用主要是:完整的從map task端傳輸到reduce端;跨節點傳輸數據時,盡可能的減少對帶寬的消耗

2.請列出你所知道的大數據應用的中間件及用途,例如 hdfs 分布式文件系統?

(a) Hdfs是廣泛使用的hadoop生態圈中的 分布式文件系統,很多其他組件都是依賴于hdfs進行實現,比如hadoop 的map reduce算法,hbase。 HDFS就像一個傳統的分級文件系統。可以創建、刪除、移動或重命名文件 HDFS: Hadoop分布式文件系統(Distributed File System) Spark的rdd也是一個非常有用的中間件,它為spark各類組件提供在內存中表示數據的基本存儲格式。 (b)MapReduce:MapReduce是處理大量半結構化數據集合的編程模型 (c)HBase: 類似Google BigTable的分布式NoSQL列數據庫。 (d)Hive:數據倉庫工具,由Facebook貢獻。 (e)Zookeeper:分布式鎖設施,提供類似Google Chubby的功能,由Facebook貢獻。

Hadoop例題—-上機操作

HDFS基本操作
- 拷貝文件到HDFS
- 考出文件到本地文件系統
- 修改文件目錄權限
- HDFS NameNode/DataNode Web監控
例題:
1. 請按以下要求運行hadoop 自帶的wordcount程序
a) 將輸入文件wordcount1.txt和wordcount2.txt 拷貝到hdfs 的/input/
b) 修改文件的權限為777
c)運行wordcount 的hadoop sample程序統計wordcount1.txt和wordcount2.txt 合計出現的單詞個數
d)將輸出結果拷貝到本地文件系統,答印結果.
e)將hdfs上的輸出文件夾out刪除

hadoop fs -copyFromLocal /data/wordcount/* /input/ hadoop fs -chmod 777 /input hadoop jar hadoop-mapreduce-examples-2.7.2.jar wordcount /input /out hadoop fs -copyToLocal /out /data/

轉載于:https://www.cnblogs.com/wuyida/p/6301253.html

總結

以上是生活随笔為你收集整理的大数据基础知识问答----hadoop篇的全部內容,希望文章能夠幫你解決所遇到的問題。

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