我试图用py4j编写一个简单的程序来建立python和java之间的连接
from py4j.java_gateway import JavaGateway, GatewayParameters
gateway = JavaGateway(gateway_parameters=GatewayParameters(port=25335))
random = gateway.jvm.java.util.Random()
这导致了以下错误
py4j.protocol.Py4JNetworkError: An error occurred while trying to connect to the Java server (127.0.0.1:25335)
我环顾了一下,发现如果java监听的是另一个端口,可能会发生这种情况。所以我写了一个for block看看会发生什么
^{pr2}$上面那块石头什么也没发现。所有端口都无法连接。我想不出我错在哪里了。在
如何找到java端正在使用的端口号?在
我使用的是py4jversion0.10.7和python3.6.0
编辑
我使用了与py4j tutorial中相同的java代码
我有一个名为java_stack.java
和py4j_gs.java
的文件。两者都在同一目录中。呼叫“py4j”_gs.java公司从终点站。这是两个文件的内容
爪哇_堆栈.java
package py4j.examples;
import py4j.GatewayServer;
public class StackEntryPoint {
private Stack stack;
public StackEntryPoint() {
stack = new Stack();
stack.push("Initial Item");
}
public Stack getStack() {
return stack;
}
public static void main(String[] args) {
GatewayServer gatewayServer = new GatewayServer(new StackEntryPoint());
gatewayServer.start();
System.out.println("Gateway Server Started");
}
}
py4j公司_gs.java公司
package py4j.examples;
import py4j.GatewayServer;
public class StackEntryPoint {
private Stack stack;
public StackEntryPoint() {
stack = new Stack();
stack.push("Initial Item");
}
public Stack getStack() {
return stack;
}
public static void main(String[] args) {
GatewayServer gatewayServer = new GatewayServer(new StackEntryPoint());
gatewayServer.start();
System.out.println("Gateway Server Started");
}
}
我也面临着同样的问题
在处理pyspark shell时。 要首先解决这个问题,我们需要启动javagetway服务器。 在执行以下java代码之后,我的问题得到了解决。
相关问题 更多 >
编程相关推荐