JDK+hadoop+spark快速安装指南

前言

正确而快速的安装和配置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

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

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

  1.         首先新建解压缩文件夹:sudo mkdir /usr/lib/jvm

  2.         然后解压缩JDK安装包:sudo tar -zxf  jdk-8u202-linux-x64.tar.gz -C /usr/lib/jvm,在jvm目录下,会看到jdk1.8.0_202的文件夹,里面就是JDK。

  3. 接下来修改环境变量配置文件,先打开环境配置文件:vim ~/.bashrc(vim报错就sudo install vim安装)

  4. 在这个文件的开头位置,添加如下几行内容:

    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

    保存文件,退出。

  5. 最后,使配置文件立即生效,命令:source ~/.bashrc

  6. 测试JDK安装是否成功:java –version,如正常线上版本号,则说明安装成功。

2.  Hadoop下载、安装和配置

  1.   下载: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安装包解压缩到指定路径,无需进行其他配置即可运行非分布式模式(本地模式)。

  1.         首先解压缩:sudo tar -zxf hadoop-3.3.6.tar.gz -C /usr/local   # 解压到/usr/local中

  2.         切换到解压缩后的目录:cd /usr/local/

  3.         修改文件夹:sudo mv ./hadoop-3.3.6/ ./hadoop            # 将文件夹名改为hadoop

  4.         修改文件权限:sudo chown -R hadoop ./hadoop      # 修改文件权限

  5.         切换到安装目录:cd /usr/local/hadoop

  6.         测试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),将当中的

<configuration>

</configuration>

修改为下面配置:

<configuration>

   <property>

       <name>hadoop.tmp.dir</name>

       <value>file:/usr/local/hadoop/tmp</value>

       <description>Abase for other temporary directories.</description>

   </property>

   <property>

       <name>fs.defaultFS</name>

       <value>hdfs://localhost:9000</value>

   </property>

</configuration>

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

<configuration>

   <property>

       <name>dfs.replication</name>

       <value>1</value>

   </property>

   <property>

       <name>dfs.namenode.name.dir</name>

       <value>file:/usr/local/hadoop/tmp/dfs/name</value>

   </property>

   <property>

       <name>dfs.datanode.data.dir</name>

       <value>file:/usr/local/hadoop/tmp/dfs/data</value>

   </property>

</configuration>

配置完成后,执行 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系统的一些基础的操作指令问题就不会很大,重在实践慢慢的就会熟悉。

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值