作者:厦门大学计算机系林子雨副教授
由于大多数大数据初学者对Windows系统比较熟悉,因此,本教程采用虚拟机方式安装Linux系统(这里采用Ubuntu系统)。如果读者还没有安装Linux虚拟机,请按照前面的Linux虚拟机安装方法完成Ubuntu系统安装。在后续的学习过程中,经常需要把一些资料从Windows系统中传输到Ubuntu系统中,因此,这里介绍具体的实现方法。
创建hadoop用户
装好了 Ubuntu系统之后,需要首先创建hadoop用户。
如果你安装 Ubuntu 的时候不是用的 "hadoop" 用户,那么需要增加一个名为 hadoop 的用户。
首先按 ctrl+alt+t 打开终端窗口,输入如下命令创建新用户 :
$ sudo useradd -m hadoop -s /bin/bash
这条命令创建了可以登陆的 hadoop 用户,并使用 /bin/bash 作为 shell。
接着使用如下命令设置密码,可简单设置为 hadoop,按提示输入两次密码:
$ sudo passwd hadoop
可为 hadoop 用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题:
$ sudo adduser hadoop sudo
更新apt
用 hadoop 用户登录后,我们先更新一下 apt,后续我们使用 apt 安装软件,如果没更新可能有一些软件安装不了。按 ctrl+alt+t 打开终端窗口,执行如下命令:
$ sudo apt-get update
后续需要更改一些配置文件,这里推荐使用Vim编辑器(vi编辑器增强版,基本用法相同),可以执行如下命令安装Vim编辑器:
$sudo apt-get install vim
安装软件时若需要确认,在提示处输入 y 即可。
如果你不会使用Vim编辑器,可以点击这里查看Vim编辑器使用方法。
最后注销当前用户,返回登录界面。在登录界面中选择刚创建的 hadoop 用户进行登录,进入Ubuntu24.04系统。
安装SSH
集群、单节点模式都需要用到 SSH 登录(类似于远程登录,你可以登录某台 Linux 主机,并且在上面运行命令),Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server:
$ sudo apt-get install openssh-server
需要注意的是,在“Hadoop安装”教程中,也会出现与上面相同的步骤,如果在这里已经执行一次,那么,后面在Hadoop安装过程中,就不需要重复执行上面步骤。
设置FTP软件
本教程采用的FTP软件是FileZilla,可以登录Windows系统打开浏览器,到《大数据技术原理与应用(第5版)》教材官网的“下载专区”的“软件”目录下去下载,文件名是FileZilla_3.17.0.0_win64_setup.exe。下载到FileZilla安装文件以后,安装在Windows系统上。
为了能够让FTP软件连接到Linux虚拟机(Ubuntu系统),需要获得Linux虚拟机的IP地址。请登录Windows系统,再打开虚拟机软件VMWare,登录Ubuntu系统,然后,打开一个终端(可以使用快捷键Ctrl+Alt+T),进入Shell命令提示符状态,输入命令“ifconfig”,会得到如下图所示结果,其中,“inet地址:192.168.0.104”就表示Linux虚拟机的IP地址是192.168.0.104。每次重新启动虚拟机,或者在不同的地方(实验室或者宿舍)启动虚拟机,IP地址都可能会发生变化,所以,每次登录Ubuntu系统以后,都需要重新查询IP地址。

获得Linux虚拟机IP地址信息以后,就可以使用FTP软件FileZilla连接Linux虚拟机了。请打开FileZilla,启动后的界面如下图所示。

点击界面左上角菜单的“文件”选项,在弹出的菜单中选择“站点管理器”,会出现如下图所示界面,用于设置FTP连接参数。

点击界面左下角“新站点”按钮,然后,开始设置各种连接参数,具体如下:
主机:设置为Linux虚拟机的IP地址192.168.0.104;
端口:可以空着,使用默认端口;
协议:选择“SFTP-SSH File Transfer Protocol”;
登录类型:选择“正常”;
用户:可以使用之前安装Ubuntu系统时创建的用户名;
密码:可以使用之前安装Ubuntu系统时创建的用户密码;
设置完成以后,点击界面下边的“连接”按钮,开始连接Linux虚拟机。连接成功以后,会显示如下图所示界面,就可以使用FTP软件FileZilla向Ubuntu系统中传输文件了。

从图2-48中可以看出,FileZilla连接成功以后的界面包括2个主要区域。其中,左侧的“本地站点”区域,会显示Windows系统中的目录,点击某个目录以后,下面就会显示目录中的文件信息。右边的“远程站点”区域,是Linux虚拟机中的目录,可以选择一个目录,作为文件上传后要存放的位置。当需要把Windows中的某个文件上传到Linux虚拟机中时,首先在“远程站点”中选择好上传后的文件所要存放的目录,然后,在“本地站点”中选择需要上传的文件,并在该文件名上点击鼠标右键,在弹出的菜单中选择“上传”,就可以轻松完成文件的上传操作。如果要把Linux虚拟机中的某个文件下载到Windows系统中,可以首先在“本地站点”中选择好下载后的文件所要存放的目录,然后,在“远程站点”中找到要被下载的文件,在文件名上点击鼠标右键,在弹出的菜单中选择“下载”,就可以完成文件的下载。
这里需要注意的是,Linux系统对文件访问权限有着严格的规定,如果目录和文件的访问权限没有授权给某个用户,那么,该用户是无法访问这些目录和文件的。所以,当使用FileZilla连接Linux虚拟机时,如果采用用户名hadoop连接,那么,就只能把文件上传到Ubuntu系统中hadoop用户的主目录,也就是“/home/hadoop”目录,是无法对其他目录进行操作的,企图把文件传输到其他目录下就会失败。如果要顺利传输到其他目录,就必须登录Ubuntu系统,使用root权限把某个目录的权限赋予给hadoop用户。
