osm2pgsql导入失败,“无法从节点缓存中读取:输入/输出错误”

时间:2017-04-13 17:54:27

标签: postgresql openstreetmap postgis mount osm2pgsql

我正在尝试在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

1 个答案:

答案 0 :(得分:0)

Ubuntu 16.04写入卷nvme0n1时出错。解决了https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1668129/comments/29