一般上我们在局域网内访问,比如宿主机访问虚拟机的时候可以直接使用IP去访问,大多数情况下也都适用。但是对于有的情况,比如像新版的hbase的配置,它默认将localhost作为hbase.master,这样导致你在宿主机无法使用客户端API去访问它,很是头疼。当然,对于生产环境来说hbase这样强制要求hostname是可以理解的,只是不方便单机测试罢了。
不论如何,我们需要解决hostname和IP的映射(你可以类比域名和IP的关系来理解局域网中hostname和IP的关系),也就是在系统中进行配置映射配置。
一、配置虚拟机hosts
编辑虚拟机hosts文件
配置本地IP和名字映射(虚拟机采用桥接模式才有独立IP)
本地IP可以通过ifconfig获得,名字自定义即可
二、配置虚拟机network
编辑network
添加两行
hostname为你的hosts中定义的名字
注意:hostname的配置需要重启系统加载才会生效,不过我们也可以使用"hostname 名字"这个命令来促使它立即生效
上面两步,我们完成了虚拟机的IP和名称的解析,并将该名称设定为了虚拟机主机的名称,但是如果我们希望在宿主机也使用该名称去访问,那就需要对宿主机的hosts进行解析配置了,下面配置宿主机的hosts
三、配置宿主机hosts
宿主机的Hosts在window/system32/drivers/etc下,找到hosts并编辑它,如果你没有编辑权限的话,右击修改当前用户的权限即可
添加一行
这样,当你使用master的时候,本机会将它解析成虚拟机的IP并访问虚拟机