记录几个小问题

1erlang的节点无法ping通。

 一般影响erlang节点互ping的因素大致有如下几个:

a) 设置相同的cookie;

b) 防火墙关闭;

  两个server节点和 mnesia节点互ping的过程中,首先设置了相同的cookie,其中一台物理机上的server1节点设置相同的cookie后,没发pingmneisa节点,但两台物理机之间可以互相ping通,说明网段访问没问题。

cookie又再次检查,在erlangshell下,erlang:get_cookie(),查看获取的cookie是一样的。 防火墙看了下, 在linuxshell下,执行命令$  service iptables status   iptables: Firewall is not running  说明防火墙没开启,没问题.

纠结中,对linuxhostname不使用其名字,而用ip地址,发现可以ping通,root@127.0.0.1 

 

然后,在 vim /etc/hosts 下,写下要ping的这个网段的所有  iphostname对应的关系,

再继续设置相同的cookie后,net_adm:ping/1 ,成功了,网段内的节点之前可以互相ping通访问了。

 

2mongodbUTC时间

 

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类型的.

 

posted @ 2018-10-31 15:08  孤独信徒  阅读(195)  评论(0编辑  收藏  举报