我正在一个Dataproc集群设置中测试所有的特性。我已经创建了一个集群模板,并且几乎每天都在使用创建命令,但是这个星期它停止工作了。打印的错误是:
ERROR: (gcloud.dataproc.clusters.create) Operation [projects/cluster_name/regions/us-central1/operations/number] failed: Failed to initialize node cluster_name-m: Component ranger failed to activate post-hdfs See output in: gs://cluster_bucket/google-cloud-dataproc-metainfo/number/cluster_name-m/dataproc-post-hdfs-startup-script_output.
当我看到消息打印的输出时,发现的错误是:
<13>Mar 3 12:22:59 google-dataproc-startup[15744]: <13>Mar 3 12:22:59 post-hdfs-activate-component-ranger[15786]: ERROR: Error CREATEing SolrCore 'ranger_audits': Unable to create core [ranger_audits] Caused by: Java heap space
<13>Mar 3 12:22:59 google-dataproc-startup[15744]: <13>Mar 3 12:22:59 post-hdfs-activate-component-ranger[15786]:
<13>Mar 3 12:22:59 google-dataproc-startup[15744]: <13>Mar 3 12:22:59 post-hdfs-activate-component-ranger[15786]: + exit_code=1
<13>Mar 3 12:22:59 google-dataproc-startup[15744]: <13>Mar 3 12:22:59 post-hdfs-activate-component-ranger[15786]: + [[ 1 -ne 0 ]]
<13>Mar 3 12:22:59 google-dataproc-startup[15744]: <13>Mar 3 12:22:59 post-hdfs-activate-component-ranger[15786]: + echo 1
<13>Mar 3 12:22:59 google-dataproc-startup[15744]: <13>Mar 3 12:22:59 post-hdfs-activate-component-ranger[15786]: + log_and_fail ranger 'Component ranger failed to activate post-hdfs'
我运行的创建命令是:
gcloud dataproc clusters create cluster_name \
--bucket cluster_bucket \
--region us-central1 \
--subnet subnet_dataproc \
--zone us-central1-c \
--master-machine-type n1-standard-8 \
--master-boot-disk-size 500 \
--num-workers 2 \
--worker-machine-type n1-standard-8 \
--worker-boot-disk-size 1000 \
--image-version 2.0.29-debian10 \
--optional-components ZEPPELIN,RANGER,SOLR \
--autoscaling-policy=autoscale_rule \
--properties="dataproc:ranger.kms.key.uri=projects/gcp-project/locations/global/keyRings/kbs-dataproc-keyring/cryptoKeys/kbs-dataproc-key,dataproc:ranger.admin.password.uri=gs://cluster_bucket/kerberos-root-principal-password.encrypted,hive:hive.metastore.warehouse.dir=gs://cluster_bucket/user/hive/warehouse,dataproc:solr.gcs.path=gs://cluster_bucket/solr2,dataproc:ranger.cloud-sql.instance.connection.name=gcp-project:us-central1:ranger-metadata,dataproc:ranger.cloud-sql.root.password.uri=gs://cluster_bucket/ranger-root-mysql-password.encrypted" \
--kerberos-root-principal-password-uri=gs://cluster_bucket/kerberos-root-principal-password.encrypted \
--kerberos-kms-key=projects/gcp-project/locations/global/keyRings/kbs-dataproc-keyring/cryptoKeys/kbs-dataproc-key \
--project gcp-project \
--enable-component-gateway \
--initialization-actions gs://goog-dataproc-initialization-actions-us-central1/cloud-sql-proxy/cloud-sql-proxy.sh,gs://cluster_bucket/hue.sh,gs://goog-dataproc-initialization-actions-us-central1/livy/livy.sh,gs://goog-dataproc-initialization-actions-us-central1/sqoop/sqoop.sh \
--metadata livy-timeout-session='4h' \
--metadata "hive-metastore-instance=gcp-project:us-central1:hive-metastore" \
--metadata "kms-key-uri=projects/gcp-project/locations/global/keyRings/kbs-dataproc-keyring/cryptoKeys/kbs-dataproc-key" \
--metadata "db-admin-password-uri=gs://cluster_bucket/hive-root-mysql-password.encrypted" \
--metadata "db-hive-password-uri=gs://cluster_bucket/hive-mysql-password.encrypted" \
--scopes=default,sql-admin
我知道这与Ranger/Solr设置有关,但我不知道如何在不创建替代初始化脚本或自定义机器映像的情况下增加堆大小。如果您知道如何解决此问题,或者需要更多关于我的设置的信息,请告诉我。
2条答案
按热度按时间zsbz8rwp1#
这可能是Dataproc项目SSH配置中用户名的错误字符,hadoop
fs -mkdir -p command
在集群创建过程中的HDFS激活步骤中出现错误。您可以按照这些步骤来解决问题。
1.使用GCP中的命令行创建集群。
1.创建群集时,请使用下面的标记
--metadata=block-project-ssh-keys=true \
,即使存在用于其他目的的元数据标记,也要在末尾添加此标记。你可以看到这个例子。
uklbhaso2#
这不是必需的,因为默认情况下已启用此功能:
--初始cloud-sql-proxy.shhue.sh化操作livy.shsqoop.sh,
在MySQL的云端SQL中,将log_bin_trust_function_creators旗标启用为ON。设定此旗标可控制是否可信任储存函数建立者,使其不会建立会导致不安全事件写入二进制记录档的储存函数。您可以在建立丛集后将旗标重设为OFF。请尝试,如果发现问题请告知我。
此外,请共享错误日志以了解更多详细信息。