将Amazon EMR用于安装在AWS上的Greenplum数据库

将Amazon EMR用于安装在AWS上的Greenplum数据库

Amazon Elastic MapReduce(EMR)是一个受控的集群平台,它能在Amazon Web Services(AWS)上运行大数据框架(例如Apache Hadoop和Apache Spark)来处理和分析数据。对于一个安装在Amazon Web Services(AWS)上的Greenplum数据库系统,用户可以使用gphdfs协议定义外部表来访问一个Amazon EMR实例的HDFS上的文件。

除了一次性HDFS协议安装中描述的步骤之外,用户还必须确保Greenplum数据库能访问EMR实例。如果用户的Greenplum数据库系统运行在一个Amazon弹性计算云(EC2)实例上,用户需要配置Greenplum数据库系统和EMR安全性组。

有关Amazon EMR的信息请见https://aws.amazon.com/emr/。有关Amazon EC2的信息请见https://aws.amazon.com/ec2/

配置Greenplum数据库和Amazon EMR

这些步骤描述了如何设置Greenplum数据库系统和一个Amazon EMR实例来支持Greenplum数据库的外部表:

  1. 确保在Greenplum数据库的所有Segment主机上都正确地安装了合适的Java(包括JDK)和Hadoop环境。

    例如,Amazon EMR Release 4.0.0包括Apache Hadoop 2.6.0。这个Amazon页面描述了Amazon EMR Release 4.0.0

    有关EMR和Greenplum数据库所使用的Hadoop版本,请见表 1

  2. 确保设置了环境变量和Greenplum数据库的服务器配置参数:
    • 系统环境变量:
      • HADOOP_HOME
      • JAVA_HOME
    • Greenplum数据库服务器配置参数:
      • gp_hadoop_target_version
      • gp_hadoop_home
  3. 配置Greenplum数据库和EMR实例的Hadoop Master之间的通信。

    例如,在AWS安全性组中打开端口8020。

  4. 配置Greenplum数据库和EMR实例的Hadoop数据节点之间的通信。打开一个TCP/IP端口,这样Greenplum数据库的Segment主机能够与EMR实例的Hadoop数据节点通信。

    例如,在AWS安全性管理器中打开端口50010。

这个表格列出了可以被用来配置Greenplum数据库的EMR和Hadoop版本信息。

表 1. EMR Hadoop配置信息
EMR版本 EMR的Apache Hadoop版本 EMR的Hadoop主端口 gp_hadoop_target_version Greenplum数据库Segment主机上的Hadoop版本
4.0 2.6 8020 hadoop2 Apache Hadoop 2.x
3.9 2.4 9000 hadoop2 Apache Hadoop 2.x
3.8 2.4 9000 hadoop2 Apache Hadoop 2.x
3.3 2.4 9000 hadoop2 Apache Hadoop 2.x