【Yarn】Timeline Server UI應(yīng)用記錄名稱為null

1.前言

離線任務(wù)在運(yùn)行完成后任務(wù)的詳細(xì)記錄同步到Timeline Server中用于長時間存儲,當(dāng)訪問Timeline Server UI時發(fā)現(xiàn)記錄的應(yīng)用任務(wù)名稱、任務(wù)類型、隊(duì)列等為null導(dǎo)致我們無法進(jìn)行任務(wù)治理、性能分析等工作。

2.分析

【1】訪問UI出現(xiàn)為null的現(xiàn)象懷疑是底層Leveldb數(shù)據(jù)損壞導(dǎo)致。
image.png

【2】編寫代碼讀取底層的Leveldb數(shù)據(jù)驗(yàn)證是否數(shù)據(jù)損壞

public class LevelDBTest {
    public static void main(String []args) throws IOException {
        JniDBFactory factory = new JniDBFactory();
        DB db = factory.open(new File("../timeline/leveldb-timeline-store/entity-ldb.2024-06-07-06"),new Options());
        DBIterator dbIterator = db.iterator();
        dbIterator.seekToFirst();
        while (dbIterator.hasNext()) {
            Map.Entry<byte[], byte[]> entry = dbIterator.next();
            if(new String(entry.getKey()).contains("60799")){
                System.out.println(new String(entry.getKey()));
                System.out.println(new String(entry.getValue()));
                break;
            }
        }
        dbIterator.close();
        db.close();
    }
}

【3】結(jié)果輸出后發(fā)現(xiàn)底層存儲沒有相關(guān)的字段記錄所以存儲沒有問題。
image.png

【4】查看Timeline Server日志確定任務(wù)在上報指標(biāo)的時Token認(rèn)證導(dǎo)致。
image.png
【5】查看Timeline Server日志默認(rèn)的Token認(rèn)證為FileSignerSecretProvider,由于/home/yarn/hadoop-http-auth-signature-secret文件不存在,所有使用了RandomSignerSecretProvider隨機(jī)Token認(rèn)證,但是在進(jìn)行AuthenticationFilterInitializer初始化的時候,同時加載了RMAuthenticationFilterInitializer與TimelineAuthenticationFilterInitializer導(dǎo)致Random Signer Secret會重突。
image.png
【6】我們可以手動創(chuàng)建/home/yarn/hadoop-http-auth-signature-secret文件隨意寫入123456重啟集群或者修改core-site.xml配置中的hadoop.http.filter.initializers把RMAuthenticationFilterInitializer刪除掉即可恢復(fù)正常。
image.png

3.總結(jié)

有時候通過日志、源碼并不能很快的定位的問題原因,我們可以通過配置遠(yuǎn)程DEBUG的方式進(jìn)行代碼調(diào)試來定位原因,如擔(dān)心影響生產(chǎn)環(huán)境上的任務(wù)可以在測試環(huán)境進(jìn)行。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容