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

相关推荐
问心无愧0513几秒前
[ACTF2020 新生赛]Exec
运维·服务器·笔记
cg.family3 分钟前
K8S:scale 与 delete pod 核心区别
运维·docker·容器
开开心心_Every6 分钟前
黄金价格软件国内外价格实时监控超方便
运维·服务器·游戏·智能手机·pdf·lua·perl
Initialize293088 分钟前
systemd 服务起不来?五步排查法
运维
LMT_Lanmantech9 分钟前
HyperWorks许可:almutil显示Unit满了,数据到底准不准?
运维·服务器·算法
system_error_x10 分钟前
服务器的替代方案:从物理机到云原生的全面对比
运维·服务器·云原生
努力进修17 分钟前
多源异构数据库同步难题:DDL 结构变更自动化解决方案
运维·数据库·自动化
云票26 分钟前
从技术视角看AI采购:多智能体、流程重设计与自动化的落地边界
运维·人工智能·自动化
wei_shuo33 分钟前
极空间部署1Panel实战:应用商店装AList、Docker管理与远程访问
运维·docker·容器
朗尊软件技术团队35 分钟前
电商系统Docker容器化部署实践:从Dockerfile镜像瘦身到K8s滚动上线
运维·docker·云原生·容器·kubernetes