我能够在本地运行mongosqld并将Tableau Desktop连接到我的mongo数据库。 mongo数据库在Amazon EKS中作为pod运行。但是,当我为mongodb bi连接器创建Pod并在Pod中运行mongosqld命令时,无法将Tableau Desktop连接到我的mongo数据库Pod。我确实有一个用于mongodb bi连接器的LoadBalancer,并且能够ping负载均衡器。我是K8的新手,不确定如何解决此问题。
这是我使用的命令:
mongosqld --mongo-uri "mongodb://internal-somerandommongouri.us-west-2.elb.amazonaws.com:27017/?connect=direct" --mongo-username username --mongo-password password --auth --addr 0.0.0.0:3307
下面是我的负载均衡器Yaml配置
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
name: mongodb-bi-connector
namespace: default
labels:
name: mongodb-bi-connector
spec:
ports:
-
port: 3307
targetPort: 3307
selector:
role: mongodb-bi-connector
type: LoadBalancer
这是Tableau Desktop中的错误消息:
An error occurred while communicating with MongoDB BI Connector.
与数据源的连接可能已丢失。 [MySQL] [ODBC 5.3(w)驱动程序]在“读取初始通信数据包”时与MySQL服务器的连接丢失,系统错误:0 无法连接到MongoDB BI连接器服务器“ internal-somerandommongouri.us-west-2.elb.amazonaws.com”。检查服务器是否正在运行,以及您是否对请求的数据库具有访问权限。