我正在尝试使用scio和apache beam从scala创建一些用于数据流任务的云度量。
我得到以下错误:
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
我也有as 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我能得到一些帮助吗?
发布于 2018-11-20 03:29:54
尝试查看Google Cloud Java Troubleshooting文档,特别是compatibility checker。提供其输出将有助于调试。
jetty-alpn-agent-2.0.6不支持JRE版本1.8.0u161及更高版本。升级到2.0.7或2.0.9可能会更好。但是不鼓励使用jetty-alpn。如果您使用的是受支持的平台,则tcnative或Conscrypt是更好的替代方案。
还应该有一些信息日志,其中包含Jetty ALPN/tcnative/Conscrypt错误的一些附加细节(查找"netty-tcnative unavailable (这可能是正常的)“;每个ALPN提供程序都会有一条日志语句,并带有回溯)。
发布于 2020-12-23 19:25:51
您可以在build()之前添加usePaneText()方法来解决ALPN未配置的问题,如下所示:
val settings = MetricServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credentials))
.userPlainText()
.build()这将禁用用于测试或开发环境的SSL。
注意:不建议用于prod环境。
https://stackoverflow.com/questions/52936042
复制相似问题