原创 Hadoop源碼分析筆記(三):Hadoop遠程過程調用
Hadoop遠程過程調用 遠程過程調用(RPC) 作爲分佈式系統,Hadoop中各個實體間存在着大量的交互,遠程過程調用(Remote Procedure Call,RPC)讓用戶可以像調用本地方法一樣調用另外一個應用程序
原创 常用排序算法小結
常用排序算法小記 排序算法很多地方都會用到,近期又重新看了一遍算法,並自己簡單地實現了一遍,特此記錄下來,爲以後複習留點材料。 廢話不多說,下面逐一看看經典的排序算法: 1. 選擇排序 選擇排序的基本思想是遍歷數組的過程中,以 i 代
原创 Java IO流系統詳解
相關讀書筆記、心得文章列表 Java 流在處理上分爲字符流和字節流。字符流處理的單元爲 2 個字節的 Unicode 字符,分別操作字符、字符數組或字符串,而字節流處理單元爲 1 個字節,操作字節和字節數組。 Java 內用 Uni
原创 Hadoop源碼分析筆記(十一):數據節點--數據節點整體運行
數據節點整體運行 數據節點通過數據節點存儲和文件系統數據集,管理着保存在Linux文件系統上的數據塊,通過流式接口提供數據塊的讀、寫、替換、複製和校驗信息等功能。建立在上述基礎上的數據節點,還需要維護和名字節點的關係,週期性地
原创 Hadoop源碼分析筆記(十二):名字節點--文件系統目錄樹
名字節點簡介 名字節點在Hadoop分佈式文件系統中只有一個實例,卻是最複雜的一個實例。名字節點維護着HDFS文件系統中兩個最重要的關係: 1、HDFS文件系統的文件目錄樹,以及文件的數據塊索引,即每個文件
原创 Hadoop源碼分析筆記(十三):名字節點--數據塊和數據節點管理
數據塊和節點管理 名字節點維護着HDFS文件系統中兩個重要的關係: 一、HDFS文件系統的文件目錄樹,以及文件的數據塊索引,即每個文件對應的數據塊列表。 二、數據塊與數據節點的對應關係
原创 Hadoop源碼分析筆記(九):數據節點--數據塊存儲
數據節點簡介 我們繼續來了解Hadoop分佈式文件系統各個實體內部的工作原理。首先是數據節點,它以數據塊的形式在本地Linux文件系統上保存HDFS文件的內容,並對外提供文件數據訪問功能。客戶端讀寫HDFS文件時,必須根據
原创 Hadoop源碼分析筆記(十):數據節點--流式接口的實現
流式接口的實現 數據節點通過數據節點存儲DataStorage和文件系統數據集FSDataset,將數據塊的物理存儲抽象爲對象上的服務,流式接口就是構建在這個服務之上、數據節點的另一基本功能。 爲了保證HD
原创 Hadoop源碼分析筆記(六):HDFS源代碼結構和基於IPC調用接口
HDFS源代碼結構 HDFS的源代碼都在org.apche.hadoop.hdfs包下。HDFS的源代碼分佈16個目錄下,它們可以分爲如下四類。 1、基礎包 包括工具和安全包。其中,hdfs
原创 Hadoop源碼分析筆記(十四):名字節點--遠程接口ClientProtocol
遠程接口ClientProtocol ClientProtocol的方法分爲兩組,實現Hadoop文件系統的遠程方法和實現多功能工具dfsadmin的遠程方法。實現文件系統的遠程方法可以進一步區分,將讀寫文件數據和其
原创 Hadoop源碼分析筆記(七):HDFS非遠程調用接口
HDFS非遠程調用接口 在網絡文件系統(NFS)是SUN公司在遠程調用(RPC)之上開發的,它的所有文件操作,包括文件/目錄API和用於讀寫文件數據,都通過遠程過程調用實現。客戶使用本地操作系統提供的系統調用訪問文件系統,
原创 Hadoop源碼分析筆記(一):Hadoop Configuration詳解
Hadoop Conguration詳解: 本文着重講述Hadoop配置模塊的基礎類:org.apache.hadoop.conf.Configuration。 Java配置文件 JDK本身提供了java.util.P
原创 Hadoop源碼分析筆記(四):Hadoop文件系統簡介
Hadoop文件系統簡介 Hadoop文件系統,包括Hadoop抽象文件系統以及基於該抽象文件系統的大量具體文件系統,以滿足構建在Hadoop上的各類應用的各種數據訪問需求,是文件系統發展的新階段。 文件系統的實現
原创 Hadoop源碼分析筆記(十五):名字節點--啓動和停止
名字節點啓動和停止 安全模式 名字節點啓動時,內存中一片空白,第一要緊的事情就是把命名空間鏡像加載到內存,並應用鏡像編輯日誌,這個過程結束時,會創建一個新的檢查點,包括新命名空間鏡像和一個空的編輯日誌。完成上訴工作後,名字
原创 限量搶購功能的實現
業務背景: 某公司開展活動,4個實體店,每天限量發放10個優惠券,供人們搶購。 技術分析: 一旦涉及搶購,必然會引起併發問題,而且還儘量保證程序的併發性,這就要求或者在程序中做同步,或者在數據庫層次做同步。