mlflow: Unable to see mlflow ui at http://127.0.0.1:5000 on macOS Sierra version 10.12.3

System information

  • Have I written custom code (as opposed to using a stock example script provided in MLflow): No
  • OS Platform and Distribution (e.g., Linux Ubuntu 16.04): macOS Sierra version 10.12.3
  • MLflow installed from (source or binary): binary . (I did “pip3 install mlflow”)
  • MLflow version (run python -c "from mlflow import version; print(version.VERSION)"): 0.2.1
  • Python version: Python 3.6.5 :: Anaconda, Inc.
  • **npm version (if running the dev UI): 5.3.0
  • Exact command to reproduce:

“mlflow ui”

Describe the problem

Describe the problem clearly here. Be sure to convey here why it’s a bug in MLflow or a feature request.

Here is the terminal console logs:

$ mlflow ui [2018-07-01 23:35:56 -0700] [3302] [INFO] Starting gunicorn 19.8.1 [2018-07-01 23:35:56 -0700] [3302] [INFO] Listening at: http://127.0.0.1:5000 (3302) [2018-07-01 23:35:56 -0700] [3302] [INFO] Using worker: sync [2018-07-01 23:35:56 -0700] [3305] [INFO] Booting worker with pid: 3305 [2018-07-01 23:46:16 -0700] [3302] [CRITICAL] WORKER TIMEOUT (pid:3305) [2018-07-01 23:46:16 -0700] [3305] [INFO] Worker exiting (pid: 3305) [2018-07-01 23:46:16 -0700] [3402] [INFO] Booting worker with pid: 3402

When I opened a browser and tried reaching to “http://127.0.0.1:5000/”. I dont see the dashboard of all my runs. I only see “The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.”

It took some time to see the [CRITICAL] WORKER TIMEOUT error in the logs. My hunch is, the npm module, which serves the http://127.0.0.1:5000 request timeout as it is not up. Hence the error.

Source code / logs

Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. Try to provide a reproducible test case that is the bare minimum necessary to generate the problem.

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 8
  • Comments: 15 (5 by maintainers)

Commits related to this issue

Most upvoted comments

@stenpiren did you happen to run the mlflow ui from the root path of your cloned repo, for example, from the $HOME/mlflow which is your project path?

Similar error happened to me and I finally figured out what caused it. Python searches the module by sys.path and the current directory is the first path it searches. The mlflow project directory structure has mlflow/mlflow/server in it. So when the gunicorn tries to run the app, it is not getting from the installed one. Instead, it is looking at the cloned project. And because the js/build does not exist (aka server is not built) yet, the worker fails.

Same problem, I followed the tutorial and got 404 error, changing directory to examples folder solved the problem.

I think you just have to update the documentation for the tutorial. Cloning the whole source code of mlflow isn’t necessary. Just do pip install mlflow --user as a requirement instead.

Thank you for this amazing package.

Creating the symlink like @tszumowski pointed out caused other issues when trying to view the UI. In the context of following the tutorial, I think @mycaule meant:

  1. Change into the example folder in the first place to run the the train.py with varying parameters (vs running it from the root folder of the repo) - mlflow creats the mlruns folder in the working directory that the script was invoked from (in this case <project_root>/example
  2. Run mlflow ui from the same <project_root>/example folder, and it will now successfully load the mlflow runs in <project_root>/example/mlruns

At least that’s what worked for me 😄

Had the same issue but moving to the examples folder as described by @mycaule worked for me!

One thing to note though. When I started the UI in the examples directory, if running locally, it looks for runs in the examples/mlruns directory. So as a quick hack, I added a symlink with ln -s ../mlruns ./mlruns, run from the examples directory.

btw @dennyglee I did what you suggested to change TCP/IP > Configure IPv6 from Automatically (default) to Link-local only and it did not solve the problem. Any clue? My terminal logs is similar to the OP as well as the operating system.

EDIT: I tried running the same on Ubuntu 16.04 in virtualbox and got the same result. Not working at all. Is there any dependency that might have been updated and messed up the library? Also, I am running these with virtualenv environments in both macOS and Ubuntu.