org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /hbase/Mast
Hbase启动时,master或regionserver启动不成功,查看logs目录下.log文件的报错内容
报错内容:org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /hbase/MasterProcWALs/state-00000000000000000001.log could only be replicated to 0 nodes instead of minReplication (=1). There are 1 datanode(s) running and no node(s) are excluded in this operation.
该问题是由于hadoop的HDFS存储空间不足,需要配置data多目录
可以使用命令 hadoop dfsadmin -report 查看hdfs的存储空间使用情况
Configured Capacity : hadoop设置的总空间大小
DFS Used: hadoop文件系统所使用的空间
Non DFS Used : 非hadoop文件系统所使用的空间大小,如本身的linux系统使用的,或者存放的其它文件
DFS Remaining : hadoop文件系统可使用的剩余容量大小
配置多目录:在hdsf-site.xml中配置
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///${hadoop.tmp.dir}/dfs/data,file:///disk3/data2</value>
</property>
hadoop.tmp.dir是在core-site.xml中配置的目录,datanode的数据就存放在它下面的dfs/data目录中;/disk3/data2是我给虚拟机扩容磁盘后amount的一个盘下的目录,同样作为datanode的数据目录。
在对hdfs进行put上传文件时也可能因为存储空间不足出现类似情况,同样的需要配置多目录数据存储;配置多目录一般是为了扩展hdfs容量将数据存放在不同的磁盘上,跟副本没有一点关系。