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

相关推荐
caolib11 分钟前
无需云服务器的内网穿透方案 -- cloudflare tunnel
运维·服务器·内网穿透·tunnel·cloudflared
誰能久伴不乏1 小时前
Linux系统调用概述与实现:深入浅出的解析
linux·运维·服务器
程序员学习随笔1 小时前
Linux进程深度解析(2):fork/exec写时拷贝性能优化与exit资源回收机制(进程创建和销毁)
linux·运维·服务器
-SGlow-1 小时前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql
代码改变世界ctw2 小时前
Linux内核设计与实现 - 第14章 块I/O层
linux·运维·服务器
Dreams_l2 小时前
网络编程2(应用层协议,传输层协议)
运维·服务器·网络
EulerBlind4 小时前
【运维】SGLang 安装指南
运维·人工智能·语言模型
风吹落叶花飘荡4 小时前
Ubuntu系统 系统盘和数据盘扩容具体操作
linux·运维·ubuntu
Z7676_5 小时前
OSPF开放式最短路径优先
运维·网络