将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数据库的外部表:
-
确保在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。
- 确保设置了环境变量和Greenplum数据库的服务器配置参数:
- 系统环境变量:
- HADOOP_HOME
- JAVA_HOME
- Greenplum数据库服务器配置参数:
- gp_hadoop_target_version
- gp_hadoop_home
- 系统环境变量:
- 配置Greenplum数据库和EMR实例的Hadoop Master之间的通信。
例如,在AWS安全性组中打开端口8020。
- 配置Greenplum数据库和EMR实例的Hadoop数据节点之间的通信。打开一个TCP/IP端口,这样Greenplum数据库的Segment主机能够与EMR实例的Hadoop数据节点通信。
例如,在AWS安全性管理器中打开端口50010。
这个表格列出了可以被用来配置Greenplum数据库的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 |