原创 Erlang:RabbitMQ源碼分析 3. supervisor和supervisor2深入分析

supervisor也是Erlang/OTP裏一個常用的behavior,用於構建supervisor tree實現進程監控,故障恢復。 而RabbitMQ實現了一個supervisor2,我們從源碼角度分析二者的實現和區別。 先介紹一

原创 Erlang:RabbitMQ源碼分析 5. worker pool 實現分析

worker_pool 由一個worker_pool 和N個worker_pool_worker組成, N = number of scheduler threads 外部程序有兩種方式來call worker_pool ,  submi

原创 nutch 初體驗

因爲nutch中就有Hadoop,所以在其中配置Hadoop和原本的Hadoop配置幾乎相同。 唯一不同的就是要配置 1.所有節點的nutch-site.xml文件 <?xml version="1.0"?> <?xml-styleshe

原创 Hadoop的combiner嘗試

Hadoop樣例代碼中的wordcount使用了combiner。 但對於map的輸出形式與reduce輸出形式不一樣的應用,直接使用reduce函數進行combiner會出錯。 因此,必須自己重寫combiner。 在撰寫含有combi

原创 頻繁模式挖掘總結

概念:          對於頻繁模式挖掘,有兩個基本的概念:          support:             support = P(A,B)                confidence:      confiden

原创 Erlang:RabbitMQ源碼分析 1. 啓動過程

RabbitMQ的啓動是基於boot steps, boot steps的每一個step可能是啓動一個component,也可能是打印一個啓動信息。 boot steps是一個有向無環圖,保證了啓動的順序性。 一個boot step: -

原创 Hadoop 的lzo壓縮嘗試

具體設置見那兩個網頁,一個是hadoop-gpl-compression 的wiki,一個是[hadoop系列]hadoop-gpl-compression的安裝和編譯 切記要 <property> <name>mapred.compre

原创 Erlang學習: EUnit Testing for gen_fsm

背景:gen_fsm 是Erlang的有限狀態機behavior,非常有用。愛立信的一位TDD大神寫了一篇如何測試gen_fsm,這個fsm是一個交易系統,負責簡單的交易員登陸,插入item,刪除item等等,翻譯如下: 1. Star

原创 Hadoop namenode宕機問題。

最近Hadoop平臺常常出現問題,應該是namenode的問題,空間不足,無法寫入之類。 現階段發現的原因是tmp文件夾,都刪除後格式化,問題暫時沒再出現

原创 《Professional Linux Kernel Architecture》讀書筆記 (1)

個人覺得讀Linux內核架構是理解操作系統最好的方式,於是在實習之餘開始讀這本書。估計要很久才能讀完。這是上週的筆記。 1. 當Linux在中斷模式的情況下,內核沒有權限訪問用戶的內存空間。 2. 對於32bit的操作系統,每個進程眼中

原创 《Star Schema The Complete Reference》 讀書筆記(1)

現代數據倉庫架構中,表結構以Star Schema爲主。由於數據來源往往是類似於XML的半結構格式,如何轉換爲表結構存入數據庫中,特別是Star Schema結構尤其重要。 1. Star Schema由一個fact table和很多di

原创 Erlang:RabbitMQ源碼分析 4. file_handle_cache實現分析

RabbitMQ的文件操作使用file_handle_cache,將Erlang的prim_file Module包了一層。增加了writeBuffer和對文件打開數量的控制邏輯 file_handle_cache也是一個gen_ser

原创 Erlang:RabbitMQ源碼分析 2. gen_server和gen_server2 深入剖析

據某erlang大牛說,erlang project裏90%的module都是gen_server RabbitMQ重新實現了gen_server -> gen_server2。 很多Module都是用了這個behavior。 我們首先來

原创 HDFS源碼剖析第一篇:Hadoop Configuraion

Hadoop的源碼實在龐大, 第一部分先分析Configuration。 Hadoop系統中的一個configuration,可以看做是一堆key-value對,保存在Configuration的properties屬性中,而這些prop

原创 Hadoop的M-R中間任務分配

Hadoop中,JobTracker會定期與tasktracker保持心跳。tasktracker會告知JobTracker是否上面有task在工作。如果沒有,JobTracker會從task的隊列中取出