微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

安装Spark

安装Spark


文章目录



提示:以下是本篇文章正文内容,下面案例可供参考

一、在master节点上安装spark

1.下载压缩包

步骤一:在master主节点上解压Spark安装包

官网下载地址:http://spark.apache.org/downloads.html

[hadoop@master bin]$ su root
[root@master bin]# cd
[root@master ~]# tar -zxvf /opt/software/spark-2.0.0-bin-hadoop2.6.tgz -C /usr/local/src/

2.Spark解压后的重命名操作

解压到“/usr/local/src”下的Spark目录名为“spark-2.0.0-bin-hadoop2.7”,重命名为spark的命令为:

[root@master ~]# mv  /usr/local/src/spark-2.0.0-bin-hadoop2.6/  /usr/local/src/spark

3.修改spark目录的用户权限

对目录“/urs/local/src”赋予了hadoop用户权限,

[root@master ~]# chown  -R  hadoop:hadoop  /usr/local/src/spark

4.配置环境变量

由于每次启动spark shell都需要进入到“/usr/local/src/spark/bin”目录下,否则,会提示无法识别spark-shell命令。因此在“/etc/profile”文件中配置Spark的环境变量,这样就可以在任意位置启动spark shell进行交互式编程。先打开“/etc/profile”文件

[root@master ~]# vi /etc/profile
然后在键盘输入字母“i”或者“o”进入编辑模式,在文件中加入如下内容
export SPARK_HOME=/usr/local/src/spark
export PATH=$PATH:$SPARK_HOME/bin:$PATH

如果已经存在“export PATH”这样的字眼在该文件中,需要在其末尾加一个冒号作为与之前存在内容间的分隔符,然后再加入上面指定的内容,再在键盘按“Esc”键退出编辑模式,并在键盘输入“:wq”进行内容保存并退出,最后将修改过的“/etc/profile”文件生效,命令为:

[root@master ~]# su hadoop
[hadoop@master root]$ source /etc/profile

二、修改Spark参数

1.修改spark-env.sh

由于要建立Spark与Hadoop之间的连接,需修改Spark参数,先进入Spark的conf目录把“spark-env.sh.template”拷贝为“spark-env.sh”文件修改配置, 进入Spark的配置文件目录“conf”:

[hadoop@master root]$ cd /usr/local/src/spark/conf/
[hadoop@master conf]$ cp /usr/local/src/spark/conf/spark-env.sh.template /usr/local/src/spark/conf/spark-env.sh
[hadoop@master conf]$ vi /usr/local/src/spark/conf/spark-env.sh

然后将下面所示内容加入到文件“spark-env.sh”中:

export JAVA_HOME=/usr/local/src/java
export HADOOP_HOME=/usr/local/src/hadoop
export SCALA_HOME=/usr/local/src/scala
export SPARK_MASTER_IP=master
export SPARK_MASTER_PORT=7077
export SPARK_disT_CLAsspATH=$(/usr/local/src/hadoop/bin/hadoop classpath)
export HADOOP_CONF_DIR=/usr/local/src/hadoop/etc/hadoop
export SPARK_YARN_USER_ENV="CLAsspATH=/usr/local/src/hadoop/etc/hadoop"
export YARN_CONF_DIR=/usr/local/src/hadoop/etc/hadoop

2.配置slaves文件

在master节点上安装好后,需建立master节点与slave1和slave2节点的链接关系,所以需将spark中的conf目录下的slaves.template文件重命名为slaves,执行命令为:

代码如下(示例):

[hadoop@master conf]$ cp /usr/local/src/spark/conf/slaves.template  /usr/local/src/spark/conf/slaves
 
[hadoop@master conf]$ vi slaves
master
slave1
slave2
(如果其中有localhost要记得注销,用#)

其中,master、slave1、slave2分别为主节点名和两从节点名
接着在键盘按“Esc”键退出编辑模式,并在键盘输入“:wq”进行保存并退出

[hadoop@master ~]$su root
[root@master ~] vi /usr/local/src/hadoop/etc/hadoop/yarn-site.xml
在最后面增加:
<property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
</property>
<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>

传给其他两个节点:
#用户

[root@master ]scp /usr/local/src/hadoop/etc/hadoop/yarn-site.xml root@slave1: /usr/local/src/hadoop/etc/hadoop 
[root@master ] scp /usr/local/src/hadoop/etc/hadoop/yarn-site.xml root@slave2 /usr/local/src/hadoop/etc/hadoop 

三、在两个slaves从节点上安装Spark

1.将master主节点上的Spark安装目录和/etc/profile环境变量复制到两个slaves从节点上

[hadoop@master spark]$ su root
[root@master spark]# scp -r /usr/local/src/spark/ root@slave1:/usr/local/src/
[root@master spark]# scp -r /usr/local/src/spark/ root@slave2:/usr/local/src/
[root@master spark]# scp /etc/profile root@slave1:/etc/
[root@master spark]# scp /etc/profile root@slave2:/etc/

其中,scp是节点之间复制文件的命令,hadoop@slave1是指在slave1节点上的hadoop用户

2.在slave1、slave2节点上分别安装Spark

#用户

[root@slave1 spark] chown -R hadoop:hadoop /usr/local/src/spark/
[root@slave1 spark] su hadoop
[hadoop@slave1 spark]$ source /etc/profile
[root@slave2 spark] chown -R hadoop:hadoop /usr/local/src/spark/
[root@slave2 spark] su hadoop
[hadoop@slave2 spark]$ source /etc/profile

四、运行实例

1.开启三个虚拟机集群

master集群

在这里插入图片描述

slave1 集群

在这里插入图片描述

slave2 集群

在这里插入图片描述

2.以集群模式运行SparkPi实例程序

在master节点上启动SparkPi实例程序,如下所示:

[hadoop@master spark]$ cd /usr/local/src/spark/
[hadoop@master spark]$ ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client --driver-memory 1G --executor-memory 1G --executor-cores 1 examples/jars/spark-examples_2.11-2.0.0.jar 40

在运行结果中间可以找到我们需要的pi值,如下所示:

20/07/04 05:48:48 INFO scheduler.DAGScheduler: Job 0 finished: reduce at SparkPi.scala:38, took 3.866892 s
Pi is roughly 3.141053785263446

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