原创 日常問題系列——使用parquet-hadoop-1.8.1.jar提供的parquet文件合併,出現too many open files錯誤

背景說明 利用apache parquet-mr項目提供的parquet合併接口,完成hdfs上parquet文件的合併,從而減少hdfs上的小文件,減少文件元數據佔據namenode的內存。 問題描述 現場環境上線parquet

原创 日常問題定位——kafka topic leader none ISR爲空

問題描述     某據點演示環境,用代碼自動創建topic及kafka-console-consumer.sh手動創建topic,用kafka-topic.sh查看topic詳細信息時,leader列顯示爲none,且SIR列顯示

原创 Kafka總結——KafkaProducer

    我司使用kafka版本爲1.1.0,主要有兩個使用場景:其一,消息通信;其二,與spark streaming集成使用。本文用來記錄筆者對kafka producer的使用、理解。 Producer主要工作過程 1、 將消

原创 日常問題系列——Java字節碼解決nosuchmethoderror

問題描述     異常信息,如下: 解決過程 在lib下使用grep -R “XXXX” .命令,查看該類在哪個包中,執行結果如下: lz4-1.3.jar lz4-java-1.4.0.jar 用反編譯工具jd-gui

原创 日常問題系列——藉助Arthas解決noclassdeferror/nosuchmethoderror問題

問題描述 同一個對接華爲fusioninsight平臺的自研軟件平臺版本,在公司的測試環境中,合併parquet文件功能可以正常執行,但是某現場環境功能失效(其實是合併代碼塊沒有運行) 解決問題過程 1、 通過添加邏輯執行日誌的方

原创 累加器使用不當,導致spark driver內存溢出問題

問題說明   最近藉助自定義spark累加器的方式去監控我司大數據平臺處理接入的數據量(自定義累加器定義可以參考方法,可以參考AccumulatorV2.scala),但是最近項目局點同事反饋,文件數很多的情況下,spark dr

原创 linux awk初體驗

背景說明     最近的項目上,跟其他交互模塊定了一個接口文件,其中列分別爲:文件名,文件全路徑,文件大小,type。筆者想計算一下這個接口文件“文件大小”列值之和是多少。本來想寫一段java代碼去實現該功能,但是由於公司網絡部署

原创 記mysql優化SQL的一些技巧

select語句,儘量去指定字段,減少IO、網絡消耗; 使用in時,選項不宜過多;經驗值:少於200個 儘量使用union all、而不是union,如果兩邊子集有重複記錄,那也可以用distinct來解決; 性能較高的分頁方式

原创 java Checksum接口來驗證跨hdfs集羣傳輸文件的正確性

背景說明     項目中,爲了減少備份機房hdfs namenode內存壓力,將採集文件壓縮成tar,再傳輸至備份機房。在此期間,爲了確保跨集羣傳輸tar包的正確性,在生成tar文件時,需要生成crc32值。下面給出了java生成

原创 記一次使用spark累加器來實現流程數據量監控功能

業務場景     採集工具採集的文件中以日期爲標識,但是該文件中卻可能包含了多天的數據,所以在統計當天推送文件記錄總數時,需要記錄當天的文件錄入了詳單表的哪些分區。後續業務開發利用這種映射關係,就可以縮小詳單表分區範圍,儘快的統

原创 記一次sparksql讀取oracle數據優化過程

問題描述 Sparksql提供外接關係型數據庫的接口如下, def jdbc( url: String, table: String, columnName: String, lowe

原创 日常問題系列——JVM參數定位ClassNotFoundException/NoClassDefFoundError

背景     由於華爲fushioninsight平臺升級了版本(spark、hadoop版本大躍進),導致我司的大數據平臺對接失敗,最近,根據華爲客戶端的jar包,重新編譯大數據平臺代碼,在重新對接過程中,出現了一些jar包導致

原创 yarn筆記——資源調度器區別

    公司裏維護的hadoop是cdh版本,yarn資源調度器默認使用fair scheduler,最近在對接華爲fushioninsight平臺,該平臺中的yarn使用的capacity scheduler。好奇這兩種調度類型

原创 Scala高級語法系列之隱式轉換

  Scala隱式轉換可分爲三種類型:隱式參數、隱式類型轉換、隱式類。其中,隱式類只能定義在單例對象/伴生對象中,筆者還沒想到很好的使用場景,本篇不做案例。 案例一、隱式參數 package basic object Impli

原创 日常問題系列——yarn web ui提供kill application功能;登錄用戶爲dr.who,無法查看application運行情況

問題一、yarn web ui界面沒有辦法查看application具體運行情況 Yarn Web UI界面效果如下: 點擊一個running 狀態的application,會顯示如下信息: You (User dr.who) ar