我在我的本地centOS 6.6机器上安装了nominatim,遵循wiki.guide http://wiki.openstreetmap.org/wiki/Nominatim/Installation 我按照说明进行操作,我设法导入一个小地图(monaco-latest.osm.pbf),一切都很顺利。现在我尝试导入欧洲地图(15.8 gb),我按照相同的步骤,启动命令
./utils/setup.php --osm-file european.latest.osm.pbf --all --osm2pgsql-cache 2048 2>&1 | tee setup.log
5天前,如果我启动命令 ps -aux |更多我看到nominatim / postgres进程的以下输出:
500 25306 0.0 0.0 230024 528 ? S Oct14 0:00 /usr/bin/php -C
q ./utils/setup.php --osm-file /srv/mappe/europe-latest.osm.pbf --all --osm2pgsq l-cache 2048
postgres 25310 0.0 0.0 509284 2792 ? Ss Oct14 0:00 postgres: mapserver nominatim [local] idle
500 25336 2.6 51.3 3908808 2015768 ? R Oct14 182:24 /srv/Nominatim-2.3.1/osm2pgsql/osm2pgsql -lsc -O gazetteer --hstore -C 2048 -P 5432 -d nominatim /srv/mappe/europe-latest.osm.pbf
postgres 25338 0.7 3.6 352208 142580 ? Ss Oct14 49:17 postgres: mapserver nominatim [local] COPY
postgres 25339 39.3 3.5 325964 141056 ? Rs Oct14 2726:28 postgres: mapserver nominatim [local] idle in transaction
postgres 25340 0.2 3.5 326520 141116 ? Ss Oct14 16:17 postgres: mapserver nominatim [local] COPY
postgres 25341 0.0 0.0 325808 3156 ? Ss Oct14 0:00 postgres: mapserver nominatim [local] COPY
如果,我启动命令:
psql -d postgres -c "select * from pg_stat_activity where datname = 'nominatim'"
我看到了一些日志,但是,如果我写下面的代码,那会让我很担心:
su - postgres
\connect nominatim
\dt
我只看到9张桌子......
我该怎么办?这个过程还在运行?被困了??
我正在尝试使用centOS 6.7和250gb磁盘空间4gb ram的机器安装欧洲地图
请帮帮我。 非常感谢
嗨Artur非常感谢您的回复。 现在,阅读你的帖子我很确定这个过程很忙,因为setup.log从4天开始就是一样的.. 一个重要的问题:即使我的机器RAM是4GB,我可以将osm2pgsql -cache设置为18000吗?我已经读过缓存应该是机器RAM的一半,比如果我有4GB的RAM缓存应该是2048.它是否正确? 比现在我试图在另一台机器上安装地图,500 gb HD和16GB RAM(是一个centos 6.6虚拟机)。 当我启动地图导入时,我将标准输出和错误重定向到两个不同的文件: 在setup.log中我可以看到一些create table和一些insert(文件大约是100行),在文件的底部我看到了IMPORT 比我读错误.log文件,我看到这样的输出:
NOTICE: table "place" does not exist, skipping
NOTICE: type "keyvalue" does not exist, skipping
NOTICE: type "wordscore" does not exist, skipping
NOTICE: type "stringlanguagetype" does not exist, skipping
NOTICE: type "keyvaluetype" does not exist, skipping
NOTICE: function get_connected_ways(pg_catalog.int4[]) does not exist, skipping
Allocating memory for dense node cache
Allocating dense node cache in one big chunk
Allocating memory for sparse node cache
Sharing dense sparse Node-cache: cache=2048MB, maxblocks=262144*8192, allocation method=11 Mid: pgsql, scale=10000000 cache=2048
Setting up table: planet_osm_nodes
NOTICE: table "planet_osm_nodes" does not exist, skipping
Setting up table: planet_osm_ways
NOTICE: table "planet_osm_ways" does not exist, skipping
Setting up table: planet_osm_rels
NOTICE: table "planet_osm_rels" does not exist, skipping
Reading in file: /srv/mappe/europe-latest.osm.pbf
Processing: Node(10k 10.0k/s) Way(0k 0.00k/s) Relation(0 0.00/s)
Processing: Node(20k 20.0k/s) Way(0k 0.00k/s) Relation(0 0.00/s)
...
等等..是我第三次尝试安装这个该死的地图,这是该过程第三次停止:
Processing: Node(1561860k 141.1k/s) Way(6002k 0.04k/s) Relation(0 0.00/s)
正是在这一点上,该过程停止了,两次我看到类似于'gazzetter error exectuing external command'的错误,另一次没有出现错误,并且该过程刚刚停止。 为什么这个场景?为什么这个过程在那时完全停止了? 请帮我搜索很多,但我什么都没发现。 谢谢
答案 0 :(得分:1)
如果 setup.log 的内容类似于:
,则应检查 setup.logIn [25]: df1.equals(df3.reset_index(drop=True))
Out[25]: True
这意味着,导入任务在17491秒内处理了930027个元素,每秒产生约53.171745个对象,因此估计时间为1053255秒。
你有30个等级,据我记得第26和第30是最大的。
如果您想加快速度,可以尝试使用Nominatim installation guide PG Tuning section中写的PG性能设置。
我看到你给 osm2pgsql 进程的缓存非常低。尝试使用 Done 930027 in 17491 @ 53.171745 per second - Rank 30 ETA (seconds): 1053255.375000
。
您还可以通过添加18000
选项来并行化此操作。其中 n 是线程数量。默认值为 CPU数量 - 1 。
如果每个思维工作正常但速度很慢,那么你可能会遇到瓶颈(磁盘IO操作,内存不足或者CPU可能会变慢)。
我最后一次进口欧洲在i7 / 32GB RAM / 7200 HDD上花了大约10天,所以不要指望它能立即发挥作用。