在 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=]本书.
我重启了很多次我的虚拟机。
问题
是因为端口阻塞/没有转发(8888)还是什么原因,如果是,如何解决?
我是不是网络设置不正确?在 CentOS 里面还有什么我需要做的吗?我在这里 http://twiki.org/cgi-bin/view/Blog/BlogEntry201310x2 阅读了这个博客,但我根本没有看到 eth0
。
问题是 Jupyter 默认选择 127.0.0.0
或 localhost
。如果您的适配器具有其他 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
也打开。
我正在尝试在 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=]本书.
我重启了很多次我的虚拟机。
问题
是因为端口阻塞/没有转发(8888)还是什么原因,如果是,如何解决?
我是不是网络设置不正确?在 CentOS 里面还有什么我需要做的吗?我在这里 http://twiki.org/cgi-bin/view/Blog/BlogEntry201310x2 阅读了这个博客,但我根本没有看到
eth0
。
问题是 Jupyter 默认选择 127.0.0.0
或 localhost
。如果您的适配器具有其他 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
也打开。