Service R à distance pour LinuxRemote R Service for Linux

Service R à distance pour Linux est actuellement fourni en tant que rtvs-daemon.Remote R Service for Linux is currently packaged as rtvs-daemon. Le démon est pris en charge et testé sur Ubuntu 16.04, 16.10 LTS Desktop, Server et le sous-système Windows pour Linux exécutant Ubuntu.The daemon is supported and tested on Ubuntu 16.04, 16.10 LTS desktop, server, and Windows Subsystem for Linux running Ubuntu. L’essentiel de cet article fournit des instructions pour configurer Service R à distance sur ces différents systèmes.The bulk of this article provides instructions for setting up Remote R Service on these different systems.

Une fois que vous avez configuré l’ordinateur distant, les étapes suivantes connectent les outils R pour Visual Studio (RTVS) à ce service :Once you've configured the remote machine, the following steps connect the R Tools for Visual Studio (RTVS) to that service:

  1. Sélectionnez Outils R > Windows > Espaces de travail pour ouvrir la fenêtre Espaces de travail.Select R Tools > Windows > Workspaces to open the Workspaces window.
  2. Sélectionnez Ajouter une connexion.Select Add Connection.
  3. Donnez un nom à la connexion et indiquez son URL, par exemple https://localhost:5444 (sous-système Windows pour Linux) ou https://public-ip:5444 (conteneur Azure).Give the connect a name and provide its URL, such as https://localhost:5444 (Windows Subsystem for Linux) or https://public-ip:5444 (Azure container). Sélectionnez Enregistrer lorsque vous avez terminé.Select Save when complete.
  4. Sélectionnez l’icône de connexion ou double-cliquez sur l’élément de connexion.Select the connection icon or double-click the connection item.
  5. Fournissez des informations d’identification de connexion.Provide login credentials. Le nom d’utilisateur doit avoir pour préfixe <<unix>>\ comme dans <<unix>>\ruser1 (comme exigé pour toutes les connexions aux ordinateurs distants Linux).The username must be prefixed with <<unix>>\ as in <<unix>>\ruser1 (as required for all connections to Linux remote computers).
  6. Si vous utilisez un certificat auto-signé, vous pouvez voir un avertissement.If you are using self-signed certificate, you may see a warning. Le message fournit des instructions pour corriger l’avertissement.The message provides instructions to correct the warning.

Configuration de Service R à distanceSet up Remote R Service

Cette section décrit les options suivantes :This section describes the following options:

Dans chaque cas, les interpréteurs R suivants doivent être installés sur l’ordinateur distant :In each case, the remote computer must have one of the following R interpreters installed:

Ordinateur Ubuntu physiquePhysical Ubuntu computer

  1. Une fois connecté à l’ordinateur, téléchargez le tarball rtvs-daemon :Once logged into the computer, download the rtvs-daemon tarball:

    wget -O rtvs-daemon.tar.gz https://aka.ms/r-remote-services-linux-binary-current
    tar -xvzf rtvs-daemon.tar.gz
    
  2. Exécutez le script d’installation :Run the install script:

    sudo ./rtvs-install
    

    Pour une automatisation sans assistance, utilisez sudo ./rtvs-install -s.For a silent automation, use sudo ./rtvs-install -s.

  3. Activez et démarrez le service :Enable and start the service:

    sudo systemctl enable rtvsd
    sudo systemctl start rtvsd
    
  4. Configurez le certificat SSL (requis pour la production).Configure the SSL certificate (required for production). Par défaut, rtvs-daemon utilise les ssl-cert-snakeoil.pem et ssl-cert-snakeoil.pem générés par le package ssl-cert.By default, rtvs-daemon uses the ssl-cert-snakeoil.pem and ssl-cert-snakeoil.pem generated by the ssl-cert package. Pendant l’installation, ils sont combinés dans ssl-cert-snakeoil.pfx.During installation, they're combined into ssl-cert-snakeoil.pfx. À des fins de production, utilisez le certificat SSL fourni par votre administrateur.For production purposes, use the SSL certificate provided by your administrator. Le certificat SSL peut être configuré en fournissant un fichier .pfx et un mot de passe d’importation facultatif dans : /etc/rtvs/rtvsd.config.json.The SSL certificate can be configured by providing a .pfx file and optional import password in: /etc/rtvs/rtvsd.config.json.

  5. (Facultatif) Vérifiez que le service est en cours d’exécution :(Optional) Check that the service is running:

    ps -A -f | grep rtvsd
    

    Si vous ne voyez pas de processus en cours d’exécution sous le nom d’utilisateur rtvssvc.If you don’t see a process running under the user name rtvssvc. Démarrez-le à l’aide de la commande suivante :Start it using the following command:

    sudo systemctl start rtvsd
    
  6. Pour configurer rtvs-daemon, consultez man rtvsd.To further configure the rtvs-daemon, see man rtvsd.

