2015-07-20 4 views
2

Я запускаю RethinkDB в Docker. Все работало ДЕЙСТВИТЕЛЬНО хорошо какое-то время, пока мы не переехали в новый центр обработки данных (но я не уверен, связано ли это с движением вообще). Вот что происходит.Rethinkdb SIGTERM, выключение

Я запускаю контейнер rethinkdb, и все работает хорошо. После некоторого периода времени (она колеблется между час или более) я вижу следующее в журналах DOCKER (выделено желтым цветом):

RethinkDB SIGTERM

Я совершенно не знаю, почему она получает SIGTERM из системы случайно. Благодарим за любую идею!

EDIT: Я добавляю фрагмент файла журнала для SIGTERM. Кажется, что нет никаких шаблонов в соответствии с отметками времени.

2015-07-15T16:15:02.888762613 663165.661585s notice: Server got SIGTERM from pid 0, uid 0; shutting down... 
2015-07-17T17:02:11.562306701 13322.914561s notice: Server got SIGTERM from pid 0, uid 0; shutting down... 
2015-07-19T18:31:12.499022237 96786.220054s notice: Server got SIGTERM from pid 0, uid 0; shutting down... 
2015-07-20T13:52:44.493304030 69690.608865s notice: Server got SIGTERM from pid 0, uid 0; shutting down... 

EDIT 2: Я побежал RethinkDB вне Докер, и я вижу это в журналах: ошибка: рабочий процесс не удалось синхронизироваться с основным процессом. Не уверен, что это что-то беспокоит. Он вообще не влияет на экземпляр RethinkDB (все клиенты остались подключенными).

2015-07-21T06:53:10.663375859 0.116098s info: Automatically using cache size of 10702 MB 
2015-07-21T06:53:10.676277261 0.128998s notice: Listening for intracluster connections on port 29015 
2015-07-21T06:53:10.684504354 0.137225s notice: Listening for client driver connections on port 28015 
2015-07-21T06:53:10.685485550 0.138206s notice: Listening for administrative HTTP connections on port 8080 
2015-07-21T06:53:10.686313405 0.139034s notice: Listening on addresses: 127.0.0.1, 172.17.42.1, 192.151.151.122, ::1, fe80::1879:43ff:fe5e:bdb2%34, fe80::62eb:69ff:fe07:d986%2, fe80::b837:f2ff:fecd:d5cd%4 
2015-07-21T06:53:10.686316632 0.139037s notice: Server ready, "0aa312e817ef_nrx" 069ac5b3-9f43-4bbe-9022-c1f006790e99 
2015-07-21T06:53:11.558116243 1.010837s error: worker process failed to resynchronize with main process 
2015-07-21T06:53:11.558122179 1.010843s notice: A newer version of the RethinkDB server is available: 2.0.4. You can read the changelog at <https://github.com/rethinkdb/rethinkdb/releases>. 

EDIT 3: Я нашел другой вопрос здесь, что я думаю, что может быть реальной проблемой. Адаптер переосмысления (в приложении) поддерживает соединения с сервером БД, который исчерпывает доступные файловые дескрипторы/порты в системе. Вот пример распечатки lsof. ПРИМЕЧАНИЕ Это только короткий список. Есть сотни/тысячи этих остаются открытыми, когда несколько человек используют систему

node 11633 [username_ommitted] 201u IPv4 0x53153575d33d64bb  0t0  TCP 192.168.1.142:61041->[RETHINK_IP]:28015 (ESTABLISHED) 
node 11633 [username_ommitted] 202u IPv4 0x53153575d33fa65b  0t0  TCP 192.168.1.142:61053->[RETHINK_IP]:28015 (ESTABLISHED) 
node 11633 [username_ommitted] 203u IPv4 0x53153575dd6a5d8b  0t0  TCP 192.168.1.142:61043->[RETHINK_IP]:28015 (ESTABLISHED) 
node 11633 [username_ommitted] 204u IPv4 0x53153575bff6717b  0t0  TCP 192.168.1.142:61044->[RETHINK_IP]:28015 (ESTABLISHED) 
node 11633 [username_ommitted] 206u IPv4 0x53153575d33e54bb  0t0  TCP 192.168.1.142:61049->[RETHINK_IP]:28015 (ESTABLISHED) 
node 11633 [username_ommitted] 207u IPv4 0x53153575d33ef4bb  0t0  TCP 192.168.1.142:61050->[RETHINK_IP]:28015 (ESTABLISHED) 
node 11633 [username_ommitted] 208u IPv4 0x53153575d33f2a4b  0t0  TCP 192.168.1.142:61051->[RETHINK_IP]:28015 (ESTABLISHED) 
node 11633 [username_ommitted] 209u IPv4 0x53153575c333a17b  0t0  TCP 192.168.1.142:61054->[RETHINK_IP]:28015 (ESTABLISHED) 
node 11633 [username_ommitted] 210u IPv4 0x53153575d33b47fb  0t0  TCP 192.168.1.142:61056->[RETHINK_IP]:28015 (ESTABLISHED) 
node 11633 [username_ommitted] 211u IPv4 0x53153575d33de17b  0t0  TCP 192.168.1.142:61057->[RETHINK_IP]:28015 (ESTABLISHED) 
node 11633 [username_ommitted] 212u IPv4 0x53153575d33f065b  0t0  TCP 192.168.1.142:61058->[RETHINK_IP]:28015 (ESTABLISHED) 
node 11633 [username_ommitted] 213u IPv4 0x53153575bff67a4b  0t0  TCP 192.168.1.142:61059->[RETHINK_IP]:28015 (ESTABLISHED) 
node 11633 [username_ommitted] 216u IPv4 0x53153575dd68f31b  0t0  TCP 192.168.1.142:61062->[RETHINK_IP]:28015 (ESTABLISHED) 
node 11633 [username_ommitted] 217u IPv4 0x53153575dd675a4b  0t0  TCP 192.168.1.142:61063->[RETHINK_IP]:28015 (ESTABLISHED) 
+0

чувствует себя как лотронат или что-то в этом роде. Можете ли вы следить за тем, как это происходит, и посмотреть, есть ли образец? В любом случае это похоже на то, что хост убивает что-то ... (может быть, даже длительные процессы будут убиты демоном мониторинга или сортами). Вы проверили свой хост/ops? – Gekkie

+0

@Gekkie Yea Я постараюсь схватить метку из журналов. Есть ли в rethinkdb встроенный журнал? Я предполагаю, что это так. Любой способ проверить конфигурацию? – haggy

+0

вы можете 'docker stats container_id' doc http://docs.docker.com/reference/commandline/stats/ или попасть в контейнер' docker exec -it container_id bash' doc http://docs.docker.com/reference/commandline/exec/и debug/monitor/check – user2915097

ответ

0

Я имел точно такую ​​же проблему и считают, что это вызвано, не закрывая соединения с базой данных (как вы заметили в вашем EDIT 3). Я использую RethinkDB в приложении expressjs и следую примеру промежуточного программного обеспечения от here, но я всегда прерываю цикл запроса-ответа внутри своих контроллеров, не вызывая next(), что означает, что промежуточное программное обеспечение closeConnection никогда не достигалось.

Смежные вопросы