Solr: параметры репликации

#solr #replication

#solr #репликация

Вопрос:

У меня есть экземпляр SOLR, работающий за брандмауэром. Я собираюсь создать еще один экземпляр, который не будет защищен брандмауэром. Тем не менее, SOLR, похоже, поддерживает только повторную репликацию, а не принудительную репликацию.

Каковы мои варианты в отношении поддержания того же уровня безопасности? Я бы предпочел не открывать слишком много портов в брандмауэре. Будет ли HTTP через SSH-туннель лучшим вариантом? Можно ли также просто реплицировать индексные файлы, используя обычный старый rsync (не используя какие-либо специфические функции SOLR), или это что-то сломает?

Ответ №1:

Можно ли также просто реплицировать индексные файлы, используя обычный старый rsync

Solr фактически поддерживает этот тип распространения с помощью своего snappuller механизма, описанного здесь: http://wiki.apache.org/solr/CollectionDistribution

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

1. Мы столкнулись с аналогичной проблемой. Мы хотим реплицировать с помощью snappuller периодически вызываемого cron, проблема snappuller в том, что он использует не только rsync, но также ssh и scp (а мы этого не хотим), поэтому мы, вероятно, в конечном итоге перепишем этот скрипт для наших целей.

Ответ №2:

Я бы открыл порт и указал IP-адрес ведомого устройства и просто использовал обычную репликацию на основе HTTP; я думаю, это было бы довольно безопасно и, вероятно, проще в обслуживании. Я знаю, что это не совсем то, к чему вы стремились, но это то, что я бы рекомендовал.

Ответ №3:

Я отвечаю на свой собственный вопрос, поскольку решение, которое я выбрал, отличается от того, что предложили два других ответа. В итоге я использовал SSH-туннель для HTTP-трафика. Таким образом, я использовал SSH для перенаправления всего трафика с порта 8080 на хосте на порт 8080 на хосте B через SSH-туннель.

Решение, похоже, работает нормально. Я использую скрипт, который проверяет туннель каждые 5 минут или около того.

Ответ №4:

Вы могли бы использовать базовую аутентификацию HTTP (см. https://wiki.apache.org/solr/SolrReplication#Slave ) но поскольку пароль будет передаваться в виде обычного текста, для сдерживания более решительных злоумышленников также потребуется SSH-туннель или защищенный VPN.

Я начну с VPN-решения и рассмотрю SSH-туннель, прежде чем переходить к производству, если мы чувствуем, что не можем достаточно доверять нашим внутренним сетям.