将 Akka 项目打包分布式部署 | 学习笔记

简介: 快速学习将 Akka 项目打包分布式部署

开发者学堂课程【Scala 核心编程 - 进阶将 Akka 项目打包分布式部署学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/610/detail/9136


将 Akka 项目打包分布式部署


master worker 进行分布式部署(Linux 系统)->如何给 maven 项目打包->上传 linux

之前在讲 spark master worker进程通讯项目的时候,第五个功能要求是要对master worker进行分布式部署,进行分布式部署,有一个前提,就是要对项目进行打包,部署到Linux系统,这就涉及到如何给maven项目进行打包,打包完成之后再上传到相应的linux,使用JAVA-jar进行运行就可以了

步骤一:先给SparkMaster打包

切换到Akka项目,open AKK0705,点击 pom.xml,修改 pom.xml 文件<mainClass=xxx</mainClass>,指定程序的主类,先给 sparkmaster打包

修改成如下:

(具体如何需改根据实际情况)<mainClass>com.atguigu.akka.sparkmasterworker.master.SparkMaster</mainClass>

如何显示 Maven projects 的右侧菜单?

通过 File->settings->Appearance->show tool windows bars(如果没有勾选就会没有显示)

Lifecycle 是 maven 项目的生命周期,package就是进行打包的地方。

image.png

双击 Lifestyle 中的 package 开始自动打包,第一次打包需要下载内容和插件,会有点慢。bulidsuccess 代表成功。

<! --指定main方法--><transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">

<mainclass>com.atguigu.akka. sparkmasterworker.master.SparkMaster</ mainclass>

</ transformer>

</transformers>

</ configuration>

</ execution>

</ executions>

</ plugin>

</plugins>

</ build>

成功就代表打了一个包,那么如何去找这个包呢?首先找到target,点击show in explorer,点进去之后找到target,找到 akk a0705-1.0-snapshot.jar,把项目中所需要的jar都放进去了,original.Akka0705是项目的源文件,配置文件是在a0705-1.0-snapshot.jar里面的Manifest.mf,可以看到项目运行的主类。

复制a0705-1.0-snapshot.jar到桌面。再给worker项目进行打包,有时候发现如果正在使用这个文件,运行会失败。

到target去找内容比较大的文件

找到target->单击鼠标右键点击show in

Explorer->targe->Akka0705-1.0-SNAPSHOT.jar(包含内容较多)->找到MANIFEST.MF,用记事本打开,打开内容如下:

Manifest-Version: 1.0

Archiver-Version: Plexus Archiver

Built-By: Administrator

Created-By: Apache Maven 3.3.9

Build-Jdk: 1.8.0_131

Main-Class: com.atguigu.akka.sparkmasterworker.master.SparkMaster

接下来给worker打包

<!--指定main方法--><transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"><mainclass>com.atguigu.akka2. sparkmasterworker. worker.sparkworker</ mainclass>

</ transformer>

</transformers>

</ configuration>

</ execution>

</ executions>

运行成功之后,找到 target 再次进行打包,发现里面又来了一个文件,虽然名字一样,但是和之前的是不一样的,把它复制到桌面取名 worker,现在就可以使用了,得到这个文件以后就上传到 linux

将打包的.jar 上传到 linux,实现分布式

运行测试

image.png

把这两个文件拷贝到 E 盘,输入 cmd,先运行 master,回车之后,系统提醒请输入参数

再来运行一下 worker,系统提示要输入六个信息

image.jpeg

分布和其最主要的区别就是上传到 linux 这一步

>java -jar worker-jar

请输入参数 workerHost workerPort(端口) workerName(端口名字) masterHost(连接的master主机) masterPort(端口:7777) masterName(名字为master01)

: \>java -jar worker.jar 127.0.0.1 ?778 workerB1 12?.0.0.1 ???? masterB1

运行worker

Java-jar worker.jar参数

相关文章
|
5月前
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
1641 57
|
8月前
|
Java 关系型数据库 MySQL
新一代 Cron-Job分布式任务调度平台 部署指南
简单易用、超低延迟,支持用户权限管理、多语言客户端和多租户接入的分布式任务调度平台。 支持任何Cron表达式的任务调度,支持常用的分片和随机策略;支持失败丢弃、失败重试的失败策略;支持动态任务参数。
244 111
|
6月前
|
SQL 数据可视化 网络安全
YashanDB分布式可视化部署
本文介绍YashanDB的分布式部署流程,涵盖服务端安装、数据库基本信息与服务器配置、节点信息设置、建库参数调整、环境变量配置及安装结果检查等步骤。通过可视化Web界面操作,详细说明了各环节配置方法和注意事项,确保用户顺利完成数据库集群的搭建与初始化设置。适用于需要分布式数据库部署的场景,提供全面的操作指导。
YashanDB分布式可视化部署
|
7月前
|
运维 Kubernetes Java
Koupleless 助力「人力家」实现分布式研发集中式部署,又快又省!
本文由仁励家网络科技(杭州)有限公司架构师赵云兴、葛志刚撰写,探讨了公司在优化HR SaaS解决方案时遇到的系统资源浪费和运维成本高的问题。通过引入Koupleless框架,成功将模块体积从500M缩减至5M以下,部署时间从6分钟缩短至3分钟,并大幅节省服务器资源。文章详细介绍了Koupleless的部署方案及优化措施,感谢Koupleless团队的专业支持,使人力家实现了多应用合并部署,降低了运维成本。
Koupleless 助力「人力家」实现分布式研发集中式部署,又快又省!
|
7月前
|
运维 Kubernetes Java
Koupleless 助力「人力家」实现分布式研发集中式部署,又快又省!
通过引入Koupleless框架,解决了多应用部署中资源浪费和运维成本高的问题,实现了模块瘦身、快速部署及流量控制优化,大幅降低了服务器资源占用和发布耗时,提升了系统稳定性和运维效率。最终,人力家成功实现了多应用的轻量集中部署,显著减少了运维成本。
 Koupleless 助力「人力家」实现分布式研发集中式部署,又快又省!
|
8月前
|
人工智能 Kubernetes 异构计算
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
439 5
|
8月前
|
安全 开发工具 git
git分布式版本控制系统及在码云上创建项目并pull和push
通过本文的介绍,我们详细讲解了Git的基本概念和工作流程,并展示了如何在码云上创建项目及进行pull和push操作。Git作为一种分布式版本控制系统,为开发者提供了强大的工具来管理代码变更和协作开发。希望本文能帮助您更好地理解和使用Git及码云,提高开发效率和代码质量。
279 18
|
8月前
|
安全 开发工具 git
git分布式版本控制系统及在码云上创建项目并pull和push
通过本文的介绍,我们详细讲解了Git的基本概念和工作流程,并展示了如何在码云上创建项目及进行pull和push操作。Git作为一种分布式版本控制系统,为开发者提供了强大的工具来管理代码变更和协作开发。希望本文能帮助您更好地理解和使用Git及码云,提高开发效率和代码质量。
222 16
|
8月前
|
人工智能 Kubernetes 异构计算
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
本教程演示如何在ACK中多机分布式部署DeepSeek R1满血版。
|
分布式计算 Java Hadoop
杨校老师课堂之分布式数据库HBase的部署和基本操作
杨校老师课堂之分布式数据库HBase的部署和基本操作
160 0

热门文章

最新文章