FineBI部署失败报错:
com.fr.ops.exception.ProjectDeployException: Execute install component of failed, and error is: com.fr.ops.exception.SSHException: docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error setting rlimits for ready process: error setting rlimit type 7: operation not permitted: unknown.
解决方案:
Linux句柄设置问题,需要将值设置大一点。因为Linux 系统本身默认系统应用最大打开的文件数为 1024,BI 执行时会读取本地的数据,某些情况 BI 打开的文件数会超过限制,因此需要手动改掉linux系统的最大打开文件数。主要涉及三个值 nofile、nr_open、file-max
注意点:
正常情况下,nofile 的值不允许超过 nr_open 和 file-max 的值,如果超过重启时可能会出现机器连接失败,拒绝访问等情况。因此在修改 nofile 时要考虑以下情况:
1、要修改的nofile值未超过nr_open和file-max两个值时,可以直接修改。
2、要修改的nofile值大于nr_open和file-max两个值时,要先修改nr_open和file-max的值,确保大于nofile的修改值。
解决步骤
1、查看修改前的配置
[root]#cat /proc/sys/fs/nr_open
100000
[root]# cat /proc/sys/fs/file-max
100000
2、修改文件 vim /etc/sysctl.conf # 永久修改,需要重启服务器
# For more information, see sysctl.conf(5) and sysctl.d(5).
# modify socket buffer size
fs.file-max = 2000000
fs.nr_open = 1000000
临时修改:
echo 1200000 > /proc/sys/fs/nr_open
echo 2000000 > /proc/sys/fs/file-max
3、sysctl -p # 加载并应用 /etc/sysctl.conf 配置文件中的系统内核参数设置
fs.file-max = 2000000
fs.nr_open = 1000000
net.ipv4.tcp_tw_reuse = 1
sysctl: cannot stat /proc/sys/net/ipv4/tcp_tw_recycle: No such file or directory
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_fin_timeout = 60
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 100000
net.ipv4.tcp_max_tw_buckets = 100000
net.ipv4.tcp_max_orphans = 100000
net.core.netdev_max_backlog = 100000
net.core.somaxconn = 65000
vm.swappiness = 0
4、查看修改后的配置
[root]# cat /proc/sys/fs/file-max
2000000
[root]# cat /proc/sys/fs/nr_open
1000000
5、vi /etc/security/limits.conf
正常默认值是100000
修改为:
# End of file
root soft nofile 999999 # 根据自己需求设置
root hard nofile 999999
6、reboot # 重启机器
7、重启后查看 ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 257198
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 999999
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
修改成功
再次在ops平台执行部署流程即可