Acessando os logs do driver de tarefas do Spark
Você pode acessar e visualizar os registros do driver de tarefas do Spark para Analytics Engine powered by Apache Spark.
O método a ser utilizado depende da configuração do Analytics Engine powered by Apache Spark :
O download dos logs do driver persistiu no armazenamento
Se os recursos avançados do Spark não estiverem ativados para a sua instância de serviço, você só poderá visualizar os logs do driver de tarefa do Spark, baixando-os do armazenamento.
Para fazer o download dos logs do driver de tarefa do Spark para fins de depuração se você não tiver os recursos avançados habilitados:
Obtem o ID da instância Spark do terminal Spark jobs V4 . O formato do terminal é o seguinte:
https://<CloudPakforData_URL>/v4/analytics_engines/<INSTANCE_ID>/spark_applications. Consulte “Gerenciamento de instâncias d Analytics Engine powered by Apache Spark ” para obter detalhes sobre como localizar o endpoint.Obtenha ou gere o token de acesso. Consulte Gerando um token de autorização da API. Exporte o token em uma variável:
export TOKEN=<token_generated>Configure o ID da instância e o nome do volume:
export Instance_id=<instance_id_from_step_1> export Application_id=<application_id> export Volume_name=<name of volume associated with instance> export CloudPakforData_URL=<zen_route>Obtem CLOUDPAKFORDATA_URL executando
oc get routes -n ${PROJECT_CPD_INST_OPERANDS}em seu cluster.Inicie o servidor de arquivos:
curl -k -X POST https://${CloudPakforData_URL}/zen-data/v1/volumes/volume_services/${Volume_name} -H "Authorization: ZenApiKey ${TOKEN}" -H 'Content-Type: application/json' -d '{}'Se você receber um erro de 409, isso significa que o servidor de arquivos já começou. Você pode ignorar esse erro e prosseguir para a próxima etapa.
Baixe o arquivo de log. O arquivo de log é armazenado no caminho:
<Instance_id>/<Application_id>/logs/spark-driver-<Application_id>-stdout.export File_path=$Instance_id%2F$Application_id%2Flogs%2Fspark-driver-$Application_id-stdout curl -ivk -X GET https://${CloudPakforData_URL}/zen-volumes/${Volume_name}/v1/volumes/files/${File_path} -H "Authorization: ZenApiKey ${TOKEN}" -H 'cache-control: no-cache'Pare o servidor de arquivos:
curl -k -X DELETE https://${CloudPakforData_URL}/zen-data/v1/volumes/volume_services/${Volume_name} -H "Authorization: ZenApiKey ${TOKEN}" -H 'Content-Type: application/json' -d '{}'
Consulte Gerenciando instâncias de volume persistente com a API de Volumes para obter mais informações sobre como trabalhar com arquivos armazenados.
Download de logs com recursos avançados do Spark ativado
Se os recursos avançados do Spark estiverem ativados para a sua instância é possível visualizar ou fazer o download dos logs do driver de tarefa do Spark para fins de depuração. Para obter detalhes sobre como ativar os recursos avançados do Spark, veja Usando recursos avançados.
Você pode fazer o download dos logs de duas maneiras:
Por meio do cliente web IBM Cloud Pak for Data
- No menu de navegação
, clique em Serviços> Instâncias, localize a instância e clique nela para visualizar os detalhes da instância
- Clique em
à direita da página de detalhes da instância e selecione Espaço de implementação para abrir o espaço de implementação na guia Tarefas, na qual é possível visualizar as tarefas do Spark - Clique na tarefa para ver as execuções da tarefa. As métricas de desempenho, as partições e os planos de execução dos trabalhos concluídos podem ser visualizados no servidor de histórico do Spark. Consulte a seção sobre como acessar o servidor de histórico do Spark.
- Clique em uma execução de tarefa para visualizar os detalhes da execução e o final do log. Você pode baixar o registro completo da execução clicando em “Baixar registro ”.
- No menu de navegação
Spark
Por meio da API REST
Obter o nome do espaço de implantação.
- No menu de navegação
no Cloud Pak for Data, clique em Serviços> Instâncias, localize a instância e clique nela para visualizar os detalhes da instância
- Anote o nome do espaço de implantação.
- No menu de navegação
Exporte os seguintes valores. O ID da tarefa está incluído na resposta POST da sua tarefa.
export CLOUDPAKFORDATA_URL=<CloudPakforData_URL> export SPACE_NAME=<space_name> export APPLICATIONID=<application_id>Obtenha o token de acesso para a instância do serviço. Consulte Gerando um token de autorização da API.
Exporte o token de acesso para uma variável:
export TOKEN=<ACCESS_TOKEN>Execute o seguinte:
SPACE_ID=$(curl -k -X GET https://$CLOUDPAKFORDATA_URL/v2/spaces?name=$SPACE_NAME -H 'content-type:application/json' -H "Authorization: ZenApiKey ${TOKEN}" | python3 -c "import json, sys; print(json.load(sys.stdin)['resources'][0]['metadata']['id'])") curl -ivk https://$CLOUDPAKFORDATA_URL/v2/asset_files/runtimes%2Fspark%2F$APPLICATIONID%2Flogs%2Fspark-driver-$APPLICATIONID-stdout?space_id=$SPACE_ID -H "accept: application/json" -H "Authorization: ZenApiKey ${TOKEN}"