docker中java应用new FileOutputStream直接报Input/output error
一个docker容器中跑着java应用,是一个定时任务,每天拉取远端文件包存到本机,命名为:decrypt-20181020
就在这一天,任务失败,java提示异常: java.io.FileNotFoundException: /tmp/decrypt-20181020 Input/output error
Cause by: ... com.pollyduan.job.GetFileService:54
找到对应行的代码:
FileOutputStream out = new FileOutputStream(targetFile);
- 一般情况下,new 一个 OutputStream 是无论如何不应该报错的,毕竟还没有开始任何读取或写入操作。
很怪异,前一天和后一天都正常。
在 bash中进入tmp目录:
touch decrypt-20181020
touch: cannot touch `decrypt-20181020': Input/output error
- 其他文件名没问题
- 硬盘空间充足
查看设备故障诊断日志:
# dmesg
...
[72458282.116220] EXT4-fs error (device dm-6): htree_dirblock_to_tree:914: inode #2097766: block 8397500: comm bash: bad entry in directory: rec_len is smaller than minimal - offset=0(335872), inode=0, rec_len=0, name_len=0
搜索到Stack Overflow,看到有说重启可解决。由于业务在跑着,没有尝试,回头试过再更新。
目前,修改临时文件名暂时解决。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
如何在Java中生成比特币钱包地址
让我们通过学习比特币(Bitcoin)如何实施该技术的各个方面来工作,好吗?该技术包括以下几个方面: 比特币地址bitcoin address是用来发送和接收比特币的。 交易transaction是比特币从一个地址转移到另一个地址。 几个交易被分组成一个区块block。一个区块被处理,因此它可以被提交到比特币网络中。这个过程被称为挖矿mining。 区块被收集在区块链blockchain中,并由网络中的节点共享。 警告的提示——这里的代码仅用于学习。如果你试图将比特币发送到由该代码生成的地址,你可能会损失金钱。 什么是比特币地址? 比特币地址是一个随机查找的十六进制字符串,在比特币网络中用于发送和接收比特币。它是公私不对称ECDSA密钥的公共部分。相应的私钥用于签署比特币交易,作为交易时来自你的确认和证明。 从技术上讲,比特币地址是从ECDSA密钥的公共部分生成的,使用SHA-256和RIPEMD-160进行hash,如下文所述,处理得到的结果hash,最后使用Base58校验编码对密钥进行编码。 让我们看看如何使用JCE(java加密扩展),Bouncy Castle(RIPEMD-...
-
下一篇
kettle学习笔记及最佳实践
最近在用kettle迁移数据,从对kettle一点不会到比较熟悉,对于期间的一些问题和坑做了记录和总结,内容涵盖了使用的经验和技巧,踩到的坑、最佳实践和优化前后结果对比。 常用转换组件 计算形成新字段:只限算术运算,并且选择固定 过滤记录:元表某字段按照某个条件分流,满足条件的到一个表,不满足的到另一个表,这两个目标表都必须有。 Switch/Case:和过滤记录类似,可以多个条件判断,并且有默认转向条件,可以完美替换过滤记录组建 记录分组:group by 组建未能正常按照预期理解运行 设置为NULL:将某个特定值设置为NULL 行扁平化:行扁平化,使用与某条件下某名称对应的行数相同的情况 行列转换:行转成列,使用Row Normalizer组件,事先一定要是根据分组字段排好序,关键字段就是name列字段,分组字段就是按照什么分组,目标字段就是行转列之后形成的字段列表。 8.字段选择:选择需要的目的列到目标表,并且量表的对应字段不一样时可以用来做字段映射 排序:分组前先排序可以提高效率 条件分发:根据条件分发,相当与informatica的router组件 值映射:相当与oracle...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- MySQL数据库在高并发下的优化方案
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker快速安装Oracle11G,搭建oracle11g学习环境