Tag: paramiko

如何在Docker中从python连接到远程Spark群集

我将Spark 2.0.0和Python 3安装在用户docker-user的容器中。 独立模式似乎正在工作。 我们在AWS和hadoop上build立了Spark群集。 随着VPN运行,从笔记本电脑我可以ssh到“内部IP”,如 ssh ubuntu@1.1.1.1 这个login。然后 cd /opt/spark/bin ./pyspark 这显示了Spark 2.0.0和Python 2.7.6。 一个天真的parallelize例子起作用。 现在在Docker支持的Jupyter Notebook中,做 from pyspark import SparkConf, SparkContext conf = SparkConf().setAppName('hello').setMaster('spark://1.1.1.1:7077').setSparkHome('/opt/spark/') sc = SparkContext(conf=conf) 这显然进入了集群,因为我可以在1.1.1.1:8080的Spark仪表板中看到应用程序“hello”。 让我感到困惑的是,它已经离开了Docker内部的这么远,不用理会ssh和密码等等。 现在尝试一个天真的parallelize例子, x = ['spark', 'rdd', 'example', 'sample', 'example'] y = sc.parallelize(x) 看起来不错。 然后, y.collect() 它挂在那里。 在仪表板“执行者摘要”表中,我不知道要找什么。 但是一个国家exited工人有这样的情况: 16/08/16 17:37:01 INFO SignalUtils: Registered signal handler […]

如何有效地通过SSH从服务器上运行的所有Docker容器获取信息?

我需要通过SSH获取在远程服务器上运行的所有Docker容器的信息。 可能有几百个docker集装箱同时运行。 什么是最有效的方式来获得所有的信息? Rest API不是一个选项。 我需要做的是 ssh root@blah.com execute docker container ls # get containers info for container_id in containers: execute docker inspect container_id 我不能将命令的输出写入文件。 多个SSH连接? 我怎样才能和paramiko做到这一点? 通过一个SSH连接同时运行多个命令? 这可以通过paramiko完成吗?