和传统文件系统类似, HDFS支持读, 写和删除文件, 以及创建和删除目录. 用户通过路径指定namespace内的文件和目录. 用户完全不用知道细节....当第一个块完成后, Client会再次请求Data Node列表, 再以同样的方式写后面的块....当完成后且开始运作之前, 新的checkpoint和空白的journal文件会被回写.
若是checkpoint或journal文件丢失或者损坏, namespace的信息就丢失了....若出错, client会通知Name Node数据算坏, 然后从另一个Data Node获取该block....当client打开读取一个文件, client将获取块的存储列表, 并选择最近的Data Node读取数据. 当读取失败, 就会尝试下一个. 可能会有疑问, 什么时候读取会失败呢?