• Português
  • English
  • Español
  • Hadoop 3.0 – Mudança radical no armazenamento dos dados

    Por: em 1 de abril de 2018

    Os Softwares constantemente evoluem mediante as necessidades dos seus usuários e neste artigo vou citar uma das novas características da versão 3.0 do Hadoop, plataforma de software de computação distribuída voltada para clusters e processamento de grandes volumes de dados.

    As distribuições da cloudera e hortonworks ainda não implementaram a versão 3 do hadoop, mas é sempre interessante avaliar o que está por vir.

    Inicialmente, para o hadoop garantir tolerância a falhas e confiabilidade, o armazenamento de um bloco HDFS era por default de forma triplicada, ou seja, o parâmetro Replication Factor (dfs.replication) era configurado para 3.

    Aqueles que já trabalhavam e conheciam tecnologias de armazenamento, os chamados “storages”, que garantiam confiabilidade através de RAID (Redundant Array of Inexpensive Drives), relutavam em entender os benefícios do modo JBOD (Just Bunch of Disks).

    O custo de implementar um cluster hadoop acaba sendo menor mesmo com a aquisição de muitos discos para compensar o overhead de 200% no armazenamento de dados.

    Erasure coding

    Erasure coding (EC) é um modo de armazenamento com significante economia de espaço quando comparado o modo de replicação já conhecido no hadoop.

    Em sistemas de armazenamento do tipo RAID, o EC é utilizado amplamente, e através de paridade de dados, caso ocorra uma falha, é possível reconstruir o dado original com parte das informações.

    Ao utilizar o EC, ao invés de replicar a informação 3 vezes, o hadoop irá executar um etapa chamada de Encoding que gera a paridade de dados necessária para reconstruir a informação.

    Economia de espaço

    A grande vantagem em ter o EC como modo de armazenamento no hadoop, será que ao fazer o plano de capacidade do cluster, ao invés de calcular um overhead de 200%, reduziremos este overhead para 50%.

    Performance

    Alguns testes realizados indicam um significante uso de cpu e tempo de escrita maior em função do cálculo de paridade.

    Considerações finais

    Erasure coding garante a mesma confiabilidade e tolerância a falhas que o modo de replicação atualmente utilizado. Como toda versão nova, teremos que aguardar o amadurecimento.

    Uma nova classe de comandos será adicionada nessa versão e apenas o Administrador do hadoop poderá criar novos diretórios no hdfs com o modo EC.

    A forma recomendável para migrar para este novo modo de armazenamento será o comando distcp (distributed copy).

    Algumas limitações relacionadas à escrita em EC podem impedir algumas práticas no hadoop. Ainda não é possível realizar um “append” .

    DataLab Hadoop Cluster

    Aqui no Datalab, possuímos um cluster com 10 servidores e utilizamos a distribuição Hadoop Cloudera, onde atuamos nas frentes de pesquisa em Machine Learning.

    Referências

    https://hadoop.apache.org/docs/r1.2.1/hdfs_design.html#Replica+Placement%3A+The+First+Baby+Steps  –  Acesso: 07/03/2018.

    https://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml –  Acesso: 07/03/2018.

    https://blog.cloudera.com/blog/2015/09/introduction-to-hdfs-erasure-coding-in-apache-hadoop/ –  Acesso: 07/03/2018.

    http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HDFSErasureCoding.html –  Acesso: 07/03/2018.

    https://www.slideshare.net/BigdataMeetupKochi/hadoop-enhancements-using-next-gen-ia-technologies-70126797 –  Acesso: 07/03/2018.

    https://www.slideshare.net/HadoopSummit/hdfs-erasure-coding-in-action –  Acesso: 07/03/2018.

    1 de abril de 2018

    Filtre por mês

    Filtre por autor