我尝试使用网络渲染渲染动画。我将我的电脑连接到笔记本电脑而没有其他问题。但当我点击"在网络上渲染动画"几秒钟后发生以下错误:
val conf = new SparkConf().setAppName("second")
val spark = new SparkContext(conf)
val file = spark.textFile("\\Desktop\\demo.txt")
var list = scala.collection.mutable.ArrayBuffer[(Int, Array[String])]()
var count = 0
file.map(_.split(","))
.foreach { a =>
count = countByValue(a) // returns an Int
println("count is " + count) // showing correct output "count is 3"
var t = (count, a)
println("t is " + t) // showing correct output "t is (3,[Ljava.lang.String;@539f0af)"
list += t
}
println("list count is = " + list.length) // output "list count is = 0"
list.foreach(println) // no output
我问Google:有人通过更改" the default timeout to 1000 (instead of 300) (in the socket.py file[...])"来解决问题。我无法找到这一行,我猜他们在当前版本中对其进行了更改。由于我没有使用python的经验,我现在不知道如何改变它。
我希望你能帮助我!
答案 0 :(得分:0)
插件是更好的地方,而不是套接字模块。如果你查看你的插件文件夹,你会发现netrender/utils.py
,你会发现一些使用socket.setdefaulttimeout
的行,你可以在那里进行一些调整。
更好的解决方案是查看连接超时的原因,同一房间中的两台计算机不应该超时。超时的常见原因是无法获得连接,防火墙擅长停止连接,因此您可能需要检查网络渲染使用的端口是否允许传入连接,并且该混合器正在运行,并且网络渲染已打开以接受连接。默认端口是8000,也可以由另一个应用程序使用,您可以将每台计算机配置为在需要时使用不同的端口。