2015-10-19 70 views
1

我已經在我的本地centOS 6.6機器上安裝了nominatim,下面是wiki.guide那裏http://wiki.openstreetmap.org/wiki/Nominatim/Installation 我按照指令一行行,我設法導入一個小地圖(monaco-latest.osm.pbf )和一切都很好。現在,我試圖導入歐洲地圖(15.8 GB),我遵循相同的程序,我Nominatim歐洲地圖索引/導入

./utils/setup.php --osm-file european.latest.osm.pbf --all --osm2pgsql-cache 2048 2>&1 | tee setup.log 

3天前啓動命令,如果我啓動命令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內存

請幫助我。 非常感謝

嗨阿圖爾和非常感謝您的迴應。 現在,閱讀你的文章我很確定這個過程是忙碌的,因爲setup.log自4天以來一樣.. 一個重要的問題:即使我的機器RAM是osm2pgsql-cache 4GB??我已經讀過緩存應該是機器RAM的一半,比如果我有4GB內存緩存應該是2048.是否正確? 比現在我試圖在另一臺機器上安裝地圖,具有500 GB高清和16 GB RAM(是一個centos 6.6虛擬機)。 當我啓動地圖導入時,我將標準輸出和錯誤重定向到兩個不同的文件: 在setup.log中,我可以看到一些創建表和一些插入(文件大約100行),並且在文件底部IMPORT 比我讀error.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錯誤執行外部命令'和另一次沒有錯誤出現,並且該過程剛剛停止。 爲什麼這個場景?爲什麼這個過程恰恰停在那一點? 請幫我做了很多谷歌搜索,但我什麼也沒找到。 感謝

回答

1

您應該檢查SETUP.LOG如果有類似內容的增長:

Done 930027 in 17491 @ 53.171745 per second - Rank 30 ETA (seconds): 1053255.375000 

這意味着,進口任務處理930027個元素17491秒這給每秒53.171745對象,所以估計時間是1053255秒。

你有30個等級,據我記得26和30是最大的。

如果您想加快速度,可以嘗試使用編寫於Nominatim installation guide PG Tuning section中的PG性能設置。

我看到你給的緩存osm2pgsql進程相當低。嘗試使用18000

您還可以通過添加--threads n選項來並行處理此操作。其中n是線程數量。默認值是CPU數量 - 1

如果everythink工作正常但速度很慢,可能是某處存在瓶頸(磁盤IO操作,內存不足或者CPU可能會變慢)。

我最後一次進口歐洲在i7/32GB RAM/7200硬盤上花費了大約10天的時間,所以不要期望它立即工作。

+0

我知道你沒有足夠的代表,但是當你有這個答案屬於評論...現在我們很高興你嘗試幫助。轉換成答案指示如果SO卡住了,可以如何查看setup.log –