问题标签 [google-hadoop]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-hadoop - GoogleHadoopFileSystemBase.setTimes() 不工作
我在我的java代码中有一个引用GoogleHadoopFileSystemBase
,我正在尝试调用setTimes(Path p, long mtime, long atime)
来修改文件的时间戳。尽管其他 FileSystem api 工作正常,但它似乎不起作用。从控制台 UI,我只能看到“最后上传”的时间。google文件系统是否只存储上传时间,从而忽略修改时间和访问时间的变化?我还使用检查了时间戳hadoop fs -ls gs://mybucket/
,但该时间戳也显示为未更改。
google-hadoop - 从未成功构建过大型 hadoop&spark 集群
我想知道在使用 bdutil 工具部署 Spark 集群时是否有人可以帮助我解决这个问题。当核心总数增加(> = 1024)时,它一直失败,原因如下:
某些机器永远无法 sshable,例如“Tue Dec 8 13:45:14 PST 2015: 'hadoop-w-5' not yet sshable (255); sleep"
一些节点在部署 Spark 工作节点时失败并出现“Exited 100”错误,例如“Tue Dec 8 15:28:31 PST 2015: Exited 100: gcloud --project=cs-bwamem --quiet --verbosity=info compute ssh hadoop-w-6 --command=sudo su -l -c "cd ${PWD} && ./deploy-core-setup.sh" 2>>deploy-core-setup_deploy.stderr 1>>deploy-core-setup_deploy .stdout --ssh-flag=-tt --ssh-flag=-oServerAliveInterval=60 --ssh-flag=-oServerAliveCountMax=3 --ssh-flag=-oConnectTimeout=30 --zone=us-central1-f"
在日志文件中,它说:
hadoop-w-40: ==> 部署核心-setup_deploy.stderr <==
hadoop-w-40:dpkg-query:未安装包“openjdk-7-jdk”,没有可用信息
hadoop-w-40:使用 dpkg --info (= dpkg-deb --info) 检查存档文件,
hadoop-w-40: 和 dpkg --contents (= dpkg-deb --contents) 列出它们的内容。
hadoop-w-40:无法获取http://httpredir.debian.org/debian/pool/main/x/xml-core/xml-core_0.13+nmu2_all.deb 从服务器读取错误。远端关闭连接[IP:128.31.0.66 80]
hadoop-w-40:E:无法获取一些档案,也许运行 apt-get update 或尝试使用--fix-missing?
我试过16核128节点、32核64节点、32核32节点和其他1024核以上的配置,但是上面的原因1或2都会出现。
我还尝试修改 ssh-flag 以将 ConnectTimeout 更改为 1200 秒,并更改 bdutil_env.sh 以将轮询间隔设置为 30 秒、60 秒……,它们都不起作用。总会有一些节点失败。
这是我使用的配置之一:
时间 ./bdutil \ --bucket $BUCKET \ --force \ --machine_type n1-highmem-32 \ --master_machine_type n1-highmem-32 \ --num_workers 64 \ --project $PROJECT \ --upload_files ${JAR_FILE } \ --env_var_files hadoop2_env.sh,extensions/spark/spark_env.sh \ deploy
google-cloud-storage - GCS - 删除 + 重命名的全局一致性
我的问题可能是由于我对谷歌存储的全球一致性产生了误解,但由于我直到最近(11 月中旬)才遇到这个问题,现在它似乎很容易重现,我想澄清一下。该问题开始发生在使用 bdutil 在计算引擎上运行的一段 spark 代码中,但我可以使用 gsutil 从命令行重现。
我的代码正在删除目标路径,然后立即将源路径重命名为目标路径。由于目标路径不再存在,我希望具有全局一致性,src 将被重命名为目标,但是 src 被嵌套在目标内部,就好像目标仍然存在并且不一致。
重现的 hadoop 代码如下所示:
从命令行我可以重现:
如果原因是因为列表操作最终一致并且FileSystem实现是使用列表操作来确定目标是否仍然存在,那么我明白了,那么有没有推荐的解决方案来确保在重命名之前目标不再存在?
谢谢,卢克
hadoop - 适用于 Hadoop 的 Google Cloud 连接器不适用于 Pig
我将 Hadoop 与 HDFS 2.7.1.2.4 和 Pig 0.15.0.2.4 (Hortonworks HDP 2.4) 一起使用,并尝试将Google Cloud Storage Connector 用于 Spark 和 Hadoop(GitHub 上的 bigdata-interop)。当我尝试时它可以正常工作,比如说,
但是当我在 Pig 中尝试以下操作时(在 mapreduce 模式下):
Pig 失败并出现以下错误:
如果需要,我可以发布 GC 连接器的日志。
Hame 有人使用 Pig 和这个连接器吗?任何帮助都会受到欢迎。
apache-spark - 如何管理冲突的 DataProc Guava、Protobuf 和 GRPC 依赖项
我正在做一个 scala Spark 作业,它需要使用 Java 库 (youtube/vitess),它依赖于较新版本的 GRPC (1.01)、Guava (19.0) 和 Protobuf (3.0.0),而不是 DataProc 1.1 目前提供的图片。
在本地运行项目并使用 maven 构建时,将加载这些依赖项的正确版本,作业将毫无问题地运行。将作业提交到 DataProc 时,首选这些库的 DataProc 版本,并且作业将引用无法解析的类函数。
在 DataProc 上提交 Spark 作业时,确保加载正确版本的依赖项依赖项的推荐方法是什么?我无法重写该库的组件以使用 DataProc 提供的这些包的旧版本。
apache-spark - 以有效的方式从 BigQuery 读取到 Spark?
当使用BigQuery Connector从 BigQuery 读取数据时,我发现它首先将所有数据复制到 Google Cloud Storage。然后将这些数据并行读取到 Spark 中,但是在读取大表时,复制数据阶段需要很长时间。那么有没有更有效的方法将数据从 BigQuery 读取到 Spark 中?
另一个问题:从 BigQuery 读取由 2 个阶段组成(复制到 GCS,从 GCS 并行读取)。复制阶段是否受 Spark 集群大小的影响或需要固定时间?
apache-spark - (bdutil) 无法让 hadoop/spark 集群使用全新安装
我在 GCE 中建立了一个小型集群来使用它,但是尽管创建了一些实例,但有些故障会阻止它正常工作。我正在按照https://cloud.google.com/hadoop/downloads中的步骤进行操作
到目前为止,我正在使用(截至目前)最新版本的 gcloud(143.0.0)和 bdutil(1.3.5),全新安装。
使用debian-8作为镜像(因为 bdutil 仍然使用 debian-7-backports)。
在某个时候我得到了
完整的调试输出在https://gist.github.com/jlorper/4299a816fc0b140575ed70fe0da1f272 (项目 ID 和存储桶名称已更改)
创建了实例,但甚至没有安装 spark。在 ssh 之后,我设法在 master 中运行 spark 安装和启动 hadoop 命令。但是在启动时它失败了spark-shell
:
而不能import sparkSQL
。对于我所阅读的内容,一切都应该自动启动。
到目前为止,我有点迷茫,不知道还能做什么。我错过了任何步骤吗?是否有任何命令错误?提前致谢。
更新:已解决
正如在接受的解决方案中指出的那样,我克隆了 repo 并且集群创建没有问题。当试图开始spark-shell
虽然它给了
对我来说,这听起来像是连接器没有正确初始化,所以在运行之后
它按预期工作。
google-cloud-platform - 谷歌 Hadoop 文件系统加密
在正常操作中,可以向谷歌存储 API 提供加密密钥以加密给定的存储桶 /blob:https://cloud.google.com/compute/docs/disks/customer-supplied-encryption
这对于“即时”输出 spark/hadoop 作业是否可行?
假设我们想加密 spark write 的输出
在https://storage.googleapis.com/hadoop-conf/gcs-core-default.xml中,无法指定加密密钥。
这可能吗?
scala - Google BigQuery Spark 连接器:如何在追加时忽略未知值
我们使用 Google BigQuery Spark 连接器将存储在 Parquet 文件中的数据导入 BigQuery。使用自定义工具,我们生成了 BigQuery 所需的架构文件,并在我们的导入代码 (Scala) 中引用该文件。
但是,我们的数据并没有真正遵循固定且定义明确的模式,在某些情况下,可能会向单个数据集添加额外的列。bq
这就是为什么在使用我们几乎总是使用的命令行工具来试验 BigQuery 时,--ignore_unknown_values
因为否则许多导入会失败。
遗憾的是,我们在 BigQuery Spark 连接器中找不到等效的配置选项com.google.cloud.bigdataoss:bigquery-connector:0.10.1-hadoop2
。它存在吗?
hadoop - 将数据从 Hadoop 传输到 Google Cloud Storage 时如何加快 distcp
谷歌云提供了使用 Hadoop 的连接器。( https://cloud.google.com/hadoop/google-cloud-storage-connector )
使用连接器,我从 hdfs 接收数据到谷歌云存储
前任)
但数据太大(16TB),接收速度只有 2mb/s
所以,我尝试更改设置 distcp (地图属性,带宽属性...)
不过速度是一样的。
将数据从 HDFS 传输到 Google Cloud Storage 时如何加快 distcp