在 AWS 上设置 EMR -遵循 AWS 的本指南。
几点注意事项:
- 我将 S3 用于 HBase 存储,而不是集群上的 HDFS。
- 我将 AWS Glue 目录用于 Hive 存储。
- 我正在使用 EMR 版本 5.33.0
- 安装 Hadoop、Hive、Hue、HBase 和 ZooKeeper
所以首先要做的事情是:
创建我的 EMR 集群很好,一切都在 terraform 中,所以我经常销毁与我的 HBase 存储关联的存储桶,以确保它是一个“干净”的开始。
AWS 提供的 Atlas-1.0.0 安装脚本存在问题。它不适用于 Glue,解决方法是编辑/apache/atlas/bin/import-hive.sh并在第 55 行添加这些行:
for i in "/usr/lib/hive/auxlib/"*.jar; do
ATLASCPPATH="${ATLASCPPATH}:$i"
done
这会导入各种 AWS 库以使脚本正常工作。接下来我运行import-hive.sh并在 Atlas 中获取我的元数据。
一切正常,我可以跳转到http://localhost:16010来配置 HBase 并在表中查看apache_atlas_janus。
长话短说,在此之后,如果我重新创建 EMR 集群,我会删除安装 Apache Atlas 的步骤。通过http://localhost:16010我仍然可以看到这些表,这意味着这些表正在通过 S3 存储进行持久化。
然而问题是,如果我在 EMR 集群上安装 Atlas(像往常一样),我无法查看 Atlas 上的任何元数据,我会遇到很多错误等。
任何人都可以帮我解决如何为 Atlas 配置 EMR 吗?为了确保 Atlas 在重新启动时再次工作,我缺少什么?权限是否隐藏在配置中的某处?