記錄幾個小問題

1erlang的節點沒法ping通。java

 通常影響erlang節點互ping的因素大體有以下幾個:linux

a) 設置相同的cookie;mongodb

b) 防火牆關閉;shell

  兩個server節點和 mnesia節點互ping的過程當中,首先設置了相同的cookie,其中一臺物理機上的server1節點設置相同的cookie後,沒發pingmneisa節點,但兩臺物理機之間能夠互相ping通,說明網段訪問沒問題。vim

cookie又再次檢查,在erlangshell下,erlang:get_cookie(),查看獲取的cookie是同樣的。 防火牆看了下, 在linuxshell下,執行命令$  service iptables status   iptables: Firewall is not running  說明防火牆沒開啓,沒問題.cookie

糾結中,對linuxhostname不使用其名字,而用ip地址,發現能夠ping通,root@127.0.0.1 spa

 

而後,在 vim /etc/hosts 下,寫下要ping的這個網段的全部  iphostname對應的關係,server

再繼續設置相同的cookie後,net_adm:ping/1 ,成功了,網段內的節點以前能夠互相ping通訪問了。索引

 

2mongodbUTC時間ip

 

ErlangmongoUTC時間,是爲了建立collection的時候,建立該時間,而後在索引中設置過時時間,這樣就能夠定時刪除過時數據了。

這裏的這個collection的建立時間,爲mongoutc時間.     須要注意的是:mongo中的date類型以UTC(Coordinated Universal Time)存儲,就等於GMT(格林尼治標準時)時間,咱們是+8時區,也就是時差相差8,因此+8小時就是系統當前時間.

對於java來講,直接new Data() ,獲取的便是UTC時間,而這個字段爲date數據類型的.

對於erlang來講,沒有date的數據類型,而一開始走着想是先把時間轉爲UTC時間,而後在存入,發現這樣存到mongo中的是string類型的.最後,發現now() 這樣,直接存入的便是mongoUTC時間,也是data類型的.

相關文章
相關標籤/搜索