JupyterHub configuração e administração - Amazon EMR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

JupyterHub configuração e administração

JupyterHub e componentes relacionados são executados dentro de um contêiner Docker chamado jupyterhub que executa o sistema operacional Ubuntu. Há várias maneiras para você administrar os componentes que são executados dentro do contêiner.

Atenção

As personalizações que você executa no contêiner podem não persistir se o contêiner for reiniciado. Recomendamos que você faça script ou automatize a configuração de contêiner para que possa reproduzir personalizações com mais facilidade.

Administração usando a linha de comando

Quando conectado ao nó principal usandoSSH, você pode emitir comandos usando a interface de linha de comando do Docker (CLI) e especificando o contêiner por nome (jupyterhub) ou ID. Por exemplo, o sudo docker exec jupyterhub command executa comandos reconhecidos pelo sistema operacional ou por um aplicativo em execução dentro do contêiner. Você pode usar esse método para adicionar usuários ao sistema operacional e instalar aplicativos e bibliotecas adicionais no contêiner Docker. Por exemplo, a imagem do contêiner padrão inclui Conda para instalação de pacote, portanto, você pode executar o seguinte comando na linha de comando do nó principal para instalar um aplicativo, Keras, dentro do contêiner:

sudo docker exec jupyterhub conda install keras

Administração por envio de etapas

As etapas são uma maneira de enviar trabalhos a um cluster. Você pode enviar etapas quando o cluster é iniciado ou pode enviá-las para um cluster em execução. Os comandos que você executa na linha de comando podem ser enviados como etapas usando o command-runner.jar. Para obter mais informações, consulte Trabalhe com etapas usando o console CLI e no Guia EMR de Gerenciamento da Amazon Executar comandos e scripts em um cluster do Amazon EMR e.

Por exemplo, você pode usar o AWS CLI comando a seguir em um computador local para instalar o Keras da mesma forma que fez na linha de comando do nó principal no exemplo anterior:

aws emr add-steps --cluster-id MyClusterID --steps Name="Command Runner",Jar="command-runner.jar",Args="/usr/bin/sudo","/usr/bin/docker","exec","jupyterhub","conda","install","keras"

Além disso, você pode fazer o script de uma sequência de etapas, carregar o script no Amazon S3 e, em seguida usar script-runner.jar para executar o script quando você cria o cluster ou adiciona o script como uma etapa. Para ter mais informações, consulte Executar comandos e scripts em um cluster do Amazon EMR. Para ver um exemplo, consulte Exemplo: script Bash para adicionar vários usuários.

Administração usando REST APIs

Jupyter, JupyterHub, e o HTTP proxy para JupyterHub fornecer REST APIs que você pode usar para enviar solicitações. Para enviar solicitações para JupyterHub, você deve passar um API token com a solicitação. Você pode usar o curl comando da linha de comando do nó principal para executar REST comandos. Para obter mais informações, consulte os seguintes recursos do :

O exemplo a seguir demonstra o uso do REST API for JupyterHub para obter uma lista de usuários. O comando passa um token administrativo gerado anteriormente e usa a porta padrão, 9443 JupyterHub, para canalizar a saída para jq para facilitar a visualização:

curl -XGET -s -k https://$HOST:9443/hub/api/users \ -H "Authorization: token $admin_token" | jq .