我一直在通过Akka示例集群应用程序教程和本文档研究Akka集群。我让它在本地运行(127.0.0.1),但我似乎无法使用我的静态IP(192.168.0.99)让它工作。我这样做是为了快速检查是否正常,因为我在尝试使用我的Raspberry Pi作为节点时收到了类似的消息。
[警告][05/30/2016 11:01:41.432][ClusterSystem akka.remote.default-remote-dispatcher-8][akka。tcp://ClusterSystem@127.0.0.1:63599/system/endpointManager/reliableEndpointWriter-akka。tcp://ClusterSystem@192.168.0.99:2552-1]与远程系统的关联[akka。tcp://ClusterSystem@192.168.0.99:2552]已失败,地址现在为[5000]毫秒选通。原因:[与[akka]的关联失败。tcp://ClusterSystem@192.168.0.99:2552]]原因:[连接被拒绝:无进一步信息:/192.168.0.99:2552]
我相信我收到了一个连接被拒绝的错误,因为在端口2552上没有任何监听,但我不知道为什么。Akka程序是如何安装到节点上并开始运行的?为什么它与127.0兼容。0.1而不是我的静态IP?
据我所知,本教程或文档中没有明确指出:“您需要为节点编译单独的程序。”那么程序是从主Akka服务器推送到节点上,还是我需要为我的节点创建另一个项目?
我猜是前者,但是人们如何/为什么在与服务器相同的项目中进行节点开发呢?它们作为服务器和节点运行同一个jar的方式有何不同?
编辑:
Address of Raspberry Pi Node 1: 192.168.0.8
Address of Raspberry Pi Node 2: 192.168.0.9
Address of Desktop Computer: 192.168.0.99
应用桌面计算机上的配置(注意主机名)
#//#snippet
akka {
log-dead-letters = off
log-level = "debug"
actor {
provider = "akka.cluster.ClusterActorRefProvider"
}
remote {
log-remote-lifecycle-events = off
netty.tcp {
hostname = "192.168.0.99"
port = 2552
}
}
cluster {
seed-nodes = [
"akka.tcp://ClusterSystem@192.168.0.8:2552",
"akka.tcp://ClusterSystem@192.168.0.9:2552"]
#//#snippet
# excluded from snippet
auto-down-unreachable-after = 10s
#//#snippet
# 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
}
}
# Disable legacy metrics in akka-cluster.
akka.cluster.metrics.enabled=off
# Enable metrics extension in akka-cluster-metrics.
akka.extensions=["akka.cluster.metrics.ClusterMetricsExtension"]
# Sigar native library extract location during tests.
# Note: use per-jvm-instance folder when running multiple jvm on one host.
akka.cluster.metrics.native-library-extract-folder=${user.dir}/target/native
#//#snippet
应用Raspberry Pi节点2上的conf(节点1上类似,只是主机名不同)
#//#snippet
akka {
log-dead-letters = off
log-level = "debug"
actor {
provider = "akka.cluster.ClusterActorRefProvider"
}
remote {
log-remote-lifecycle-events = off
netty.tcp {
hostname = "192.168.0.9"
port = 2552
}
}
cluster {
seed-nodes = [
"akka.tcp://ClusterSystem@192.168.0.8:2552",
"akka.tcp://ClusterSystem@192.168.0.9:2552"]
#//#snippet
# excluded from snippet
auto-down-unreachable-after = 10s
#//#snippet
# 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
}
}
# Disable legacy metrics in akka-cluster.
akka.cluster.metrics.enabled=off
# Enable metrics extension in akka-cluster-metrics.
akka.extensions=["akka.cluster.metrics.ClusterMetricsExtension"]
# Sigar native library extract location during tests.
# Note: use per-jvm-instance folder when running multiple jvm on one host.
akka.cluster.metrics.native-library-extract-folder=${user.dir}/target/native
#//#snippet
有了这个,当我试图调出它时,我会在节点上得到“没有路由到主机”。
编辑2:
因为main是简单的。样品簇易于理解的SimpleClusterApp我必须用“java-cp cluster.jar simple.sample.cluster.simple.SimpleClusterApp”启动我的节点。这看起来对吗?我假设这是我正在为节点和桌面编译/组装的同一个教程项目?或者我需要为我的节点创建一个完全不同的项目吗??我很困惑。这个教程对新手来说太糟糕了。
你好。
在这一部分的Akka教程假设你知道如何向上2个节点。
为此,您需要使用启动第二个actorSystem。形态,在哪里
netty.tcp {
hostname = "192.168.0.99"
port = 2552
}
并在第一个节点的种子写地址。
我想在伪分布式模式下设置一个hadoop-cluster。我设法执行了所有的设置步骤,包括在我的机器上启动一个Namenode、Datanode、Jobtracker和一个Tasktracker。 运行会得到如下输出(我用替换了其中的一部分): 启动和将导致以下输出: 在此之后不久调用将得到: 我还注意到不工作:
下面是我的核心站点。xml: 下面是hdfs-site.xml 下面是mapreduce.xml 谢了。
我有一个泊坞群设置,其中包含在覆盖网络中注册的服务。服务之间的通信工作正常,但是我从连接到外部数据库的一个服务中得到了“连接被拒绝”。该服务是基于 Java 的应用程序(Spring启动)。 < li >连接是用其IP(JDBC:MySQL://192 . 168 . 130 . 141:3306/database?auto connect = true) < li >我已经检查过我可以从容器pi
我使用的是Postgres 9.1.5。JDBC在第一个实例中运行良好,但当我再次尝试时,它开始拒绝连接。例如,我使用JDBC登录到我的web应用程序,效果很好。但是,我尝试使用连接获取其他数据,它引发了一个异常:连接被拒绝。我确信我的代码没有问题,因为上次运行良好的登录JDBC也引发了一个异常:连接被拒绝。 重新启动postgres windows服务后,它再次工作。然后,登录JDBC,获取一些
我试图实现一个TCP连接,在服务器端一切正常,但当我运行客户端程序(从客户端计算机)时,我得到以下错误: 服务器代码: 客户端代码: