FinalShell 远程连接 Hadoop 三节点集群教程

VMware 虚拟机(Ubuntu 16.04 LTS)远程连接实训记录

1 实训背景与目标

1.1 背景

实训环境为 VMware 中部署的三台 Ubuntu 虚拟机(hadoop01、hadoop02、hadoop03),共同组成 Hadoop 分布式集群。日常操作中,若每次都要打开虚拟机的图形控制台,在多台节点之间切换很不方便。因此需要从宿主机(Windows)使用 SSH 客户端远程连接和管理三台节点。

1.2 目标

本教程记录使用 FinalShell 通过 SSH 成功连接三台虚拟机的完整过程,包括连接前的环境准备、故障现象、排查思路、解决步骤和最终配置,可作为后续实训中重复使用的操作手册。

2 环境说明

2.1 软件环境

表1 软件环境清单

|--------------------|-------------------------------|------------------------------|
| 软件 | 版本 | 用途 |
| VMware Workstation | --- | 虚拟机平台,承载三台虚拟机 |
| Ubuntu | 16.04 LTS(hadoop01 为 16.04.7) | 集群节点操作系统 |
| FinalShell | 4.6.5 | SSH 客户端,用于远程连接 |
| Windows | --- | 宿主机系统,运行 VMware 与 FinalShell |

2.2 集群角色

表2 集群节点角色

|----------|--------|--------------------------|
| 主机名 | 角色 | 集群职责 |
| hadoop01 | 主节点 | NameNode、ResourceManager |
| hadoop02 | 从节点 | DataNode、NodeManager |
| hadoop03 | 从节点 | DataNode、NodeManager |

说明:本教程只覆盖远程连接的配置与排障,不涉及集群服务本身的安装配置。

3 问题现象

首次使用 FinalShell 连接时,出现以下三类现象:

现象一:FinalShell 新建连接后连接失败,无法进入命令行终端。

现象二:在宿主机 PowerShell 中执行 ping 192.168.91.128,返回请求超时。

现象三:在 hadoop01 上执行 hdfs dfsadmin -report,报错内容为 Call From hadoop01/192.168.91.128 to hadoop01:9000 failed on socket exception: java.net.SocketException: Network is unreachable。

4 排查思路

4.1 分层定位

网络连接问题按从低到高的层次排查:先在宿主机 ping 虚拟机 IP,验证网络层是否可达;若不通,再进入虚拟机图形控制台,用 ip addr 检查网卡的状态和地址配置。

4.2 根因定位

在虚拟机控制台执行 ip addr 后发现,ens33 网卡的状态为 DOWN,且没有配置任何 IPv4 地址,只有链路层地址。网卡未激活、没有 IP,导致宿主机无法访问虚拟机、SSH 无法建立连接,HDFS 客户端按主机名解析到该地址后报网络不可达。

5 解决步骤

5.1 拉起网卡

在虚拟机图形控制台(或已连接的终端)中执行以下命令激活 ens33 网卡:

复制代码
sudo ip link set ens33 up

执行后会要求输入 hadoop 用户的 sudo 密码。

5.2 获取 IP 地址

复制代码
sudo dhclient ens33

dhclient 通过 DHCP 为网卡获取 IP 地址。

5.3 确认 IP 地址

复制代码
hostname -I

5.4 三台机器重复处理

hadoop02、hadoop03 的网卡同样处于 DOWN 状态,按 5.1 至 5.3 的步骤逐台处理,并记录各台机器获取到的 IP 地址。三台机器全部处理完成后,宿主机再次 ping 各 IP 均可正常响应。

6 FinalShell 连接配置

6.1 新建 SSH 连接

打开 FinalShell,在连接管理器中新建连接,填写以下参数:

表3 FinalShell 连接参数

|---------|-----------|------------------|
| 配置项 | 取值 | 说明 |
| 名称 | hadoop1 | 连接名称,可自定义 |
| 主机 | 虚拟机 IP 地址 | 如 192.168.91.128 |
| 端口 | 22 | SSH 默认端口 |
| 用户名 | hadoop | 虚拟机登录用户 |
| 认证方式 | 密码 | 输入对应用户密码 |

