前言

正确而快速的安装和配置spark,是初学spark遇到的第一个拦路虎。本指南以简明扼要的方式展示全部流程,详细步骤可参照厦门大学大数据实验室系列教程:大数据软件安装和基础编程实践指南(2020年6月版)_厦大数据库实验室博客。

依据先后顺序,基本分为以下4个步骤:

JDK 1.8下载、安装和配置 Hadoop 3.2.4下载、安装和配置 Spark 3.3.2下载、安装和配置

本教程默认已经安装Ubuntu ,若没有

参考资料:在Windows中使用VirtualBox安装Ubuntu虚拟机(2020年7月版本)_厦大数据库实验室博客 (xmu.edu.cn)

注意,为后续操作方便,如果Ubuntu中没有hadoop账号,先创建该账号。

创建账号的shell指令:sudo useradd -m hadoop -s /bin/bash,然后输入初始密码即可。若一开始无需密码,后续可通过以下命令设置密码:sudo passwd hadoop。建议密码同样设置为hadoop。

然后为 hadoop 用户增加管理员权限,方便后续其它组件的安装和部署,指令:sudo adduser hadoop sudo

注意:后续步骤全部使用hadoop账户登录进行操作。本步骤完成后,注销当前账户,切换为hadoop账户登录。

1.下载:jdk-8u202-linux-x64.tar.gz

 下载:jdk-8u202-linux-x64.tar.gz,下载源建议使用国内华为云镜像:Index of java-local/jdk/8u202-b08 (huaweicloud.com),选择jdk-8u202-linux-x64.tar.gz,

下载完成后会在Downloads文件夹找到,在该文件夹内打开终端

        首先新建解压缩文件夹:sudo mkdir /usr/lib/jvm         然后解压缩JDK安装包:sudo tar -zxf  jdk-8u202-linux-x64.tar.gz -C /usr/lib/jvm,在jvm目录下,会看到jdk1.8.0_202的文件夹,里面就是JDK。 接下来修改环境变量配置文件,先打开环境配置文件:vim ~/.bashrc(vim报错就sudo install vim安装) 在这个文件的开头位置,添加如下几行内容: export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_202 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH 保存文件,退出。 最后,使配置文件立即生效,命令:source ~/.bashrc 测试JDK安装是否成功:java –version,如正常线上版本号,则说明安装成功。

2.  Hadoop下载、安装和配置

  下载:hadoop-3.3.6.tar.gz

下载源建议使用清华大学镜像:Index of /apache/hadoop/common/hadoop-3.3.6 (tsinghua.edu.cn),选择 hadoop-3.3.6.tar.gz

        

非分布式模式(本地模式)安装:

只需要将hadoop安装包解压缩到指定路径,无需进行其他配置即可运行非分布式模式(本地模式)。

        首先解压缩:sudo tar -zxf hadoop-3.3.6.tar.gz -C /usr/local   # 解压到/usr/local中         切换到解压缩后的目录:cd /usr/local/         修改文件夹:sudo mv ./hadoop-3.3.6/ ./hadoop            # 将文件夹名改为hadoop         修改文件权限:sudo chown -R hadoop ./hadoop      # 修改文件权限         切换到安装目录:cd /usr/local/hadoop         测试hadoop安装是否成功:./bin/hadoop version #Hadoop

成功则会显示 Hadoop 版本信息

伪分布式模式配置: 安装SSH

集群、单节点模式都需要用到 SSH 登陆,Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server:

sudo apt-get install openssh-server

安装后,可以使用如下命令登陆本机:

ssh localhost

此时会有如下提示(SSH首次登陆提示),输入 yes 【注意:一定要输入 yes,而不是直接按回车!!】。然后按提示输入密码 hadoop,这样就登陆到本机了。

配置SSH无密码登陆

上述登陆是需要每次输入密码的,我们需要配置成SSH无密码登陆比较方便。

