一点心得

22 篇文章 0 订阅
9 篇文章 0 订阅

现在是2010年2月26日凌晨4:43:04,刚从市政府升级回来,在机房站了一晚上,屁股蛋子都站疼了。很累,不写长篇大论了——也写不了——把今晚遇到的问题和解决心得记录下来,以备日后自己和他人参考。

今晚主要捣鼓的是SQLServer 2005的数据同步一个局域网内多个apache组成的tomcat集群问题。

SQLServer 的数据库同步不知配过多少次了,经常碰到配好订阅服务器的订阅后一直在等待跟发布服务器同步但一直无法同步的情况,今晚终于找到病根彻底解决。一直等待时在同步监视器里看到的提示是“快照尚未准备好”或“无法找到快照”甚至是一些其他乱七八糟的事务或服务未启动之类,以前碰到这种情况不论三七二十一一律删掉重新部署,结果经常要重试好几次才会成功,出现“正在同步表XXXXX”(注意,只有看到类似这样的提示才是同步成功了)。今天才发现问题不是出在配置订阅服务上,而是“快照尚未准备好”!也就是说,分发服务器还没准备好要分发的资料,你订阅的就过来排队来拿了,那能拿到吗?

所以这个时候就不要只看同步的监视了,要看一下快照的生成,如果碰到一直在等待快照迟迟无法同步数据的情况,那十有八九是发布服务器的快照生成出现问题了。

今晚解决的另外一个问题就是一个局域网内运行多套(注意不是多个)tomcat集群时的session复制问题。事情的起因是原来有一套apache带着的两个tomcat服务,session是共享的,准备另外再布一套同样的独立的备用的apache带两个tomcat服务时,发现这四个tomcat之间的session是共享的!

………………

太困了,直接写问题是如何解决的吧,在配置好session复制的tomcat配置文件server.xml里,有这么一处地方让人怀疑:

...

<Membership
                className="org.apache.catalina.cluster.mcast.McastService"
                mcastAddr="228.0.0.4"
                mcastPort="45564"
                mcastFrequency="500"
                mcastDropTime="3000"/>
...

看见没,问题就是出在这个mcastAddr上了。今晚特地咨询了联通搞网络的工程师,这个mcastAddr是一个组播地址,只要配了同样地址的tomcat,他们之间的信息,就是共享的。

人家解释的很专业,224.0.0.0-239.255.255.255是公网还是什么私网地址,后面一大通我已经听不进去了,因为对我来说,问题解决就这么简单:把新布的两个tomcat组播地址由228.0.0.4改成其他任意一个地址如228.0.0.8(当然要在上面说的范围之内),问题就解决了!

对于这种问题,我公司的网络工程师还提出了另一种解决方案:将另两台服务器在交换机上单独做一个Vlan,这样组播时也不会影响。这个创意是我想出来的(本意是想通过改子网掩码的方式使这四台机器不在一个子网),实现方法是他们提供的,这种方法很笨,是不到最后万不得已的杀手锏,哈哈。

唉,越活年纪越大,反而文笔越来越差了,还不如年轻时写的流畅。摇摇头,睡觉了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值