Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 使用python flex模板的数据流-启动程序超时_Google Cloud Platform_Google Cloud Dataflow_Apache Beam_Data Pipeline - Fatal编程技术网

Google cloud platform 使用python flex模板的数据流-启动程序超时

Google cloud platform 使用python flex模板的数据流-启动程序超时,google-cloud-platform,google-cloud-dataflow,apache-beam,data-pipeline,Google Cloud Platform,Google Cloud Dataflow,Apache Beam,Data Pipeline,我正在尝试使用flex模板运行python数据流作业。当我使用direct runner(不使用flex模板)运行作业时,作业在本地运行良好,但当我尝试使用flex模板运行作业时,作业在“排队”状态下停留了一段时间,然后由于超时而失败 以下是我在GCE控制台中找到的一些日志: INFO:apache_beam.runners.portability.stager:Executing command: ['/usr/local/bin/python', '-m', 'pip', 'download

我正在尝试使用flex模板运行python数据流作业。当我使用direct runner(不使用flex模板)运行作业时,作业在本地运行良好,但当我尝试使用flex模板运行作业时,作业在“排队”状态下停留了一段时间,然后由于超时而失败

以下是我在GCE控制台中找到的一些日志:

INFO:apache_beam.runners.portability.stager:Executing command: ['/usr/local/bin/python', '-m', 'pip', 'download', '--dest', '/tmp/dataflow-requirements-cache', '-r', '/dataflow/template/requirements.txt', '--exists-action', 'i', '--no-binary', ':all:'

Shutting down the GCE instance, launcher-202011121540156428385273524285797, used for launching.

Timeout in polling result file: gs://my_bucket/staging/template_launches/2020-11-12_15_40_15-6428385273524285797/operation_result.
Possible causes are:
1. Your launch takes too long time to finish. Please check the logs on stackdriver.
2. Service my_service_account@developer.gserviceaccount.com may not have enough permissions to pull container image gcr.io/indigo-computer-272415/samples/dataflow/streaming-beam-py:latest or create new objects in gs://my_bucket/staging/template_launches/2020-11-12_15_40_15-6428385273524285797/operation_result.
3. Transient errors occurred, please try again.
对于1,我看不到有用的lo。对于2,服务帐户是默认的服务帐户,因此它应该具有所有权限

我如何进一步调试它

这是我的Docker文件:

FROM gcr.io/dataflow-templates-base/python3-template-launcher-base

ARG WORKDIR=/dataflow/template
RUN mkdir -p ${WORKDIR}
WORKDIR ${WORKDIR}

ADD localdeps localdeps
COPY requirements.txt .
COPY main.py .
COPY setup.py .
COPY bq_field_pb2.py .
COPY bq_table_pb2.py .
COPY core_pb2.py .

ENV FLEX_TEMPLATE_PYTHON_REQUIREMENTS_FILE="${WORKDIR}/requirements.txt"
ENV FLEX_TEMPLATE_PYTHON_PY_FILE="${WORKDIR}/main.py"
ENV FLEX_TEMPLATE_PYTHON_SETUP_FILE="${WORKDIR}/setup.py"

RUN pip install -U  --no-cache-dir -r ./requirements.txt

我遵循本指南-

此问题的可能原因可在
requirements.txt
文件中找到。如果您试图在需求文件中安装
apache beam
,flex模板将遇到您描述的确切问题:作业在排队状态下停留一段时间,最后在轮询结果中出现
超时时失败

原因是,他们受到问题的影响。这只影响flex模板,作业可以在本地或使用标准模板正常运行

解决方案是在Dockerfile中单独安装它

RUN pip install -U apache-beam==<your desired version>
RUN pip install -U -r ./requirements.txt
运行pip安装-U apache beam==
运行pip安装-U-r./requirements.txt

运行模板时,能否明确指定一个服务帐户,该帐户有权通过
--参数service\u account\u email=”访问存储桶foo@bar.iam.gserviceaccount.com“
这没用。事实上,我能够在上面的文档中运行github示例项目,而没有发布您链接到的指南中没有提到FLEX_TEMPLATE_PYTHON_SETUP_文件(诚然,今天是您在上面发布消息两个多月之后,FLEX模板的内容现在似乎正在快速变化)。您知道其他解释FLEX\u模板\u PYTHON\u设置\u文件的文档吗?因为我找不到任何文档。文档非常糟糕:/I我想我在示例repo中找到了它。这里是解释领域哇。。。谢谢你的指点。我自己是不可能找到这个的。我也遇到过类似的问题,我的管道没有超时,但启动时间太长了。这个方法对我也有效。详情请参阅