6.2 连接验证

点击连接后,若配置正确,将显示连接主机成功并进入终端,可看到 Ubuntu 的欢迎信息(Welcome to Ubuntu 16.04 LTS)。此时即可在宿主机上直接操作虚拟机,无需再打开图形控制台。

7 三台机器 IP 汇总

表4 三台虚拟机 IP 汇总

|----------|-------------------------------|--------|----------|
| 主机名 | IP 地址 | 角色 | 连接状态 |
| hadoop01 | 192.168.91.128 | 主节点 | 连接成功 |
| hadoop02 | 192.168.91.129、192.168.91.131 | 从节点 | 连接成功 |
| hadoop03 | 192.168.91.130、192.168.91.132 | 从节点 | 连接成功 |

说明:hadoop02、hadoop03 各显示了两个 IP 地址,分别来自不同的网络接口,连接时使用其中任一可达地址均可。但集群配置(/etc/hosts、Hadoop 配置文件)中的地址必须与实际 IP 保持一致。

8 常见问题与注意事项

问题一:dhclient 提示 RTNETLINK answers: File exists。表示该 IP 地址已经存在,无需重复获取,直接执行 hostname -I 查看即可。

问题二:sudo 密码输入错误。连续输错会被系统拒绝,注意输入正确密码。

问题三:找不到 /etc/sysconfig/network-scripts/ifcfg-ens33 文件。该路径属于 CentOS 系统,Ubuntu 16.04 不存在此文件属正常现象,Ubuntu 的网络配置使用其他机制,不要误判为文件缺失。

问题四:虚拟机重启后 IP 地址可能发生变化。若重启后连接失败,先用 hostname -I 确认新 IP,再同步更新 /etc/hosts 和 Hadoop 相关配置,避免集群节点之间互相找不到。

问题五:网络能连通但 SSH 连不上。检查 sshd 服务是否运行(systemctl status sshd),未安装时用 apt 安装 openssh-server;实训环境可关闭防火墙(systemctl stop firewalld)或放行 22 端口。

9 经验总结

排查网络问题应分层推进:先 ping 验证网络层,再查网卡状态与地址,最后检查服务与防火墙,避免直接改配置。

虚拟机网卡 DOWN 是最常见也最容易忽视的问题,一条 ip addr 即可定位,拉起网卡并获取 IP 后大部分连接问题都会迎刃而解。

使用 SSH 客户端远程管理集群比图形控制台更高效,配合免密登录(ssh-keygen 生成公钥并分发到各节点)后体验更好。

集群类实训要始终保持 hosts、IP 与配置文件三者同步,任何一处不一致都会引发难以排查的故障。

相关推荐
泡海椒2 小时前
深度解析JQuick-SQL 逻辑计划到物理计划生成机制|分布式SQL原理
数据库·分布式·sql
龙石数据3 小时前
龙石 AI 智能体开发平台入选2026全球数据管理峰会数据治理创新实践案例
大数据·人工智能
龙信科技3 小时前
【国内电子数据取证厂商龙信科技】Windows 权限维持型后门分析与防御
大数据·windows·科技·电子数据取证
CAIE研习社3 小时前
CAIE一级有学历和专业门槛吗?报考条件、考试内容与适合人群解析
大数据·人工智能
磁场转动100万匹3 小时前
Spark Core 核心原理:从 RDD 到分布式计算
大数据·分布式·spark
强哥聊算力3 小时前
《算力江湖·DeepSeek》第四集:DeepSeek如何改变中国算力的采购逻辑?
大数据·运维·人工智能·ai·gpu算力
l1t3 小时前
DeepSeek总结的DuckDB 2.0.0 中的隐藏亮点
大数据·数据库·duckdb
数据皮皮侠3 小时前
全国休闲农业与乡村旅游示范县政策DID(2010-2025)
大数据·人工智能·搜索引擎·数据挖掘·智慧城市·制造
keyipatience4 小时前
Git学习(3)合并冲突全解析:从原理到实战解决
大数据·elasticsearch·搜索引擎