starrocks官网docker部署mysql无法连接

最近想看看starrocks的一些功能使用情况,那么就是需要自己先把简单的单实例环境在自己电脑玩起来吧,官网也有docker直接安装单实例的步骤(Deploy StarRocks with Docker | StarRocks)。那不巧了,直接开干,本以为很顺利的事情。结果......

我是mac电脑,直接安装的docker桌面版本,然后按照官网的docker 命令启动完毕。

bash 复制代码
docker run -p 9030:9030 -p 8030:8030 -p 8040:8040 -itd \
--name quickstart starrocks/allin1-ubuntu

不出意外的话,你应该按照官网说的可以连接mysql了,结果我的并不行,死活也不行啊。进了容器里面执行mysql 连接命令也是不行。

然后我进入fe的log目录去看了fe.out的日志,日志说的是我的jdk版本不支持,要是用jdk17或者更高版本!啥都没操作,怎么能版本不行呢。我看了一下start的shell脚本,里面走的是17版本,我容器里面也有17的目录。执行java -version 结果版本信息也不显示,好像是jdk环境也有问题。

期间好像我也该懂了一下conf启动时候的jvm的内存大小,默认是9个G好像,我改了4G,重新启动镜像,结果还是不行。

正好赶上周五,公司网由于特别垃圾。所以我选择今天来搞一下吧。之前在github上搜issue没搜到,没想到今天一搜果然也有小伙伴是同样的问题。https://github.com/StarRocks/starrocks/issues/29990https://github.com/StarRocks/starrocks/issues/29990 上面的讨论,自己去看就可以了。解决的办法就是加入了一个参数 --security-opt seccomp=unconfined 并不是内存不足,当然内存肯定也是要先满足的。重启之后就解决了,那么这个参数是干嘛的呢?我也不是很懂,于是我找gpt和通义问了一下。

这个参数大体说的就是关闭 Linux 系统调用过滤器,放开所有 syscall 限制;JVM 和 StarRocks 在启动时需要一些被默认策略禁止的系统调用,所以加了这个参数才能运行;也就是本身有一些安全策略保护我们的服务器,通过这个参数把保护策略关闭了。所以我们能够正常启动了,所以如果是正式环境的话。我们肯定是要根据具体需要哪些系统调用,我们开哪些,这方面不是很熟悉所以还得了解一下。

今天就这些,赶紧把starrocks跑起来玩玩吧,要不面试的时候总觉得自己没用过就不敢说。

相关推荐
独隅25 分钟前
GitHub Actions 自动化运维实战:CI/CD 流水线一体化效果展示
运维·自动化·github
饺子大魔王的男人1 小时前
CentOS部署Cockpit:图形化查看系统、日志与服务状态
linux·运维·centos
不会就选b1 小时前
Linux之信号(二)
linux·运维·服务器
寺中人3 小时前
Linux 基础命令入门实战教程:从零掌握常用操作,新手快速上手
linux·运维·服务器·shell·linux 命令·linux 基础教程·linux 入门
V哥AI增长3 小时前
Schema.org 结构化数据与GEO技术落地:AI引擎引用机制与JSON-LD部署实证研究
大数据·运维·人工智能
小张成长计划..3 小时前
【Linux】18:基础IO
linux·运维·服务器
童槿顏丶4 小时前
docker自动化部署脚本
docker·eureka·自动化
东东最爱敲键盘5 小时前
二阶段总结
运维
Benszen5 小时前
云计算基础-13:Linux网络管理实战-1
linux·运维·云计算
扬帆破浪5 小时前
文档自动检查:用 Claude Code、OpenClaw 审 WPS 文件:预览、批注、改正文
运维·服务器·wps