1.样例
使用akka来模拟yarn集群的通信。流程图如下:

完整代码如下:
MyResourceManager.scala
import akka.actor.{Actor, ActorSystem, Props}
import com.typesafe.config.ConfigFactory
import scala.collection.mutable
import scala.concurrent.duration._
class MyResourceManager extends Actor{
//将Worker信息存到map集合中
val map = new mutable.HashMap[String, WorkerInfo]()
override def preStart(): Unit = {
println("preStart")
import context.dispatcher
context.system.scheduler.schedule(0.millisecond,5000.millisecond,self,CheckTimeOutWorker)
}
//消息的接受 此函数为偏函数 不需要写match
override def receive: Receive = {
//做模式匹配
case "hello" =>{
println("hello")
}
&nb

本文介绍了如何使用Akka库在Scala中模拟YARN集群的通信,展示了MyResourceManager和MyNodeManager类的实现,涉及Actor系统、远程通信、任务注册与心跳检测。
最低0.47元/天 解锁文章
2277

被折叠的 条评论
为什么被折叠?



