如何解决在 Amazon EMR 上使用 Hue 时出现的“无法访问:s3a://”和“证书验证失败”错误?

上次更新时间:2020 年 9 月 14 日

我的 Amazon EMR 集群使用启用了在途数据加密的安全配置。当我尝试使用 Hue(Hadoop 用户体验)访问集群上的 Amazon Simple Storage Service (Amazon S3) 存储桶时,出现以下错误之一:

  • “无法访问:s3a://。”
  • “无法访问:s3a://。HDFS REST 服务不可用。”
  • “bad handshake: Error([('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')])”

解决方法

“无法访问:s3a://。”和“无法访问:s3a://。HDFS REST 服务不可用。”

当您启动加密集群时,Amazon EMR 预期所有连接都是安全的。但是,默认协议是 HTTP,而不是 HTTPS。要解决这些错误,请遵循下列步骤:

1.    打开 /etc/hue/conf/hue.ini 文件。

2.    在 webhdfs_url 属性中,请确保协议是 https ,并且端口是 50470。示例:

webhdfs_url = https://master-node-private-ip-address:50470/webhdfs/v1

3.    运行以下命令以重启 Hue 服务:

$ sudo stop hue
$ sudo start hue

“bad handshake: Error([('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')])”

如果您使用的是自签名证书,则可能还会出现错误“bad handshake: Error([('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')])”。 当 Hue 尝试使用证书颁发机构 (CA) 验证证书时,会发生这种情况,如果您使用自签名证书,这种情况则不可能发生。要解决此错误:

1.    打开 /etc/hue/conf/hue.ini 文件。

2.    将 ssl_cert_ca_verify 属性从更改为

ssl_cert_ca_verify=false

3.    运行以下命令以重启 Hue 服务:

$ sudo stop hue
$ sudo start hue

这篇文章对您有帮助吗?


您是否需要账单或技术支持?