为什么存储小文件过程中,缓存中的数据会丢失
问题
在存储小文件过程中,系统断电,缓存中的数据丢失。
回答
由于断电,当写操作完成之后,缓存中的block不会立即被写入磁盘,如果要同步地将缓存的block写入磁盘,用户需要将“客户端安装路径/HDFS/hadoop/etc/hadoop/hdfs-site.xml”中的“dfs.datanode.synconclose”设置为“true”。
默认情况下,“dfs.datanode.synconclose”为“false”,虽然性能很高,但是断电之后,存储在缓存中的数据会丢失。将“dfs.datanode.synconclose”设置为“true”,可以解决此问题,但对性能有很大影响。请根据具体的应用场景决定是否开启该参数。