O propósito deste projeto é aprofundar o conhecimento em plataformas relevantes para análise e processamento de dados. Para alcançar esse objetivo, será configurada uma instância de máquina virtual na Azure, na qual serão instaladas as dependências requeridas para participar de competições de aprendizado de máquina.
Utilizando a plataforma Azure para criar a máquina virtual: https://portal.azure.com/#home
Caminho: Virtuais > Criar > Máquina Virtual do Azure
Inicialmente, as seguintes configurações foram escolhidas para a máquina:
Nome: CCF726
Região: (US) East US
Imagem (S.O): Ubuntu Server 20.04 LTS - X64 Gen2
Em relação a conta de administrador, foi escolhido autenticar-se por meio de uma senha. As credenciais escolhidas foram:
Login: mtsftsmts
senha: *******
Uma vez definido essas pequenas configurações, prosseguiu-se clicando no botão "Revisar + Criar".
Além das configurações básicas definidas anteriormente, é necessário incluir uma regra de inbound que vai habilitar acessar o Jupyter Notebook. Para isso, foi escolhido a porta 8888 e protocolo TCP.
Caminho: Configurações > Rede > Adicionar regra da porta de entrada.
Além disso, para facilitar as futuras conexões foi atribuído a rede um ip estático.
Caminho: Configurações > Configurações de IP
Em primeiro lugar, é necessário iniciar a máquina no Azure
Abrir o programa Putty e inserir no campo Host Name (or IP address) o Endereço IP público da máquina "4.246.190.99"
Ao clicar em "Open" um terminal será aberto solicitando as credenciais do login.
Em relação as dependências, foi escolhido instalar o pacote Anaconda, pois ele simplifica a instalação e o gerenciamento de pacotes, bibliotecas e ambientes para projetos de ciência de dados e aprendizado de máquina. Ele inclui um grande número de bibliotecas populares e úteis para esses campos, como Python, NumPy, pandas, Matplotlib, scikit-learn, TensorFlow, Jupyter Notebook, entre outras.
Após efetuar o login na máquina, os seguintes comandos foram executados:
-
cd /tmp
-
curl -O https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh
-
bash Anaconda3-2022.10-Linux-x86_64.sh
-
Aceite os termos da licença
Após a instalação, execute o comando: source ~/.bashrc, para fazer as alterações no arquivo .bashrc e aplicar as novas configurações à sessão atual do terminal sem precisar fechar e abrir um novo terminal. Uma vez instalado, é possível visualizar todas as bibliotcas instaladas pelo Anaconda através do comando: conda list. OBS: A imagem abaixo mostra apenas algumas
Podemos visualizar a versão dos pacotes de forma independente, abaixo podemos ver as versões do jupyter e do python instaladas.
Com a máquina virtual em execução, basta abrir o prompt do sistema operacional do computador pessoal e utilizar o seguinte comando para criar a instância para acessar o Jupyter remotamente:
ssh -L 8080:localhost:8888 [email protected]
O comando ssh -L 8080:localhost:8888 [email protected] realiza uma conexão SSH segura (Secure Shell) com a máquina remota cujo endereço IP é 4.246.190.99 e nome de usuário é mtsftsmts.
A opção -L 8080:localhost:8888 configura um túnel SSH, que encaminha o tráfego da porta local 8080 para a porta 8888 na máquina remota. Essa técnica é conhecida como "port forwarding" (encaminhamento de porta) e é útil quando você deseja acessar um serviço na máquina remota (nesse caso, um servidor Jupyter Notebook na porta 8888) através de uma porta local no seu computador.
Com esse comando, é possível acessar o servidor Jupyter Notebook remoto digitando http://localhost:8080 no navegador do computador local, como se o servidor estivesse sendo executado localmente na porta 8080.
Agora, para acessar o Jupyter Notebook, basta digitar no navegador a seguinte URL: http://localhost:8080/tree?
Se necessário, insira o token gerado para obter acesso ao Jupyter. Por exemplo: http://localhost:8888/? token=1036cd4eb4546860f131cfb8a01c21423489643ae56efebd
Após acessar o Jupyter Notebook, você poderá criar um novo arquivo .ipynb e fazer upload de arquivos.