问题标签 [gcsfuse]
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.
docker - 使用 gcsfuse-mounted Bucket 中的数据在 Google Cloud 实例上运行 Docker
我正在尝试运行 Docker 容器来分析 Google Cloud Bucket 中的数据。
我已经能够使用gcsfuse
.
为了能够安装其他程序(并挂载存储桶),我安装了 Docker(并且没有使用 Docker 优化实例选项)。如果我以交互模式运行 Docker(不安装驱动器),它看起来工作正常。
但是,如果我尝试使用已安装的驱动器(即 gcsfuse-mounted Bucket)以交互模式运行 Docker,我会收到一条错误消息:
我希望我接近完成这项工作:有人对这个错误消息的相对简单的修复有任何想法吗?
顺便说一句,我意识到还有其他方法可以在 Google Cloud 上运行 DeepVariant,但我正在努力使事情尽可能类似于我在 AWS 上所做的事情(另外,我可能需要做一些额外的故障排除来分析其中一个我的文件)。
非常感谢您的帮助!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~
仅供参考,这就是我安装桶的方式:
这就是我安装 Docker 的方式:
google-cloud-platform - 使用 gcsfuse 挂载时,无法从/到谷歌存储桶解压缩非常大的文件
在 Google Cloud 上,我有一个 linux 计算引擎和一个存储桶。我已经使用 gcsfuse 将存储桶安装为 CE 的驱动器 - 正如 Google 推荐的那样 - 并且不时将一个大型 7zip 存档(数十 GB)上传到存储桶。当我登录到 CE 的终端时,转到已安装的存储桶文件夹并尝试使用以下命令解压缩文件(在同一位置):
7z x myarchive.7z
它将文件解压缩到 100%(这需要几分钟)并在结束它会失败:
之后,如果我查看存储桶的内容,则存在解压缩的文件名,但它有 0 KB。
我知道这E_FAIL
通常与空间不足有关,但 Google 存储桶应该有无限空间(限制单个文件大小)。例如,该命令df -h
说挂载的存储桶应该有 1 PB 的可用存储空间。
有人有类似的设置/问题吗?
python - 允许谷歌云计算引擎实例将文件写入谷歌存储桶 - Python
在我在谷歌云虚拟机实例上运行的 python 服务器脚本中,它尝试在存储中保存图像(jpeg)。但它会引发以下错误。
文件“/home/thamendudj_16/server/object_detection/object_detector.py”,第 109 行,在检测手 new_img.save("slicedhand/{}#sliced_image{}.jpeg".format(threadname, i)) 文件中
“/home/thamendudj_16/.local/lib/python3.5/site-packages/PIL/Image.py”,第 2004 行,保存 fp = builtins.open(文件名,“w+b”)
OSError:[Errno 5] 输入/输出错误:'slicedhand/thread_1#sliced_image0.jpeg'
包括 python 脚本在内的所有文件都在谷歌存储桶中,并已使用 gcsfuse挂载到 VM 实例。应用程序尝试将新图像保存在slicedhand文件夹中。
发生图像保存的 Python 代码片段。
我认为可能是权限访问的问题。Doc 说要使用--key_file
. 但是我应该使用什么密钥文件以及在哪里可以找到它。我不清楚这是问题还是其他原因。
任何帮助,将不胜感激。
docker - 在 Google App Engine 上运行 gcsfuse 时出现问题
我正在尝试在 App Engine Flexible 上运行 Airflow Webserver,但是要使其正常工作,我需要一个已安装的 GCS 存储桶。我正在使用自定义运行时。我这样做的原因是为了获得一个安全端点,该端点由 app Engine 与 IAP 一起提供。
我的 app.yaml 是一个简单的文件,包含服务名称、环境和运行时我的 Dockerfile 有很多apt-get install
s,在 CMD 中有 gcsfuse 安装和运行气流网络服务器,这没什么大不了的。
尝试在 App Engine 中使用 gcsfuse 时遇到的错误是:
我知道 Google Composer 存在,但它对我的需求来说太贵了。所以我更喜欢在 GAE 上创建一个带有调度程序和网络服务器的 VM,共享一个 GCS 存储桶,类似于 Composer 提供的,但没有所有 HA 和我想要运行的简单事情的疯狂成本。
我正在寻找在 App Engine 中执行此操作,到目前为止我发现的所有答案都出于某种原因提到了 GKE。
我知道这是一个权限问题,但是在 App Engine 中我看不到任何设置权限的选项,这样做的方法会非常有帮助。
甚至可以在 App Engine 上做我想做的事吗?
php - 在镜像构建阶段使用 gcsfuse
我试图gcsfuse
在docker build ...
命令期间使用以将工作目录挂载到 GCP 存储中,我在 Server Fault 中提出了问题,因为gcsfuse
支持被重定向到它,但我找不到让它工作的方法,并且它在 Cloud Run 实例中,我认为在这里询问可能是个好主意。
这是原始帖子:
我尝试使用 gcsfuse 将应用程序源代码存储在 GCP 存储桶上,这是我的 Dockerfile:
可以在没有 gcsfuse 的情况下构建映像,但是在构建时使用:
gcsfuse mybucketname $APP_DIR
这是我遇到的错误:
fusermount: fuse device not found, try 'modprobe fuse' first
在 docker build 期间有什么解决方法可以让它工作吗?
感谢您的支持
python - 从文件模式读取文件时 Apache Beam python 错误处理
我正在从目录中读取所有文件并写入 bigquery 表。
如果目录中的任何文件有错误,它将引发错误并停止作业。我没有在日志中获得有关该文件(已引发错误的文件名)的任何信息。
有什么方法可以跳过失败的文件并继续下一个文件,或者至少记录遇到错误的文件名。
google-cloud-platform - gcsfuse 在读取时给出输入/输出错误
我已经安装了一个桶:
然后,在另一个连接中,我运行这个:
同时,在使用 gcsfuse 的第一个 shell 上,我看到了这个:
另一方面,树上的目录是完全可遍历的。
编辑:使用 --debug_gcs 我发现了这个:
这似乎不是 gcsfuse 中的正常权限错误,而是与--implied-dirs 相关的。有人可以帮忙吗?
google-cloud-storage - 如何等待 gcsfuse 写入(刷新)到 GCS 存储桶?
在 Compute Engine 工作节点将文件写入gcsfuse安装的本地目录并关闭它们之后,我希望它在通知其他工作节点所有文件已准备好之前将数据同步刷新到 GCS 。这是为了确保工作人员之间的同步。
Q.如何让 gcsfuse 写入 GCS,然后等待完成?
想法:
- 运行Linux
sync
命令? - 卸载目录然后等待该
fusermount
命令返回?(除了写入时间之外,卸载然后重新挂载下一个工作任务是否需要一两秒以上的时间?) - 让这个任务中的所有程序调用
fsync()
它们的所有输出文件?那将是具有挑战性的。 - 写一个额外的文件,然后
flush()
那个fsync()
?
google-cloud-platform - 循环遍历许多文件时如何增加gcsfuse吞吐量?
我正在处理超过 200,000 个 netcdf 文件,每个文件为 17 MB。它们都在谷歌云存储桶中,我正在尝试找到一种使用 gcsfuse 增加吞吐量的方法。
我正在使用谷歌云计算引擎虚拟机和 gcsfuse 来访问文件。我查看了 gsutil,但在 Google Cloud 文档中读到“单个 I/O 流的运行速度大约与 gsutil 一样快”。使用 gcsfuse 的 NCL 脚本将需要 8 天以上,这太长了。关于如何提高吞吐量的任何建议?谢谢你。