- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试通过 Airflow 和 Google 云用户界面创建 Dataproc 集群,但集群创建最后总是失败。以下是我用来创建集群的气流代码 -
# STEP 1: Libraries needed
from datetime import timedelta, datetime
from airflow import models
from airflow.operators.bash_operator import BashOperator
from airflow.contrib.operators import dataproc_operator
from airflow.utils import trigger_rule
from poc.utils.transform import main
from airflow.contrib.hooks.gcp_dataproc_hook import DataProcHook
from airflow.operators.python_operator import BranchPythonOperator
import os
YESTERDAY = datetime.combine(
datetime.today() - timedelta(1),
datetime.min.time())
project_name = os.environ['GCP_PROJECT']
# Can pull in spark code from a gcs bucket
# SPARK_CODE = ('gs://us-central1-cl-composer-tes-fa29d311-bucket/spark_files/transformation.py')
dataproc_job_name = 'spark_job_dataproc'
default_dag_args = {
'depends_on_past': False,
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'start_date': YESTERDAY,
'retry_delay': timedelta(minutes=5),
'project_id': project_name,
'owner': 'DataProc',
}
with models.DAG(
'dataproc-poc',
description='Dag to run a simple dataproc job',
schedule_interval=timedelta(days=1),
default_args=default_dag_args) as dag:
CLUSTER_NAME = 'dataproc-cluster'
def ensure_cluster_exists(ds, **kwargs):
cluster = DataProcHook().get_conn().projects().regions().clusters().get(
projectId=project_name,
region='us-east1',
clusterName=CLUSTER_NAME
).execute(num_retries=5)
print(cluster)
if cluster is None or len(cluster) == 0 or 'clusterName' not in cluster:
return 'create_dataproc'
else:
return 'run_spark'
# start = BranchPythonOperator(
# task_id='start',
# provide_context=True,
# python_callable=ensure_cluster_exists,
# )
print_date = BashOperator(
task_id='print_date',
bash_command='date'
)
create_dataproc = dataproc_operator.DataprocClusterCreateOperator(task_id='create_dataproc',
cluster_name=CLUSTER_NAME,
num_workers=2,
use_if_exists='true',
zone='us-east1-b',
master_machine_type='n1-standard-1',
worker_machine_type='n1-standard-1')
# Run the PySpark job
run_spark = dataproc_operator.DataProcPySparkOperator(
task_id='run_spark',
main=main,
cluster_name=CLUSTER_NAME,
job_name=dataproc_job_name
)
# dataproc_operator
# Delete Cloud Dataproc cluster.
# delete_dataproc = dataproc_operator.DataprocClusterDeleteOperator(
# task_id='delete_dataproc',
# cluster_name='dataproc-cluster-demo-{{ ds_nodash }}',
# trigger_rule=trigger_rule.TriggerRule.ALL_DONE)
# STEP 6: Set DAGs dependencies
# Each task should run after have finished the task before.
print_date >> create_dataproc >> run_spark
# print_date >> start >> create_dataproc >> run_spark
# start >> run_spark
我检查了集群日志,看到了以下错误-
最佳答案
无法启动主机:WAITING 2 个数据节点和节点管理器超时。操作超时:2 个最低要求的数据节点中只有 0 个正在运行。操作超时:2 个最低要求的节点管理器中只有 0 个正在运行。
此错误表明工作节点无法与主节点通信。当工作节点无法在给定时间范围内向主节点报告时,集群创建失败。
请检查您是否设置了正确的防火墙规则以允许 VM 之间的通信。
您可以引用以下网络配置最佳实践:https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/network#overview
关于python - 无法创建 Dataproc 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63907419/
我有一个初始化脚本,它从我们的本地工件存储库下载一个 .jar,并将其放入集群上每个节点上的 /usr/local/bin 中。我可以使用 运行它 gcloud dataproc jobs submi
我创建了一个简单的管道,它从 SQL Server 表读取并写入 BigQuery 表。然后我将其配置为使用 Spark 并部署和运行。它首先配置 dataproc 集群,我可以看到它相对快速地创建了
我正在尝试使用云指标监控 Dataproc 2.0 上的本地磁盘使用情况(百分比)。这对于监视 Spark 临时文件填满磁盘的情况很有用。 默认情况下,Dataproc 似乎只发送本地磁盘性能指标、C
我希望在我的 dataproc 集群的每个节点上设置一个环境变量,以便它可用于将在该集群上运行的 pyspark 作业。做这个的最好方式是什么? 我想知道是否有办法使用 Compute Engine
我正在尝试在 Dataproc 工作流模板中设置自动区域放置 我正在尝试在 Dataproc 工作流模板中设置自动区域放置,就像在 create a cluster 时所做的一样没有模板工作流 谷歌云
我正在考虑运行一个托管 Hive 服务器的持久性 GCP Dataproc 集群,该集群将提供 HiveQL 接口(interface),用于查询和更新存储在 Google Cloud Storage
刚开始熟悉 GCP dataproc。我注意到当我使用 gcloud dataproc jobs submit pyspark 时,作业是使用 spark.submit.deployMode=clie
我正在运行 PySpark 作业,但我无法确定工作进程失败的原因。 当我的作业正在运行时,我开始注意到作业输出中的堆栈跟踪,例如: 16/04/10 03:24:21 WARN org.apache.
我正在考虑运行一个托管 Hive 服务器的持久性 GCP Dataproc 集群,该集群将提供 HiveQL 接口(interface),用于查询和更新存储在 Google Cloud Storage
我正在尝试使用初始化脚本设置集群,但出现以下错误:[错误的 JSON:JSON 解析错误:意外的标识符“Google”]在日志文件夹中,初始化脚本输出日志不存在。这看起来很奇怪,因为它似乎在上周工作,
dataproc spark 作业日志位于何处?我知道“日志记录”部分下有来自驱动程序的日志,但是执行节点呢?另外,Spark 正在执行的详细步骤记录在哪里(我知道我可以在 Application M
我在 1 个集群上使用 Dataproc 和 1 个作业。 我想在创建集群后立即开始我的工作。我发现实现此目的的最佳方法是使用如下初始化脚本提交作业。 function submit_job() {
如何将参数传递到 dataproc pyspark 作业提交中调用的 python 脚本中?这是我一直在使用的命令: gcloud dataproc jobs submit pyspark --cl
Dataproc 没有与 Apache Ranger 和 Apache Sentry 的内置集成。那么Hive中推荐的用户授权方式是什么? 我是 Dataproc 的新手,您的回答真的很有帮助。 最佳
我使用 mysql 客户端从 dataproc 的主节点登录到 mysql 服务器,但现在失败了。 使用以下命令 mysql -uroot -p 我现在看到以下错误消息。 mysql: [Warnin
我想使用 Jupyter/iPython在 Cloud Dataproc .如何在创建新集群时自动安装和配置它? 最佳答案 Cloud Dataproc 团队有一个 GitHub repository
调试很慢。不清楚是否接受多个参数。文档字符串错误/不标准。 例如我们可以这样做: --initialization-actions a b c 当它失败时,如何在几秒钟而不是几分钟内调试......即
在创建我们的 Dataproc Spark 集群时,我们通过--properties spark:spark.jars.packages=mysql:mysql-connector-java:6.0.
我正在使用 Dataproc 工作流模板来运行 Sparkjob。我想将输入文件动态传递给 Sparkjob args,同时通过 Dataproc 工作流模板实例化它。我怎样才能实现它? 最佳答案 见
我运行多个批处理作业,我想将 dataproc 中的 jobId 引用到保存的输出文件中。 这将允许所有参数日志和与结果相关的输出。缺点仍然存在:随着 YARN 中的执行器消失,无法再获取单个执行器的
我是一名优秀的程序员,十分优秀!