首先退出刚才的 ssh,就回到了我们原先的终端窗口,然后利用 ssh-keygen 生成密钥,并将密钥加入到授权中:

exit                           # 退出刚才的 sshlocalhost

cd ~/.ssh/                     # 若没有该目录,请先执行一次sshlocalhost

ssh-keygen -t rsa              # 会有提示,都按回车就可以

cat ./id_rsa.pub >>./authorized_keys  # 加入授权

之后每次用 ssh localhost 登陆,就不想要输密码了,直接进入。

Hadoop伪分布式配置

Hadoop 的配置文件位于/usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。

修改配置文件 core-site.xml (通过 gedit 编辑会比较方便: gedit /usr/local/hadoop/etc/hadoop/core-site.xml),将当中的

修改为下面配置:

   

       hadoop.tmp.dir

       file:/usr/local/hadoop/tmp

       Abase for other temporary directories.

   

   

       fs.defaultFS

       hdfs://localhost:9000

   

同样的,修改配置文件 hdfs-site.xml:

   

       dfs.replication

       1

   

   

       dfs.namenode.name.dir

       file:/usr/local/hadoop/tmp/dfs/name

   

   

       dfs.datanode.data.dir

       file:/usr/local/hadoop/tmp/dfs/data

   

配置完成后,执行 NameNode 的格式化:

cd /usr/local/hadoop

./bin/hdfs namenode -format

成功的话,会看到“successfully formatted”的提示,最后是“SHUTDOWN_MSG: Shutting down NameNode at hadoop/127.0.1.1”信息。

启动Hadoop

接着开启 NameNode 和 DataNode 守护进程。Shell 命令:

cd /usr/local/hadoop

./sbin/start-dfs.sh  #start-dfs.sh是个完整的可执行文件,中间没有空格

若出现如下SSH提示,输入yes即可。

启动完成后,可以通过命令 jps 来判断是否成功启动,

jps #判断是否成功启动

3.   Spark下载、安装和配置

下载源建议使用清华大学镜像:

Index of /apache/spark/spark-3.5.1 (tsinghua.edu.cn),选择 spark-3.5.1-bin-without-hadoop.tgz

安装:

只需要将spark安装包解压缩到指定路径,然后修改配置文件即可。

解压缩到  /usr/local/ 命令:

sudo tar -zxf spark-3.5.1-bin-without-hadoop.tgz -C /usr/local/

cd /usr/local

更改spark文件夹名称,并修改文件权限,将hadoop设置为文件夹所有者:

sudo mv ./spark-3.5.1-bin-without-hadoop/ ./spark  #更改文件夹名称,简单好记一些

sudo chown -R hadoop:hadoop ./spark          # 此处的 hadoop 为你的用户名

配置:

修改Spark的配置文件spark-env.sh

cd /usr/local/spark

cp ./conf/spark-env.sh.template ./conf/spark-env.sh

使用gedit编辑spark-env.sh文件命令:

gedit ./conf/spark-env.sh #如果没有gedit组件,可直接安装:sudo apt-get install gedit

在第一行添加以下配置信息:

export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)

配置完成后就可以直接使用,不需要像Hadoop运行启动命令。

运行Spark自带的示例

验证Spark是否安装成功

cd /usr/local/spark

bin/run-example SparkPi #输出信息较多,不易查看。但只要能正常输出,说明配置成功

或者通过 grep 命令进行过滤,简化输出:

bin/run-example SparkPi 2>&1 | grep"Pi is"

输出结果类似为: Pi is roughly 3.1446957234786175

总结

上述流程成功执行就完成了spark的一个基本的配置,熟悉Ubuntu系统的一些基础的操作指令问题就不会很大,重在实践慢慢的就会熟悉。

最后对可能存在的问题做个建议

运行过程中存在问题首先看指令有没有打错,其次是安装路径,文件包名字有没有对应上

推荐文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。