购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 Linux环境搭建

本节介绍如何搭建Linux环境。

2.2.1 VirtualBox虚拟机的安装

本书将VirtualBox作为虚拟环境来安装Linux和Hadoop。VirtualBox最早由SUN公司开发。由于SUN公司目前已经被Oracle收购,因此可以在Oracle公司的官方网站上下载VirtualBox软件的安装程序,产品地址为https://www.virtualbox.org。笔者写作本书时,所使用的VirtualBox的版本为7.0.6,读者可以选用更高的版本。

首先,到VirtualBox的官方网站下载Windows hosts版本的VirtualBox。下载页面地址为https://www.virtualbox.org/wiki/Downloads,页面如图2-4所示。

同时,VirtualBox需要虚拟化CPU的支持,如果在安装时操作系统不支持x64位的CentOS,可以在宿主机开机时按F12键进入BIOS设置界面,并打开CPU的虚拟化设置界面进行设置,如图2-5所示。

图2-4 VirtualBox下载

图2-5 CPU的虚拟化设置

读者下载完成VirtualBox虚拟机后,自行安装即可。虚拟机的安装相对简单,以下是重要安装环节的截图。

网络功能的安装界面如图2-6所示,单击“是”按钮。

图2-6 网络功能安装

网络功能下一步的安装界面如图2-7所示,单击“安装”按钮。

图2-7 网络功能安装

网络功能安装成功后,会在“网络连接”里面多出一个名为Virtual Box Host Only的本地网卡,此网卡用于宿主机与虚拟机通信,如图2-8所示。

图2-8 本地虚拟网卡

2.2.2 安装Linux操作系统

本书将使用CentOS7作为操作系统环境来学习和安装Hadoop与Spark。具体步骤如下:

首先下载CentOS7的minimal(最小)版本,读者可以直接到阿里镜像网站https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/下载,页面如图2-11所示。

图2-11 CentOS7下载链接

下载完成以后,将得到一个CentOS-7-x86_64_Minimal-2009.iso文件。注意,文件名中的2009不是指2009年,而是指2020年09月发布的版本。

启动VirtualBox,启动界面如图2-10所示。

图2-10 VirtualBox启动界面

在VirtualBox主界面的菜单栏上单击“新建”按钮(见图2-10),进入“新建虚拟电脑”窗口。

在Virtual machine Name and Operating System(虚拟机名称和操作系统)界面设置虚拟机的名称、Folder(保持为默认值)和操作系统镜像,如图2-11所示。然后单击“Next”按钮。

图2-11 选择将要安装的操作系统

在Hardware界面为新的系统分配内存,建议4GB(最少2GB)或以上,这要根据宿主机的内存而定。同时建议设置CPU为2颗,如图2-12所示。然后单击“Next”按钮。

图2-12 为新的系统分配内存

在Virtual Hard disk界面为新的系统创建虚拟硬盘,设置为动态增加,建议最大设置为30GB或以上,如图2-13所示。同时选择虚拟文件的保存目录,默认情况下,会将虚拟文件保存到C盘上。笔者以为最好保存到非系统盘上,例如D:\OS目录是一个不错的选择。

图2-13 为新的系统创建虚拟硬盘

单击“Next”按钮,进入“摘要”界面,如图2-14所示。在界面上单击“Finish”按钮,关闭“新建虚拟电脑”窗口,回到VirtualBox主窗口,窗口左侧栏已经显示新建的虚拟机CentOS7-201,如图2-15所示。

图2-14 “摘要”界面

图2-15 显示新建的虚拟机CentOS7-201

在图2-15所示的VirtualBox主窗口左侧选中CentOS7-201虚拟机,并单击右上方的“设置”按钮,打开“CentOS7-201 -设置”窗口,如图2-16所示。

图2-16 “CentOS7-201 -设置”窗口

在“CentOS7-201 -设置”窗口左侧选择“网络”,右侧会显示“网络”设置界面,将网卡1的连接方式设置为NAT,用于连接外网,如图2-17所示;将网卡2的连接方式设置为Host-Only,用于与宿主机进行通信,如图2-18所示。如果没有网卡2,需要关闭Linux虚拟机,在这个设置界面上对网卡2进行“启用网络链接”设置,并选择连接方式为“仅主机(Host-Only)网络”。

图2-17 网卡1的设置

图2-18 网卡2的设置

现在启动这个虚拟机,进入安装CentOS7的界面,选择Install CentOS Linux 7,接下来就开始安装CentOS Linux了,如图2-19所示。

