1. 程式人生 > >Hadoop之各程序與元件總結

Hadoop之各程序與元件總結

1、hadoop通過一個jobtracker分派任務到一系列tasktracker來執行,tasktracker同時向jobtracker返回任務執行結果。

jobtracker對作業的輸入資料進行分片,然後為每個分片建立一個map任務,同時建立一定數量的reduce任務,並指派空閒的tasktracker來執行這些任務。

tasktracker從jobtracker處獲取任務jar包以及分片的輸入資料,然後新建jvm來執行,並定期反饋執行進度情況。

2、map任務就是進行原始資料的提取工作,提取資料後進行sufflix排序,排序後的資料作為reduce的輸入,然後經過reduce的統計計算得到最後結果。

3、hdfs對資料進行分塊,然後儲存在datanote裡,datanote向namenode報告自己儲存的檔案塊,客戶端通過訪問namenode來得知構成檔案的各個資料塊的具體存放datanote,進而從datanote中讀取整個檔案。

4、hadoop作業的輸入資料必須在作業執行前是固定的,然後才能進行資料的分片,所以不能勝任增量的流式資料處理作業。

5、mapreduce本身需要編寫java程式碼,優化起來也比較複雜,而pig可以讓使用者通過指令碼語句Latin來操作資料,並將指令碼語句轉換成mapreduce來在hadoop中執行,pig並不要求被操作的資料滿足關係資料庫模式。

6、hive構建於hadoop的資料倉庫,能夠對儲存在HDFS中的資料增加元資料,從而提供SQL風格的資料操作,再將操作翻譯成mapreduce來在hadoop中執行。

hive與pig的主要區別是hive能提供SQL風格資料庫表操作,而pig使用自定義的Latin指令碼來直接操作資料,pig更輕量。

7、hbase是一個按列儲存的分散式資料庫,它的表不滿足關係資料庫模式且不支援SQL查詢,可以將資料儲存在HDFS上。

hbase與hive的主要區別,一是hbase是一個分散式資料庫易於水平擴充套件,而hive不是。

二是hbase的資料按列儲存因而能夠靈活的隨機讀寫,而hive本身不改變資料儲存格式,只給資料增加了表元資料從而支援關係資料庫表操作。

8、zookeeper封裝了一套分散式服務所需使用的通用機制,自身的實現是通過多臺伺服器冗餘來實現高可用,能夠自動選舉出領導者來服務於使用者的寫請求,並自動同步到半數的跟隨者,領導者和跟隨者都可以服務於使用者讀請求。

應用場景包括:高可用分散式配置儲存、分散式物件狀態更新訂閱通知、分散式鎖、分散式叢集領導者選舉。

相關推薦

Hadoop程序元件總結

1、hadoop通過一個jobtracker分派任務到一系列tasktracker來執行,tasktracker同時向jobtracker返回任務執行結果。 jobtracker對作業的輸入資料進行分片,然後為每個分片建立一個map任務,同時建立一定數量的reduce任務,

Hadoop Hive 安裝配置

file 接下來 重新 軟件 driver name arc /etc ted Hive 作為基於Hadoop的一個數據倉庫工具,可將sql語句轉換為MapReduce任務進行運行。 通過類SQL語句快速實現簡單的MapReduce統計,不用開發專門的MapReduce應用

DSP28335SPI配置使用總結

現在簡單介紹一下,SPI四種模式,已瞭解的同學可以跳過這一段 以下分別是SPI模式0123 時序解釋: CPOL:時鐘極性選擇,為0時SPI匯流排空閒為低電平,為1時SPI匯流排空閒為高電平 CPHA:時鐘相位選擇,為0時在SCK第一個跳變沿取樣,為1時在SCK第二個跳變沿

Hadoop HBase安裝測試

開發環境和工具 MAC OS Parallels Desktop 12 SecureCRT SecureFX hadoop環境 Centos7 jdk-8u101-linux-x64 Hadoop2.8.1 zookeeper-3.4.10 hb

Linux————守護程序crond定時任務

一. 守護程序    守護程序又稱為精靈(Daemon)程序,顧名思義,守護是一直會存在的,它是執行在後臺的一種特殊的程序,獨立於控制終端並且週期性地執行某種任務或等待處理某些發生的事件。比如當Linux系統啟動的時候會啟動一些系統服務程序,因為這些程序沒有控制終端因此不能直

Redis持久化父子程序寫時複製

之所以將Linux底層的寫時複製技術放在Redis篇幅下,是因為Redis進行RDB持久化時,`BGSAVE`(後面稱之為"後臺儲存")會開闢一個子程序,將資料從記憶體寫進磁碟,這兒我產生了一個疑惑,就當這篇文章的引入場景: 如果我們記憶體中有4G資料,現在8:00執行後臺儲存,由於資料寫會磁碟需要時間,假

