Ошибка при запуске 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 также был недавно выпущен.

Надеюсь, это поможет вам!

Другие вопросы по тегам