Exasol 基于docker搭建并运行

2022-04-06 00:00:00 镜像 配置 内存 默认 容器

简介

EXASOL 这是一种用于分析数据的大规模并行处理(MPP)内存数据库。

maven配置

https://mvnrepository.com/artifact/com.exasol/exasol-jdbc/7.0.4

pom 配置语法如下

docker 搭建exasol
查找镜像
在dockerHub中可以搜索到该镜像,此外通过 docker search exasol 也可以搜索到该镜像。接着使用 docker pull exasol/docker-db 命令拉取镜像

https://registry.hub.docker.com/r/exasol/docker-db


创建容器

github里可以找到一份开源的使用docker构造exasol的文件
https://github.com/exasol/docker-db

启动命令如下

-d --detach 表示容器在后台运行,如果是 -it 则会占用当前命令行执行
--name 设置容器的名字
-p <主机端口>:<容器端口> 将主机端口映射到容器中
--privileged 让容器内的 root 拥有真正的root权限。否则容器内的 root 就只是外部的一个普通用户权限
--memory 设置容器使用的大内存上限。默认单位为byte,可以使用K、G、M等带单位的字符串
-- memory-reservation 启用弹性的内存共享,当宿主机资源充足时,允许容器尽量多地使用内存,当检测到内存竞争或者低内存时,强制将容器的内存降低到memory-reservation所指定的内存大小。按照官方说法,不设置此选项时,有可能出现某些容器长时间占用大量内存,导致性能上的损失
--memory-swap 等于内存和swap分区大小的总和,设置为-1时,表示swap分区的大小是无限的。默认单位为byte,可以使用K、G、M等带单位的字符串。如果–memory-swap的设置值小于–memory的值,则使用默认值,为–memory-swap值的两倍

exasol的默认帐号密码

容器中的 exaplus 为 exasol 的命令行程序,位置在 /usr/opt/EXASuite-7/EXASolution-7.0.6/bin/Console/ 目录下。exasol 的默认帐号密码为:sys 和 exasol


如果修改保存后就直接重启容器,会发现启动失败。使用 docker logs exasoldb 查看日志,显示 ERROR::EXAConfig: Integrity check failed

从 exasol 的 Github 中发现了这条 ISSUE,上面说是由于 EXAConf 中配置了该文件的 checksum,因此当配置被修改后校验错误,导致失败。

因此,每次修改 EXAConf 的配置,必须将 checksum 的值该为 COMMIT,该值指示设备在读取时自动该为正确的 checksum


常用命令

csinfo 查看磁盘类型及基本信息

插入1千万行数据查看磁盘内存占用量

可以看到,用代码插入1千万条数据(20列),并进行基本的增删该查,聚合、统计、汇总等操作后,内存占用量增加到了8G,磁盘占用基本不变。


大表1千万条(20列)&小表1千条(7列)的增删改查,聚合汇总连接的效率



原文链接:https://blog.csdn.net/chy555chy/article/details/112993838

相关文章