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

Não consigo obter a URL pública para acessar o sparkUI (ngrok) no colab

Prezados,

Percebi que este problema é recorrente aqui no forum referente a esta aula.

Segui as dicas da aula: 02 Para saber mais: Acessando o SparkUI no Colab https://cursos.alura.com.br/course/spark-apresentando-ferramenta/task/100722

Além disso, já consultei as outras perguntas/repostas referentes a esse mesmo problema, testei todas e não obtive sucesso.

A primeira tentativa seguindo a referida aula e partindo da etapa abaixo:

No próximo conjunto de comandos, devemos configurar o nosso Authtoken obtido no site do ngrok. A primeira linha do código abaixo é a única modificação em relação ao código apresentado pelo instrutor no próximo vídeo.

get_ipython().system_raw('./ngrok authtoken DIGITE AQUI O SEU AUTHTOKEN')
get_ipython().system_raw('./ngrok http 4050 &')

Aguarde alguns segundos após a execução do código anterior e execute a linha de comando abaixo: !curl -s http://localhost:4040/api/tunnels

Este último comando gera o erro:
                <html>
                <head>
                <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
                <title>Error 404 Not Found</title>
                </head>
                <body><h2>HTTP ERROR 404 Not Found</h2>
                <table>
                <tr><th>URI:</th><td>/api/tunnels</td></tr>
                <tr><th>STATUS:</th><td>404</td></tr>
                <tr><th>MESSAGE:</th><td>Not Found</td></tr>
                <tr><th>SERVLET:</th><td>org.glassfish.jersey.servlet.ServletContainer-448aa5c7</td></tr>
                </table>
                <hr><a href="https://eclipse.org/jetty">Powered by Jetty:// 9.4.40.v20210413</a><hr/>

                </body>
                </html>

Sem sucesso!!!

A segunda tentativa é proveniente de uma solução dada aqui no forum para este mesmo problema: Realiza-se a instalação da seguinte biblioteca:

!pip install pyngrok
from pyngrok import ngrok

Em seguida:

!ngrok authtoken "minha AUTHTOKEN" 

Em seguida:

ngrok.connect(4050)

que resultou na saida: <NgrokTunnel: "https://NUMEROS-AQUI.ngrok-free.app" -> "http://localhost:4050">

Sem sucesso!!!

Por favor, tomem uma providencia definitiva para esse problema para que consigamos avançar nesse curso. Aguardo pelo retorno. obrigado.

3 respostas
solução!

Instalar pyngrok

!pip install pyngrok

Importar e configurar ngrok

from pyngrok import ngrok ngrok.set_auth_token("cole o token aqui")

Iniciar o túnel

public_url = ngrok.connect(4050) print(public_url)

Verificar o status do túnel

!curl -s http://localhost:4040/api/tunnels

Ah! Não esqueá de indicar a porta também. Fiz assim!

from pyspark.sql import SparkSession

spark = SparkSession.builder .master('local[*]') .appName("Iniciando com Spark") .config('spark.ui.port', '4050') .getOrCreate()

seguindo a dica do Dgeison Serrão Peixoto pra mim deu certo. Misturado com o que tava aqui: https://cursos.alura.com.br/course/spark-apresentando-ferramenta/task/100722

creio que o que faltava no meu caso eram :

from pyngrok import ngrok 
ngrok.set_auth_token("*TOKEN*")

e o !pip install pyngrok deu mensagem q já estava instalado. Então acho que faltava importar..

obs: from pyngrok import ngrok ngrok.set_auth_token("cole o token aqui") da dica acima do Dgeison tem que ficar em linhas separadas.