项目中 用到Davinci 对比A B 两个表,特来记录一下使用过程。避免以后踩坑。
部署Davinci (使用docker 容器部署 启动)
实践证明下面这个方法无效:改了配置文件 + sql, 我的也开不起来,一直报错数据库sql指向不对。
果断放弃。
网上 一堆部署文档,按照最新来就可以了。之前 本地linux 安装过docker 我就直接安装Davinci 了。
1.创建 空文件夹
2.输入命令
curl https://raw.githubusercontent.com/edp963/davinci-docker/master/docker-compose.yml > docker-compose.yml
vim docker-compose.yml
#docker老手使用以下命令
docker-compose up -d
#docker新手用以下命令
docker-compose --verbose up
3.修改配置
一通操作出现错误:ERROR: for davinci Cannot create container for service davinci: open /var/lib/docker/overlay2/4…2/link: no such file or directory
咋办?
docker volume ls 列出全部现有卷
docker volume rm [your_volume] 删除有关davinci 的
删除报错:Error response from daemon: remove davinci-01_davinci_initdb: volume is in us ?
进入到你启动的那个 目录下:运行
docker-compose down 关闭服务
再进行删除。
后 删掉镜像:
docker images 找出来
docker rmi 名字
docker rm 根据容器的名称或者 ID 来删除容器。
重新尝试:(失败 docker环境,都是容器包装 mysql的,在外就找不到mysql,如果不是容器环境应该可以,反正我不可以)
https://edp963.github.io/davinci/docs/zh/1.1-deployment
这位的看看。。。。。
1.下载压缩包
davinci-0.3.0-beta.5 release安装部署
https://github.com/edp963/davinci/releases/download/v0.3.0-beta.5/davinci-assembly_3.0.1-0.3.1-SNAPSHOT-dist-beta.5.zip
2.放到linux 新建目录下
3.解压
4.。。。。
重新尝试:
再来吧:
Davinci 连接doris
Davinci yml文件注册邮箱地址:
- SPRING_MAIL_HOST=smtp.。。qq.com 其中 。。 是对应邮箱的服务器地址的。找下图- SPRING_MAIL_PORT=。。。- SPRING_MAIL_USERNAME=。。。- SPRING_MAIL_PASSWORD=。。。
在加一个 企业邮箱的配置
- SPRING_MAIL_HOST=smtp.exmail.qq.com
- SPRING_MAIL_PORT=25
- SPRING_MAIL_USERNAME=…
- SPRING_MAIL_PASSWORD=…
注意:邮箱配置里的密码必须是163邮箱的客户端验证码,不是163的登录密码
Davinci 启动:
#进入yml文件路径
cd D:\programs\docker
#后台启动服务 -d是后台启动
docker-compose up -d
#获取默认的docker虚拟机的ip
docker-machine ip default
我们运行下docker ps,看看目前的docker进程
Davinci 启动:
下载 Linux phantomjs 到phantomjs 文件夹
https://phantomjs.org/download.html
phantomjs-2.1.1-linux-i686
Davinci 报错:
1.docker-compose --verbose up 命令 ,启动报错:
FileNotFoundError: [Errno 2] No such file or directory
During handling of the above exception, another exception occurred:
解决:网上是说 docker 没开起来
运行:systemctl start docker
再次运行: docker-compose --verbose up
等待: 1分钟就好了
成功:
docker-compose down 关闭服务
2.报错:davinci_1 | database is unavailable - sleeping
这个原因排查了好久
最后发现是配置的yml 文件里面。- SPRING_DATASOURCE_URL=jdbc:mysql://地址:3306这个和 command: ["./bin/docker-entrypoint.sh", "地址:3306“ 两个地址没有对上。
**3.解决了上面的问题,又出现:报错:
Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: errCode = 2, detailMessage = Unknown table ‘cron_job’
???????????
真的很懵逼。
已经解决:解决方式无需改数据库之类的配置,你只要安装docker环境就好了。唯一要改的就是 邮箱。邮箱要生成客户端授权码,才可以注册哦。