Impala - это часть программного обеспечения Cloudera, которое реализует драйвер ODBC на рабочем столе, который затем подключается непосредственно к кластеру Hadoop. В нашей реализации кластер Hadoop находится за DMZ, в которой мы должны проксировать соединения с аутентификацией.
Есть ли решение для прокси, которое позволит это сделать?
Протокол TCP не является HTTP, поэтому я не могу выполнить базовую задачу аутентификации, реализованную большинством прокси и Apache как обратный прокси и т. Д.
Я посмотрел на HAProxy и, похоже, смогу придумать «конфиг». Я бы настроил его с двумя слушателями, один для HTTP и один для TCP. Прокси-сервер HTTP может «протолкнуть» соединение в таблицу закрепления на основе IP и может аутентифицировать пользователя. Мне понадобится служба HTTP на каждом сервере кластера (который в любом случае входит в состав Hadoop). Прокси-сервер TCP будет настроен с «фиктивным» 1-м сервером с весом 100, а затем с узлами кластера с нулевым весом. Таким образом, я надеюсь, что пользователи будут направлены на фиктивный сервер, если они просто попытаются подключиться, но будут перенаправлены на реальный сервер с балансировкой нагрузки, если они сначала подключатся к HTTP-прокси и аутентифицируются.
{Диаграмма была бы здесь, если бы у меня было достаточно репутации}
Проблема с этим, помимо того факта, что я не знаю, сработает это или нет, заключается в том, что логин / пароль жестко закодированы (хотя и с зашифрованным паролем) в сценарии конфигурации HAProxy. Что еще хуже, HAProxy должен быть возвращен, чтобы изменение пароля вступило в силу. У меня более 1000 пользователей, которые принудительно сбрасывают пароль каждые несколько недель, так что я могу ожидать, что от забывчивых будут поступать запросы на сброс пароля, вероятно, ежедневно.
Итак, есть идеи? Я знаю много HTTP-прокси с интеграцией LDAP (Apache, Squid и т.д.), но, естественно, все они работают только по HTTP. Пока что единственный программный прокси, который я видел с любой аутентификацией, - это HAProxy, но для нас он недостаточно хорош.
Учитывая, что Apache является открытым исходным кодом, а HAProxy - открытым исходным кодом, и оба работают в Linux, насколько сложно будет получить оболочку HAProxy для библиотеки mod_ldap? Я имею в виду, введите описание ссылки здесь