Как запустить spark-notebook на докере под MacOS X?

Запуск spark-ноутбука с помощью Docker на OSX (через boot2docker), похоже, ничего не дает. Вот вывод

pkerp@toc:~/apps/spark-notebook$ docker run -p 9000:9000 andypetrella/spark-notebook:0.1.4-spark-1.2.0-hadoop-1.0.4
Play server process ID is 1
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/docker/lib/spark-repl_2.10-1.2.0-notebook.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/docker/lib/ch.qos.logback.logback-classic-1.1.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/docker/lib/org.slf4j.slf4j-log4j12-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
15/02/07 11:51:32 INFO play: Application started (Prod)
15/02/07 11:51:32 INFO play: Listening for HTTP on /0:0:0:0:0:0:0:0:9000

Когда я указываю свой браузер на http://localhost:9000/, он говорит, что веб-страница недоступна. Я что-то пропустил? Что-то неправильно настроено?

3 ответа

Решение

Для запуска ноутбука spark с использованием boot2docker потребуется дополнительная команда, необходимая для его работы.

На самом деле переадресация портов в Docker недостаточна и должна выполняться на уровне виртуальной машины, чтобы предоставить ей доступ к хосту (localhost/127.0.0.1).

Вот необходимая дополнительная команда: VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port9000,tcp,,9000,,9000"

@ см. этот вопрос для более подробной информации.

Запустите блокнот ipython, используя следующую команду

ipython notebook --no-browser --profile=pyspark --ip=*

тогда попробуй

open http://$(boot2docker ip):8888

Для более подробной информации см. Этот пост

В случае, если вы получите следующую ошибку:

➜ VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port9000,tcp,,9000,,9000" VBoxManage: error: The machine 'boot2docker-vm' is already locked for a session (or being unlocked) VBoxManage: error: Details: code VBOX_E_INVALID_OBJECT_STATE (0x80bb0007), component Machine, interface IMachine, callee nsISupports VBoxManage: error: Context: "LockMachine(a->session, LockType_Write)" at line 471 of file VBoxManageModifyVM.cpp

Вы можете решить эту проблему, остановив виртуальную машину, применив изменения и снова запустив boot2docker...

1) boot2docker stop

2) VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port9000,tcp,,9000,,9000"

3) boot2docker start

Другие вопросы по тегам