我在 GCE 中建立了一个小型集群来使用它,但是尽管创建了一些实例,但有些故障会阻止它正常工作。我正在按照https://cloud.google.com/hadoop/downloads中的步骤进行操作
到目前为止,我正在使用(截至目前)最新版本的 gcloud(143.0.0)和 bdutil(1.3.5),全新安装。
./bdutil deploy -e extensions/spark/spark_env.sh
使用debian-8作为镜像(因为 bdutil 仍然使用 debian-7-backports)。
在某个时候我得到了
Fri Feb 10 16:19:34 CET 2017: Command failed: wait ${SUBPROC} on line 326.
Fri Feb 10 16:19:34 CET 2017: Exit code of failed command: 1
完整的调试输出在https://gist.github.com/jlorper/4299a816fc0b140575ed70fe0da1f272 (项目 ID 和存储桶名称已更改)
创建了实例,但甚至没有安装 spark。在 ssh 之后,我设法在 master 中运行 spark 安装和启动 hadoop 命令。但是在启动时它失败了spark-shell
:
17/02/10 15:53:20 INFO gcs.GoogleHadoopFileSystemBase: GHFS version: 1.4.5-hadoop1
17/02/10 15:53:20 INFO gcsio.FileSystemBackedDirectoryListCache: Creating '/hadoop_gcs_connector_metadata_cache' with createDirectories()...
java.lang.RuntimeException: java.lang.RuntimeException: java.nio.file.AccessDeniedException: /hadoop_gcs_connector_metadata_cache
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:522)
而不能import sparkSQL
。对于我所阅读的内容,一切都应该自动启动。
到目前为止,我有点迷茫,不知道还能做什么。我错过了任何步骤吗?是否有任何命令错误?提前致谢。
更新:已解决
正如在接受的解决方案中指出的那样,我克隆了 repo 并且集群创建没有问题。当试图开始spark-shell
虽然它给了
java.lang.RuntimeException: java.io.IOException: GoogleHadoopFileSystem has been closed or not initialized.`
对我来说,这听起来像是连接器没有正确初始化,所以在运行之后
./bdutil --env_var_files extensions/spark/spark_env.sh,bigquery_env.sh run_command_group install_connectors
它按预期工作。