Назад | Перейти на главную страницу

Почему мой сервер Jetty регистрирует ошибку DNS?

У меня есть виртуальная машина Xen, на которой я установил Jetty 7.4.5 для запуска экземпляра Hudson. Работал нормально около месяца. Сегодня мы заметили, что Хадсон не может создавать сборки. Проблема заключалась в том, что у нас больше нет места на диске, потому что у нас был файл журнала причала с 34 ГБ данных.

Этот файл содержит множество сообщений о DNS, как показано ниже:

21/09/2011 07:34:30 javax.jmdns.impl.DNSIncoming$MessageInputStream readName
GRAVE: Extended label are not currently supported.
21/09/2011 07:34:30 javax.jmdns.impl.DNSIncoming$MessageInputStream readName
GRAVE: Extended label are not currently supported.
21/09/2011 07:34:30 javax.jmdns.impl.DNSIncoming$MessageInputStream readName
GRAVE: Extended label are not currently supported.
21/09/2011 07:34:30 javax.jmdns.impl.DNSIncoming$MessageInputStream readName
GRAVE: Extended label are not currently supported.
21/09/2011 07:34:30 javax.jmdns.impl.constants.DNSRecordType typeForIndex
GRAVE: Could not find record type for index: 120
21/09/2011 07:34:30 javax.jmdns.impl.DNSIncoming readQuestion
GRAVE: Could not find record type: dns[query,10.10.2.53:5353, length=296, id=0x0, flags=0x6544:aa]
   0: 6963654465736372 3d32342d706f7274 2031302f3130302f 3130303020457468     iceDescr =24-port .10/100/ 1000.Eth
  20: 65726e6574205377 69746368c02b0021 000100000078001a 00000000a5500c53     ernet.Sw itch.+.! .....x.. .....P.S
  40: 7769746368313832 396261056c6f6361 6c00c02b00100001 0000007800bc0d6d     witch182 9ba.loca l..+.... ...x...m
  60: 6f64656c3d534745 3230303015736572 69616c4e6f3d374e 3430304843303033     odel=SGE 2000.ser ialNo=7N 400HC003
  80: 3137126877766572 73696f6e3d30302e 30302e303112666d 56657273696f6e3d     17.hwver sion=00. 00.01.fm Version=
  a0: 332e302e302e3137 0d69667665727369 6f6e3d312e30174d 4143416464726573     3.0.0.17 .ifversi on=1.0.M ACAddres
  c0: 733d303032323662 3138323962611164 6576696365547970 653d537769746368     s=00226b 1829ba.d eviceTyp e=Switch
  e0: 09686f73746e616d 653d2f6465766963 6544657363723d32 342d706f72742031     .hostnam e=/devic eDescr=2 4-port.1
 100: 302f3130302f3130 3030204574686572 6e65742053776974 6368c02b00210001     0/100/10 00.Ether net.Swit ch.+.!..
 120: 00000078001a0000                                                        ...x....

21/09/2011 07:34:30 javax.jmdns.impl.constants.DNSRecordClass classForIndex
AVISO: Could not find record class for index: 26

Мы скопировали файл журнала в другое место, удалили его с нашего сервера, чтобы освободить место, и заметили, что фактический файл журнала снова заполняется такими сообщениями. Также мы заметили, что пристань использует следующие порты (результат netstat):

tcp6       0      0 :::8080                 :::*                    LISTEN       1598/java       
tcp6       0      0 :::55224                :::*                    LISTEN       1598/java       
udp6       0      0 :::33848                :::*                                1598/java       
udp6       0      0 :::5353                 :::*                                1598/java

Кто-нибудь знает, почему причал использует порты, отличные от 8080, и откуда приходят эти DNS-сообщения? Мы установили на него только хадсон.

Я не скажу последнего слова по этому поводу, но у меня была такая же проблема при запуске Jenkins (он содержит Hudson).

Хадсон использует Jmdns для реализации обнаружения службы в локальной сети (через широковещательную рассылку). Я считаю, что Хадсон паникует, когда отвечает что-то не с его планеты. Я не знаю, как сделать его счастливым, но в моем случае я отключил эту функцию. С Дженкинсом это происходит следующим образом:

java -Dhudson.DNSMultiCast.disabled=true -jar path/to/jenkins.war

Вы можете отключить регистрацию этих ошибок DNS, изменив настройки ведения журнала в Jenkins.

В веб-интерфейсе Jenkins перейдите по ссылке:

Управление Jenkins -> Системный журнал -> Уровни журнала (слева)

Добавьте следующую запись:

Название: javax.jmdns

Уровень: выключен

Таким образом, вы можете сохранить функцию многоадресной рассылки DNS, но без всех данных журнала.