修改marathon源码后,如何编译,部署到集群中?

首先,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、更新源码,如在启动类里,随便打印一条输出语句即可;如:

D、这里仅仅编译marathon源码即可,无需打包

编译,大概需要1分钟左右吧

找到编译好的class文件路径,如下所示:

E、利用Xftp工具,将服务器上,

F、利用好压将marathon-assembly-1.4.3.jar打开,将Main$.class,Main.class 直接拖进去,如果提示的话,选择全部替换即可

可以查看一下时间,查看是否更新成功

G、重新利用Xftp工具将marathon-assembly-1.4.3.jar jar包重新上传服务器上,替换旧的jar包,最好所有部署marathon的节点,全部要替换,不然,源码不同步了;

利用scp命令,传输到其他节点上去,

H、重新启动marathon服务,

我这里是用脚本执行的,命令如下:

时间: 2024-08-11 09:57:32

修改marathon源码后,如何编译,部署到集群中?的相关文章

二进制部署 Kubernetes 集群

二进制部署 Kubernetes 集群 提供的几种Kubernetes部署方式 minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用.不能用于生产环境. kubeadm Kubeadm也是一个工具,提供kubeadm init和kubeadm join指令,用于快速部署Kubernetes集群. 二进制包 从官方下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群. 小结:生产环境中部署Kub

实例详解:反编译Android APK,修改字节码后再回编译成APK

本文详细介绍了如何反编译一个未被混淆过的Android APK,修改smali字节码后,再回编译成APK并更新签名,使之可正常安装.破译后的apk无论输入什么样的用户名和密码都可以成功进入到第二个Activity. 有时难免要反编译一个APK,修改其中的若干关键判断点,然后再回编译成一个全新的可用的apk,这完全是可实现的.若要完成上述工作,需要以下工具,杂家后面会把下载链接也附上.这些软件截止本文发布时,经过杂家确认都是最新的版本. 1.APK-Multi-Toolv1.0.11.zip 用它

利用src.rpm包修改源码后重新制作rpm包

1. 下载 .src.rpm包.例:https://repos.fedorapeople.org/repos/openstack/EOL/openstack-grizzly/epel-6/openstack-quantum-2013.1.4-4.el6.src.rpm 2. 使用" rpm -ivh "解压源码包.例:rpm -ivh openstack-quantum-2013.1.4-4.el6.src.rpm  (--root=xxx 指定路径)解压的结果放在 /root/rpm

修改CAS源码是的基于DB的认证方式配置更灵活

最近在做CAS配置的时候,遇到了数据源不提供密码等数据的情况下,怎样实现密码输入认证呢? 第一步:新建Java项目,根据假面算法生成CAS加密工具 出于保密需要不提供自定义的加密工具,在您的实际项目中,你可采用cas默认的加密方式比如md5. 第二步:修改CAS源码 找到cas-server-support-jdbc子模块找到包路径cas-server-support-jdbc\src\main\java\org\jasig\cas\adaptors\jdbc\,在复制一份QueryDataba

zabbix 3.2.7 (源码包)安装部署

Zabbix 3.2.7 + CentOS7 安装 环境准备: 操作系统 CentOS Linux release 7.2.1511 (Core) zabbix server 10.30.94.60 zabbix agent 10.25.198.179 一.zabbix server 端安装部署 1.快速部署lamp环境: yum -y install httpd httpd-devel mariadb* php php-mysql php-common php-gd php-mbstring 

android 源码开发 关于编译等小知识点总结

fastboot flash boot out/target/product/generic/boot.img不管用,提示< waiting for device >   原因查找:   用fastboot命令查看设备提示无权限,如下:      $ fastboot -l devices      no permissions         fastboot usb:2-1.3   于是知道是因为权限问题,是fastboot没有权限, 解决步骤:   1. 将fastboot的所有者属性改

Android的学习——ubuntu下android5.1源码的make编译

在repo sync下载源码后,经历了漫长的时间,终于可以进行下一步了. 在进行make之前还需要三个步骤. 1> source build/envsetup.sh:加载命令          2> lunch:选择平台编译选项          3> make:执行编译 一. 将envsetup.sh里的命令加载到环境变量中,完成一些初始化. 二. 如使用32位的ubuntu系统和Android4.几(具体不记得是第几版,0还是01),在执行lunch命令时会出错.当然这些错误可以在3

完整版linux下android源码下载、编译、模拟器启动运行

一.环境说明: 1.VMware版本:8.0.3 build-703057 2.liunx系统:Ubuntu10.10 3.jdk:sun-java6-jdk 二.Ubuntu 10.10更新源列表 由于??Ubuntu 10.10版本的源已经过期了,所以,需要对其进行更新,Ubuntu 10.10 已经发布了,下面提供更新源方法与更新源列表地址: 1.sudo gedit /etc/apt/sources.list     编辑你的源列表,将原来的内容全部删除,添加下面的源,复制到你的列表中,

如何从源码启动和编译IoTSharp

IoTSharp 项目是一个开源物联网平台,数据库使用PostgreSQL , 后端使用 Asp.Net Core 2.2 ,前端使用  vue-element-admin , 下面我们介绍如何启动项目. 1.安装数据库, 根据你的系统,前往  https://www.postgresql.org/download  下载并安装数据库, 2.从https://gitee.com/IoTSharp/IoTSharp  用git clone 代码 3.前往 https://docs.microsof