在Jupyter中使用pip导致googledataproc集群中的内核死亡

在Jupyter中使用pip导致googledataproc集群中的内核死亡,pip,jupyter-notebook,google-cloud-dataproc,Pip,Jupyter Notebook,Google Cloud Dataproc,我使用以下命令创建了Dataproc群集: gcloud beta dataproc群集创建我的群集\ --计划我的计划\ --我的桶\ --地区我的地区\ --分区我的分区\ --工人总数5\ --服务帐户我的服务帐户\ --初始化操作gs://goog dataproc初始化操作-${REGION}/connectors/connectors.sh,gs://goog dataproc初始化操作-${REGION}/datalab/datalab.sh,gs://goog dataproc初

我使用以下命令创建了Dataproc群集:

gcloud beta dataproc群集创建我的群集\
--计划我的计划\
--我的桶\
--地区我的地区\
--分区我的分区\
--工人总数5\
--服务帐户我的服务帐户\
--初始化操作gs://goog dataproc初始化操作-${REGION}/connectors/connectors.sh,gs://goog dataproc初始化操作-${REGION}/datalab/datalab.sh,gs://goog dataproc初始化操作-${REGION}/python/conda install.sh,gs://goog dataproc初始化操作-${REGION}/python/pip-install.sh\
--元数据gcs连接器版本=2.0.0\
--元数据bigquery连接器版本=1.0.0\
--scopes云平台\
--可选组件=水蟒、JUPYTER、齐柏林飞艇、普雷斯托\
--元数据“PIP_PACKAGES=numpy scipy pandas scikit learn matplotlib seaborn”\
--元数据“CONDA_PACKAGES=tensorflow”\
--图像版本=1.4\
--属性“^^^^ spark:spark.jars=gs://spark-lib/bigquery/spark-bigquery-latest.jar ^ spark:spark.jars.packages=org.apache.spark:spark-avro_2.12:2.4.4#齐柏林飞艇:齐柏林.笔记本.gcs.dir=gs://${BUCKET}/笔记本/齐柏林/${CLUSTER\u NAME}dataproc:jupyter.notebooks.gcs.dir

但是,当我在Jupyter集群中使用pip命令进行更新时:
pip install--upgrade pip
,它导致Jupyter内核死机并不断重新启动,使Jupyter无法使用。我不明白为什么会这样。欢迎提供任何建议或线索。

不要在笔记本中运行
pip安装--升级pip
,您需要编写一个脚本,在所有群集节点上启动群集时运行此命令。

不要在笔记本中运行
pip安装--升级pip
,您需要编写一个将在所有群集节点上的群集启动期间运行此命令的程序。

如何运行
pip install--upgrade pip
命令?我使用
%%bash运行,然后在一个单元格中运行
pip install--upgrade pip
。您需要在群集启动期间使用init action运行它,因为在笔记本中运行不会在集群的所有节点上执行此命令。如何运行
pip install--upgrade pip
命令?我使用
%%bash
运行,然后在一个单元格中运行
pip install--upgrade pip
。您需要在集群启动期间使用init操作运行它,因为在笔记本中运行不会在集群的所有节点上执行此命令。谢谢您的建议。我会尝试在初始化时安装pip。但是,仍然存在这样的情况:在创建集群之后,一些包变得非常过时,需要更新。我不想每次更新包时都重新创建一个新集群。您建议如何处理这种情况?我以pip为例,但我一直在寻找一种方法来解决这样的问题。我认为这是Jupyter和Python的局限性,而不是Dataproc,因此对此几乎没有什么可以做的。无论如何,强烈建议修改您的工作流以使用临时集群(您可以根据需要创建集群,并配置当前任务所需的配置),而不是维护和重新配置单个长期运行的集群-这样可以节省资金,通过这种方式提高可靠性并简化维护。感谢您的建议。我会尝试在初始化时安装pip。但是,仍然存在这样的情况:在创建集群之后,一些包变得非常过时,需要更新。我不想每次更新包时都重新创建一个新集群。您建议如何处理这种情况?我以pip为例,但我一直在寻找一种方法来解决这样的问题。我认为这是Jupyter和Python的局限性,而不是Dataproc,因此对此几乎没有什么可以做的。无论如何,强烈建议修改您的工作流以使用临时集群(您可以根据需要创建集群,并配置当前任务所需的配置),而不是维护和重新配置单个长期运行的集群-这样可以节省资金、提高可靠性并简化维护。