diff --git a/docs/pt/Contributing-to-Alluxio.md b/docs/pt/Contributing-to-Alluxio.md new file mode 100644 index 000000000000..316730e5636e --- /dev/null +++ b/docs/pt/Contributing-to-Alluxio.md @@ -0,0 +1,190 @@ +--- +layout: global +title: Contribuindo com o Alluxio +nickname: Contributor Guide +group: Resources +--- + +* Table of Contents +{:toc} + +Obrigado pelo seu interesse no Alluxio! Nós apreciamos imensamente qualquer nova funcionalidade +ou correções de `bugs`. + +### Tarefas de Iniciante do Alluxio + +Existem algumas pequenas situações que os novos contribuidores podem fazer para se familiarizarem +com o Alluxio: + +1. [Executar o Alluxio Localmente](Running-Alluxio-Locally.html) + +2. [Executar o Alluxio em um Cluster](Running-Alluxio-on-a-Cluster.html) + +3. Ler as [Definições de Configuração](Configuration-Settings.html) e a [Interface da Linha de Comando](Command-Line-Interface.html) + +4. Ler um + [Código Exemplo](https://github.com/alluxio/alluxio/blob/master/examples/src/main/java/alluxio/examples/BasicOperations.java) + +5. [Construir o Alluxio Master Branch](Building-Alluxio-Master-Branch.html) + +6. Efetuar o `fork` de um repositório, adicionar unidades de testes ou `javadoc` para um ou dois arquivos, e submeter uma solicitação de recebimento (`pull request`). Você também é bem-vindo para endereçar incidentes + (`issues`) no [JIRA](https://alluxio.atlassian.net/browse/ALLUXIO). +Aqui está a lista de +[tarefas](https://alluxio.atlassian.net/issues/?jql=project%20%3D%20ALLUXIO%20AND%20labels%20%3D%20NewContributor%20AND%20status%20%3D%20OPEN) +para Novos Contribuidores. Por favor, limite-se em até duas tarefas classificadas como `New Contributor`. +Depois, tente tarefas como `Beginner/Intermediate` ou pergunte sobre qualquer assunto na +[Lista de Email de Usuários](https://groups.google.com/forum/?fromgroups#!forum/alluxio-users). +Para um tutorial, veja os guias do `GitHub` em +[forking um repositório](https://help.github.com/articles/fork-a-repo) e +[enviando um pull request](https://help.github.com/articles/using-pull-requests). + +### Submetendo o Código + +- Nós encorajamos você a dividir seu trabalho em pequenos `patches` de único propósito, se possível. + É muito mais difícil em fundir uma grande modificação com várias funcionalidades deslocadas. + +- Nós rastreamos incidentes e funcionalidades em nosso [JIRA](https://alluxio.atlassian.net/). Se você + não possui uma conta registrada, por favor, registre-se! + +- Abra um `ticket` no [JIRA](https://alluxio.atlassian.net/) detalhando a mudança proposta e para + o que isso serve. + +- Envie o `patch` como um `GitHub pull request`. Para um tutorial, veja os guias `GitHub` em + [forking um repositório](https://help.github.com/articles/fork-a-repo) e + [enviando um pull request](https://help.github.com/articles/using-pull-requests). + +- No título de sua solicitação de recebimento, tenha certeza de referenciar o seu `ticket JIRA`. + Isto irá conectar o seu `ticket` com as modificações propostas nos códigos. Por exemplo: + +~~~~~ +[ALLUXIO-100] Implementando uma impressionante nova funcionalidade +~~~~~ + +- No campo de descrição da `pull request`, por favor, inclua um `link` para o `ticket JIRA`. + + +Atente que para pequenas modificações, não é necessário criar um `ticket JIRA` correspondente +antes de enviar o `pull request`. Por exemplo: + +- Para as `pull request` que somente endereçam erros de digitação ou formatação no código fonte, + você pode colocar o prefixo "[SMALLFIX]" nos títulos de seus `pull requests`, por exemplo: + +~~~~~ +[SMALLFIX] Corrigindo a formatação no Foo.java +~~~~~ + +- Para os `pull requests` que aprimoram a documentação no site do projeto do Alluxio (exemplo, + modifique os arquivos `markdown` no diretório `docs`), você pode colocar o prefixo "[DOCFIX]" em + suas `pull requests`. Por exemplo, para editar a página da `web` que é gerada a partir de + `docs/Contributing-to-Alluxio.md`, o título pode ser: + +~~~~~ +[DOCFIX] Aprimorando a documentação de como contribuir com o Alluxio +~~~~~ + +#### Testando + +- Execute todas as unidades de teste com ``mvn test`` (será utilizado o `file system` local como o + `under storage system` e o `HDFS 1.0.4` como o `under storage system` com o módulo `HDFS`). O + comando ``mvn -Dhadoop.version=2.4.0 test`` irá utilizar o `HDFS 2.4.0` como o + `under storage system` para os testes com módulo `HDFS`. + +- Para executar os testes contra um específico `under storage system`, execute o comando no + `maven` a partir diretório do submódulo. Por exemplo, para rodar testes para o `HDFS`, você + deve executar ``mvn test`` a partir de ``alluxio/underfs/hdfs``. + +- Para ambientes `GlusterFS`, a unidade de teste `GlusterFS` pode ser executado a partir de + ``alluxio/underfs/glusterfs`` com: + `mvn -PglusterfsTest -Dhadoop.version=2.3.0 -Dalluxio.underfs.glusterfs.mounts=/vol -Dalluxio.underfs.glusterfs.volumes=testvol test` + (utilize o GlusterFS como o `under filesystem`, onde o `/vol` é um `mount point GlusterFS` válido) + +_ Execute uma única unidade de teste: `mvn -Dtest=AlluxioFSTest#createFileTest -DfailIfNoTests=false test` + +- Para testar, rapidamente, o funcionamento de algumas `API` de uma forma interativa, você deverá + elevar o `Scala shell`, como discutido neste [blog](http://scala4fun.tumblr.com/post/84791653967/interactivejavacoding). + +- Para testes com diferentes versões do `Hadoop`: ``mvn -Dhadoop.version=2.2.0 clean test`` + +- Execute testes com o `Hadoop FileSystem contract tests` (utilize o `Hadoop 2.6.0`): `mvn -PcontractTest clean test` + +#### Estilo de Codificação + +- Por favor, siga o estilo existente de codificação. Especialmente, nós utilizamos o + [estilo Google Java](http://google-styleguide.googlecode.com/svn/trunk/javaguide.html), + com as seguintes modificações ou desvios: + - Tamanho máxima da linha de **100** caracteres. + - Importação de terceiros são agrupados em conjunto para formar uma formatação `IDE` mais simples. + - Nomes de variáveis de classes membros devem ter o prefixo `m`, por exemplo, + `private WorkerClient mWorkerClient;` + - Nomes de variáveis estáticas devem ter o prefixo `s`, por exemplo + `public static String sUnderFSAddress;` +- Você pode baixar nosso [formatador Eclipse](../resources/alluxio-code-formatter-eclipse.xml) + - Para o Eclipse organizar as suas importações corretamente, configure o `"Organize Imports"` + para parecer com [isto](../resources/eclipse_imports.png) + - Se você utiliza o `IntelliJ IDEA`: + - Você pode tanto utilizar nosso formatador com a ajuda do + [Formatador de Código do Eclipse](https://github.com/krasa/EclipseCodeFormatter#instructions) + ou utilizar o [Plugin de Formatador de Código do Eclipse](http://plugins.jetbrains.com/plugin/6546) + no `IntelliJ IDEA`. + - Para formatar automaticamente a importação, configure em + Preferêncas->Esitlo de Código->Importação->Layout de Importação para + [esta ordem](../resources/intellij_imports.png) + - Para reordenar, automaticamente, os métodos alfabeticamente, tente o + [Plugin Reordenar](http://plugins.jetbrains.com/plugin/173), abra Preferências, + pesquise por reordenar, remove comentários desnecessários, depois clique com o botão direito, + escolha "Reordenar", então os códigos serão formatados conforme sua escolha +- O Alluxio está utilizando o `SLF4J` para `logs` com o típico padrão de uso: + +{% include Contributing-to-Alluxio/slf4j.md %} + +- Para verificar que o código está em conformidade com o padrão, execute um + [checkstyle](http://checkstyle.sourceforge.net) antes de enviar um `pull request` para verificar + que não há novos avisos: + +{% include Contributing-to-Alluxio/checkstyle.md %} + +#### FindBugs + +Antes de enviar seu `pull-request`, execute o +[FindBugs](http://findbugs.sourceforge.net/) sobre o código mais recente para verificar que não +há nenhum novo aviso. + +{% include Contributing-to-Alluxio/findbugs.md %} + +### IDE + +Você pode gerar um arquivo de configuração do `Eclipse` através da execução: + +{% include Contributing-to-Alluxio/eclipse-configuration.md %} + +Então, importe o diretório para dentro do `Eclipse`. + +Você também pode ter que adicionar a variável `M2_REPO` à `classpath` através da execução: + +{% include Contributing-to-Alluxio/M2_REPO.md %} + +Se você estiver usando o `IntelliJ IDEA`, você deve ter que alterar o perfil do `Maven` para +'desenvolvedor' a fim de evitar erros de importação. Você pode fazer isso indo para: + + Visualizar > Ferramentas de Janela > Projetos Maven + +### Apresentações + +- AMPCamp 6 (Novembro, 2015) +[SlideShare](http://www.slideshare.net/TachyonNexus/tachyon-presentation-at-ampcamp-6-november-2015) +- Strata and Hadoop World 2015 (Setembro, 2015) +[SlideShare](http://www.slideshare.net/TachyonNexus/tachyon-an-open-source-memorycentric-distributed-storage-system) +- Strata and Hadoop World 2014 (Outubro, 2014) +[pdf](http://www.cs.berkeley.edu/~haoyuan/talks/Tachyon_2014-10-16-Strata.pdf) +[pptx](http://www.cs.berkeley.edu/~haoyuan/talks/Tachyon_2014-10-16-Strata.pptx) +- Spark Summit 2014 (Julho, 2014) [pdf](http://goo.gl/DKrE4M) +- Strata and Hadoop World 2013 (Outubro, 2013) [pdf](http://goo.gl/AHgz0E) + +### Leituras + +- [Tachyon: Reliable, Memory Speed Storage for Cluster Computing Frameworks](http://www.cs.berkeley.edu/~haoyuan/papers/2014_socc_tachyon.pdf) +Haoyuan Li, Ali Ghodsi, Matei Zaharia, Scott Shenker, Ion Stoica, *SOCC 2014*. +- [Reliable, Memory Speed Storage for Cluster Computing Frameworks](http://www.cs.berkeley.edu/~haoyuan/papers/2014_EECS_tachyon.pdf) +Haoyuan Li, Ali Ghodsi, Matei Zaharia, Scott Shenker, Ion Stoica, *UC Berkeley EECS 2014*. +- [Tachyon: Memory Throughput I/O for Cluster Computing Frameworks](http://www.cs.berkeley.edu/~haoyuan/papers/2013_ladis_tachyon.pdf) +Haoyuan Li, Ali Ghodsi, Matei Zaharia, Eric Baldeschwieler, Scott Shenker, Ion Stoica, *LADIS 2013*. diff --git a/docs/pt/Running-Alluxio-on-a-Cluster.md b/docs/pt/Running-Alluxio-on-a-Cluster.md new file mode 100644 index 000000000000..78901006b4ab --- /dev/null +++ b/docs/pt/Running-Alluxio-on-a-Cluster.md @@ -0,0 +1,55 @@ +--- +layout: global +title: Alluxio Standalone em um Cluster +nickname: Alluxio Standalone em um Cluster +group: User Guide +priority: 2 +--- + +## Standalone em um Cluster + +Primeiro, baixe o arquivo `tar` do Alluxio e o extraia. + +{% include Running-Alluxio-on-a-Cluster/download-extract-Alluxio-tar.md %} + +No diretório `alluxio/conf`, copie `alluxio-env.sh.template` para `alluxio-env.sh`. Tenha certeza +que `JAVA_HOME` aponta para uma instalação válida do `Java 7`. Atualize o `ALLUXIO_MASTER_ADDRESS` +para o `hostname` da máquina que você deseja ser o Alluxio `Master`. Adicione o endereço de `IP` de +todos os `Workers Nodes` no arquivo `alluxio/conf/workers`. Finalmente, sincronize todas as +informações para os servidores `workers`. Você pode executar + +{% include Running-Alluxio-on-a-Cluster/sync-info.md %} + +para sincronizar os arquivos e diretórios de todos os servidores especificados no arquivo +`alluxio/conf/workers`. + +Agora, você iniciar o Alluxio: + +{% include Running-Alluxio-on-a-Cluster/start-Alluxio.md %} + +Para verificar se o Alluxio está em execução, visite o endereço `http://:19999`, +também cheque o diretório de log `alluxio/logs` ou execute um programa de teste: + +{% include Running-Alluxio-on-a-Cluster/run-tests.md %} + +**Nota**: Se você estiver utilizando o `EC2`, tenha certeza que as definições de segurança de grupo +no servidor `master` permite conexões de entrada na porta `web UI` do Alluxio. + +## Utilizando o argumento bootstrap-conf para o script bin/alluxio + +O `script` do Alluxio também contém uma lógica para criar uma configuração básica para um `cluster`. +Se você executar: + +{% include Running-Alluxio-on-a-Cluster/bootstrap-conf.md %} + +e não possuir nenhum arquivo `alluxio/conf/alluxio-env.sh`, então o `script` irá criar um arquivo com +as definições apropriadas para um `cluster` com um nó `master` executando no ``. + +O `script` precisa ser executado em todos os nós que você deseja configurar. + +O `script` irá configurar seus `workers` para usar 2/3 da memória total de cada `worker`. Esta quantidade +pode ser modificar através da alteração do arquivo `alluxio/conf/alluxio-env.sh` no `worker`. + +## EC2 Cluster com Spark + +Se você usa `Spark` em um `EC2 Cluster`, o Alluxio será instalado e configurado por padrão.