Spark 大数据环境搭建

1.Ubuntu 虚拟机的安装
1)启动 VMWare,点击主菜单中的“文件”->“新建虚拟机”
2)在新建虚拟机向导窗体中,选择默认的“典型”配置即可,然后点击下一步。
3)在安装来源设置窗体,选择“安装程序光盘映像文件(iso)”,点击右侧的浏览按钮,
找到下载好的 ubuntu-20.04.4-desktop-amd64.iso 文件,然后点击下一步。
4)在简易安装信息的窗体中,将全名、用户名、密码、确认等几项均设为“spark”,
方便后面使用,然后点击下一步。
5)在命名虚拟机的窗体中,可以设定一下虚拟机名称或直接按默认,然后点击下一步。
6)在指定磁盘容量的窗体中,设定虚拟机使用的最大磁盘大小为 60GB,虚拟机文件尺
寸是在使用过程中按需增长的,最大限制为 60GB。至于是将虚拟机存储为单个文件还是多
个文件,这个可以根据自己的喜好选择,不影响使用效果。设置完毕,点击下一步。
7)最后一步,直接点击结束,完成虚拟机的创建工作,当然也可以通过“自定义硬件”
修改所创建虚拟机的一些默认设置,如 CPU 核数以及内存大小等,也可在以后的使用过程中
调整。
8)Vmware 完成新建虚拟机后,会自动启动 Ubuntu20.04 的安装过程
9)稍候几分钟的时间进行安装。当虚拟机安装完毕,就会出现 Ubuntu20.04 的登录界
10)点击登录界面中列出来的 Linux 帐户“spark”,然后输入创建虚拟机时设定的密码
“spark”,按回车键后就进入到 Ubuntu20.04 操作系统界面
11)Ubuntu20.04 操作系统的初始界面如图所示,第一次启动时会相继提示几个信息的
设置,包括网络在线帐号设置、更新设置、问题提交、隐私设置等,直接点击右上角的“Skip”
和“Next”,直至最后一个窗体点击“Done”全部完成。
12)为方便后续操作,这里再整理一下 Ubuntu20.04 左侧任务栏的图标,只保留最常用
的几个快捷方式。方法是:找到左侧垂直的任务栏,在要隐藏的图标上点击鼠标右键,选择
“Remove from Favorites”
13)鼠标右键点击 Ubuntu20.04 桌面的中间空白位置(注意不是在应用程序图标上),
选择弹出菜单中的“Open in Terminal”,启动 Linux 终端控制台窗体。
14)Linux 终端窗体启动后,在左侧任务栏的“Linux 终端”图标上点击鼠标右键,选
择弹出菜单中的“Add to Favorites”将其固定在任务栏,这样以后经常使用 Linux 终端时,
就可以直接点击任务栏中的快捷图标来打开它。
15)点击 Ubuntu20.04 桌面右上角的电源图标,选择“Power Off/Log Out”下面的“Power
Off”菜单项,然后在弹出的窗体中再点击“Power Off”按钮,关闭当前虚拟机
16)回到 Vmware Workstation,选中这里安装的 Ubuntu20.04,然后点击“编辑虚拟机
设置”
17)在虚拟机设置窗体,调整一下内存和处理器的数量,比如 4GB 内存和 2 个处理器。
如果所使用计算机的配置不高的话,两者可以再减少,但考虑到虚拟机上是要运行 Hadoop、
Spark 这种 JVM 类的运用程序,因此内存数量至少要 2GB 以上,太低的话可能导致某些程序
运行出现 OOM(Out of Memory)内存不足,甚至 Windows 蓝屏崩溃的问题。
2.Ubuntu 基本配置
1)在 Ubuntu20.04 中打开一个 Linux 终端窗体,输入下面的命令更新一下软件源
2)为避免版本冲突先卸载内置的 openssh-client,在安装 openssh-server 时会自动
安装匹配版本的 openssh-client。
3)继续输入下面的命令安装 vim,即 vi 编辑器的增强版,它支持一些更丰富的功能,
如不同颜色的高亮代码显示等。当 vim 安装完毕,在终端输入 vi 或 vim 命令,实际启动的
就是这个增强版的 vim 编辑器
4 )输入下面的命令,将 Ubuntu20.04 自带的防火墙禁用掉,避免在远程终端连接时出
现问题,包括运行 Hadoop Spark 时也要禁用防火墙
5 Windows 自带的记事本是一个简单易用的文字编辑器,在 Ubuntu20.04 的桌面环境
中也有一个类似的图形化“ Text Editor ”文本编辑器,可以在应用程序列表中找到并将它
启动起来
在使用这个图形化的文本编辑器打开或保存文件时,若编辑的文本文件对当前 Linux
帐户无访问权限的话,将导致无法正常打开或保存。此外,还可以通过终端命令启动编辑器,
执行 gedit 命令时可以在前面加上 sudo 获取 root 权限,后面加上文件名进行编辑
3.Vi 编辑
Linux 操作系统在安装后,只需在 Linux 终端窗体中输入“ vi ”或“ vim ”命令就能启
动vi编辑器。
vi 编辑器初始界面如图 所示。如果在 vi 命令后面带一个文件名的话,那么就会直
接打开并显示文件的具体内容,比如“ vi hello.txt ”。如果指定的文件不存在,此时就相
当于创建一个新的文件进行编辑
下面是最常用的一些 Vi 编辑器分类命令,掌握好这些最基本的 Vi 编辑命令很重要,如
图所示
4.MobaXterm 远程连接工具
MobaXterm 分为免费版( Home Edition )和专业版( Professional Edition ),免费版
又分便携版(解压即用)和安装版,其中免费版就可满足大部分场合下的使用需求,下载地址是 https://mobaxterm.mobatek.net/download.html
MobaXterm 便携版下载好后,将其解压缩到 Windows 的一个目录中,然后启动里面的
MobaXterm_Personal 可执行文件,就会打开MobaXterm窗体的初始界面
下面以我们的 Ubuntu20.04 虚拟机为目标来简单说明一下 MobaXterm 的基本使用。首先
Linux 终端窗体中输入下面的命令查看一下当前虚拟机的 IP 地址:
MobaXterm 窗体左上角找到 Session 图标,点击后会打开一个连接会话设置窗体,这
个窗体列出了 MobaXterm 支持的各种远程连接类型,点击选择其中的第一项 SSH 图标,输入
虚拟机的 IP 地址,然后指定登录所用的帐号 spark ,再点击OK即可
首次连接到远程服务器时, MobaXterm 还会显示一个确认窗体。在这个窗体中,勾选“ Do
not show this message again ”(不要再显示本确认信息),然后点击 Accept 即可。
输入连接所用帐户 spark 的密码(密码也是 spark )并回车,在弹出的是否要保存密码
的窗体中,勾选“ Do not show this message again ”(不再显示本信息),然后点击 No
保存登录密码。
MobaXterm 成功连接远程服务器后的界面,如图所示。在这里,可以像 Linux 系统本地
一样执行命令,还可以通过左侧 SFTP (橘色圆形图标)将 Windows 本地的文件拖放上传到
远程服务器,后面的 JDK Hadoop Spark 等软件的安装就是通过这样的方法上传到
Ubuntu20.04 虚拟机的。使用完毕,只需按下 Ctrl+D 键或输入 exit 命令即可退出远程登录
可自动连接,或者在保存的连接信息上点击鼠标右键,选择弹出菜单中的 Editsession (编
辑)、 Delete session (删除)等还可以对连接信息进行管理。
Hadoop 伪分布集群环境搭建
1.JDK 的安装配置
1 )打开一个 Linux 终端,在其中执行以下命令,将 JDK 解压缩到 /usr/local 目录中,
并创建一个软链接指向 JDK 目录(相当于 Windows 的快捷方式)。
2 )修改 /etc/profile 文件,在其中添加有关 JDK 的环境变量设置。
3 )保存退出 vi 编辑器,回到 Linux 终端测试一下 JDK 的配置是否正常。如果出现以下
信息,说明 JDK 的配置是正确的, JDK 的安装也就完成了。
4 JDK 安装完毕,最好重新启动一下 Ubuntu20.04 虚拟机,这样设置的环境变量就会
Linux 系统全局生效。
2.Linux 免密登录
1 )继续在 Linux 终端窗体中执行以下命令,因为远程登录服务 sshd 已经在运行,因此
先在本机通过ssh命令执行一下远程连接,测试一下是否正常。
2 )通过 ssh-keygen 生成免密登录所需的密钥信息。
3 )通过 ssh-copy-id 命令,可以把本地主机的公钥复制到远程主机的 authorized_keys
文件上,以便双方连接通信时使用。
4 )在本机通过 ssh 命令再次执行一下远程连接,测试一下是否能够免密登录,正常的
话此时就不再需要输入密码, ssh 就能够连接成功。
3.Hadoop 的安装
1 )打开 Linux 终端窗体,先解压缩 hadoop-2.6.5.tar.gz 这个软件包,然后像 JDK
样建立一个软链接文件。
2 )将解压的 hadoop-2.6.5 目录的用户和组权限设一下,方便启动 Hadoop 的时候能够
完全控制这个目录,避免因为文件的访问权限导致出现问题。
3 )测试 Hadoop 是否能够正常使用。
4.HDFS 的配置
1 )切换到 Hadoop 的配置文件目录,先修改其中的 hadoop-env.sh 运行环境文件,找到
里面的 JAVA_HOME 变量。 Hadoop 没有使用 Linux 操作系统设置的 JAVA_HOME 环境变量,而
是内部重新定义了一个 JAVA_HOME ,所以就要告知 Hadoop 所依赖的 JDK 安装位置。
2 )修改 Hadoop 核心配置文件 core-site.xml ,在里面增加 HDFS 地址端口和临时工作
目录信息。
3 )修改 HDFS 设置文件 hdfs-site.xml ,指定 NameNode DataNode 的数据保存位置。
其中, NameNode 负责文件系统管理, DataNode 负责数据存储。
4 )最后查看一下 slaves 配置文件的内容,这个文件中有运行 DateNode 进程的节点信
息。这里配置的是单节点,里面默认就是 localhost 即本机,故不用任何修改。
5 )配置文件修改完毕,首次运行之前还要初始化 HDFS 的文件系统,相当于平时的磁盘
格式化操作,这个工作只执行一次。如果要重新初始化,应先清除相关目录中的内容( HDFS
存储过的数据会丢失),否则执行会失败。
6 )接下来启动 HDFS 服务程序,执行过程中会分别运行 NameNode SecondaryNameNode
以及 DataNode 进程。
7 )使用 jps 命令查看 HDFS 的进程是否正常运行, Java 进程列表中应有 NameNode
DataNode SecondaryNameNode 这三个程序在运行,就说明 HDFS 启动正常。
5.YARN 的配置
1 )打开 yarn-env.sh ,找到其中的 JAVA_HOME 变量进行修改。
2 )打开 yarn-site.xml 文件,在其中增加与内存检查相关的设置。因为虚拟机使用的
内存和 CPU 资源受限,若要求必须有多少内存和 CPU 核的话,一些应用程序可能就无法正常
启动,在生产环境这两个参数应去掉。
6.HDFS YARN 的测试
考虑到后续还会经常执行一些 Hadoop 的相关命令,为方便起见这里先把 Hadoop bin
目录设置到 PATH 环境变量中。
2 )通过 source 命令使 /etc/profile 的内容修改生效。注意:如果新开一个终端窗体,
需要在新终端重新执行一次 source 命令,除非重启动虚拟机才会全局有效。
3 )现在可以测试是否能够正常操作 HDFS ,比如创建目录,上传文件等。
4 )还可以在 Ubuntu20.04 里面启动浏览器,访问 http://localhost:50070 查看HDFS的WebUI管理页面,如图1-38所示。如果是在Windows的浏览器访问,则需要将网址中的localhost改成Ubuntu20.04虚拟机的ip地址(通过Linux终端命令ip addr可以找到)。
5 )在 Ubuntu20.04 浏览器中访问 http://localhost:8088 ,查看YARN WebUI管理页面,如图
Ubuntu20.04 虚拟机的 IP 地址才行。
Spark 单机运行环境搭建
1.Spark 的安装配置
1 )打开一个 Linux 终端,在其中执行以下命令将 Spark 软件包解压到 /usr/local 目录
中,并创建一个软链接文件指向 Spark 目录并修改目录的用户属性。
2 )接下来开始配置 Spark 运行环境,相比而言 Spark 的配置更简单,所有配置文件均
位于 conf 目录。
2 )使用 vi 编辑器修改 /etc/profile 文件,在其中添加有关 Spark 的环境变量设置。
3 )通过 source 命令使 /etc/profile 的内容修改生效。注意:如果新开一个终端窗体,
需要在新终端重新执行一次 source 命令,除非重启动虚拟机才会全局有效。
4 )初步测试一下配置好的 Spark 能否正常工作。
如果一切正常的话,终端上会输出计算得到的 pi 近似值,这个值不固定,所以每次运
行输出的 pi 值是会变化的。
2.SparkShell 交互编程环境
1 )打开 Linux 终端窗体,输入 spark-shell 命令启动 SparkShell 交互式编程环境。启
动过程中可能会出现一个 NumberFormatException 的异常信息,这个问题不影响使用。
2 Spark 是用 Scala 语言开发的,当 SparkShell 启动后就支持运行 Scala 代码。我们
先输入下面两行简单的 Scala 代码(不理解也没关系):
正常的话,运行完毕就会打印输出 hello.txt 文件中的内容,说明 Spark 可以正常读取
本地磁盘的文件。
3 )再新开一个 Linux 终端,在里面输入 jps 命令查看 HDFS 服务是否在运行,如果没有
运行就要先将 HDFS 服务启动,正如在配置 HDFS 服务时所做的那样。
4 )现在可以验证 Spark 能否正常访问 HDFS 上的文件。前面测试 HDFS 时已经上传过一
个文件,路径为: /mydata/hello.txt ,下面准备测试在 SparkShell 中读取这个文件。请转
至运行 SparkShell 的终端窗体,输入下面的代码:
5 )通过上述的测试,说明 Spark 的安装配置是正确的。要退出 SparkShell 交互编程环
境,可以按下键盘上的 Ctrl+D 快捷键,或输入“ :quit ”并回车(冒号输入也包含在内)。
3.Python3.6 的安装
1 )先查看 Ubuntu20.04 上已安装的 Python 相关程序文件:
从输出的文件列表可以看出, python3 实际是一个软链接文件,指向 python3.8 执行程
序。我们可以分别运行 python3 python3.8 命令,以确认它们是否为同一个:
2 )现在面临两个选择,一是将系统默认安装的 Python3.8 卸载替换成 Python3.6 ,这
种做法存在一定风险,因为可能影响到其它一些程序的使用。还有一种做法,就是在系统中
同时保留多个 Python 版本,然后根据实际需要切换使用(有现成工具辅助 Python 的多版本
管理)。这里准备采取第二种做法,即保留预装的 Python3.8 ,另外安装一个 Python3.6
行环境到系统中。
在安装 Python3.6 之前,先执行一下 apt 软件源的更新工作:
3 )由于 Ubuntu 软件源不含 Python3.6 的预编译版本,所以就要使用一个非常优秀的第
三方软件源 Deadsnakes PPA 。请按照下面步骤将其安装进来。
3 )现在可以开始安装 Python 3.6 ,安装完毕查看一下 Python3.6 的启动程序。
      注意到,当 Python3.6 成功安装后,在 /usr/bin 目录中会多出两个执行程序,即
