Ошибка при запуске OmniEvents
Я пытаюсь установить REDHAWK v1.8.2 на новую 32-разрядную версию CentOS 6.4, но не могу запустить omniNames и omniEvents.
sudo /sbin/service omniEvents stop
Stopping CORBA event service: omniEvents
sudo /sbin/service omniNames stop
Stopping omniNames [ OK ]
sudo /sbin/service omniNames start
Starting omniNames [ OK ]
sudo /sbin/service omniEvents start
Starting CORBA event service on port 11169: omniEvents: [25848]: Warning - failed to resolve initial reference 'NameService'. Exception: TRANSIENT
omniEvents.
Я попытался проверить, действительно ли запущен omniNames, вызвав клиент имен, но получил ошибку (см. Ниже), поэтому кажется, что omniNames не запускается успешно.
nameclt list
Caught a TRANSIENT exception when trying to validate the type of the
NamingContext. Is the naming service running?
В рамках процесса отладки я попытался убить процесс omniNames и запустить его другим способом (см. Ниже).
sudo killall omniNames
omniNames -start
Wed Nov 13 21:08:08 2013:
Starting omniNames for the first time.
Error: cannot create initial log file '/var/omninames/omninames-orion.log':
No such file or directory
You can set the environment variable OMNINAMES_LOGDIR to specify the
directory where the log files are kept.
Я не уверен, почему omniNames не может создать файл журнала, потому что я проверил, что папка / var / omninames действительно существует, и даже запуск omniNames от имени пользователя root приводит к той же ошибке. Несмотря на это, я установил каталог журналов на своем рабочем столе, чтобы обойти ошибку (см. Ниже).
export OMNINAMES_LOGDIR=/home/$USER/Desktop/logs
mkdir -p /home/$USER/Desktop/logs
omniNames -start
Wed Nov 13 21:09:17 2013:
Starting omniNames for the first time.
Wrote initial log file.
Read log file successfully.
Root context is IOR:010000002b00000049444c3a6f6d672e6f72672f436f734e616d696e672f4e616d696e67436f6e746578744578743a312e30000001000000000000005c000000010102000a00000031302e322e382e333500f90a0b0000004e616d6553657276696365000200000000000000080000000100000000545441010000001c00000001000000010001000100000001000105090101000100000009010100
Checkpointing Phase 1: Prepare.
Checkpointing Phase 2: Commit.
Checkpointing completed.
Несмотря на то, что похоже, что omniNames успешно запущен, когда я открываю другое окно терминала и вызываю клиент именования, я получаю ту же ошибку, что и раньше (см. Ниже).
nameclt list
Caught a TRANSIENT exception when trying to validate the type of the
NamingContext. Is the naming service running?
Единственное изменение, которое я сделал в файле /etc/omniORB.cfg, - это добавление строк для InitRef (см. Ниже).
InitRef = NameService=corbaname::localhost
InitRef = EventService=corbaloc::localhost:1169/omniEvents
Кроме того, я не подключен к Интернету, поэтому моя версия CentOS не была обновлена по сравнению с базовой версией, за исключением библиотек наддува, как рекомендовано в Приложении J руководства ( http://sourceforge.net/projects/redhawksdr/files/redhawk-doc/1.9.0/REDHAWK_Manual_v1.9.0.pdf/download).
1 ответ
Похоже, проблема в вашей конфигурации. У вас неправильный порт в вашем файле конфигурации. Это должен быть порт 11169, однако вы указали порт 1169.
См. http://redhawksdr.github.io/Documentation/mainch2.html для получения подробной информации.
Несколько других замечаний и уловок относительно omniOrb на случай, если это не проблема.
Иногда omninames / omnievents могут попасть в плохое состояние. Исправление состоит в том, чтобы удалить файлы журнала, созданные omniNames и omniEvents, и перезапустить службы. Они расположены:
/ Вар / Библиотека / omniEvents / *
/ Вар /omniNames/*
Вам нужно быть пользователем root, чтобы удалить эти файлы. Я всегда забываю, где они находятся, и часто делаю "locate omni | grep -i log", чтобы напомнить себе, но вы должны сделать это как root, поскольку они не видны обычным пользователям.
Хотя это не должно иметь значения, я лично обнаружил, что использование 127.0.0.1 более надежно, чем localhost. По какой-то причине использование localhost внутри виртуальной машины в файле конфигурации вызывало у меня проблемы в прошлом. Попробуйте использовать 127.0.0.1 вместо localhost. Это то, что рекомендует текущая версия Руководства Redhawk.
Вы упомянули, что используете Redhawk v1.8.2. Как FYI, последняя версия REDHAWK в серии 1.8 в настоящее время v1.8.5 и 1.9.0 также был недавно выпущен.
Надеюсь, это поможет вам!