原创 syntax error near unexpected token `(' 異常解決

問題的發現 今天執行一個shell腳本時發現報錯了,報錯內容如下: syntax error near unexpected token `(' 腳本內容排查了很多遍都沒有找到原因,執行的方式爲 sh xx.sh 然後使用 s

原创 使用java在aliyun/aws創建E-MapReduce (emr)集羣

文章目錄背景功能點開擼emr接口emr抽象類阿里雲集羣的創建 背景 在上個公司,我的 hera 任務調度系統是運行在本地 cdh 機器上的,並沒有使用 aws/aliyun 提供的 emr 服務。所以爲了使 hera 能夠兼容 em

原创 關於 mysql 的共享鎖 排它鎖以及鎖的實現方式 行鎖 間隙鎖 Next-Key Lock

在 mysql 中有事務四大基本特性,隔離級別,鎖類型,b+ 樹等各種需要我們學習的知識,這裏簡單分享一下 mysql 中的鎖。 對於 mysql 樂觀鎖就不再贅述,通常是增加 last_ver 字段,通過 mvcc 實現的。 下面就

原创 赫拉(hera)分佈式任務調度系統之版本發佈功能頁面

文章目錄前言往期目錄hera2.2-beta版本任務編輯時支持修改任務類型任務組添加管理員bug修復修復centos7機器組監控不顯示的bug對於只有一臺work時,降低任務的分發頻率,儘量避免crash修復任務重試時hostGrou

原创 Dubbo 源碼分析之服務降級

前言 關於服務降級,相信很多小夥伴都聽說過或者操作過。比如最近我們在 12306 上搶票回家,明明看到剩餘的有票,可就是買不到,這就是很明顯的一個(讀)服務降級例子。再比如雙十一時我們付款時偶爾出現付款失敗,重新支付,也是(限流)服

原创 Dubbo 源碼分析之線程池

文章目錄前言Dubbo 線程池分類Dubbo 線程工廠線程池拒絕策略CachedThreadPoolFixedThreadPoolLimitedThreadPoolEagerThreadPool 前言 相信學過 netty 的都知道,

原创 Dubbo 源碼學習之 SPI 詳解

前言 不得不說 Dubbo的自定義 spi 減輕了擴展者的負擔,但減輕負擔的代價是使用大量晦澀難懂的代碼,調用層次深,使閱讀者步步維艱。爲了避免後來者再像我當初那樣看源碼的吃力,特意把我的閱讀見解分享下來,希望大家一起學習。 我使

原创 dubbo源碼學習之自定義線程池拒絕策略(使用Java程序dump線程堆棧信息)

最近在看dubbo源碼,真的學習了很多知識,記得上次看dubbo源碼是在半年前了,看到dubbo自定義的spi就看不下去了,完全看不懂。上週又看了看,頓時茅塞頓開,有時間會分享出來。廢話不多說,在dubbo內部有幾種線程模型,都是使

原创 Java設計模式(三)模板方法模式

模板方法:在抽象類中定義了一個模板方法,在模板方法中使用了一些該抽象類中定義的空方法,而這些空方法可以供子類實現。 我們在查看源碼時經常能夠看到在執行一些重要的方法時,往往調用了一些看似沒有什麼意義的空方法。其實這就是模板方法。

原创 赫拉(hera)分佈式任務調度系統之Q&A(五)

文章目錄往期目錄加入羣聊q&aq:依賴任務的週期怎麼填?q:新加的任務什麼時候會加入調度q:想立刻加入調度怎麼辦q:資源文件怎麼上傳不成功q:開啓/關閉/失效按鈕的區別q:如何控制任務的並行數量q:任務執行會衝突嗎q:什麼是漏跑檢測重

原创 赫拉(hera)分佈式任務調度系統之版本(四)

文章目錄赫拉版本介紹版本的使用加入羣聊 赫拉 大數據平臺,隨着業務發展,每天承載着成千上萬的ETL任務調度,這些任務集中在hive,shell腳本調度。怎麼樣讓大量的ETL任務準確的完成調度而不出現問題,甚至在任務調度執行中出現錯誤

原创 赫拉(hera)分佈式任務調度系統之開發中心(三)

簡介 開發中心,顧名思義。我們進行開發的地方(當然我們也可以直接在調度中心加任務,建議任務首先在開發中心測試,通過之後再加到調度中心)。 項目地址:[email protected]:scxwhite/hera.git 目錄介紹 如圖

原创 赫拉(hera)分佈式任務調度系統之架構,基本功能(一)

文章目錄爲數據平臺打造的任務調度系統前言架構設計目標支持任務的定時調度、依賴調度、手動調度、手動恢復支持豐富的任務類型:shell,hive,python,spark-sql,java可視化的任務DAG圖展示,任務的執行嚴格按照任務的

原创 赫拉(hera)分佈式任務調度系統之項目啓動(二)

克隆hera 暫時還未開源 後面補上。 創建表 當使用git把hera克隆到本地之後,首先在hera/hera-admin/resources目錄下找到hera.sql文件,在自己的數據庫中新建這些必要的表,並插入初始化的數據。 此時

原创 spark streaming被壓分析

在我們使用spark-streaming處理實時數據時,通常在Dstream端的rdd操作較爲耗時,此刻的實時數據還在receiver端不斷的store。由於數據的處理不及時,即Processing Time < blockInte