任务描述
搭建Spark伪分布式模式:
1. 关闭防火墙
2. 修改“/etc/hosts”文件
3. 配置免密登录
4. 解压Spark安装包到“/opt/”
5. 修改Spark配置文件
6. 启动Spark,查看Spark的进程情况
答案:
步骤一:关闭防火墙
查看当前CentOS 7的防火墙状态:
查看防火墙状态
[root@hadoop ~]# firewall-cmd --state
running
显示为running时表示防火墙正在运行,可以通过下面的指令来关闭防火墙,便于之后程序
使用:
然后再次查看防火墙的状态:
步骤二:配置hosts文件
在配置Hadoop等软件的时候,我们需要频繁的指定当前虚拟机的IP地址到配置文件中,为
了方便,可以将虚拟机IP地址映射为自定义的名称(类似于网络中的DNS域名),在之后的
使用中,只需要使用自定义映射名称就可以代表虚拟机的IP地址了。
配置文件的路径为: /etc/hosts
在本次实验中,将当前的虚拟机IP地址映射为 hadoop,之后使用 hadoop 来替代虚拟机IP
地址。
查看当前虚拟机的IP地址:
方式一:ifconfig
关闭防火墙
[root@hadoop ~]# systemctl stop firewalld.service
禁止防火墙开机自启动
[root@hadoop ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multiuser.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbusorg.fedoraproject.FirewallD1.service.
[root@hadoop ~]# firewall-cmd --state
not running
方式二: ip addr
在hosts配置文件中添加如下所示的内容:
在文件中添加下面的内容:
步骤三:配置免密登录
Hadoop以分布式方式(包括伪分布式和完全分布式)运行时,一般我们习惯使用 startdfs.sh 或 start-yarn 来启动HDFS和YARN,这些命令的实现:实在当前主机上启动对应
的进程,然后通过 ssh 远程登录的方式登录到其他主机上启动其他进程,在使用 ssh 登录
时,需要指定用户名和密码。如果不配置,会导致在运行程序的时候,频繁的跳出输出密码
打开 /etc/hosts 文件
vim /etc/hosts
的界面,甚至报错。所以需要进行配置免密登录,使得通过 ssh 远程登录时不需要指定密
码。
免密登录实现原理:假设有两台电脑A和电脑B,如果想让电脑A通过 ssh 免密登录到电脑B
上,此时需要 电脑A 先生成 公钥和私钥文件,然后将 私钥文件保存在自己电脑中,将公钥
文件拷贝到电脑B的指定文件中,下次电脑A就可以免密登录到电脑B上了。
生成公钥和私钥文件:
进入到 /root/.ssh/ 目录中,查看生成的公钥和私钥文件:
其中 id_rsa 为私钥文件,id_rsa.pub 为公钥文件。通过下面的指令实现 ssh 免密登录配
置(将公钥文件拷贝到指定的目录中):
ssh-keygen -t rsa
[root@hadoop ~]# cd /root/.ssh/
[root@hadoop .ssh]# ls
id_rsa id_rsa.pub
ssh-copy-id hadoop
第一次访问时,会出现询问信息,直接输入 yes 即可。公钥拷贝时,需要输入 目标主机
hadoop 的登录密码。
测试免密登录是否配置成功:
步骤四:Spark安装
上传Spark安装包 spark-2.4.3-bin-hadoop2.7.tar.gz 到Linux的 /opt 目录中。
使用下面得到指令解压:
解压以后会在/opt目录下生成一个spark-2.4.3-bin-hadoop2.7的目录,目录名称过长,可以
为目录重命名或创建软链接修改之后操作的目录名称:
[root@hadoop .ssh]# ssh hadoop
Last login: Mon Jun 6 07:23:46 2022 from 192.168.137.99
[root@hadoop ~]# exit
登出
Connection to hadoop closed.
[root@hadoop .ssh]#
tar -zxvf /opt/spark-2.4.3-bin-hadoop2.7.tgz -C /opt/
mv /opt/spark-2.4.3-bin-hadoop /opt/spark-2.4.3 #重命名
步骤五:Spark配置
Spark安装成功之后,只需要在spark-env.sh配置文件指定JDK和Hadoop即可。
Spark的配置文件所在目录为{SPARK_HOME}/conf目录中,但是在conf目录中没有sparkenv.sh文件,只有spark-env.sh.template文件,需要拷贝并命名:
文件复制成功之后,在该文件的最后添加如下两行内容:
步骤六:Spark测试
进入{SPARK_HOME}/bin 目录中,执行spark-shell指令:
如果出现如下图8-2所示的界面,则表示Spark安装成功:
步骤七:Spark启动
启动Spark的脚本文件为:{SPARK_HOME}/sbin/start-all.sh。执行如下指令,使用jps查看进
程:
如出现如图8-3所示的进程,表示Spark启动成功:
cd /opt/spark-2.4.3/conf #进入Spark配置文件所在目录
cp spark-env.sh.template spark-env.sh #复制并重命名配置文件
vim spark-env.sh
在最后一行添加下面的内容
export JAVA_HOME=/opt/jdk1.8.0_11
export HADOOP_HOME=/opt/hadoop-2.7.3
cd /opt/spark-2.4.3/bin
./spark-shell
/opt/spark-2.4.3/sbin/start-all.sh #启动spark
jps #查看Java相关的进程
Spark启动之后,也可通过WEB界面查看,Spark默认监听8080端口号,如果8080端口号被
占用,会自动使用8181(当前端口号自动+1):
本文介绍如何在CentOS环境中搭建Spark伪分布式模式,包括关闭防火墙、配置hosts文件、设置免密登录、安装与配置Spark等步骤,并验证Spark的正确安装与启动。

861

被折叠的 条评论
为什么被折叠?



