我有一个Xen虚拟机,我安装了Jetty 7.4.5,运行Hudson实例。 它工作正常大约一个月。 今天我们已经注意到哈德森无法生成构build。 问题是我们在磁盘上没有更多空间,因为我们有一天前的一个docker日志文件,有34 Gb的数据。
这个文件包含了很多关于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.. .....PS 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
我们已经将日志文件复制到另一个地方,将其从我们的服务器中移除以释放空间,并且已经注意到实际的日志文件再次被提交给这些types的消息。 此外,我们已经注意到,docker正在使用以下端口(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
有谁知道为什么docker使用不同于8080端口,从哪里来的这些DNS消息? 我们只安装了哈德森。
我不会有这个最后的话,但是在运行Jenkins(它包含Hudson)时,我也遇到了同样的问题。
Hudson使用Jmdns在本地networking上实现服务发现(通过广播)。 我相信哈德森恐慌,当不是从它的星球回答的东西。 我不知道如何使它高兴,但在我的情况下,我禁用了该function。 与jenkins,这样做:
java -Dhudson.DNSMultiCast.disabled=true -jar path/to/jenkins.war
您可以通过调整Jenkins中的日志logging设置来禁用这些DNS错误的日志logging。
从Jenkins的web界面转到:
pipe理jenkins – >系统日志 – >日志级别(在左边)
添加以下条目:
名称: javax.jmdns
等级: 关
这样您可以保持多播DNSfunction,但没有所有的日志logging数据。