Dataproc初始化脚本未在主节点上运行

时间:2019-07-11 03:31:18

标签: google-cloud-platform google-cloud-dataproc

我正在设置一个新的dataproc服务器,并使用初始化动作来运行自定义脚本。该脚本可以在2个数据节点上正常运行,但不能在主节点上执行。

试图在/var/log/dataprog-initilization-*.log下查找日志,但无法在主节点中找到文件。

其他任何人以前都遇到过这个问题吗? 在此先感谢!

gcloud命令:

gcloud dataproc clusters create test-cluster \
--region=us-central1 --zone=us-central1-a \
--master-machine-type=n1-standard-4 --master-boot-disk-size=200 \
--initialization-actions=gs://dp_init_data/init2.sh --initialization-action-timeout="2m" \
--num-workers=2 --worker-machine-type=n1-standard-8 --worker-boot-disk-size=200

DataNode错误日志:

2019-07-11 03:29:22,123 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool BP-268987178-10.32.1.248-1562675355441 (Datanode Uuid 71664f82-1d23-4184-b19b-28f86b01a251) service to exp-gcp-kerberos-m.c.exp-cdh-prod.internal/10.32.1.248:8051 Datanode denied communication with namenode because the host is not in the include-list: DatanodeRegistration(10.32.1.60:9866, datanodeUuid=71664f82-1d23-4184-b19b-28f86b01a251, infoPort=0, infoSecurePort=9865, ipcPort=9867, storageInfo=lv=-57;cid=CID-aee57974-1706-4b8c-9654-97da47ad0464;nsid=128710770;c=1562675355441)

1 个答案:

答案 0 :(得分:1)

根据您的DataNode错误日志,似乎您希望init操作首先在master上运行,然后在worker上运行。但是初始化操作是并行运行的,因此您必须添加逻辑以在主服务器和工作服务器之间进行同步。我认为您可以简单地在worker中添加一些等待,或者,如果您想要更可靠的东西,请在完成主初始化后在GCS中写入一个标志文件,然后在worker中检查该文件。