在学习配置tuxedo集群的时候遇到一个问题,纠结半天才解决,记录分享一下。
我是用虚拟机虚拟的两个完全一样的红帽linux系统,TUX1作为master主机,TUX2是从机,组成一个实验性的集群系统。写好配置文件之后,在两台机器上都启动ttlisten进程,然后再主机上tmboot,出现如下错误:
tmboot: WARN: No BBL available on site TUX2.
Will not attempt to boot server processes on that site.
查阅很多资料之后解决了问题,总结几个常见的解决办法。
1.问题一般都是出在配置文件上,总可能会有些细节地方没有写好或者有误。尤其是注意在NETWORK这一部分的格式:NADDR="//IP:PORT" NLSADDR="//IP:PORT"。特别要留意两个机器上的tlisten进程端口是否一致,ip是否写的完全正确。
2.tlisten进程可以正常启动,但就是无法在集群之间建立通信连接,最有可能的原因就是各个机器上的tlisten.pw文件不一样,因为这个文件是tlisten在建立连接时的一个简单口令认证文件,内容是明文可见的,但往往就是其中的一些微小差别,比如多了“\n”回车符什么的。最好的办法就是用scp命令将master上的tlisten.pw文件拷贝到各个从机上,这样就保证了文件的完全一致。
3.在建立bridge通信时,报UID、GID不匹配导致无法访问bb内存。原因就是从机上的UID和GID是靠配置及文件成生的,与自己本身的UID和GID不一致,用tmunloadcf可以明显看到这里的UID、GID和用id命令看到的不一样,所以造成错误。因为UID和GID是在配置文件中的resources中定义的,但是可以在machines中重写,所以我们只需要在对应的机器名字配置下加入UID和GID的配置即可。
4.因为是在虚拟机下做的实验,所以有可能网络配置的问题。在网络模式的选择的时候有桥接到屋里网卡和host-only模式,最好保持所有机器一致即可。