Apache Superset连接AWS托管OpenSearch(ElasticSearch)最佳方案及常见问题
问题1:对接AWS托管OpenSearch是否必须使用AWS托管版Superset
答案是不需要。你可以使用任何自行部署的开源Apache Superset实例对接AWS托管OpenSearch,只要你的Superset实例网络能访问到OpenSearch集群,同时配置好对应的身份认证即可。AWS托管Superset只是官方封装好的托管方案,不是对接的必要前提。
问题2:二者连接的最佳实现方式
以下是经过验证的稳定连接步骤:
- 第一步:安装OpenSearch对应Python驱动
首先在Superset运行环境安装opensearch-py驱动,执行命令:pip install opensearch-py
若你使用Docker部署Superset,需要将该依赖加入自定义requirements文件后重新构建镜像,或进入运行中的容器手动安装。
注意:尽量保证opensearch-py的大版本和你使用的AWS托管OpenSearch集群大版本匹配,避免出现兼容性问题。 - 第二步:配置网络访问权限
确保Superset实例的出口IP被加入AWS OpenSearch集群的访问策略白名单;若二者都部署在AWS VPC内部,配置对应安全组规则,允许Superset访问OpenSearch的443端口即可。 - 第三步:在Superset中添加数据源
进入Superset的数据源添加页面,直接选择Elasticsearch作为数据源类型(OpenSearch完全兼容Elasticsearch底层API,无需额外适配),连接URI按你使用的认证方式填写:基础账号密码认证格式:
opensearch+https://<用户名>:<密码>@<OpenSearch集群域名>:443
AWS IAM身份认证格式:opensearch+https://<OpenSearch集群域名>:443?aws_auth=true®ion=<你的AWS区域>
IAM认证额外说明:需要确保运行Superset的EC2实例/服务角色拥有es:ESHttp*类的OpenSearch访问权限,无需额外填写用户名密码。 - 第四步:连通性验证
保存数据源配置后点击测试连接,连通成功即可同步集群索引、创建可视化报表。
内容的提问来源于stack exchange,提问作者techgeek11
相关产品推荐
相关产品推荐

