Escolar Documentos
Profissional Documentos
Cultura Documentos
Hadoop Word
Hadoop Word
Pgina 1 de 24
www.devmedia.com.br
[verso para impresso]
Link original: http://www.devmedia.com.br/articles/viewcomp.asp?comp=29466
Hadoop: fundamentos e
instalao
Este artigo aborda os fundamentos bsicos e a instalao
da tecnologia Apache Hadoop em um ambiente para
desenvolvimento de aplicaes que manipulam grandes
volumes de dados (big data).
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 2 de 24
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 3 de 24
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 4 de 24
Como proposta para superar os desafios, surge o Apache Hadoop, um framework para
o processamento de grandes quantidades de dados em aglomerados e grades
computacionais. A ideia de promover solues para os desafios dos sistemas
distribudos em uma s plataforma o ponto central do projeto Hadoop. Nessa
plataforma, problemas como integridade dos dados, disponibilidade dos ns,
escalabilidade da aplicao e recuperao de falhas so simplificadas para quem
desenvolve as aplicaes.
Alm disso, seu modelo de programao e sistema de armazenamento dos dados
promove um rpido processamento, muito superior s outras tecnologias similares.
Atualmente, alm de estar consolidado no mundo empresarial, o Hadoop tem obtido
crescente apoio da comunidade acadmica, proporcionando, assim, estudos cientficos
e prticos.
Com base em tudo o que foi citado, este artigo apresenta os fundamentos das
tcnicas e dos conceitos envolvidos no projeto Apache Hadoop, em especial o modelo
de programao MapReduce. Em seguida, so detalhadas as etapas para a instalao
e configurao de um ambiente Hadoop a ser utilizado no desenvolvimento e testes de
aplicaes Bigdata.
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 5 de 24
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 6 de 24
maior patrocinador do projeto. Alguns anos depois, a empresa j contava com mais de
40.000 mquinas executando o Hadoop (White, 2010);
Janeiro de 2008: o Apache Hadoop, na verso 0.15.2, amadurece como um projeto
incubado na fundao Apache, e torna-se um dos principais projetos abertos da
organizao;
Julho de 2008: uma aplicao Hadoop em um dos aglomerados do Yahoo! quebra o
recorde mundial de velocidade de processamento na ordenao de 1 terabyte de
dados. O aglomerado era composto de 910 mquinas e executou a ordenao em 209
segundos, superando o recorde anterior que era de 297 segundos;
Setembro de 2009: a empresa Cloudera, especializa em Bigdata, contrata Cutting
como lder do projeto. Cloudera uma empresa que redistribui uma verso comercial
derivada do Apache Hadoop;
Dezembro de 2011: passados seis anos desde seu lanamento, o Apache Hadoop
disponibiliza sua verso estvel (a 1.0.0). Entre as melhorias, destaca-se o uso do
protocolo de autenticao de rede Kerberos, para maior segurana de rede; a
incorporao do subprojeto HBase, oferecendo suporte a BigTable; e o suporte
interface WebHDFS, que permite o acesso HTTP para leitura e escrita de dados;
Maio de 2012: a Apache faz o lanamento da verso da 2.0 do Hadoop, incluindo alta
disponibilidade no sistema de arquivos (HDFS) e melhorias no cdigo.
Ao ser hospedado como um projeto da Apache Software Foundation, o Hadoop segue
o modelo de licenciamento da Apache, bem mais flexvel que outras modalidades de
licena para software livre, permitindo modificaes e redistribuio do cdigo-fonte.
Dessa forma, vrias empresas surgiram no mercado distribuindo implementaes do
Hadoop.
Cada uma dessas implementaes normalmente acrescentam novas funcionalidades,
aplicam especificidades de um nicho de mercado, ou ainda limitam-se a prestao de
servios como implantao, suporte e treinamento. Dentre algumas empresas com
estes objetivos temos a Amazon Web Service, Cloudera, Hortonworks, KarmaSphere,
Pentaho e Tresada. Atualmente, a Cloudera uma das lderes no mercado, chefiada
por Douglas Cutting, um dos criadores do Apache Hadoop original.
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 7 de 24
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 8 de 24
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 9 de 24
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 10 de 24
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 11 de 24
mquinas distintas. Para quem usa tais arquivos, o sistema deve permitir as
mesmas facilidades de um sistema de arquivos local.
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 12 de 24
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 13 de 24
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 14 de 24
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 15 de 24
O Hadoop est disponvel como pacote open-source no portal da Apache (ver seo
Links). Neste endereo voc encontra a verso mais estvel (1.2.x), a verso
preliminar de atualizao (a 2.x) e todas as verses anteriores a mais estvel.
Entretanto, h no mercado verses que empacotam todo o ambiente de execuo,
bem como as configuraes da plataforma operacional para a maioria das distribuies
Linux atualmente em uso (Ubuntu, CentOS, RedHat, etc.).
Entre essas verses comerciais, porm gratuitas, uma das mais utilizadas a ofertada
pela empresa Cloudera (ver seo Links), denominada CDH (atualmente nas verses
3.x e 4.x), que pode ser instalada em uma mquina virtual (VMware, por exemplo),
baseada no Linux CentOS.
Para efeito de demonstrao, foi escolhida a instalao padro do projeto Apache.
Neste caso, necessrio verificar se a instalao Linux escolhida est configurada com
os pacotes Java e SSH. Para os exemplos deste artigo, foi utilizado o seguinte
ambiente: Linux Ubuntu 12.x, Java JDK 1.7, Apache Hadoop-1.2.1.
Aps a definio e ativao do sistema operacional Linux, recomendado criar um
usurio e um grupo dedicados para o Hadoop, executando os comandos vistos na
Listagem 1.
Listagem 1. Comandos para criao de usurio e grupo.
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 16 de 24
Certifique-se que o Hadoop esteja instalado na verso definida neste artigo (a 1.2.x).
Uma forma de instalar o Hadoop no Linux baixando o pacote a partir de um
endereo homologado pela Apache. Em nosso exemplo, a opo foi a oferecida pela
Unicamp. Os comandos para esse tipo de instalao podem ser vistos na Listagem 3.
Listagem 3. Comandos para instalao do pacote Hadoop.
$ cd /usr/local
$ sudo wget http://ftp.unicamp.br/pub/apache/
hadoop/core/hadoop-1.2.1/hadoop-1.2.1.tar.gz
$ sudo tar xzf hadoop-1.2.1.tar.gz
$ sudo ln -s hadoop-1.2.1 hadoop
$ sudo chown -R hadoop:hadoopgrupo hadoop-1.2.1
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 17 de 24
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
<description>A base for other temporary
directories.</description>
</property>
<property>
<name>fs.default.name</name>
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 18 de 24
<value>hdfs://localhost:54310</value>
<description>The name of the default file system. A URI whose
scheme and authority determine the FileSystem implementation. The
uri's scheme determines the config property (fs.SCHEME.impl) naming
the FileSystem implementation class. The uri's authority is used to
determine the host, port, etc. for a filesystem.</description>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>Default block replication.
The actual number of replications can be sepecified
when the file is created.
The default is used if replication is not specified in create time.
</description>
</property>
</configuration>
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 19 de 24
$su - hadoop
$ /usr/local/hadoop/bin/hadoop namenode format
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 20 de 24
$ /usr/local/hadoop/bin/start-all.sh
$ jps
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 21 de 24
arquivo texto contendo cada palavra e a quantidade de vezes que cada uma foi
encontrada.
Para ilustrar esse processamento, baixe uma coleo de dados sobre livros da
biblioteca Gutenberg (ver seo Links), cujo contedo est disponvel para uso livre
em diversos formatos (HTML, PDF, TXT, ePub, entre outros). Neste caso, foi feito o
download do arquivo texto pg20417.txt para uma pasta chamada gutenberg,
conforme demonstra os comandos da Listagem 12.
Listagem 12. Download do arquivo de entrada.
$ mkdir gutenberg
$ lynx -dump http://www.gutenberg.org./cache/epub/20417/
pg20417.txt
> gutenberg/pg20417.txt
$ cd /usr/local/hadoop
$ hadoop jar hadoop-examples-1.2.1.jar wordcount /user/hadoop/
gutenberg /user/hadoop/gutenberg-output
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 22 de 24
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 23 de 24
Links
Pgina oficial do projeto Apache Hadoop
http://hadoop.apache.org/
Pgina oficial do projeto Lucene
http://lucene.apache.org
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014
Pgina 24 de 24
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=29466
11/08/2014