Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Não consigo acessar a url pública do ngrok para acessar o Spark UI

Rodei o comando !curl -s http://localhost:4040/api/tunnels que acessa a porta da API do Ngrok responsável por disponibilizar uma URL pública para acessar o Spark UI, seguindo toda a instrução e mudanças de acesso do ngrok.

O código rodou sem erros, porém não gera a saída json para eu clicar no link de acesso, nem reiniciando a sessão.

Alguém sabe como eu poderia resolver?

Obrigado.

2 respostas

Olá Fábio, tudo bem com você?

Para fazer a conexão do SparkUI usando o Ngrok dentro do Google Colab instale a biblioteca pyngrok. Através do método connect será retornado a URL de acesso do SparkUI como mostrado em aula.

Antes de prosseguir reinicie o ambiente de execução do Google Colab. Você pode reiniciar o ambiente de execução clicando na barra de ferramentas localizada na parte superior da tela e em "Ambiente de execução" selecionar a opção "Reiniciar o ambiente de execução".

A seguir o código que você deverá executar em cada célula separadamente:

# instalar as dependências
!apt-get update -qq
!apt-get install openjdk-8-jdk-headless -qq > /dev/null
!wget -q https://archive.apache.org/dist/spark/spark-3.1.2/spark-3.1.2-bin-hadoop2.7.tgz
!tar xf spark-3.1.2-bin-hadoop2.7.tgz
!pip install -q findspark
import os
os.environ["JAVA_HOME"] = "/usr/lib/jvm/java-8-openjdk-amd64"
os.environ["SPARK_HOME"] = "/content/spark-3.1.2-bin-hadoop2.7"
import findspark
findspark.init()
from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .master('local[*]') \
    .appName("Iniciando com Spark") \
    .config('spark.ui.port', '4050') \
    .getOrCreate()
!wget -q https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
!unzip ngrok-stable-linux-amd64.zip
!pip install pyngrok
from pyngrok import ngrok
!ngrok authtoken SEU_TOKEN_AQUI_ENTRE_ASPAS_DUPLAS
ngrok.connect('4050')

Lembre de alterar o comando authtoken com o seu código de autenticação do ngrok que foi gerado neste site. Como resultado após a célula ngrok.connect deverá aparecer uma URL, copie e cole em seu navegador e clique no botão Visit Site e deverá ver a página do SparkUI/jobs:

Imagem da tela do SparkUI ao abrir o endereço gerado pelo ngrok

Espero ter ajudado. Em caso de dúvidas estou à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!
solução!

Tudo bom Rafael?

Perfeito!!! Fiz as alterações de acordo com o código que vc compartilhou e deu tudo certo, consegui conectar o serviço tranquilo.

Muito obrigado pela ajuda!!

Abs

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software