您好,登錄后才能下訂單哦!
目的,在centos服務器上啟動marathon服務后,可以在window上使用intellij idea進行遠程調(diào)試;
主要環(huán)境:
1、本人是參考https://mesosphere.github.io/marathon/docs/提供的方式,部署的marathon服務;
2、從https://github.com/mesosphere/marathon上down下的marathon源碼
如果不想修改源碼的話,將marathon的源碼down下來后,直接導入到intellijidea里,就可以
如果想修改源碼后,再進行遠程調(diào)試的話,那么需要對marathon源碼進行重新編譯,打包成jar包后,替換服務器上的/marathon根目錄/target/scala-2.11下的源碼包;這樣的話,保證本地調(diào)試的源碼與服務器上運行的源碼是一致。
marathon的遠程調(diào)試與spark的遠程調(diào)試有什么區(qū)別?
個人感覺,主要一方面的區(qū)別:
在去年年底研究過spark的遠程調(diào)試,需要在spark-class腳本里添加jvm參數(shù),如:
聲明JAVA_OPTS
而Marathon這一點做的比較好,不需要添加,
無論你是從git上直接down的源碼,還是通過https://mesosphere.github.io/marathon/下載部署包
在啟動腳本bin/start里都提供了調(diào)試參數(shù),如下圖所示:
不過,如果要實現(xiàn)遠程調(diào)試的話,需要將上面參數(shù)suspend=n的值,由n改成y, 不然的話,遠程調(diào)試不起作用。
具體步驟:
1、修改啟動腳本start
2、更新啟動marathon服務的命令,改成調(diào)試模式
啟動腳本start里
因此,將marathon的啟動服務的命令,改成下面的形式
/usr/local/marathon/bin/start --jvm-debug 9999 --master zk://master001:2181,master002:2181,master003:2181/mesos--zk zk://master001:2181,master002:2181,master003:2181/marathon--framework_name marathon --mesos_user root --mesos_role marathon_role--mesos_authentication_principal marathon_user
3、在intellij idea 中,將啟動marathon的方式,改成遠程調(diào)試模式
4、在服務器上,啟動marathon服務,
5、window上,打斷點,并啟動debug
6、開始debug遠程調(diào)試
查看服務器上,是否打印出了日志
OK!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。