- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
如何通过 SSL 将作业从 EMR 集群连接到 Aurora?论坛上散布了很多信息,为这个问题提供了部分解决方案,所以我在这里总结一下。
最佳答案
论坛和 stackoverflow 上散布着很多关于通过 SSL 通过 SSL 从 mysql java 连接器连接到 AWS Aurora 的信息,如果我没有包含所有引用资料,请见谅。
长话短说:使用 ssl 将在 EMR 集群中运行的程序连接到 Aurora 有两个主要问题:
1) 仅将 Amazon 提供的 rds-combined-ca-bundle.pem 导入 keystore 是行不通的,因为它会显示“PKIX 路径构建失败”错误。
2) java 属性 javax.net.ssl.keyStore 将无法从集群的从站获得,因此应用程序将找不到 keyStore,它会产生“通信链接失败”
1) 的原因似乎与文件 rds-combined-ca-bundle.pem 有多个证书这一事实有关,所以在我现在没有引用的论坛中,建议的解决方案是拆分这些证书。 Aurora的证书是第8位:
-----BEGIN CERTIFICATE----- MIID/DCCAuSgAwIBAgIBQzANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMCVVMx EzARBgNVBAgMCldhc2hpbmd0b24xEDAOBgNVBAcMB1NlYXR0bGUxIjAgBgNVBAoM GUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMx GzAZBgNVBAMMEkFtYXpvbiBSRFMgUm9vdCBDQTAeFw0xNTAyMDUyMTU0MDRaFw0y MDAzMDUyMTU0MDRaMIGPMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2FzaGluZ3Rv bjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNl cywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEgMB4GA1UEAwwXQW1hem9uIFJE UyB1cy1lYXN0LTEgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDI UIuwh8NusKHk1SqPXcP7OqxY3S/M2ZyQWD3w7Bfihpyyy/fc1w0/suIpX3kbMhAV 2ESwged2/2zSx4pVnjp/493r4luhSqQYzru78TuPt9bhJIJ51WXunZW2SWkisSaf USYUzVN9ezR/bjXTumSUQaLIouJt3OHLX49s+3NAbUyOI8EdvgBQWD68H1epsC0n CI5s+pIktyOZ59c4DCDLQcXErQ+tNbDC++oct1ANd/q8p9URonYwGCGOBy7sbCYq 9eVHh1Iy2M+SNXddVOGw5EuruvHoCIQyOz5Lz4zSuZA9dRbrfztNOpezCNYu6NKM n+hzcvdiyxv77uNm8EaxAgMBAAGjZjBkMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMB Af8ECDAGAQH/AgEAMB0GA1UdDgQWBBQSQG3TmMe6Sa3KufaPBa72v4QFDzAfBgNV HSMEGDAWgBROAu6sPvYVyEztLPUFwY+chAhJgzANBgkqhkiG9w0BAQUFAAOCAQEA L/mOZfB3187xTmjOHMqN2G2oSKHBKiQLM9uv8+97qT+XR+TVsBT6b3yoPpMAGhHA Pc7nxAF5gPpuzatx0OTLPcmYucFmfqT/1qA5WlgCnMNtczyNMH97lKFTNV7Njtek jWEzAEQSyEWrkNpNlC4j6kMYyPzVXQeXUeZTgJ9FNnVZqmvfjip2N22tawMjrCn5 7KN/zN65EwY2oO9XsaTwwWmBu3NrDdMbzJnbxoWcFWj4RBwanR1XjQOVNhDwmCOl /1Et13b8CPyj69PC8BOVU6cfTSx8WUVy0qvYOKHNY9Bqa5BDnIL3IVmUkeTlM1mt enRpyBj+Bk9rh/ICdiRKmA== -----END CERTIFICATE-----
因此,如果您将此段提取到名为 bundle8.pem 的文件中,您将按如下方式生成 key :
keytool -import -alias mysqlServerCACert -file bundle8.pem -keystore truststore
2)的解决方法是将javax.net.ssl.keyStore设置为命令参数,对于spark-submit的情况,选项应该是'--driver-java-options':
spark-submit --deploy-mode cluster --driver-java-options='-Djavax.net.ssl.trustStore=truststore' --files s3://path/to/truststore ..other spark options
作为使用 key 工具生成的文件的“信任库”。 --driver-java-options 将允许信任库文件在从属环境中可用。
引用:
连接到 Amazon Aurora 数据库集群: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Connect.html
使用 SSL 连接 Mysql Java Connector https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-using-ssl.html
关于java - 通过 SSL 从 EMR 集群 : One approach 将 mysql java 连接器连接到 AWS Aurora,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39628643/
当我确定源数据在 S3 中并且处理的结果将存储在 S3 中时,是否可以使用主节点和一组任务(从属)节点(没有核心节点)构建 AWS EMR。 基本上,问题是“当 EMR 将在 S3 中处理数据时,需要
我正在使用 aws .net sdk 向 EMR 运行 s3distcp 作业,以使用 --groupBy arg 连接文件夹中的所有文件。但是无论我尝试过什么“groupBy”arg,它总是失败,或
我刚刚建立了一个内置 Spark、JupyterHub 等的 EMR 集群。我可以通过 http://master_hostname:9443/hub/login 访问 Jupyter Noteboo
我正在 S3 上运行一个超过 500 个文档的示例 hadoop 作业,在本地运行时需要 <15 分钟才能完成。然而,当我尝试在 EMR 上运行相同的作业时,需要两个多小时,但仍然没有完成缩减步骤,因
是否可以将 Presto 解释器添加到 AWS EMR 4.3 上的 Zeppelin,如果可以,有人可以发布说明吗?我在 EMR 上运行 Presto-Sandbox 和 Zeppelin-Sand
AWS Stepfunctions 最近添加了 EMR 集成,这很酷,但我找不到将变量从步骤函数传递到 addstep 参数的方法。例如,我想将“$.dayid”变量传递给“Parameters”>“
例如,我有两个Hive作业,其中一个作业的输出用作第二个作业的参数/变量。我可以在终端上成功运行以下命令,以在EMR集群的主节点上获得结果。 [hadoop@ip-10-6-131-223 ~]$ h
我有一个非常初学者的问题。我刚刚阅读了一些有关 Amazon EMR 的文档。在我注册之前,我只是想询问一下如何在其中使用 R。 我有一个 R 模块,它调用其他几个模块,然后,在它完成运行之前,将几个
我在从运行 Spark 的 AWS EMR 集群连接到另一个运行 presto 的 AWS EMR 集群时遇到问题。 用 python 编写的代码是: jdbcDF = spark.read \
我正在努力解决这个问题,但无法弄清楚为什么 我有一个要部署在 AWS 私有(private)子网中的 EMR 集群。 我检查了文档 here . 根据以上内容,我明白了以下几点: 一个。对于我的 EM
我有一个 EMR 集群 response = emr_client.run_job_flow( Name="Test dashboards", ReleaseLabel='emr-6.
我在使用 hadoop 时使用了 MultipleInputs 。因为我有多个映射器分配给不同的输入。我想知道 EMR 是否也支持它。 在hadoop中我是这样操作的。这些是我的不同文件的映射器。在这
我是 PySpark 和 EMR 的新手。 我试图通过 Jupyter notebook 访问在 EMR 集群上运行的 Spark,但遇到了错误。 我正在使用以下代码生成 SparkSession:
我正在尝试将我的 Glue 目录连接到 EMR 中的 Presto 和 Hive。在 presto-cli 中运行查询时,我收到 NullPointerException 而相同的查询在 hive-c
我正在使用 MRJob 在 Amazon 的 EMR 上运行一个迭代的 hadoop 程序。 当我不使用“--pool-emr-job-flows”选项时,一切正常(但速度很慢)。当我使用这个选项时,
我有一个 DynamoDB 表,我需要连接到 EMR Spark SQL 以在该表上运行查询。我得到了带有发布标签 emr-4.6.0 和 Spark 1.6.1 的 EMR Spark Cluste
我的团队在 AWS 中工作,我们有 python 脚本,可以将文件从 S3 存储桶移动到 EC2 实例。我想用我们正在使用的脚本作为序言,它在直接从 ec2 实例运行时有效,并且仅在作为 EMR 步骤
我有 Airflow 作业,它们在 EMR 集群上运行良好。我需要的是,假设我有 4 个 Airflow 作业需要 EMR 集群,假设 20 分钟才能完成任务。为什么我们不能在 DAG 运行时创建一个
我正在 AWS 中创建一个数据管道来运行 Pig 任务。但是我的 Pig 任务需要 EMR 中的附加文件。在创建集群之后和运行 pig tasked 之前,我如何告诉 Data Pipeline 将文
如何在 EMR 上设置 Spark Thrift 服务器?我正在尝试使用 Spark Thrift 服务器与 EMR 建立 JDBC/ODBC 连接。例如 直线> !connect jdbc:hive
我是一名优秀的程序员,十分优秀!