Michael Gummelt created MESOS-2797:
--------------------------------------
Summary: mesos-slave dies when it hits open file descriptor limit
Key: MESOS-2797
URL: https://issues.apache.org/jira/browse/MESOS-2797
Project: Mesos
Issue Type: Bug
Components: general
Affects Versions: 0.22.1
Reporter: Michael Gummelt
I'm running mesos-slave under systemd as part of Mesosphere's DCOS. The slave
process is repeatedly dying as it hits the system's open file descriptor limit
of 1024. See the below "master-slave.log" file.
I stop mesos-slave, remove the directory specified in the slave logs, and still
get the same error. lsof shows that mesos-slave is opening several hundred
pipes. See the below "lsof.log" file.
====mesos-slave.log====
Jun 01 23:49:19 dcos-01 systemd[1]: mesos-slave.service holdoff time over,
scheduling restart.
Jun 01 23:49:19 dcos-01 systemd[1]: Stopping Mesos Slave...
Jun 01 23:49:19 dcos-01 systemd[1]: Starting Mesos Slave...
Jun 01 23:49:19 dcos-01 ping[14896]: PING leader.mesos (172.17.8.101) 56(84)
bytes of data.
Jun 01 23:49:19 dcos-01 ping[14896]: 64 bytes from dcos-01 (172.17.8.101):
icmp_seq=1 ttl=64 time=0.023 ms
Jun 01 23:49:19 dcos-01 ping[14896]: --- leader.mesos ping statistics ---
Jun 01 23:49:19 dcos-01 ping[14896]: 1 packets transmitted, 1 received, 0%
packet loss, time 0ms
Jun 01 23:49:19 dcos-01 ping[14896]: rtt min/avg/max/mdev =
0.023/0.023/0.023/0.000 ms
Jun 01 23:49:19 dcos-01 systemd[1]: Started Mesos Slave.
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.713110 14899
logging.cpp:172] INFO level logging started!
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.715564 14899
main.cpp:156] Build: 2015-05-19 18:43:41 by
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.715600 14899
main.cpp:158] Version: 0.22.1
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.715618 14899
main.cpp:165] Git SHA: dd082c8656eb6e93e091a12fc5cfee3700a61bb1
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.830142 14899
containerizer.cpp:110] Using isolation: cgroups/cpu,cgroups/mem
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.845340 14899
linux_launcher.cpp:94] Using /sys/fs/cgroup/freezer as the freezer hierarchy
for the Linux launcher
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.845696 14899
main.cpp:200] Starting Mesos slave
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: 2015-06-01
23:49:19,845:14899(0x7f111ff43700):ZOO_INFO@log_env@712: Client
environment:zookeeper.version=zookeeper C client 3.4.5
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: 2015-06-01
23:49:19,846:14899(0x7f111ff43700):ZOO_INFO@log_env@716: Client
environment:host.name=dcos-01
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: 2015-06-01
23:49:19,846:14899(0x7f111ff43700):ZOO_INFO@log_env@723: Client
environment:os.name=Linux
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: 2015-06-01
23:49:19,846:14899(0x7f111ff43700):ZOO_INFO@log_env@724: Client
environment:os.arch=3.19.0
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: 2015-06-01
23:49:19,846:14899(0x7f111ff43700):ZOO_INFO@log_env@725: Client
environment:os.version=#2 SMP Thu Mar 26 10:44:46 UTC 2015
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: 2015-06-01
23:49:19,846:14899(0x7f111ff43700):ZOO_INFO@log_env@733: Client
environment:user.name=(null)
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: 2015-06-01
23:49:19,846:14899(0x7f111ff43700):ZOO_INFO@log_env@741: Client
environment:user.home=/root
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: 2015-06-01
23:49:19,846:14899(0x7f111ff43700):ZOO_INFO@log_env@753: Client
environment:user.dir=/
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: 2015-06-01
23:49:19,846:14899(0x7f111ff43700):ZOO_INFO@zookeeper_init@786: Initiating
client connection, host=leader.mesos:2181 sessionTimeout=10000
watcher=0x7f11246c0140 sessionId=0 sessionPasswd=<null> context=0x7f1114000b40
flags=0
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.846161 14899
slave.cpp:174] Slave started on 1)@172.17.8.101:5051
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.846206 14899
slave.cpp:194] Moving slave process into its own cgroup for subsystem: cpu
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: 2015-06-01
23:49:19,855:14899(0x7f110bde7700):ZOO_INFO@check_events@1703: initiated
connection to server [172.17.8.101:2181]
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: 2015-06-01
23:49:19,855:14899(0x7f110bde7700):ZOO_INFO@check_events@1750: session
establishment complete on server [172.17.8.101:2181],
sessionId=0x14d77b31175030e, negotiated timeout=10000
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.856979 14900
group.cpp:313] Group process (group(1)@172.17.8.101:5051) connected to ZooKeeper
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.857028 14900
group.cpp:790] Syncing group operations: queue size (joins, cancels, datas) =
(0, 0, 0)
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.857049 14900
group.cpp:385] Trying to create path '/mesos' in ZooKeeper
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.869518 14900
detector.cpp:138] Detected a new leader: (id='16')
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.869675 14900
group.cpp:659] Trying to get '/mesos/info_0000000016' in ZooKeeper
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.870889 14900
detector.cpp:452] A new leading master ([email protected]:5050) is
detected
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.875787 14899
slave.cpp:194] Moving slave process into its own cgroup for subsystem: memory
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.880331 14899
slave.cpp:322] Slave resources: ports(*):[1025-2180, 2182-3887, 3889-5049,
5052-8079, 8082-8180, 8182-65535]; cpus(*):4; mem(*):2933; disk(*):10823
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.880523 14899
slave.cpp:351] Slave hostname: dcos-01
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.880553 14899
slave.cpp:352] Slave checkpoint: true
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.883630 14903
state.cpp:35] Recovering state from '/var/lib/mesos/slave/meta'
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.883815 14900
status_update_manager.cpp:197] Recovering status update manager
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.883940 14904
containerizer.cpp:307] Recovering containerizer
Jun 01 23:49:19 dcos-01 mesos-slave[14899]: I0601 23:49:19.883949 14907
docker.cpp:423] Recovering Docker containers
Jun 01 23:49:24 dcos-01 mesos-slave[14899]: Failed to perform recovery: Collect
failed: Collect failed: Failed to create pipe: Too many open files
Jun 01 23:49:24 dcos-01 mesos-slave[14899]: To remedy this do as follows:
Jun 01 23:49:24 dcos-01 mesos-slave[14899]: Step 1: rm -f
/var/lib/mesos/slave/meta/slaves/latest
Jun 01 23:49:24 dcos-01 mesos-slave[14899]: This ensures slave doesn't recover
old live executors.
Jun 01 23:49:24 dcos-01 mesos-slave[14899]: Step 2: Restart the slave.
Jun 01 23:49:24 dcos-01 systemd[1]: mesos-slave.service: main process exited,
code=exited, status=1/FAILURE
Jun 01 23:49:24 dcos-01 systemd[1]: Unit mesos-slave.service entered failed
state.
Jun 01 23:49:24 dcos-01 systemd[1]: mesos-slave.service failed.
=====lsof.log====
mesos-sla 30306 root 563r FIFO 0,9 0t0
10642859 pipe
mesos-sla 30306 root 564r FIFO 0,9 0t0
10642862 pipe
mesos-sla 30306 root 565r FIFO 0,9 0t0
10642861 pipe
mesos-sla 30306 root 566r FIFO 0,9 0t0
10642864 pipe
mesos-sla 30306 root 567r FIFO 0,9 0t0
10642863 pipe
mesos-sla 30306 root 568r FIFO 0,9 0t0
10642866 pipe
mesos-sla 30306 root 569r FIFO 0,9 0t0
10642865 pipe
mesos-sla 30306 root 570r FIFO 0,9 0t0
10642868 pipe
mesos-sla 30306 root 571r FIFO 0,9 0t0
10642867 pipe
mesos-sla 30306 root 572r FIFO 0,9 0t0
10642879 pipe
mesos-sla 30306 root 573r FIFO 0,9 0t0
10642869 pipe
mesos-sla 30306 root 574r FIFO 0,9 0t0
10642881 pipe
mesos-sla 30306 root 575r FIFO 0,9 0t0
10642880 pipe
mesos-sla 30306 root 576r FIFO 0,9 0t0
10642883 pipe
mesos-sla 30306 root 577r FIFO 0,9 0t0
10642882 pipe
mesos-sla 30306 root 578r FIFO 0,9 0t0
10642891 pipe
mesos-sla 30306 root 579r FIFO 0,9 0t0
10642884 pipe
mesos-sla 30306 root 580r FIFO 0,9 0t0
10642893 pipe
mesos-sla 30306 root 581r FIFO 0,9 0t0
10642892 pipe
mesos-sla 30306 root 582r FIFO 0,9 0t0
10642895 pipe
mesos-sla 30306 root 583r FIFO 0,9 0t0
10642894 pipe
mesos-sla 30306 root 584r FIFO 0,9 0t0
10642899 pipe
mesos-sla 30306 root 585r FIFO 0,9 0t0
10642896 pipe
mesos-sla 30306 root 586r FIFO 0,9 0t0
10642901 pipe
mesos-sla 30306 root 587r FIFO 0,9 0t0
10642900 pipe
mesos-sla 30306 root 588r FIFO 0,9 0t0
10642904 pipe
mesos-sla 30306 root 589r FIFO 0,9 0t0
10642902 pipe
mesos-sla 30306 root 590r FIFO 0,9 0t0
10642906 pipe
mesos-sla 30306 root 591r FIFO 0,9 0t0
10642905 pipe
mesos-sla 30306 root 592r FIFO 0,9 0t0
10642908 pipe
mesos-sla 30306 root 593r FIFO 0,9 0t0
10642907 pipe
mesos-sla 30306 root 594r FIFO 0,9 0t0
10642910 pipe
mesos-sla 30306 root 595r FIFO 0,9 0t0
10642909 pipe
mesos-sla 30306 root 596r FIFO 0,9 0t0
10642918 pipe
mesos-sla 30306 root 597r FIFO 0,9 0t0
10642911 pipe
mesos-sla 30306 root 598r FIFO 0,9 0t0
10642920 pipe
mesos-sla 30306 root 599r FIFO 0,9 0t0
10642919 pipe
mesos-sla 30306 root 600r FIFO 0,9 0t0
10642922 pipe
mesos-sla 30306 root 601r FIFO 0,9 0t0
10642921 pipe
mesos-sla 30306 root 602r FIFO 0,9 0t0
10642924 pipe
mesos-sla 30306 root 603r FIFO 0,9 0t0
10642923 pipe
mesos-sla 30306 root 604r FIFO 0,9 0t0
10642926 pipe
mesos-sla 30306 root 605r FIFO 0,9 0t0
10642925 pipe
mesos-sla 30306 root 606r FIFO 0,9 0t0
10642928 pipe
mesos-sla 30306 root 607r FIFO 0,9 0t0
10642927 pipe
mesos-sla 30306 root 608r FIFO 0,9 0t0
10642933 pipe
mesos-sla 30306 root 609r FIFO 0,9 0t0
10642929 pipe
mesos-sla 30306 root 610r FIFO 0,9 0t0
10642935 pipe
mesos-sla 30306 root 611r FIFO 0,9 0t0
10642934 pipe
mesos-sla 30306 root 612r FIFO 0,9 0t0
10642937 pipe
mesos-sla 30306 root 613r FIFO 0,9 0t0
10642936 pipe
mesos-sla 30306 root 614r FIFO 0,9 0t0
10642939 pipe
mesos-sla 30306 root 615r FIFO 0,9 0t0
10642938 pipe
mesos-sla 30306 root 616r FIFO 0,9 0t0
10642949 pipe
mesos-sla 30306 root 617r FIFO 0,9 0t0
10642940 pipe
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)