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跑起来玩玩吧,要不面试的时候总觉得自己没用过就不敢说。

相关推荐
KKKlucifer18 分钟前
自动化漏洞利用技术颠覆传统:微软生态暴露的攻防新变局
运维·microsoft·自动化
此心光明事上练28 分钟前
大厂级企业后端:配置变更与缓存失效的自动化处理方案
运维·缓存·自动化
java_logo40 分钟前
Docker 部署 MinIO 全指南
运维·windows·mongodb·docker·容器
拾光Ծ1 小时前
【Linux】“ 权限 “ 与相关指令
linux·运维·服务器
To_再飞行1 小时前
Linux Bash(一)
linux·运维·服务器·bash
我狸才不是赔钱货1 小时前
DevOps:打破开发与运维之间的高墙
运维·vscode·docker·devops
黄雄进1 小时前
Windows使用docker安装milvus的配置文件
windows·docker·milvus
GeekAGI2 小时前
ansible-playbook -e 传递变量
运维
chenzfp2 小时前
【运维】鲲鹏麒麟V10 操作系统aarch64自制OpenSSH 9.8p1 rpm包 ssh漏洞修复
运维·ssh
6190083362 小时前
linux 安装jdk
java·linux·运维