Может потребоваться несколько незначительных исправлений в настройках соединения.
- Presto работает на порте 8060 при работе в качестве дополнительного компонента
- Команда создания кластера не создалакластеризация в режиме HA, поэтому имя хоста мастера просто -m, а не -m-0
Если ваш кластер называется presto-test, то команда должна выглядеть следующим образом:
./presto \
--server presto-test-m:8060 \
--socks-proxy localhost:1080 \
--catalog hive \
--schema default
Если это не сработает, вы можете дважды проверить правильность работы прокси-серверов socks и Presto.
Run curl -I -x socks5h://localhost:1080 presto-test-m:8088
- он должен вернуть HTTP 302.Если вы получили сообщение об отказе в соединении или хост не найден, ваш прокси-сервер socks работает неправильно.
Запустите gcloud beta dataproc clusters describe presto-test
и убедитесь, что в выходных данных отображаются следующие строки
softwareConfig:
optionalComponents:
- PRESTO
Ssh в главный узел кластера Presto и запустите which presto
и sudo systemctl status presto
, чтобы убедиться, что Presto установлен и работает.
Существует известная проблема, когда Presto может потерпеть неудачудолжен быть установлен, если указан как дополнительный компонент (в этом случае шаги 2 и 3 выше показывают, что Presto не активирован в кластере).Это должно быть исправлено в следующем выпуске Dataproc - если вы сейчас сталкиваетесь с этой проблемой, попробуйте использовать эту команду вместо этого для создания кластера:
gcloud beta dataproc clusters create presto-test --properties dataproc:dataproc.components.activate=presto --image-version=1.3-deb9