Я пытаюсь запустить экземпляр искры Докера, и я часто получает это исключение брошенное:Начала java.lang.OutOfMemoryError бросил на меня при запуске искры внутри Докер
16/10/30 23:20:26 ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread Thread[Executor task launch worker-1,5,main]
java.lang.OutOfMemoryError: unable to create new native thread
Я использую этот докер изображение https://github.com/sequenceiq/docker-spark.
Мои ulimits кажется, нормально внутри контейнера:
bash-4.1# ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 29747
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1048576
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 1048576
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Они также хорошо выглядеть снаружи контейнера, на хосте:
[email protected] ~> ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 29747
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 29747
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Мой Googling сказал мне, что Systemd может ограничить задачи и причины этот вопрос, но у меня установлен лимит моей задачи на бесконечность:
[email protected] ~> grep TasksMax /usr/lib/systemd/system/docker.service
20:TasksMax=infinity
[email protected] ~> systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2016-10-31 08:22:39 AWST; 3h 14min ago
Docs: http://docs.docker.com
Main PID: 1107 (docker-current)
Tasks: 56
Memory: 34.9M
CPU: 30.292s
Любые идеи? Мой код Spark просто читается из экземпляра Kafka (работает в отдельном контейнере Docker) и выполняет базовую карту/сокращение. Ничего особенного.
Не могли бы вы разместить команды докеров, которые вы используете? –