在 Fusion 的 CentOS 7 中设置 Jupyter

Setup Jupyter inside Fusion's CentOS 7

我正在尝试在 CentOS 7 VM(我已经拥有)中安装 Jupyter,以便我可以通过主机 Mac 笔记本电脑上的端口 8888 访问它。但是,我无法弄清楚网络部分。

我正在将 IP 地址更改为 200。100.x.x 为了方便起见

来自主机Machine

我有 2 个适用于 CentOS VM

的适配器

$ ifconfig 给我这个(我相信它们是一样的):

vmnet1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 00:50:56:c0:00:01 
    inet 200.100.42.1 netmask 0xffffff00 broadcast 200.100.42.255
vmnet8: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 00:50:56:c0:00:08 
    inet 200.100.40.1 netmask 0xffffff00 broadcast 200.100.40.255

来自 CentOS

[root@localhost ~]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 200.100.40.145  netmask 255.255.255.0  broadcast 200.100.40.255
        inet6 fe80::20c:29ff:febf:4878  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:bf:48:78  txqueuelen 1000  (Ethernet)
        RX packets 645  bytes 97963 (95.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 215  bytes 24854 (24.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eno33554984: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 200.100.42.128  netmask 255.255.255.0  broadcast 200.100.42.255
        inet6 fe80::250:56ff:fe3d:7210  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:3d:72:10  txqueuelen 1000  (Ethernet)
        RX packets 18  bytes 1884 (1.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 45  bytes 6130 (5.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 220  bytes 50398 (49.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 220  bytes 50398 (49.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

我的测试

我从我的主机 ping 了以下 IP 地址,它们都有效:

200.100.42.128

200.100.40.145

200.100.42.1

200.100.40.1

这意味着虚拟机有网络连接。正确吗?

当我执行 jupyter notebook 时,我可以在 VM 中访问 http://localhost:8888/tree,但我无法使用主机 OS 上的任何 IP 地址访问 OS =71=]本书.

我重启了很多次我的虚拟机。

问题

  1. 是因为端口阻塞/没有转发(8888)还是什么原因,如果是,如何解决?

  2. 我是不是网络设置不正确?在 CentOS 里面还有什么我需要做的吗?我在这里 http://twiki.org/cgi-bin/view/Blog/BlogEntry201310x2 阅读了这个博客,但我根本没有看到 eth0

问题是 Jupyter 默认选择 127.0.0.0localhost。如果您的适配器具有其他 IP 地址,它将无法工作。

您需要更改虚拟机内部Jupyter的IP

http://jupyter-notebook.readthedocs.org/en/latest/config.html

$ jupyter notebook --generate-config

编辑它:

vi /root/.jupyter/jupyter_notebook_config.py

然后更改:

c.Notebookapp.ip = '0.0.0.0'

重新启动 jupyter notebook 应该就可以了。

确保防火墙关闭或对端口 8888 也打开。