图2-19 安装CentOS7的界面

在安装过程中会出现选择语言项目,可以选择“中文”;选择安装介质,并进入安装位置,选择整个磁盘即可,如图2-20和图2-21所示。注意,必须同时打开CentOS的网络,如图2-22和图2-23所示,否则安装成功以后,CentOS将没有网卡设置的选项。

图2-20 安装位置

图2-21 本地标准磁盘

图2-22 打开CentOS的网络1

图2-23 打开CentOS的网络2

在安装过程中,创建一个非root用户,并将此用户作为管理员,如图2-24和图2-25所示。在其后的操作中,笔者不建议使用root账户进行具体的操作。一般情况下,使用这个非root用户执行sudo命令,即可使用root账户执行相关命令。输入的密码请牢记。

图2-24 创建非root用户

图2-25 设置非root用户为管理员

在安装完成以后,重新启动系统,并测试是否可以使用之前创建的用户名和密码登录。第一次安装完成后,请选择正常启动,即以有界面的方式启动,如图2-26所示。等我们设置好一些信息后,就可以选择无界面启动。

图2-26 选择正常启动

系统启动后,将显示如图2-27所示的登录界面,此时可以选择以root用户名和密码登录。注意,输入密码时,将不会有任何的响应,不用担心,只要确认输入正确,按回车键后即可看到登录成功后的界面,如图2-28所示。

图2-27 登录界面

图2-28 登录成功后的界面

对于Linux系统来说,如果当前登录用户是root,将会显示“#”。例如在图2-28中,root用户登录成功后显示“[root@server201 ~ ]#”,其中#表示当前为root用户。如果当前登录用户是非root账号,将显示为“$”。

设置静态IP地址。使用vim修改/etc/sysconfig/network-scripts/ifcfg-enp0s8文件,修改内容如下:

    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=enp0s8
    UUID=620377da-1744-4268-b6d6-a519d27e01c6
    DEVICE=enp0s8
    ONBOOT=yes
    IPADDR=192.168.56.201

其中IPADDR=192.168.56.201为本Linux的Host-Only网卡地址,用于主机通信。输出完成以后,按ESC键,再输入“:wq”即可保存并退出。这是vim的基本操作,对此不了解的读者,可以去网上查看vim的基本使用方法。

请牢记上面设置的IP地址,这个地址在后面会经常出现。现在可以关闭系统,并以非界面方式重新启动CentOS。以后我们将使用SSH客户端登录此CentOS。

上述ifcfg-enp0s8文件是在配置了Host-Only网卡的情况下才会存在。如果没有这个文件,请关闭Linux,并重新添加Host-Only网卡,再行配置。如果添加了Host-Only网卡后,依然没有此文件,可以在相同目录下复制ifcfg-enp0s3为ifcfg-enp0s8,再进行配置。

现在关闭CentOS,然后以无界面方式启动,如图2-29所示。

图2-29 以无界面方式启动

注意

(1)本书重点不是讲VirtualBox虚拟机的使用,所以这里只给出关键的操作步骤。

(2)在安装过程中,鼠标会在虚拟机和宿主机之间切换。如果要从虚拟机中退出鼠标,按键盘右边的Ctrl键即可。

(3)登录Linux系统后,随手执行命令“yum -y install vim”装上vim,方便使用。

(4)关于Linux命令,请读者自行参考Linux手册。vim/vi、sudo、ls、cp、mv、tar、chmod、chown、scp、ssh-keygen、ssh-copy-id、cat、mkdir等命令,将是后面经常使用的命令。

2.2.3 SSH工具与使用

Linux安装成功后,系统自动运行SSH服务。读者可以选择Xshell、CRT、MobaXterm等客户端作为Linux远程命令行执行工具,同时配合xFtp可以实现文件的上传与下载。Xshell和CRT是收费软件,不过读者可以在安装时选择free for school(学校免费版本),即可免费使用。

MobaXterm个人版是免费的,本书选用它作为远程命令行执行、文件上传与下载以及配置文件编辑的工具。到官网下载MobaXterm并安装完成以后,配置一下SSH即可登录Linux系统。配置很简单,在MobaXterm主界面上单击左上方的Session按钮,即可创建SSH连接,如图2-30所示。

图2-30 创建新的连接

单击Session按钮后,出现如图2-31所示的窗口。在窗口上单击SSH按钮,在相应的文本框中输入主机名称和登录用户名,再单击窗口下方的OK按钮。

