我正在尝试在AWS EC2上进行全行星OSM数据导入。在“方式”处理期间或之后,我收到以下消息:
"Failed to read from node cache: Input/output error"
EC2具有以下规格:
键入:i3.xlarge
记忆:30.5 Gb
vCPUs:4
Postgresql:v9.5.6
PostGIS:2.2
除根音量外,我还安装了900GB SSD和2TB HHD(高吞吐量)。 Postgresql数据目录位于HHD上。我命令osm2pgsql
将平面节点文件写入SSD。
这是我的osm2pgsql
命令:
osm2pgsql -c -d gis --number-processes 4 --slim -C 20000 --flat-nodes /data-cache/flat-node-cache/flat.nodes /data-postgres/planet-latest.osm.pbf
我以用户renderaccount
运行上述命令,该用户renderaccount ubuntu postgres
是以下组flat-nodes
的成员。 /data-cache/flat-node-cache/flat.nodes
文件似乎已在ubuntu@ip-172-31-25-230:/data-cache/flat-node-cache$ ls -l
total 37281800
-rw------- 1 renderaccount renderaccount 38176555024 Apr 13 05:45 flat.nodes
成功创建,并具有此个人资料:
flat-nodes
有没有人遇到过这个问题?我怀疑可能是权限问题?我现在注意到,自从最后一次osm2pgsql失败以来,作为dmesg
文件目标的已安装SSD已被转换为“只读”文件系统 - 当有i / o错误时可能会发生这种情况在安装的卷(?)上。
另外,osm2pgsql是否写入了我可以获取其他信息的日志?
更新:[ 6206.884412] blk_update_request: I/O error, dev nvme0n1, sector 66250752
[ 6206.890813] EXT4-fs warning (device nvme0n1): ext4_end_bio:329: I/O error -5 writing to inode 14024706 (offset 10871640064 size 8388608 starting block 8281600)
[ 6206.890817] Buffer I/O error on device nvme0n1, logical block 8281344
输出:
new $MyClass()
在研究了上述输出之后,它似乎可能是Ubuntu 16.04中的一个错误。 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1668129?comments=all
答案 0 :(得分:0)
Ubuntu 16.04写入卷nvme0n1
时出错。解决了https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1668129/comments/29