Resolva a exceção de limite de contagem de Xceiver em um DataNode aumentando o tamanho do pool de threads de transferência.
Mensagem de erro
java.io.IOException: Xceiver count xxxx exceeds the limit of concurrent xceivers: xxxx
Causa
O parâmetro dfs.datanode.max.transfer.threads controla o tamanho do pool de threads que um DataNode usa para lidar com fluxos de dados de leitura e gravação. O valor padrão é 4096. Se esse valor for muito baixo, o DataNode gera uma exceção de limite de contagem de Xceiver.
Procedimento
Faça login no console do E-MapReduce.
Na barra de navegação superior, selecione a região e o grupo de recursos apropriados.
-
Acesse a página de configuração do service HDFS.
Na página Clusters, localize o seu cluster e clique em Services na coluna de ações.
Na página Services, clique em Configure na seção HDFS.
-
Na área de pesquisa de configuração, pesquise o parâmetro dfs.datanode.max.transfer.threads e aumente o seu valor, por exemplo, dobrando-o para 8192 ou 16384.
NotaO parâmetro dfs.datanode.max.transfer.threads controla o tamanho do pool de threads para lidar com fluxos de dados de leitura e gravação em um DataNode. O valor padrão é 4096.