正在使用标识密钥连接到远程主机(其他身份验证方法?)



我正试图在远程主机上运行spark-submit,问题是-远程主机需要标识文件。

我的命令:

spark-submit --master spark://<ip_remote_master>:7077 --conf spark.sql.files.ignoreCorruptFiles=true --conf spark.sql.files.ignoreMissingFiles=true --driver-memory 1g --executor-memory 2g run_script.py

我得到的错误:

21/12/15 13:01:19 INFO StandaloneAppClient$ClientEndpoint: Connecting to master spark://<ip_remote_master>:7077...
21/12/15 13:01:20 WARN StandaloneAppClient$ClientEndpoint: Failed to connect to master <ip_remote_master>:7077
org.apache.spark.SparkException: Exception thrown in awaitResult:
at org.apache.spark.util.ThreadUtils$.awaitResult(ThreadUtils.scala:301)
at org.apache.spark.rpc.RpcTimeout.awaitResult(RpcTimeout.scala:75)
at org.apache.spark.rpc.RpcEnv.setupEndpointRefByURI(RpcEnv.scala:101)
at org.apache.spark.rpc.RpcEnv.setupEndpointRef(RpcEnv.scala:109)
at org.apache.spark.deploy.client.StandaloneAppClient$ClientEndpoint$$anon$1.run(StandaloneAppClient.scala:107)

我尝试使用相关的*.pem文件将<ip_remote_master>添加到.ssh/config,但我认为这是一条死胡同,因为spark连接到master并不是真正的ssh类型的过程。

如何在保持远程主机身份验证的同时使其正常工作?

我认为有些事情无关紧要,因为我正在寻找与云无关的解决方案——local=awsEC2,remote=awsEMR(我可以从一个ssh到另一个ssh(。

这听起来像是在为自己的安全做准备,实际上你应该关注sparks安全。简单的回答是,独立(主/工人(是最需要保障的体力劳动。一般情况下:

为网络安全配置端口一般来说,没有部署Spark集群及其服务在公共互联网上。它们通常是私人服务只能在组织的网络中访问部署Spark。访问Spark服务使用的主机和端口应仅限于需要访问服务的原始主机。

这基本上是告诉您使用网络分区/网络安全性,而不是使用"身份密钥";。你可以加密通信内容,并限制谁可以与谁交谈,但你需要打开机器之间的端口,让它们能够工作。如果你需要安全性,我会用Yarn设置一个EMR集群,并对集群进行Kerberize。那你就很安全了。

相关内容

  • 没有找到相关文章

最新更新