在使用fuse-dfs挂载hadoop后,在本地使用ls浏览挂载的文件系统的内容,但使用ls后出现以下错误(/data/mount为挂载的本地目录路径):

  1. cannot access /data/mount: Input/output error 

百思不得其解,还以为是fuse-dfs的问题无法挂载,经过一番研究后发现原来是因为目录的权限问题。例如,datanode数据的本地存放路径为/data/hadoop/data,这个目录的权限必须为755(hadoop的机制是这样的,我改过777后就无法启动了),也就是说其它用户只有r和x的权限,假如这个目录的拥有者是abc,哪怕你是用root用户去挂载也会在hadoop里出现权限问题,所以在配置hadoop时,要注意启动hadoop用户和配置hadoop用户保持一致,不能用abc去配置而用root去启动或用root去配置用abc去启动。刚刚开始研究hadoop,希望大家多交流