IQ Server启动时需要通过-n 参数指定IQ 引擎名(Engine Name),这个名称在同一网段内必须是唯一的(即使这个已经启动的同名IQ Server在另外的机器上),否则就会报"具有相同名称的服务器已经启动"的错误。
下面我们看一个例子,来说明这个问题:
假设同一网段中有两个Linux 服务器,地址分别为:192.168.0.184和192.168.0.199。在192.168.0.184机器上我们启动一个引擎名为utility_srv的IQ Server:
start_iq -n utility_srv
此后,在192.168.0.199机器上也用这种方式启动:
start_iq -n utility_srv
这时会报如下错误:
E. 05/15 10:01:08. A database server with that name has already started
I. 05/15 10:01:08. Database server shutdown due to startup error
I. 05/15 10:01:08. Database server stopped at Thu May 15 2014 10:01
DBSPAWN ERROR: -85
Communication error
虽然192.168.0.199这台机器上没有引擎名为utility_srv的IQ Server在运行,但是由于同一网段的机器中有同名的IQ Server已经在运行,所以会报错。
大家可能要问:"如果在启动一个IQ Server时报这样的错误,该如何知道已经在运行的同名IQ Server位于同一网段中的哪台机上"?
IQ 提供了一个工具程序 dblocate,使用这个程序可以获得同一网段中已经运行的IQ Server信息。例如:为了找到同一网段中在哪台机器上运行了引擎名为”utility_srv”的IQ Server,可以执行如下命令:
dblocate -n -s utility_srv
这个命令会输出相应IQ server的地址(IP:PORT)信息。
阅读(3332) | 评论(0) | 转发(0) |