python3.6 python3.6m ,其中后者在内存分配方式上做了优化,实际使用时任选其一即可。
      在介绍 SparkShell 时,曾经提到过 Spark 有一个名为 pyspark 的交互式编程工具,它
要求在 Python 语言的运行环境中才能使用。为了使得 pyspark 脚本能够找到正确的 Python
运行环境,可以在运行脚本之前设置一下 PYSPARK_PYTHON的环境变量。为方便起见我们将其添加到 /etc/profile 文件(或者在 Spark 中的 spark-env.sh 文件配置也可以):
4.PySparkShell 交互编程环境
1 )当 Python3.6 运行环境准备就绪,现在就可以启动 PySparkShell 交互编程环境了。
PySparkShell 启动输出的提示信息可以看出, Spark2.4.8 使用的是 Python3.6 ,这
也再次证明之前的配置是正确的。
2 )类似 SparkShell 读取文件数据的做法,在这里同样测试一下 PySparkShell 中访问
本地和 HDFS 文件。请先确认一下 HDFS 服务是否正常运行,具体步骤参考前述内容即可,这
里假定 HDFS 已正常运行。请在 PySparkShell 中输入以下代码执行:
3 )测试完毕,直接按下 Ctrl+D 快捷键,或者输入“ quit() ”就可以退出 PySparkShell
交互编程环境的界面。
5.Pip 的安装配置
1 )在 Linux 终端执行下面的命令安装 pip 工具,然后查看一下 pip 的版本信息,以及
和对应管理的 Python 版本。
2 )在 Linux 终端继续执行下面的命令:
3 )现在可以验证 pip pip3 的设置是否达到了预期目标。
4)当 pip 包管理工具安装配置好之后,考虑到实际使用时需要访问网络下载软件,下
面将 pip 源改成国内镜像(如阿里云、清华镜像站点等),以加快下载速度。
pip 镜像源配置文件修改完毕,可以通过下面的命令进行验证是否有效:
6.Spark 框架目录结构
当安装好了 Spark 之后,在 Spark 的系统目录中包含有一系列的文件和子目录内容,每
个目录都有其特定的目的和用途。 Spark 安装目录的内容结构如图所示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值