sql-servermicrosoft-rr-servermicrosoft-machine-learning-server

Machine Learning Server remote session setup fails


i want to setup the Machine Learning Server for R remote sessions. Unfortunately it fails with "Unknown Error". Here is what i did and what i got as output.

Setup

Installation of Microsoft Machine Learning Server 9.3.0 - Offline Installation / with R, without Python.

Instructions from Offline installation for Machine Learning Server for Windows

The installation step was successful

MSI (s) (50:78) [09:50:07:880]: Product: Microsoft R Server -- Installation completed successfully.

Configuration

Configuration of R remote sessions.

Instructions from Launch the administration tool/CLI to manage the operationalization configuration.

Here the output from az ml admin bootstrap:

D:\R-Server\R_SERVER\o16n\Microsoft.MLServer.ComputeNode>az ml admin bootstrap
Admin password:
Confirm admin password:
Exception in thread stderr-stream:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\threading.py", line 916, in _bootstrap_inner
    self.run()
  File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\A1119231\.azure\cliextensions\azure-ml-admin-cli\azext_admin\commandline_process.py", line 272, in read_stream
    for output_line in stream:
  File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\encodings\cp1252.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 0: character maps to <undefined>


D:\R-Server\PYTHON_SERVER\python.exe is not a program. Please install Python 3.5 there if you would like to use Python Functionality.


Starting Compute Node
FAILURE! Compute Node was unable to start.
Unknown Error
Starting Web Node
SUCCESS! Web Node started. (PID: 7100, Listening on URI: http://localhost:12800/)

[{'node': 'web', 'pid': '7100', 'state': 'running'}, {'node': 'compute', 'pid': '', 'state': 'not running'}]

login to "http://localhost:12800" successful.




Preparing to run diagnostics...

***********************
DIAGNOSTIC RESULTS:
***********************


Web Node Details:
  Logs: D:\R-Server\R_SERVER\o16n\Microsoft.MLServer.WebNode\logs:
  Configured Compute Node URIs:
    Configured Values: [http://localhost:12805/]

  Available compute nodes: 1

Compute Node Details:
  Health of 'http://localhost:12805/': fail
Error processing command AttributeError
'NoneType' object has no attribute 'items'

It's strange that it tries to execute python.exe even if was not selected during installation.


Solution

  • Problem was a bug in the Microsoft Machine Learning Server setup. If you unselect Python during the setup the config file ...\o16n\Microsoft.MLServer.ComputeNode\appsettings.json will be created incorrectly.

    You have to replace:

    "Python": {},
    

    by

    "Python": {
      "JupyterKernelGateway": {
        "Port": 8888,
        "Enabled": false,
        "KernelName": "MLO16N"
      },
      "SubProcess": {
        "Enabled": false,
        "Path": null
      }
    },
    

    Then the compute node will start successfully.