问题描述
redash所在机器硬盘做完降配后,再次启动redash,worker总是再报错:
报权限问题。表现是,redash界面正常,但是查询时,请求发到redash server后,worker并没有正确的去查库,导致页面上显示一直在查。
排查
redash我是docker部署,root用户的,按理说是没有权限问题的,但是不知道为什么换完磁盘后出现了这个问题,这个主要是/tmp目录需要加 1777权限,但是我看到我的/tmp目录权限是没有问题的。
突然想到,报错只有worker在报错,其他组件并没有问题,有可能是容器内部权限问题(不过这个就更奇怪了,我从来没动过容器内部,不知道为啥只换了个硬盘就有这个问题了),于是进入worker容器内部:
docker exec -u root -it xxx /bin/bash
# -u root 指定使用root进入,才有权限修改
# -it xxx 指定容器id
进入容器内部后,默认是在/app目录下,我们可以查看/tmp权限并修改:
# 查看权限
ls -la /
# 修改权限
chmod -R 1777 /tmp
之后重启worker 容器即可:
docker restart xxx
修改容器内部权限后,redash服务恢复正常