1.背景介绍 {#1.%E8%83%8C%E6%99%AF%E4%BB%8B%E7%BB%8D}
我们收到一些用户的反馈,表示在将 MongoDB 数据库连接到 DataEase 时遇到困惑。因此,撰写了这篇文档以提供指导。
请注意,在 DataEase v2 版本中,目前尚未支持直接连接 MongoDB 数据源。相反,我们支持使用 MongoDB-BI 连接。这意味着,如果您希望将 MongoDB 数据作为数据源导入 DataEase,需要通过 MongoDB BI Connector 来实现。通过这种方式,您可以将 MongoDB 的数据以关系型数据库的形式进行查询和分析。
2.MongoDB-BI 安装部署 {#2.mongodb-bi-%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2}
注:已有 MongoDB BI Connector 环境可跳过此步骤。
下载地址:++https://www.mongodb.com/try/download/bi-connector++
将 tgz 包上传至服务器中,解压后修改环境变量;
[root@localhost ~]# tar -zxf mongodb-bi-linux-x86_64-rhel70-v2.14.17.tgz -C /usr/local/
[root@localhost ~]# cd /usr/local/
[root@localhost local]# mv mongodb-bi-linux-x86_64-rhel70-v2.14.17/ mongodb-bi
[root@localhost local]# mkdir mongodb-bi/{crt,conf}
[root@localhost local]# vi /etc/profile
在最底部添加以下内容:
##MongoDB-BI
MONGODB_BI_HOME=/usr/local/mongodb-bi
export PATH=$PATH:$MONGODB_BI_HOME/bin
刷新配置文件,使其生效;
[root@localhost local]# source /etc/profile
MongoDB-BI 连接需要 SSL 证书 ,检查是否安装 openSSL 并创建证书;
[root@localhost crt]# openssl version ## 若没有则需要自行安装,安装命令 yum install openssl
OpenSSL 1.0.2k-fips 26 Jan 2017
[root@localhost crt]# openssl req -nodes -newkey rsa:2048 -keyout test.key -out test.crt -x509 -days 365 -subj "/C=US/ST=kayakwiseDE/L=kayakwiseDE/O=kayakwiseDE Security/OU=IT Department/CN=kayakwise.com"
[root@localhost crt]# cat test.crt test.key > test.pem
在 mongodb-bi/conf/ 下创建对应的 MongoDB-BI 服务配置文件 mongosqld-config.yml ;
[root@localhost mongodb-bi]# vi conf/mongosqld-config.yml
配置内容如下:(对应的信息自行替换即可)
systemLog:
logAppend: false
path: "/usr/local/mongodb-bi/logs/mongosqld.log"
verbosity: 2
security:
enabled: true
mongodb:
net:
uri: "192.168.239.131:27017"
auth:
username: "admin"
password: "123456"
net:
bindIp: 0.0.0.0
port: 3307
ssl:
mode: "allowSSL"
PEMKeyFile: "/usr/local/mongodb-bi/crt/test.pem"
CAFile: "/usr/local/mongodb-bi/crt/test.crt"
schema:
sample:
namespaces: "dataease_demo.\*"
`processManagement:
service:
name: mongosqld
displayName: mongosqld
description: "BI Connector SQL proxy server"`
使用配置文件创建 MongoDB-BI 服务;
[root@localhost mongodb-bi]# mongosqld install --config /usr/local/mongodb-bi/conf/mongosqld-config.yml
在 mongdb-bi/schemas 下创建对应的 drdl 映射文件;
[root@localhost schemas]# mongodrdl --uri="mongodb://admin:123456@192.168.239.131:27017/dataease_demo?authSource=admin" --out schema.drdl
[root@localhost schemas]# systemctl restart mongosqld.service
- 配置 DataEase 数据源 {#3.-%E9%85%8D%E7%BD%AE-dataease-%E6%95%B0%E6%8D%AE%E6%BA%90}
创建数据源时,选择 MongoDB-BI。
输入 MongDB-BI 服务的 IP 地址及其他相关信息,校验成功后保存即可。
- 常见失败问题汇总 {#4.-%E5%B8%B8%E8%A7%81%E5%A4%B1%E8%B4%A5%E9%97%AE%E9%A2%98%E6%B1%87%E6%80%BB}
(1)ERROR 1043 (08S01): ssl configuration error: SSL errors: 14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate unknown
问题原因:
生成的 SSL 证书有问题,需要自行替换成受信任的 SSL 证书。
示例中创建的 SSL 证书可以为受信任的 SSL 证书。
(2)ERROR 1043 (08S01): MongoDB schema not yet available
问题原因:schema的映射文件导致 MongDB-BI 无法识别对应的数据库;
需要检查配置文件和服务是否有让 drdl 文件生效;
(3)MongoDB-BI 连接 MongDB 失败或远程连接失败;
需要修改 MongoDB 的配置文件;
添加
bind_ip=0.0.0.0