Тайм-аут между мастером приложения и драйвером на сервере Thrift

#spark-thriftserver

#spark-thriftserver

Вопрос:

мы запускаем сервер spark thrift и конфигурацию, как показано ниже. драйверы thrift и мастер приложений разделены брандмауэром, и все порты между ними открыты . Проблема в том, что через 2 часа 11 минут сервер приложений умрет, потому что он не может подключиться к драйверу thrift. Итак, какие порты нуждаются в использовании связи thrift driver и application master? Я знаю, что thrift основан на протоколе RPC и является ли он TCP или UDP?

2 часа 11 минут на самом деле значение net.ipv4.tcp_keepalive_time= 7200, которое используется по умолчанию в ОС Linux.

Я могу увеличить это значение до большего, потому что это повлияет и на другие приложения . ИТАК, если я получу четкое представление о том, как TS будет взаимодействовать, мне будет легко настроить брандмауэр

Комментарии:

1. Вы настроили thrift соответственно этому: spark.apache.org/docs/latest/sql-distributed-sql-engine.html . Вы пытались подключиться через командную строку с сервера, на котором находится ваше приложение?

2. Да. соединение работает нормально в течение 2 часов. Тогда мастер приложения не может подключиться к драйверу и его плашкам. Я думаю, есть ли какой-нибудь механизм heartbeat / keepalive, доступный в thrift, который мы можем настроить?

3. Что такое мастер приложения. Вы используете автономный кластер spark с мастером и сервером thrift, это то, что вы имеете в виду? Я не уверен, что они должны оставаться на связи, важно то, что сервер thrift может отправлять команды мастеру по требованию. вы можете проверить это, попытавшись выполнить запросы