Hadoop笔记(一):为仅主机模式下的虚拟机 (CentOS) 分配静态 IP,使主机可访问

准备工作:

  • 安装 VMWare Workstation
  • 使用 ISO 镜像文件安装虚拟机
  • 启动虚拟机

目标:

  • 使主机能够 ping 通虚拟机,通过 远程登录工具 登陆虚拟机

配置虚拟机 IP,使主机可访问

由于是虚拟机,没有外网映射,无法从公网访问到虚拟机。使用 仅主机 模式,虚拟机设置静态 IP,方便从自己的主机上管理虚拟机和传输文件,缺点是此时虚拟机 无法联网,唯一能访问的就是主机

给虚拟机配置固定 IP

虚拟机使用 仅主机 模式,无法访问外网,需从主机复制安装包过去。
主机想要访问虚拟机,一般情况下需要修改虚拟机的 IP。

  • 此时未配置过虚拟机 IP,查看虚拟机当前 IP
    这里也有可能看不到 IP 或者网卡设备信息,因为 CentOS 默认网卡不自动启动,设置开机自启:
    进入目录:cd /etc/sysconfig/network-scripts
    ls 看下文件,这里是 eth8,直接编辑文件 ifcfg-eth8,找到onboot,把 no 改成 yes,下次开机即可自动启动

    注:这里的 eth8 的 “8” 跟 VMnet1、VMnet8 中的 1、8 完全没有关系,系统自动命名,可以自己修改成其他的,系统是通过设备 id 来识别硬件的

    名字其实无所谓,但需要知道设备名来启动它。
    先手动打开网卡:ifup eth8(CentOS 6.x) 或 ifup ens33(CentOS 7.x),再查看 IP

    CentOS 6.x下:ifconfig

    CentOS 7.x下:ip addr
  • 尝试 ping 虚拟机:不通,说明主/虚不在同一网段下
  1. 查看 VMWare 此时 仅主机 模式下使用的是哪一块虚拟网卡,菜单中点击 编辑-虚拟网络编辑器

    点击右下角 更改设置 可以设置成喜欢的 IP,不小心改错点左下角恢复默认设置,要先关闭所有运行中的虚拟机。
    同一网段:即 IP 地址和 子网掩码 进行 运算(16 进制)后能够得到相同的 IP 地址。
    如 255.255.255.0 & 192.168.233.1 = 192.168.233.0,此时 192.168.233.XXX 都属于同一网段,但需注意不要设置一样的导致 IP 冲突。

    一般情况下 仅主机 模式默认使用的虚拟网卡为 VMnet1,也可打开 cmd 使用 ipconfig/all 命令查看其 IP:
  2. 在 VMWare 中操作,以 root 用户登录虚拟机
  3. 将 IP 设成与主机同一网段,使主机能够访问到虚拟机
    可通过“图形”界面修改,或直接 手动编辑配置文件 修改。
    配置文件的话,CentOS 6.x 和 CentOS 7.x 下默认的网络设备名称不同,6.x 版本默认是 ethX,7.X版本默认是 ensX。
    • 图形界面操作,使用 setup 命令,上下方向键选择,回车键确认,Tab 键切换 Ok / Cancel(6.x 版本)
      如果出现命令未找到,需安装 setuptool,执行yum install setuptool ntsysv(需联网),或直接 手动编辑配置文件
      setup
      Network configuration
      Device configuration
      如果有多个设备(选项),选 ifconfig 中列出的同一设备名:
      选择与启动的网卡设备名称相同的“eth8”
      确认 【 Use DHCP 】未启用;
      修改 Static IP(IP地址),同一网段下的 192.168.233.XXX 都可以;
      Netmask 与 VMnet1 的子网掩码相同。
      设置IP和网关
      确认修改无误,按 Tab 键依次选择 Ok - Save - Save&Quit - Quit 保存退出。
      重启网络服务:
      service network restart
      成功重启网络服务
    • 直接编辑配置文件修改 IP(与使用 setup 命令修改效果相同,无需重复配置)
      使用nano或者vim编辑 /etc/sysconfig/network-scripts/ifcfg-ethX(CentOS 6.X 版本系统,7.X 版本的文件名为 ifcfg-ensX),X 是 ifconfig 网卡的设备名称:
      /etc/sysconfig/network-scripts/ifcfg-eth8
      确认硬件地址正确,修改完 IP 保存退出后,重启网络服务:
      service network restart
      修改完毕。
      查看虚拟机 IP 是否已经改过来:
      • 6.x 版本系统:ifconfig / 7.x 版本系统:ip addr
  4. 再尝试 ping 虚拟机:成功

使用远程工具(SecureCRT)连接虚拟机

  1. 点击 SecureCRT 的 Quick Connect,或使用组合键 Alt + q
  2. 填入给虚拟机分配的 IP,和用户名 root,点击 connect
  3. 询问是否连接到未知服务器,选择 Accept & Save
    旧版本有一个 Accept 选项,即不保存该服务器的信息,下次连接还会询问
  4. 输入要登录到服务器的用户(root)的密码
    勾选保存密码,省的下次再填一遍
  5. 成功连接至虚拟机

搞定!

可能遇到的问题

主机无法访问虚拟机(无法使用 SSH 客户端连接虚拟机)

Author: Yout
Link: https://youthug.github.io/blog/2019/03/23/Assigning-an-IP-Address-to-a-Virtual-Machine/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.