原创 hdfs之DataNode

目錄DataNode工作機制數據完整性掉線時限參數設置新加節點下掉節點添加白名單黑名單退役Datanode多目錄配置 DataNode工作機制 一個數據塊在DataNode上以文件形式存儲在磁盤上,包括兩個文件,一個是數據本身

原创 flume之自定義mysql source

<dependencies> <dependency> <groupId>org.apache.flume</groupId> <artifactId>flume-ng-core</arti

原创 spark內核解析6-任務調度機制

我們公司用的是Yarn管理的所有資源,也就是yarn-cluster模式 博客如果有些地方理解的不對,歡迎大家指出,共同交流進步 任務提交流程 下面兩個圖你看哪個看着更習慣,大家可以看看熟悉這個流程 以流程圖表示 從上述時序圖可知

原创 JUC之CountDownLatch/CyclicBarrier/Semaphore

目錄CountDownLatch概念code演示結合枚舉類CyclicBarrier概念code演示,Semaphore概念code演示 CountDownLatch 概念 一個計數器,減法操作 CountDownLatch主要有

原创 spark內核解析8-內存管理

目錄堆內和堆外內存內存空間分配靜態內存管理統一內存管理存儲內存管理RDD的持久化機制RDD的緩存過程淘汰與落盤執行內存管理 堆內和堆外內存 堆內(On-heap): 建立在 JVM 的內存管理之上 受到JVM統一管理 可以通過啓

原创 spark如何防止內存溢出

MEMORY_AND_DISK 使用rdd.persist(StorageLevel.MEMORY_AND_DISK)代替rdd.cache() 降低cache操作的內存佔比 增加每個executor的內存量 使用kero序列化機

原创 spark內核解析5-通訊機制

Spark通信架構概述 Spark2.x版本使用Netty通訊框架作爲內部通訊組件,之前用Akka,它是基於Actor模型 Spark通訊框架中各個組件(Client/Master/Worker)可以認爲是一個個獨立的實體,各個實

原创 flume實戰案例

目錄實戰1實戰2實戰3實戰4 單數據源多出口案例(選擇器)實戰5 單數據源多出口案例(Sink組)實戰6 多數據源彙總案例 實戰1 首先啓動Flume任務,監控本機44444端口,服務端; 然後通過netcat工具向本機44444

原创 hdfs之NameNode和SecondaryNameNode

目錄NN和2NN工作機制詳解:Fsimage和Edits解析CheckPointNameNode故障處理集羣安全模式 NN和2NN工作機制詳解: Fsimage:NameNode內存中元數據序列化後形成的文件。 Edits:記錄客

原创 java的幾種鎖

這裏寫目錄標題公平鎖/非公平鎖可重入鎖/遞歸鎖自旋鎖讀寫鎖/獨佔/共享鎖 公平鎖/非公平鎖 概念:所謂公平鎖,就是多個線程按照申請鎖的順序來獲取鎖,類似排隊,先到先得。而非公平鎖,則是多個線程搶奪鎖,會導致優先級反轉或飢餓現象。

原创 Spark Troubleshooting

目錄控制reduce端緩衝大小以避免OOMJVM GC導致的shuffle文件拉取失敗解決各種序列化導致的報錯解決算子函數返回NULL導致的問題解決YARN-CLIENT模式導致的網卡流量激增問題解決YARN-CLUSTER模式的

原创 JUC集合類之阻塞隊列

這裏寫目錄標題概念架構BlockingQueue的七個實現類BlockingQueue的API阻塞隊列的應用——生產者消費者 概念 當阻塞隊列爲空時,獲取(take)操作是阻塞的;當阻塞隊列爲滿時,添加(put)操作是阻塞的。 阻

原创 spark數據傾斜

目錄什麼是數據傾斜怎麼定位解決方案1聚合原數據2過濾導致傾斜的key3提高shuffle操作中的reduce並行度4使用隨機key實現雙重聚合5將reduce join轉換爲map join6sample採樣對傾斜key單獨進行j

原创 JVM淺析(中度)

目錄JVM垃圾回收的時候如何確定垃圾什麼死垃圾如何判斷一個對象可以被回收引用計數法可達性分析GC RootsJVM參數標配參數X參數(瞭解即可)XX參數(重要)布爾類型KV鍵值類型Xms/XmxJVM 常用參數JVM參數參看JVM

原创 hdfs中央緩存Centralized Cache

HDFS中央緩存管理 HDFS提供了一個高效的緩存加速機制——Centralized Cache Management,可以將一些經常被讀取的文件(例如Hive中的fact表)pin到內存中。這些DataNode的緩存也是由Nam