1. 程式人生 > >Hadoop架構中各個叢集在開發中的作用

Hadoop架構中各個叢集在開發中的作用

學習大資料,如果只是零零散散地學習各個模組,就會深陷其中,很難深入瞭解hadoop架構中各個叢集的作用。那麼在實際開發中,究竟是怎樣的一個流程呢?先看下面一張流程圖:


接下來就用一些大白話,來講解每個模組的實際應用。

大資料工程師應該從哪裡收集使用者的訪問資料呢?一般可以從兩個地方可以取,一個是客戶端,一個是服務端。

如果從伺服器取資料,比如伺服器每天在晚上8點到9點之間使用者訪問量非常多,而如果我們也從伺服器獲取這些資料,那麼會造成伺服器端壓力更加的大了。

 所以很多時候可以從客戶端獲取資料,客戶端每一次訪問url都會產生資料,每一次訪問順便就把這些資料傳送給大資料伺服器。那麼這個怎麼做到的呢?使用者每次訪問一個

url,就會給他返回一堆html資料,而html中的js程式碼就可以幫我們實現傳送資料的需求。所以我們只需寫一段收集資料的js巢狀的html頁面中即可。而這個js程式碼就稱為js錨點程式也叫做js SDK

 這些資料最終肯定都會儲存到HDFS分散式檔案系統中,但js返回的資料也不可能直接就存到HDFS,因為jsSDK就不能寫HDFS的客戶端程式碼。況且,比如淘寶,併發量是非常之大的,在同一時間點會產生巨大的資料,所以我們需要一個可以接收高併發資料的伺服器,這個時候,nginx就派上用場了,所以jsSDK把資料傳送給nginx叢集。nginx叢集的資料存入到本地檔案中。這個時候就引來一個問題,如何把本地資料搞到

HDFS分散式檔案系統上呢?

),flume就可以做這樣的事情,Flume是一個分散式的海量日誌採集和傳輸框架,nginx是個叢集,資料分佈在不同的節點,Flume可以實時的從網路協議、訊息系統、檔案系統採集日誌,並傳輸到HDFS上。

當然不可能所有的日誌資料都是通過jsSDK在客戶端收集,比如支付日誌,如果在客戶端收集,就不會很安全了。所以必須要在web服務端收集了。就需要用到javaSDK了。javaSDK同樣把資料傳送給nginx叢集。

上面整個流程已經把收集到的日誌資料,儲存到了HDFS中。那麼怎麼把HDFS中的資料拿出來處理呢?

先使用ETL(ETL,是英文 Extract-Transform-Load 的縮寫,用來描述將資料從來源端經過抽取(

extract)、轉換(transform)、載入(load)至目的端的過程。ETL一詞較常用在資料倉庫,但其物件並不限於資料倉庫。)資料倉庫技術清洗資料(可以用MapReduce或Hive清洗)。清洗完的資料放到HBase中,(當然如果不需要對資料進行實時改動可以直接放到Hive中即可,但是如果要實時改動資料就存入HBase)。然後就可以開始分析HBase上面的資料了。分析的方法一般是MRSparkHive

,處理結果我們需要在web頁面去顯示,把分析後的結果先放到MySql這種實時響應的關係型資料庫中。MRSpark都可以直接把資料寫入MySql中,但是Hive卻不行,它把分析的資料存在HDFS分散式系統中,這個時候Sqoop就出現了(Sqoop(發音:skup)是一款開源的工具,主要用於在Hadoop(Hive)與傳統的資料庫(mysqlpostgresql...)間進行資料的傳遞,可以將一個關係型資料庫(例如 MySQL ,Oracle ,Postgres等)中的資料導進到HadoopHDFS中,也可以將HDFS的資料導進到關係型資料庫中。


相關推薦

Hadoop架構各個叢集開發作用

學習大資料,如果只是零零散散地學習各個模組,就會深陷其中,很難深入瞭解hadoop架構中各個叢集的作用。那麼在實際開發中,究竟是怎樣的一個流程呢?先看下面一張流程圖:接下來就用一些大白話,來講解每個模組的實際應用。大資料工程師應該從哪裡收集使用者的訪問資料呢?一般可以從兩個地

CCS各個專案檔案的作用

1.include標頭檔案(.h)的主要作用 標頭檔案,一般用於定義程式中的函式、引數、變數和一些巨集單元,同庫函式配合使用。因此,在使用庫時,必須用相應的標頭檔案說明。 2.DSP/BIOS CONFIG FILES 開發基於DSP/BIOS的程式儲存BIOS配置之後自動產

JavaWeb-Spring各個jar包的作用

1.spring-aop-3.2.2.jar 包含在應用中使用spring的aop特性時所需的類。 2.spring-aspects-3.2.2.jar 提供對aspectj的支援,以便可以方便的將面向方面的功能整合進ide中 3.spring-bean

jdk1.7包各個jar包的作用

       我相信jdk 1.7 大家應該很熟悉了吧。現在一般的jar開發基本上使用的是1.6和1.7版本的。 jdk1.7呢有15個jar 分別為resources.jar rt.jar  jsse.jar &n

Hadoop-2.7.3叢集搭建遇到的問題總結

0 前言: 1)Hadoop叢集搭建參照前一篇博文Hadoop叢集安裝配置教程 2)叢集有三個節點:Master、Slave1、Slave2,其中Master只作namenode,其餘兩個從節點做datanode 1 搭建過程中常用Hadoop指令: 1

