将 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参数

相关文章
|
7月前
|
NoSQL 调度 Redis
19- 你的项目中哪里用到了分布式锁
在一个项目中,为解决集群环境下SpringTask定时任务的重复执行问题,采用了Redis实现分布式锁来管理任务调度,防止资源浪费。后来因任务量和执行规则增加,以及单节点效率限制,系统改用XXL-JOB,分布式锁不再使用。
75 2
|
7月前
|
Docker 容器 关系型数据库
【PolarDB-X从入门到精通】 第四讲:PolarDB分布式版安装部署(源码编译部署)
本期课程将于4月11日19:00开始直播,内容包括源码编译基础知识和实践操作,课程目标是使学员掌握源码编译部署技能,为未来发展奠定基础,期待大家在课程中取得丰富的学习成果!
【PolarDB-X从入门到精通】 第四讲:PolarDB分布式版安装部署(源码编译部署)
|
3月前
|
NoSQL Java Redis
面试官:项目中如何实现分布式锁?
面试官:项目中如何实现分布式锁?
104 6
面试官:项目中如何实现分布式锁?
|
6月前
|
分布式计算 Java Hadoop
杨校老师课堂之分布式数据库HBase的部署和基本操作
杨校老师课堂之分布式数据库HBase的部署和基本操作
69 0
|
3月前
|
存储
cephFS高可用分布式文件系统部署指南
关于如何部署高可用的cephFS分布式文件系统,包括集群的搭建、验证高可用性以及实现两主一从架构的详细指南。
135 9
|
4月前
|
资源调度 Java 调度
项目环境测试问题之Schedulerx2.0通过分布式分片任务解决单机计算瓶颈如何解决
项目环境测试问题之Schedulerx2.0通过分布式分片任务解决单机计算瓶颈如何解决
项目环境测试问题之Schedulerx2.0通过分布式分片任务解决单机计算瓶颈如何解决
|
3月前
|
分布式计算 资源调度 Hadoop
在YARN集群上运行部署MapReduce分布式计算框架
主要介绍了如何在YARN集群上配置和运行MapReduce分布式计算框架,包括准备数据、运行MapReduce任务、查看任务日志,并启动HistoryServer服务以便于日志查看。
78 0
|
4月前
|
Java Nacos Docker
"揭秘!Docker部署Seata遇上Nacos,注册成功却报错?这些坑你不得不防!一网打尽解决秘籍,让你的分布式事务稳如老狗!"
【8月更文挑战第15天】在微服务架构中,Nacos搭配Seata确保数据一致性时,Docker部署Seata后可能出现客户端连接错误,如“can not connect to services-server”。此问题多由网络配置不当、配置文件错误或版本不兼容引起。解决策略包括:调整Docker网络设置确保可达性;检查并修正`file.conf`和`registry.conf`中的Nacos地址和端口;验证Seata与Nacos版本兼容性;修改配置后重启服务;参考官方文档和最佳实践进行配置。通过这些步骤,能有效排除故障,保障服务稳定运行。
366 0
|
4月前
|
存储 缓存 开发框架
看看 Asp.net core Webapi 项目如何优雅地使用分布式缓存
看看 Asp.net core Webapi 项目如何优雅地使用分布式缓存
|
4月前
|
存储 运维 安全
多云网络部署存在挑战,F5分布式云应用简化方案解读
多云网络部署存在挑战,F5分布式云应用简化方案解读
61 0