1. Selinux开启状态异常导致docker运行失败
问题现象:
代码块 | ||
---|---|---|
| ||
OCI runtime create failed: container_linux.go:345 |
错误日志log:
代码块 | ||
---|---|---|
| ||
ERROR: for mysql Cannot start service mysql: OCI runtime create failed: container_linux.go:345: starting container process caused “process_linux.go:430: container init caused “write /proc/self/attr/keycreate: permission denied””: unknown |
可以初步判断是由于SELINUX 开启以后/proc/self/attr/keycreate 文件禁止写入。
解决方案:关闭selinux。CentOS 7 以上版本,将 “/etc/selinux/config” 文件中 “SELINUX” 值修改为 “disabled” ,保存后重启服务器。
2. docker-compose 指令找不到
问题现象:
无法运行docker-compose,在使用docker指令时提示无法找到相关命令
解决方案:
重新安装docker-compose,到“/usr/local/bin”之后使用命令创建软连接
在使用docker指令时提示无法找到相关命令,如下
代码块 | ||
---|---|---|
|
docker-compose command not found |
解决方案:
首先检查docker-compose 文件的权限,假如权限和位置都正常这时应该是 用户的bin目录对应不上docker-compose请采用如下的办法解决:
ln
首先检查 “docker-compose” 文件的权限,假如权限和位置都正常。
那就应该是 “用户的bin目录” 对应不上“docker-compose”,重新安装docker-compose,进入“/usr/local/bin”目录下使用命令创建软连接
代码块 | ||
---|---|---|
| ||
ln /usr/local/bin/docker- |
compose /usr/bin/docker-compose |
3. 使用https的Smartbi地址无法访问
问题现象:
配置了nginx,但Smartbi proxy的容器内部访问不到外网,导致使用http的smartbi地址可以正常使用,https却不行Proxy的容器内部访问不到外网,导致使用http的Smartbi地址可以正常使用,https却不行
解决方案:
请检查docker0的防火墙配置
代码块 | ||||
---|---|---|---|---|
| ||||
firewall-cmd --permanent --zone=trusted --change-interface=docker0 firewall-cmd --reload |
重启服务器或者重启docker后生效
5. Python 报错:Illegal instruction (core dumped)
问题现象:
所有的Python服务启动后自动挂掉,使用docker logs 查看,出现如下日志:
代码块 | ||
---|---|---|
| ||
Illegal instruction (core dumped) |
表示当前服务器的 CPU 不支持TensorFlow所需要的指令集 avx 和 avx2。
解决方案:
① 物理机
更换为支持avx执行集合的物理机
② 虚拟机
更换对应的cpu映射,更换为支持指令集 avx 和avx2的cpu。以深信服为例:
验证解决:
查看cpu支持的指令集。如果能找到avx和avx2则说明正常
代码块 | ||
---|---|---|
| ||
cat /proc/cpuinfo|grep avx |
6. 进入系统配置时报错:More than one row with ... was found
原因:可能是smartbi可能是Smartbi_ai_config数据库中的t_ai_system_param表有问题;
解决方案:
进入docker容器删除该表后重启
7. Mysql数据库服务无法启动
① 原因: 可能是smartbi可能是Smartbi_ai_config数据库不存在。
解决方案:
进入docker容器: docker exec -it <容器名> bin/bash
创建一个新的 smartbiSmartbi_ai_config数据库:
mysql -u root -p </home/data/smartbiSmartbi_ai_config.sql
按提示输入密码
② 原因: 数据库无法远程连接,导致mysql服务反复重启;
解决方案:admin 用户缺少对应的远程连接权限,需要进入docker容器(docker exec -it <镜像名> bin/bash),
进入mysql客户端(一般情况下mysql.cnf文件中有对应配置所以不会出现这个问题)
输入采用指令:
grant all on {}.** to admin@'%' identified by 'admin' with grant option; flush privileges;
8. 所有服务启动正常但无法连接上服务器
① 原因:服务器不存在。
解决方案:尝试在linux系统中使用 ping <服务器ip地址> :
例如 ping 10.10.10.104 查看是否能连接上服务器;
② 原因:数据库字符集不为utf-8 或者数据库中的表格不为UTF-8格式 数据库字符集不对导致admin 服务中出现 Incorrect string value报错
解决方案:
需要进入docker 容器内(docker exec -it <镜像名> bin/bash) 对smartbi对Smartbi_ai_config数据库进行修改,
代码块 | ||||
---|---|---|---|---|
| ||||
ALTER DATABASE smartbiSmartbi_ai_config DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; alter table t_ai_system_param character set utf8; |
检查对应的mysql.cnf文件是否正确配置,修改后重新启动docker服务;
修改完成后可以采用
show variables like "character%";
来查看 (注意这个要手动添加" "复制粘贴会有问题)
9. 服务器运行正常,选择对应的业务主题正常,但是业务主题查询不出对应结果;
① 原因:假如可以查询表格数据,可能是输入服务器地址有误:
正确示例如:https://demo.smartbiSmartbi.com.cn/smartbiSmartbi/
注意,地址最后一位'/',该问题会后续修复
② 原因:所选则的业务主题列名字数+问句长度超出模型限制(512)
10.自然语言查询平台无法使用语音功能
原因:当前页面地址是http开头,由于在http协议下安全性原因导致无法调用麦克风
解决方案1:
将当前页面地址开头的http改为https。
解决方案2:
① 以Chrome浏览器为例:在浏览器地址栏中输入“chrome://flags/#unsafely-treat-insecure-origin-as-secure”,回车,如下图,将该选项置为Enabled,在输入框中输入需要访问的地址,多个地址使用“,”隔开,然后点击右下角弹出的Relaunch按钮,自动重启浏览器之后就可以在添加的http地址下调用摄像头和麦克风了。
② 可以通过在“浏览器快捷方式”上右键→属性,在弹出框中的“快捷方式选项”下的“目标属性”后加
--unsafely-treat-insecure-origin-as-secure="http://你要访问的网址"
记得和前边的内容中间有空格隔开,然后点击右下角的应用和确定按钮,重启浏览器。