溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

修改hadoop腳本改變CLASSPATH中jar加載順序

發(fā)布時(shí)間:2020-06-23 15:35:47 來(lái)源:網(wǎng)絡(luò) 閱讀:3117 作者:rumeng_you 欄目:大數(shù)據(jù)

    先說(shuō)一下環(huán)境,有兩個(gè)集群,一個(gè)新的一個(gè)舊的,打算把新的調(diào)試好然后把舊的關(guān)掉。

    新:Cloudera Express 5.6.0,CDH-5.6.0

    舊: Cloudera Express 5.0.5,CDH-5.0.5

    新集群搭建過(guò)程中發(fā)現(xiàn)一個(gè)問(wèn)題,執(zhí)行以下命令對(duì)lzo文件創(chuàng)建索引,在新集群中job無(wú)法提交到指定隊(duì)列,同樣的命令在舊集群中正常:

     hadoop jar hadoop-lzo.jar com.hadoop.compression.lzo.DistributedLzoIndexer  -D mapreduce.job.queuename=copy  /data/lzodata/


    兩個(gè)集群的配置區(qū)別在于,舊集群lzo的配置一個(gè)是手動(dòng)的,新集群是用GPLEXTRAS的parcel包配置的。

用GPLEXTRAS配置的新集群默認(rèn)吧lzo的jar包加載到hadoop  classpath路徑中了,導(dǎo)致的結(jié)果是DistributedLzoIndexer  提交不到正確的隊(duì)列。

    因?yàn)樾掳姘娴膆adoop-lzo.jar中

    com.hadoop.compression.lzo.DistributedLzoIndexer 修改了獲取Configuration的方式

     Configuration conf = new Configuration();                                                  Job job = new Job(conf );   

    舊版本中為

    Job job = new Job(getConf());                                                              

    修改了源碼,然后重新上傳到提交job的服務(wù)器,只在提交job的時(shí)候起作用。                                                  

    修改腳本的位置,修改前請(qǐng)做好備份:

    /opt/cloudera/parcels/CDH-5.6.0-1.cdh6.6.0.p0.45/lib/hadoop/bin

    修改腳本中 export CLASSPATH=/opt/cloudera/userlib/hadoop-lzo.jar:$CLASSPATH


    上面的/opt/cloudera/userlib/hadoop-lzo.jar為想要加載的路徑



向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI