由于某种原因,omniNames服务不会(再次)启动,但如果调用omniNames可执行文件,它将毫无问题地启动。此问题似乎每隔一段时间就会再次出现。
调用 omniNames 似乎开始很好...
>> sudo /sbin/service omniNames start
Starting omniNames: [ OK ]
但是,在检查状态并列出命名服务对象后,很明显 omniNames 没有成功启动:
>> sudo /sbin/service omniNames status
omniNames is stopped
>> nameclt list
Caught a TRANSIENT exception when trying to validate the type of the
NamingContext. Is the naming service running?
如果我尝试直接调用 omniNames 可执行文件并要求它在同一端口上启动,一切正常。
>> sudo omniNames -start 2809
Fri Feb 14 18:48:35 2014:
Starting omniNames for the first time.
Wrote initial log file.
Read log file successfully.
Root context is IOR:010000002b00000049444c3a6f6d672e6f72672f436f734e616d696e672f4e616d696e67436f6e746578744578743a312e30000001000000000000006c000000010102000a00000031302e322e382e333500f90a0b0000004e616d6553657276696365000300000000000000080000000100000000545441010000001c00000001000000010001000100000001000105090101000100000009010100035454410800000053abfe5201001037
Checkpointing Phase 1: Prepare.
Checkpointing Phase 2: Commit.
Checkpointing completed.
>> nodeBooter -D
INFO:DomainManager - Starting Domain Manager
WARN:EventChannelSupport - Invalid Criteria for creating event channel REDHAWK_DEV.ODM_Channel
WARN:EventChannelSupport - Invalid Criteria for creating event channel REDHAWK_DEV.IDM_Channel
INFO:DomainManager - Starting ORB!
>> nameclt list
EventChannelFactory
REDHAWK_DEV/
我已经尝试删除日志,如下所述: 启动 OmniEvents 时出错
作为参考,我运行的是 Centos 6.4 x64。此外,/etc/omniORB.cfg 的内容是:
InitRef = NameService=corbaname::127.0.0.1:2809
supportBootstrapAgent = 1
InitRef = EventService=corbaloc::127.0.0.1:11169/omniEvents
知道还有什么问题吗?
除了您引用的上一篇文章中列出的文件外,您可能需要删除/var/log/omniORB 中的文件。
删除名为:
/var/log/omniORB/omninames-<computer_name>.bak
/var/log/omniORB/omninames-<computer_name>.log
然后尝试再次启动 omniNames,看看它是否正常启动。