无法在 AWS EMR Notebook 上通过 pip 安装包

Unable to install package through pip on AWS EMR Notebook

我正在使用连接到 AWS EMR 集群的 Jupyter Notebook。附加到集群所有节点的子网和安全组都能够连接到 Internet。 但是,当我尝试从连接到 EMR 集群的笔记本中 pip install <package> 时,出现以下错误:

WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f6b4c6bd710>: Failed to establish a new connection: [Errno 101] Network is unreachable')': .....

我也曾尝试向互联网发出 GET 请求 r = requests.get('https://www.google.com'),但同样没有成功。我无法弄清楚是什么阻止了我从 AWS EMR 上的 Jupyter Notebook 连接到互联网。

由于您可以使用集群连接到互联网,因此可能是笔记本本身的安全组问题,而不是集群问题。

您是否像 here 所述那样为 EMR 笔记本使用默认安全组,或者您是否正在分配自己的安全组?如果是,请确保您有正确的出站规则,尝试添加 outbound rules 并允许流量

在我的例子中,结果证明是 sg ElasticMapReduceEditors-Livy & ElasticMapReduceEditors-Editor 的问题 我创建了,我只是在两个 sg 中添加了一个规则,允许所有出站流量测试是否解决了它,幸运的是它解决了它,然后我删除了这两个规则,神秘地我的笔记本继续像往常一样工作, 我认为这是 aws 的不良行为。