看到这个错误,我们就首先应该想到hadoop 的配置参数dfs.datanode.max.xceivers
那这个错误到底是什么错误呢?
这个错误是指hadoop上同时运行的线程数不能超过256 也就是dfs.datanode.max.xceivers 的默认值,当使用hbase的时候,这个值很容易就达到了,因为datanode 在写操作时,到文件块的每个打开的连接都会使用一个线程。
所以产生这个错误的时候,我们就需要把dfs.datanode.max.xceivers 的值适当的调大,具体多大合适,根据自己的需求,建议至少调大到4096以上,这只是一个最大值的限制,不会直接产生对系统资源的消耗。