全文索引-lucene,solr,nutch,hadoopnutchhadoop

aof java get 查詢 自己 結構 目的 strong 之間 全文索引-lucene。solr。nutch,hadoop之lucene 全文索引-lucene。solr,nutch,hadoop之solr 我在去年的時候,就想把lucene,sol

對設計模式的總結簡單工廠策略模式

mage 建立 不變 href catch nag 實現類 初步 cti 前言 面向對象編程追求的本質-提高擴展性、可維護性、靈活性和復用性。合理利用面向對象6個原則,能夠很好的達到要求。如何利用好就是至關重要的了,前人總結了23+個設計模式能夠讓初學者更容易

201671010128 2017-09-10 《Java程序設計》對象

構造 進度條 ide 哪些 設計 del 特性 面向對象 般的 向對象程序設計的幾個主要概念:抽象數據類型、類和對象、封裝、類層次(子類)、繼承性、多態性。 類是概念模型,定義對象的所有特性和所需的操作,類是對象的原型。 對象是存在的具體實體,具有明確定義的狀態和行為。

Linux 軟件安裝卸載獲取程序包的途徑

如何獲取安裝程序包1、系統發行版的光盤及官方的文件服務器2、http://mirrors.aliyun.com 阿裏 http://mirrors.sohu.com 搜狐http://mirrors.163.com 1633、項目的官方站點比如某個工具的官網 比如 zabbix https://w

CW程序編碼測試總結

while tar source 測試設計 數組 stat 單詞 efault UC github地址:https://github.com/star-mick/wcproject PSP 階段: 估計耗時(min) 實際耗時(min) 計劃:

Python旅.第四章.模塊包.總結(未完待遇)

standard 後綴 att 擔心 lse 綁定 做的 業務 搜索 一、模塊 模塊: 一系列功能的集合體,在python中一個py文件就是一個模塊,模塊名就是py文件的文件名; 模塊的好處: 1.減少重復的代碼 2.拿來主義 定義模塊: 就是創建一個py文件;

ROS服務器客戶端簡單程序遇到的錯誤

執行 AI gist 命令 鏈接 ret 教程 format fail 在按ROS入門教程(點擊打開鏈接)行進過程中遇到的錯誤 1、exec_depend與run_depend一樣 在按ROS入門教程(點擊打開鏈接)行進過程中到了執行 rosmsg show beg

Qt學習總結(C魚)信號槽01

Qt 學習 總結 C魚 自動關聯 第一種自然是手動關聯了,只要調用connect函數就能實現自動關聯。這裏重點講第二種,自動關聯:為了實現槽函數自動進行關聯,對於Qt窗口部件已經提供的信號,可按照以下規範命名:void on_<窗口部件名稱>_<信號名

Notes 20180507 : Java程序設計環境搭建HelloWord

用戶 html 自己的 notes 添加 版本 devel demo 單選 3 HelloWorld     不管從事什麽工作那麽一個工作環境總是必不可少的,那怕你只是要寫篇文章,一張平坦的書桌和流利的書寫筆總是能幫助我們完成工作的,Java開發更是如此。在開始今天的He

大數據----hadooppid進程號快速定位

shell hadoop 經常管理和監控,需要進行shell編程,直接對進程kill或者重啟操作。我們需要進行快速定位到每個進程的pid號pid默認存儲在/tmp目錄 pid內容為進程號 ps -ef|grep hadoop 出現PID A,B,C 可能誤殺B,C [hadoop@hadoop000

Python的語言基礎總結(二)循環字符串操作

整數 範圍 輸入 IV 字符串 spl 余額 upper ict 一、循環和分支   1.  條件分支語句   if  條件:     代碼塊   else:     代碼塊   2.  循環語句之while   思考1:求1+2+3+....+10的值    sum =

程序跳轉帶參跳轉

cti number ava nbsp 正常 ber style num activiti 正常跳轉 wx.navigateTo({  url: ‘../myactivities/myactivities }) 如果你跳轉後的頁面需要phonenumber / nic

ASP.NET SignalR 系列(九)源碼總結

pan ie7 集線器 增加 地址 註意 ocs pac mic 1、SignalR 1.0與2.0有些不同,以上篇章均只支持2.0+ 2、必須註意客戶端調用服務端對象和方法時的大小寫問題 3、客戶端上的方法不能重名 4、IE7及以下的,需要增加json的分析器,分析器下載

算法總結遞推遞歸

總結 c++代碼 不同的 否則 狀況 def 函數調用 n) ron 遞推算法 遞歸算法大致包括兩方面的內容:1)遞歸起點 ; 2)遞歸關系 遞推起點 遞歸起點一般由題目或者實際情況確定,不由遞歸關系推出。如果無法確定遞歸起點,那麽遞歸算法就無法實現。可見,遞歸起點是遞歸算