• 记录几个小问题


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

  • 相关阅读:
    邮箱正则表达式写法
    java中的的正则表达式
    Java中重载(overload)和重写(override)的区别
    内部类的使用规范
    Java静态代码块(static block)调用陷阱小记
    sychronized关键字的使用
    关于java中一次编译多个源文件时的编译顺序的问题
    java中内部类的访问调用
    map的三种遍历方法
    Java堆.栈和常量池
  • 原文地址:https://www.cnblogs.com/unqiang/p/9883254.html
Copyright © 2020-2023  润新知