溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

修改marathon源碼后,如何編譯,部署到集群中?

發布時間:2020-07-18 09:32:13 來源:網絡 閱讀:1633 作者:故新 欄目:軟件技術

首先,marathon源碼是由scala語言編寫,由sbt進行項目構建的;與spark不同,spark是由maven進行項目構建;

方案一:使用intellij idea導入marathon源碼【目前不可行】

A、使用intellij idea導入marathon源碼

B、更新源碼

C、利用intellij idea 進行編譯,打包

D、上傳服務器上,替換$marathon_home/target/scala-2.11里的包marathon-assembly-1.4.3.jar

E、重新啟動marathon服務,發現報找不到主類

此問題,折騰了一下午,始終沒解決掉,由于時間比較近,就暫時不再繼續查找原因,等后期會繼續分析原因。

 

方案二:直接替換marathon-assembly-1.4.3.jar里的class文件

這種方案,并不是很好,比較麻煩,只是其中一個方案而已;

目前我的需求是,研究分析marathon源碼,主要是分析marathon是如何創建task的過程;

因此,并不是非常關心如何編譯打包marathon源碼的具體過程。

關鍵步驟如下:

A、https://github.com/mesosphere/marathon  下載源碼到window

B、使用intellij idea導入marathon源碼

C、更新源碼,如在啟動類里,隨便打印一條輸出語句即可;如:

修改marathon源碼后,如何編譯,部署到集群中?

D、這里僅僅編譯marathon源碼即可,無需打包

修改marathon源碼后,如何編譯,部署到集群中?

修改marathon源碼后,如何編譯,部署到集群中?

編譯,大概需要1分鐘左右吧

找到編譯好的class文件路徑,如下所示:

修改marathon源碼后,如何編譯,部署到集群中?

E、利用Xftp工具,將服務器上,

修改marathon源碼后,如何編譯,部署到集群中?

F、利用好壓將marathon-assembly-1.4.3.jar打開,將Main$.class,Main.class 直接拖進去,如果提示的話,選擇全部替換即可

修改marathon源碼后,如何編譯,部署到集群中?

 

可以查看一下時間,查看是否更新成功

修改marathon源碼后,如何編譯,部署到集群中?

 

G、重新利用Xftp工具將marathon-assembly-1.4.3.jar jar包重新上傳服務器上,替換舊的jar包,最好所有部署marathon的節點,全部要替換,不然,源碼不同步了;

利用scp命令,傳輸到其他節點上去,

修改marathon源碼后,如何編譯,部署到集群中?

H、重新啟動marathon服務,

我這里是用腳本執行的,命令如下:

修改marathon源碼后,如何編譯,部署到集群中?

修改marathon源碼后,如何編譯,部署到集群中?

方案三:

前一段時間,遇到一些麻煩,在公司里下載marathon源碼后導入intellij idea始終失敗,原因是,個別jar包始終下載失??;

解決措施:

   周末在家里,本著不放棄的態度,重新導入marathon源碼,居然成功了;

原因 :很有可能是因為公司使用的電信運營商與家里使用的電信運營商不是同一家,jar包下載成功。當然,也沒具體查。

 

目前,

1、window上使用intellijidea修改marathon源碼

2、marathon源碼上傳到服務器上

3、進入到marathon根目錄下,

這里需要對build.sbt進行修改,不同的marathon源碼版本,build.sbt是不一樣的;

主要對兩方面進行里修改

第一、   注釋掉mesos-simulation變量,原因

  1. 編譯打包時會嘗試進行mesos的模擬,而這個過程,很有可能失敗,

  2. 節省編譯打包時間

第二、   注釋掉此文件里,進行test的命令

情況一:如果該文件里,存在testSettings變量的話,將此變量的聲明注釋掉,以及使用到此變量的地方,也注釋掉

情況二:如果該文件里,沒有testSetting變量的話,我是將build.sbt文件里,凡是含有test單詞的地方,全部注釋掉了。

4、具體命令如下:

sbt-assembly工具,進行打包;

   #sbt clean compile assembly

結束后,會在marathon源碼的根目錄下的target/scala-2.11中打包好目標jar包

 修改marathon源碼后,如何編譯,部署到集群中?





向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女