Khi Apache Spark chạy ở chế độ cụm độc lập, nó sử dụng một số cổng cho các loại giao tiếp mạng khác nhau giữa các trình điều khiển và người thực thi/công nhân khác nhau.Cấu hình cổng mạng Apache Spark
Trong bản phát hành tia lửa 1.1.0, chúng đã thêm một số thuộc tính để cho phép định cấu hình các cổng được sử dụng và cũng đã phát triển hướng dẫn cho: http://spark.apache.org/docs/latest/security.html#configuring-ports-for-network-security Nhưng có vẻ như chỉ có thể điều khiển các cổng máy chủ, tức là những cổng đang được nghe.
Tuy nhiên, tôi không tìm thấy cách tôi có thể kiểm soát các cổng của khách hàng mà một người thực thi/nhân viên phát tia lửa sẽ mở để kết nối với chương trình điều khiển. Chương trình điều khiển của tôi chạy trong tomcat và tôi phải rất cụ thể trong catalina.policy của tôi để chỉ cho phép các địa chỉ/cổng IP cụ thể. Vì vậy, có cách nào tôi có thể kiểm soát tất cả các cổng được sử dụng bởi Spark để cấu hình quyền truy cập socket trong catalina.policy của một tomcat chạy chương trình trình điều khiển để nó có thể giao tiếp với người thực thi/người lao động không? Không.
EDIT Các lỗi Tôi nhận đứng về phía tomcat là:
2014-09-19 16:55:42,437 [New I/O server boss #6] WARN T:[] V:[]o.j.n.c.s.nio.AbstractNioSelector - Failed to accept a connection.
java.security.AccessControlException: access denied ("java.net.SocketPermission" "<worker IP address>:44904" "accept,resolve")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:372) ~[na:1.7.0_67]
at java.security.AccessController.checkPermission(AccessController.java:559) ~[na:1.7.0_67]
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) ~[na:1.7.0_67]
at java.lang.SecurityManager.checkAccept(SecurityManager.java:1170) ~[na:1.7.0_67]
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:261) ~[na:1.7.0_67]
at org.jboss.netty.channel.socket.nio.NioServerBoss.process(NioServerBoss.java:100) ~[netty-3.6.6.Final.jar:na]
at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312) ~[netty-3.6.6.Final.jar:na]
at org.jboss.netty.channel.socket.nio.NioServerBoss.run(NioServerBoss.java:42) ~[netty-3.6.6.Final.jar:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_67]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_67]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_67]