Machine virtuelle Ubuntu Server ou machine virtuelle de science des données sur AzureUbuntu Server VM or Data Science VM on Azure

Créer une machine virtuelleCreate a VM

  1. Connectez-vous au portail Azure.Sign in to the Azure portal.
  2. Accédez aux machines virtuelles, puis sélectionnez Ajouter.Navigate to Virtual Machines, then select Add.
  3. Dans la liste des images de machine virtuelle disponibles, recherchez et sélectionnez un des éléments suivants :In the list of available VM images, search for and select one of the following:
  4. Affectez au modèle de déploiement la valeur Resource manager et sélectionnez Créer.Set the deployment model to Resource manager and select Create.
  5. Choisissez un nom pour la machine virtuelle, fournissez un nom d’utilisateur et un mot de passe (le mot de passe est obligatoire, car la connexion par clé publique SSH n’est pas prise en charge).Choose a name for the VM, provide a username and password (password is required, as SSH public key login isn't supported).
  6. Apportez les autres modifications souhaitées à la configuration de la machine virtuelle.Make any other desired changes to the VM configuration.
  7. Choisissez une taille de machine virtuelle, vérifiez la configuration et sélectionnez Créer.Choose a VM size, verify the configuration, and select Create. Une fois que la machine virtuelle est créée, passez à la section suivante.Once the VM is created, proceed to the next section.

Configurer la machine virtuelleConfigure the VM

  1. Dans la section Réseau de la machine virtuelle, ajoutez 5444 comme port d’entrée autorisé.In the VM's Networking section, add 5444 as an allowed inbound port. Pour utiliser un port différent, modifiez le paramètre dans le fichier de configuration du démon RTVS (/etc/rtvs/rtvsd.config.json).To use a different port, change the setting in the RTVS daemon config file (/etc/rtvs/rtvsd.config.json).
  2. (Facultatif) Définissez un nom DNS ; vous pouvez également utiliser l’adresse IP.(Optional) Set a DNS name; you can also use the IP address.
  3. Connectez-vous à la machine virtuelle à l’aide d’un client SSH, comme PuTTY pour Windows.Connect to the VM using an SSH client, such as PuTTY for WIndows.
  4. Suivez les instructions relatives à un ordinateur Ubuntu physique ci-dessus.Follow the instructions for a Physical Ubuntu computer above.

Sous-système Windows pour Linux (WSL)Windows Subsystem for Linux (WSL)

  1. Suivez les instructions d’installation WSL pour Windows 10 ou Windows Server.Follow the WSL installation instructions for either Windows 10 or Windows Server.
  2. Démarrez Bash sur Windows et suivez les instructions précédentes relatives à un ordinateur Ubuntu physique à une exception près.Start bash on Windows and follow the earlier instructions a Physical Ubuntu computer with one exception. Dans l’étape 3, démarrez le service plutôt à l’aide de la commande rtvsd, car WSL ne prend actuellement pas en charge les interfaces systemd/systemctl.For step 3, start the service using the command rtvsdinstead because WSL currently does not support the systemd/systemctl interfaces.

Conteneur Docker local ou distant (build propre)Local or remote Docker container (clean build)

  1. Créez un fichier Docker avec le contenu ci-dessous, qui installe le démon de Service R à distance et la dernière version de R. Remarque : ce script crée un utilisateur nommé « ruser1 » avec le mot de passe « foobar », que vous pouvez modifier à votre gré dans les deux dernières instructions RUN.Create a Docker file with the contents below, which installs the Remote R service daemon and the latest version of R. Note: this script creates a user called "ruser1" with the password "foobar", which you can modify as desired in the final two RUN statements.

    FROM ubuntu:16.04
    
    ARG DEBIAN_FRONTEND=noninteractive
    
    RUN apt-get update \
     && apt-get install -y software-properties-common python-software-properties \
     && apt-get install -y apt-transport-https \
     && rm -rf /var/lib/apt/lists/*
    
    RUN sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list' \
     && apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893 \
     && sh -c 'echo "deb https://cran.revolutionanalytics.com/bin/linux/ubuntu xenial/" > /etc/apt/sources.list.d/cran-r.list' \
     && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9 \
     && rm -rf /var/lib/apt/lists/* \
     && apt-get clean
    
    RUN apt-get update --fix-missing && apt-get update \
     && apt-get install -y dotnet-dev-1.0.4 libexplain51 libzip4 libc6 git lshw ssl-cert wget \
     && rm -rf /var/lib/apt/lists/*
    
    # install R
    RUN apt-get update && apt-get install -y r-base-dev
    RUN apt upgrade -y
    
    # install rtvs-daemon
    RUN wget -O rtvs-daemon.tar.gz https://aka.ms/r-remote-services-linux-binary-current && tar -xvzf rtvs-daemon.tar.gz && ./rtvs-install -s
    
    RUN useradd --create-home ruser1
    RUN echo "ruser1:foobar" | chpasswd
    
    EXPOSE 5444
    
  2. Générez et exécutez le fichier Docker :Build and run the docker file:

    docker build -t myrimage .
    docker run -p 5444:5444 myrimage rtvsd
    
  3. Pour vous connecter au contenu de RTVS, utilisez https://localhost:5444 comme chemin, le nom d’utilisateur <<unix>>\ruser1 et le mot de passe foobar.To connect to the contains from RTVS, use https://localhost:5444 as the path, username <<unix>>\ruser1, and password foobar. Si le conteneur est en cours d’exécution sur un ordinateur distant, utilisez plutôt https://remote-host-name:5444 en tant que chemin.If the container is running on a remote computer, use https://remote-host-name:5444 as the path instead. Le port peut être changé en mettant à jour /etc/rtvs/rtvsd.config.json.The port can be changed by updating /etc/rtvs/rtvsd.config.json.

Conteneur s’exécutant sur Azure Container InstancesContainer running on Azure Container Instances

  1. Suivez les instructions indiquées dans Conteneur Docker local ou distant (build propre) pour créer l’image.Follow the instructions in Local or remote Docker container (clean build) to create the image.
  2. Transmettez le conteneur au Hub Docker ou à Azure Container Repository.Push the container to Docker hub or Azure Container Repository.
  3. Démarrez Azure CLI et connectez-vous en utilisant la commande az login.Start the Azure CLI and sign in using the az login command.
  4. Utilisez la commande az container create pour créer le conteneur, en utilisant --command-line "rtvsd" si vous n’avez pas configuré le conteneur pour exécuter rtvsd en tant que service systemd.Use the az container create command to create the container, using --command-line "rtvsd" if you have not set up the container to run rtvsd as a systemd service. Dans la commande ci-dessous, l’image est censée se trouver sur le Hub Docker.In the command below, the image is expected to be on Docker hub. Vous pouvez également utiliser Azure Container Repository en ajoutant des arguments d’informations d’identification Container Repository à la ligne de commande.You can also use Azure Container Repository by adding Container Repository credential arguments to the command line.

    az container create --image myimage:latest --name myaz-container --resource-group myaz-container-res --ip-address public --port 5444 --cpu 2 --memory 4 --command-line "rtvsd"
    
  5. Utilisez la commande az container list pour vérifier l’état.Use the az container list command to check the status. Recherchez provisioningState : Succeeded.Look for provisioningState: Succeeded.
  6. Si le provisionnement a réussi, vous pouvez maintenant vous connecter au conteneur.If the provisioning succeeded, you can now connect to the container. Recherchez l’adresse IP publique, dans le champ ipAddress, que vous utilisez avec les informations d’identification incluses dans le fichier Docker pour vous connecter au conteneur à partir de RTVS.Look for the public IP address, in the ipAddress field, which you use with the credentials in the docker file to connect to the container from RTVS.