Я пытаюсь понять кластеризацию Akka для параллельных вычислений с использованием узлов.Итак, я написал одну факториальную программу и хочу запустить ее на кластере из 3 узлов (включая главный).
Я использую файл конфигурации для предоставления начальных узлов и поставщика кластера.И чтение файла в моем коде.
cluster {
akka {
actor {
provider = "cluster"
}
remote {
log-remote-lifecycle-events = off
netty.tcp {
hostname = "127.0.0.1"
port = 0
}
}
cluster {
seed-nodes = [
"akka.tcp://ClusterSystem@127.0.0.1:9876",
"akka.tcp://ClusterSystem@127.0.0.1:6789"]
# auto downing is NOT safe for production deployments.
# you may want to use it during development, read more about it in the docs.
#
# auto-down-unreachable-after = 10s
}
}
}
Ниже приведен код java :
package test
import java.io.File
import akka.actor.{Actor,ActorSystem, Props}
import akka.stream.ActorMaterializer
import com.typesafe.config.ConfigFactory
import scala.concurrent.ExecutionContextExecutor
class Factorial extends Actor {
override def receive = {
case (n: Int) => fact(n)
}
def fact(n:Int): Int ={
if (n<=1){
return 1
}
else {
return n * fact(n - 1)
}
}
}
object ClusterActor {
def main(args: Array[String]): Unit = {
val configFile = "E:/Scala/StatsRuleEngine/Resources/local_configuration.conf"
val config = ConfigFactory.parseFile(new File(configFile))
implicit val system:ActorSystem = ActorSystem("ClusterSystem" ,config.getConfig("cluster"))
implicit val materializer:ActorMaterializer = ActorMaterializer()
implicit val executionContext: ExecutionContextExecutor = system.dispatcher
val FacActor = system.actorOf(Props[Factorial],"Factorial")
FacActor ! (5)
}
}
При запуске программы появляется ошибка ниже
Удаленныйне удалось подключиться к [null] с java.net.ConnectException: соединение отклонено: нет дополнительной информации: /127.0.0.1:6789 [WARN] [21.01.2009 16: 31: 15.979] [Новый босс ввода-вывода № 3][NettyTransport (akka: // ClusterSystem)] Удаленное подключение к [null] не удалось с java.net.ConnectException: Соединение отклонено: нет дополнительной информации: /127.0.0.1:9876
Я пытался найтиНо я не понимаю, почему эта ошибка появляется.