我正在尝试设置一个 2 节点 Hadoop 集群(遵循此指导),其中主设备将是我的 Ubuntu 笔记本电脑,从设备是运行 ubuntu 的虚拟机。
我还读到virtualbox 中的网络,但我仍然有问题。
但是,两者具有相同的 IP 地址,现在,在主节点中,我有以下/etc/hosts
文件:
127.0.0.1 localhost
127.0.1.1 gsamaras
127.0.1.1 master
127.0.1.1 slave-1
这对我来说似乎很混乱,因此我想给 virtualbox 的 Ubuntu 另一个 IP。我确实检查了这个问题更改在 Windows 8 上运行 linux ubuntu 的虚拟机的 IP 地址?,但是所提出的答案在虚拟盒。我在那里选择的是:
设备 -> 网络 -> 桥接适配器(名称 wlan0)
默认为网络地址转换。然而/etc/hosts
那里的文件有相同的IP。在进行 Ubuntu 的安装过程之前,我也在 virtualbox 中创建了一个新的 Ubuntu,但它与/etc/hosts
virtualbox 中的其他 Ubuntu 相同,即:
127.0.0.1 localhost
127.0.1.1 gsamaras-VirtualBox
127.0.1.1 master
127.0.1.1 slave-1
如何让virtualbox的Ubuntu和我的Ubuntu有不同的IP?
编辑:
在主节点上(即我的笔记本电脑)
hadoopuser@gsamaras:/home$ /sbin/ifconfig -a
eth0 Link encap:Ethernet HWaddr e8:40:f2:d8:76:ca
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:38796 errors:0 dropped:0 overruns:0 frame:0
TX packets:38796 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6705515 (6.7 MB) TX bytes:6705515 (6.7 MB)
wlan0 Link encap:Ethernet HWaddr 00:08:ca:bd:cf:22
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::208:caff:febd:cf22/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:654899 errors:0 dropped:0 overruns:0 frame:0
TX packets:442294 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:746284872 (746.2 MB) TX bytes:121215609 (121.2 MB)
在从节点(即虚拟机)上:
gsamaras@gsamaras-VirtualBox:~$ /sbin/ifconfig -a
eth0 Link encap:Ethernet HWaddr 08:00:27:a3:40:f1
inet addr:192.168.1.5 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fea3:40f1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:42 errors:0 dropped:0 overruns:0 frame:0
TX packets:72 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4748 (4.7 KB) TX bytes:10743 (10.7 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:172 errors:0 dropped:0 overruns:0 frame:0
TX packets:172 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:12500 (12.5 KB) TX bytes:12500 (12.5 KB)
编辑_1:
从我执行的主节点(当 virtualbox 的网络设置为名为 wlan0 的桥接适配器时):
gsamaras@gsamaras:~$ ssh 192.168.1.5
ssh: connect to host 192.168.1.5 port 22: No route to host
gsamaras@gsamaras:~$ ssh 192.168.1.2
The authenticity of host '192.168.1.2 (192.168.1.2)' can't be established.
ECDSA key fingerprint is 78:21:77:e8:aa:c5:c5:41:8f:32:56:f7:c6:37:fc:a2.
Are you sure you want to continue connecting (yes/no)? no
Host key verification failed.
gsamaras@gsamaras:~$ ping 192.168.1.5
PING 192.168.1.5 (192.168.1.5) 56(84) bytes of data.
From 192.168.1.2 icmp_seq=1 Destination Host Unreachable
...
答案1
看起来您正在使用桥接网络,并且您的主机和访客已经拥有不同的 IP 地址,192.168.1.2对于主机(您所说的主节点)和192.168.1.5对于来宾(从节点)。
不要对中的地址感到困惑127.xxx网络。这些是环回地址,并且它们永远不会离开 TCP/IP 堆栈,即两台不同的机器(无论是真实的还是虚拟的)无法通过它们一起通信。