图2-31 输入主机名称并登录

这时会打开Linux交互界面,提示输入root密码,如图2-32所示。输入密码不会有任何的回显,只要输入正确,按回车键即可登录。

图2-32 输入密码

root用户登录成功以后的界面如图2-33所示,用户可以通过这个界面操作Linux系统。

图2-33 SSH登录成功

提示

使用MobaXterm工具连接CentOS虚拟机,就不需要在虚拟机和宿主机之间来回切换。另外,还可以发起好几个访问CentOS虚拟机的连接,学习起来非常方便。

还可以配置SFTP连接,方便将本地下载的Linux软件包上传到Linux系统进行安装配置,Linux系统上的配置文件也可以在本地编辑好后自动上传。SFTP登录界面如图2-34所示。

图2-34 MobaXterm登录后界面

2.2.4 Linux的统一设置

后面配置Hadoop环境时将使用一些Linux的统一设置,在此一并列出。由于本次登录是用root登录的(见图2-33),因此可以直接操作某些命令,而不用添加sudo命令。

1.配置主机名称

笔者习惯将“server+IP最后一部分数字”作为主机名称,所以取主机名为server201,因为本主机设置的IP地址是192.168.56.201。

    # hostnamectl set-hostname server201

2.修改hosts文件

在hosts文件的最后,添加以下配置(这可通过vim /etc/hosts命令进行修改):

    192.168.56.201  server201

3.关闭且禁用防火墙

    # systemctl stop firewalld
    # systemctl disable firewalld

4.禁用SElinux,需要重新启动

    #vim /etc/selinux/config
    SELINUX=disabled

5.设置时间同步(可选)

    #vim /etc/chrony.conf

删除所有的server配置,只添加:

    server ntp1.aliyun.com iburst

重新启动chronyd:

    #systemctl restart chronyd

查看状态:

    #chronyc sources -v
    ^* 120.25.115.20

如果结果显示“*”,则表示时间同步成功。

6.在/usr/java目录下安装JDK1.8

usr目录的意思是unix system resource目录,可以将JDK1.8的Linux x64版本安装到此目录下。

首先去Oracle网站下载JDK1.8的Linux压缩包版本,页面如图2-37所示。

图2-37 JDK下载(目前能下载到的新版本)

然后将压缩包上传到Linux并解压(作者使用jdk-8u361版本做演示):

    # mkdir /usr/java
    # tar -zxvf jdk-8u361-linux-x64.tar.gz -C /usr/java/

7.配置JAVA_HOME环境变量

    # vim /etc/profile

在profile文件最后添加以下配置:让环境变量生效:

    export JAVA_HOME=/usr/java/jdk1.8.0_361
    export PATH=.:$PATH:$JAVA_HOME/bin

让环境变量生效

    # source /etc/profile

检查Java版本:

    [root@localhost bin]# java -version
    java version "1.8.0_361"
    Java(TM) SE Runtime Environment (build 1.8.0_361-b09)
    Java HotSpot(TM) 64-Bit Server VM (build 25.361-b09, mixed mode)

到此,基本的Linux运行环境就已经配置完成了。

提示

在VirtualBox虚拟机中,可以通过复制的方式,为本小节已经做了统一设置的CentOS镜像文件创建副本,用于备份或者搭建集群。

8.为hadoop账户创建统一的工作空间/app

接下来创建一个工作目录/app,方便我们以hadoop账户安装、配置与运行Spark相关程序。

在磁盘根目录(/)下,创建一个app目录,并授权给hadoop用户。我们会将Spark以及其他相关的软件安装到此目录下。

以root账户切换到根目录下:

    [hadoop@server201 ~]# cd /

添加sudo前缀,使用mkdir创建/app目录:

    [hadoop@server201 /]# sudo mkdir /app
    [sudo] hadoop 的密码:

将此目录的所有权授予hadoop用户和hadoop组:

    [hadoop@server201 /]# sudo chown hadoop:hadoop /app

su hadoop账户,切换进入/app目录:

    [hadoop@server201 /]$ cd /app/

使用ll -d命令查看本目录的详细信息:

    [hadoop@server201 app]$ ll -d
    drwxr-xr-x 2 hadoop hadoop 6 3月  9 21:35 .

可见此目录已经属于hadoop用户。 PN7EvItWOn7j5eX7KXDGHb+oNnE7OWPK3J070skzoZRpS8Hh6rh4+mWT7/d/wSam

点击中间区域
呼出菜单
上一章
目录
下一章
×