Исключение ALPN настроено неправильно

Я пытаюсь создать некоторые облачные метрики из scala, используя scio и apache beam для задачи потока данных. Я получаю следующую ошибку:

java.lang.IllegalArgumentException: ALPN is not configured properly. See https://github.com/grpc/grpc-java/blob/master/SECURITY.md#troubleshooting for more information.

Я выполнил шаги по этому URL-адресу и добавил параметр JVM: -Djavaagent=/Users/user/Downloads/jetty-alpn-agent-2.0.6.jar

У меня также есть env var: GOOGLE_APPLICATION_CREDENTIALS=/etc/recsys/recsys-dev.json

Код:

val pathToCredsFile = "/etc/recsys/recsys-dev.json"
val credentials = GoogleCredentials.fromStream(new FileInputStream(pathToCredsFile)).createScoped(Lists.newArrayList("https://www.googleapis.com/auth/cloud-platform"))
val settings = MetricServiceSettings.newBuilder()
  .setCredentialsProvider(FixedCredentialsProvider.create(credentials))
  .build()
val metricServiceClient = MetricServiceClient.create(settings) <-throws ex whether or  not I use settings

Могу я получить помощь?

github.com/grpc/grpc-java/blob/master/…
Martin Zeitler 24.10.2018 00:21

да, вот как я понял, что должен использовать Djavaagent, но безуспешно.

Adrian 24.10.2018 01:15
SQL Injection: Атаки в реальной жизни и как это вредит бизнесу
SQL Injection: Атаки в реальной жизни и как это вредит бизнесу
Один-единственный вредоносный запрос может нанести ущерб вашему бизнесу. Уязвимости вашего кода могут привести к:
0
2
2 158
2

Ответы 2

Попробуйте посмотреть документ Устранение неполадок Google Cloud Java, в частности, средство проверки совместимости. Предоставление его вывода было бы полезно для отладки.

jetty-alpn-agent-2.0.6 не поддерживает JRE версий 1.8.0u161 и новее. Обновление до 2.0.7 или 2.0.9 может работать лучше. Но использование jetty-alpn не рекомендуется. Если вы используете поддерживаемую платформу, лучше использовать tcnative или Conscrypt.

Также должны быть несколько журналов INFO с некоторыми дополнительными сведениями о том, что не так с Jetty ALPN / tcnative / Conscrypt (ищите "netty-tcnative unavailable (это может быть нормальным)"; будет один оператор журнала для каждого поставщика ALPN с следы).

Вы можете добавить метод usePaneText () перед build (), чтобы решить проблему не настроенного ALPN следующим образом:

val settings = MetricServiceSettings.newBuilder()
  .setCredentialsProvider(FixedCredentialsProvider.create(credentials))
  .userPlainText()
  .build()

Это отключит SSL для тестирования или разработки env.

Примечание: не рекомендуется для prod env.

Другие вопросы по теме