mybatis各個表籤的作用

trim 表籤的使用 trim元素的主要功能是可以在自己包含的內容錢加上某些字首,也可以在其後加上某寫字尾,與之對應的屬性是prefix和suffix; 可以把包含內容的首部某些內容覆蓋,即忽略,也

Spring各個jar包的作用

spring.jar是包含有完整發布的單個jar 包,spring.jar中包含除了spring-mock.jar裡所包含的內容外其它所有jar包的內容,因為只有在開發環境下才會用到 spring-mock.jar來進行輔助測試,正式應用系統中是用不得這些類的。  除

spring3.0.7各個jar包的作用總結

org.springframework.context-3.0.7.RELEASE--->Spring提供在基礎IoC功能上的擴充套件服務,此外還提供許多企業級服務的支援,如郵件服務、任務排程、JNDI定位、EJB整合、遠端訪問、快取以及各種檢視層框架的封裝等 org.springframework.a

TCP連接time_wait在開發的影響-搜人以魚不如授之以漁

清除 color title 打印 出現 .com ace tor width   根據TCP協議定義的3次握手斷開連接規定,發起socket主動關閉的一方socket將進入TIME_WAIT狀態,TIME_WAIT狀態將持續2個MSL(Max Segment Lifeti

mybatis註解式開發傳遞多個引數的方式

在mybatis的動態代理開發中,當介面需要傳入多個引數時,一般有以下幾種做法(推薦@Param方式) 1.傳遞包裝型別(不推薦要建立一個包裝類去包含所有的引數型別,並且在#{}中還要填入特定的值) 2.假設介面中傳入兩個引數則#{0}代表第一個引數,以此類推 <

iOS都有什麽設計模式?各個設計模式的作用

關閉 單例設計 重載 family phone 代碼結構 案例 nco ror 一 iOS中都有什麽設計模式? 1.代理模式 2.觀察者模式 3.MVC模式 4.單例模式 5.策略模式 6.工廠模式 二 各個設計模式的作用? (一)代理模式 在觀察者模式中,一個對象

微服務開發的數據架構設計

圖像 mat mage 框架 耦合度 內容 txt 適配器 而是 本文來自作者 陳偉榮 在 GitChat 分享的文章【微服務開發中的數據架構設計】 前言 微服務是當前非常流行的技術框架,通過服務的小型化、原子化以及分布式架構的彈性伸縮和高可用性,可以實現業務之間

窄帶物聯網(NB-IoT)科技的協同開發平臺有什麽作用

窄帶物聯網科技 窄帶物聯網 江西天行智慧科技 NB-IoT 協同開發平臺 窄帶物聯網(NB-IoT)科技中的協同開發平臺有什麽作用? 窄帶物聯網(NB-IoT)科技被廣泛應用到農業、工業、智慧城市、智能路燈、智能抄表、旅遊管理等各行各業。其中應用到協同開發平臺,它的作用是什麽呢? 窄帶物聯

linux各個目錄的作用

1、/ 根目錄 ——— 所有目錄掛在其下 2、/boot ——— 存放Ubuntu核心和系統啟動檔案。系統啟動時這些檔案先被裝載。 3、/etc ——— 系統的配置檔案目錄。密碼檔案、設定網絡卡資訊、環境變數的設定等都在此目錄中,許多網路配置檔案也在其中。 4、/lib ——— 根

Python Web開發,WSGI協議的作用和實現原理詳解

首先理解下面三個概念: WSGI:全稱是Web Server Gateway Interface,WSGI不是伺服器,python模組,框架,API或者任何軟體,只是一種規範,描述web server如何與web application通訊的規範。 uwsgi:與WSGI一樣是一種協議,是uWSGI伺服器

Java架構-Java開發的一些小技巧

一、 Java獲取URL地址中傳遞的引數 二、獲取請求的URL地址 三、獲取請求的IP地址 四:判斷字串是否能夠轉換成指定格式的日期 希望此文能幫到大家的同時,也聽聽大家的觀點。歡迎留言討論,加關注,分享你的高見!持續更新! 我本人邀約各大BATJ

Hadoop叢集搭建ssh免密登入

 參考: 大資料系列(3) Hadoop中的ssh無密碼登入配置 解決 Agent admitted failure to sign using the key 問題 with ssh

CDN在前端開發作用

CDN在前端開發的作用 CDN 內容分發網路:content delivery network ​ 概況:設定多個節點伺服器,分佈在不同區域中,便於使用者進行資料傳遞和訪問。當某一個節點出現問題時,通過其他節點仍然可以完成資料傳輸工作,可以提高使用者訪問網站的響應速度。 ​

微服務開發的資料架構設計

  微服務是當前非常流行的技術框架,通過服務的小型化、原子化以及分散式架構的彈性伸縮和高可用性,可以實現業務之間的鬆耦合、業務的靈活調整組合以及系統的高可用性。為業務創新和業務持續提供了一個良好的基礎平臺。本文分享在這種技術架構下的資料架構的設計思想以及設計要點,本文包括下面

Arrayadaper在安卓開發作用

安卓中adapter分為ArrayAdapter和baseAdapter;其中簡單的ArrayAdapter主要用於簡單的文字字串的實現。 實現建立介面卡adapter的主要步驟:     1、建立檢視ListView          2、建立資料來源items &nbs