spark原理,spark集群安装,spark集群部署,spark环境搭建,spark教程java scala
spark原理,spark集群安装,spark集群部署,spark环境搭建,spark教程java scala
目录
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。一、下载Spark安装包
1、从官网下载
2、从微软的镜像站下载
3、从清华的镜像站下载
二、安装基础
三、Spark安装过程
1、上传并解压缩
2、为安装包创建一个软连接
3、进入spark/conf修改配置文件
4、配置环境变量
四、启动
1、先启动zookeeper集群
2、在启动HDFS集群
3、在启动Spark集群
4、查看进程
5、问题
6、执行之后再次查看进程
五、验证
1、查看Web界面Master状态
2、验证HA的高可用
六、执行Spark程序on standalone
1、执行第一个Spark程序
2、启动spark shell
3、 在spark shell中编写WordCount程序
七、 执行Spark程序on YARN
1、前提
2、启动Spark on YARN
3、打开YARN的web界面
4、运行程序
5、执行Spark自带的示例程序PI
正文
回到顶部
一、下载Spark安装包
1、从官网下载
http://spark.apache.org/downloads.html
2、从微软的镜像站下载
http://mirrors.hust.edu.cn/apache/
3、从清华的镜像站下载
https://mirrors.tuna.tsinghua.edu.cn/apache/
回到顶部
二、安装基础
1、Java8安装成功
2、zookeeper安装成功
3、hadoop2.7.5 HA安装成功
4、Scala安装成功(不安装进程也可以启动)
回到顶部
三、Spark安装过程
1、上传并解压缩
[hadoop@hadoop1 ~]$ ls
apps data exam inithive.conf movie spark-2.3.0-bin-hadoop2.7.tgz udf.jar
cookies data.txt executions json.txt projects student zookeeper.out
course emp hive.sql log sougou temp
[hadoop@hadoop1 ~]$ tar -zxvf spark-2.3.0-bin-hadoop2.7.tgz -C apps/
2、为安装包创建一个软连接
[hadoop@hadoop1 ~]$ cd apps/
[hadoop@hadoop1 apps]$ ls
hadoop-2.7.5 hbase-1.2.6 spark-2.3.0-bin-hadoop2.7 zookeeper-3.4.10 zookeeper.out
[hadoop@hadoop1 apps]$ ln -s spark-2.3.0-bin-hadoop2.7/ spark
[hadoop@hadoop1 apps]$ ll
总用量 36
drwxr-xr-x. 10 hadoop hadoop 4096 3月 23 20:29 hadoop-2.7.5
drwxrwxr-x. 7 hadoop hadoop 4096 3月 29 13:15 hbase-1.2.6
lrwxrwxrwx. 1 hadoop hadoop 26 4月 20 13:48 spark -> spark-2.3.0-bin-hadoop2.7/
drwxr-xr-x. 13 hadoop hadoop 4096 2月 23 03:42 spark-2.3.0-bin-hadoop2.7
drwxr-xr-x. 10 hadoop hadoop 4096 3月 23 2017 zookeeper-3.4.10
-rw-rw-r--. 1 hadoop hadoop 17559 3月 29 13:37 zookeeper.out
[hadoop@hadoop1 apps]$
3、进入spark/conf修改配置文件
(1)进入配置文件所在目录
[hadoop@hadoop1 ~]$ cd apps/spark/conf/
[hadoop@hadoop1 conf]$ ll
总用量 36
-rw-r--r--. 1 hadoop hadoop 996 2月 23 03:42 docker.properties.template
-rw-r--r--. 1 hadoop hadoop 1105 2月 23 03:42 fairscheduler.xml.template
-rw-r--r--. 1 hadoop hadoop 2025 2月 23 03:42 log4j.properties.template
-rw-r--r--. 1 hadoop hadoop 7801 2月 23 03:42 metrics.properties.template
-rw-r--r--. 1 hadoop hadoop 865 2月 23 03:42 slaves.template
-rw-r--r--. 1 hadoop hadoop 1292 2月 23 03:42 spark-defaults.conf.template
-rwxr-xr-x. 1 hadoop hadoop 4221 2月 23 03:42 spark-env.sh.template
[hadoop@hadoop1 conf]$
(2)复制spark-env.sh.template并重命名为spark-env.sh,并在文件最后添加配置内容
[hadoop@hadoop1 conf]$ cp spark-env.sh.template spark-env.sh
[hadoop@hadoop1 conf]$ vi spark-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_73
#export SCALA_HOME=/usr/share/scala
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.5
export HADOOP_CONF_DIR=/home/hadoop/apps/hadoop-2.7.5/etc/hadoop
export SPARK_WORKER_MEMORY=500m
export SPARK_WORKER_CORES=1
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop1:2181,hadoop2:2181,hadoop3:2181,hadoop4:2181 -Dspark.deploy.zookeeper.dir=/spark"
注:
#export SPARK_MASTER_IP=hadoop1 这个配置要注释掉。
集群搭建时配置的spark参数可能和现在的不一样,主要是考虑个人电脑配置问题,如果memory配置太大,机器运行很慢。
说明:
-Dspark.deploy.recoveryMode=ZOOKEEPER #说明整个集群状态是通过zookeeper来维护的,整个集群状态的恢复也是通过zookeeper来维护的。就是说用zookeeper做了spark的HA配置,Master(Active)挂掉的话,Master(standby)要想变成Master(Active)的话,Master(Standby)就要像zookeeper读取整个集群状态信息,然后进行恢复所有Worker和Driver的状态信息,和所有的Application状态信息;
-Dspark.deploy.zookeeper.url=hadoop1:2181,hadoop2:2181,hadoop3:2181,hadoop4:2181#将所有配置了zookeeper,并且在这台机器上有可能做master(Active)的机器都配置进来;(我用了4台,就配置了4台)
-Dspark.deploy.zookeeper.dir=/spark
这里的dir和zookeeper配置文件zoo.cfg中的dataDir的区别???
-Dspark.deploy.zookeeper.dir是保存spark的元数据,保存了spark的作业运行状态;
zookeeper会保存spark集群的所有的状态信息,包括所有的Workers信息,所有的Applactions信息,所有的Driver信息,如果集群
(3)复制slaves.template成slaves
[hadoop@hadoop1 conf]$ cp slaves.template slaves
[hadoop@hadoop1 conf]$ vi slaves
添加如下内容
hadoop1
hadoop2
hadoop3
hadoop4
(4)将安装包分发给其他节点
[hadoop@hadoop1 ~]$ cd apps/
[hadoop@hadoop1 apps]$ scp -r spark-2.3.0-bin-hadoop2.7/ hadoop2:$PWD
[hadoop@hadoop1 apps]$ scp -r spark-2.3.0-bin-hadoop2.7/ hadoop3:$PWD
[hadoop@hadoop1 apps]$ scp -r spark-2.3.0-bin-hadoop2.7/ hadoop4:$PWD
创建软连接
[hadoop@hadoop2 ~]$ cd apps/
[hadoop@hadoop2 apps]$ ls
hadoop-2.7.5 hbase-1.2.6 spark-2.3.0-bin-hadoop2.7 zookeeper-3.4.10
[hadoop@hadoop2 apps]$ ln -s spark-2.3.0-bin-hadoop2.7/ spark
[hadoop@hadoop2 apps]$ ll
总用量 16
drwxr-xr-x 10 hadoop hadoop 4096 3月 23 20:29 hadoop-2.7.5
drwxrwxr-x 7 hadoop hadoop 4096 3月 29 13:15 hbase-1.2.6
lrwxrwxrwx 1 hadoop hadoop 26 4月 20 19:26 spark -> spark-2.3.0-bin-hadoop2.7/
drwxr-xr-x 13 hadoop hadoop 4096 4月 20 19:24 spark-2.3.0-bin-hadoop2.7
drwxr-xr-x 10 hadoop hadoop 4096 3月 21 19:31 zookeeper-3.4.10
[hadoop@hadoop2 apps]$
4、配置环境变量
所有节点均要配置
[hadoop@hadoop1 spark]$ vi ~/.bashrc
#Spark
export SPARK_HOME=/home/hadoop/apps/spark
export PATH=$PATH:$SPARK_HOME/bin
保存并使其立即生效
[hadoop@hadoop1 spark]$ source ~/.bashrc
回到顶部
四、启动
1、先启动zookeeper集群
所有节点均要执行
[hadoop@hadoop1 ~]$ zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /home/hadoop/apps/zookeeper-3.4.10/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[hadoop@hadoop1 ~]$ zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/hadoop/apps/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower
[hadoop@hadoop1 ~]$
2、在启动HDFS集群
任意一个节点执行即可
[hadoop@hadoop1 ~]$ start-dfs.sh
3、在启动Spark集群
在一个节点上执行
[hadoop@hadoop1 ~]$ cd apps/spark/sbin/
[hadoop@hadoop1 sbin]$ start-all.sh
4、查看进程
5、问题
查看进程发现spark集群只有hadoop1成功启动了Master进程,其他3个节点均没有启动成功,需要手动启动,进入到/home/hadoop/apps/spark/sbin目录下执行以下命令,3个节点都要执行
[hadoop@hadoop2 ~]$ cd ~/apps/spark/sbin/
[hadoop@hadoop2 sbin]$ start-master.sh
6、执行之后再次查看进程
Master进程和Worker进程都以启动成功
spark原理,spark集群安装,spark集群部署,spark环境搭建,spark教程java scala spark原理,spark集群安装,spark集群部署,spark环境搭建,spark教程java scala spark原理,spark集群安装,spark集群部署,spark环境搭建,spark教程java scala spark原理,spark集群安装,spark集群部署,spark环境搭建,spark教程java scala spark原理,spark集群安装,spark集群部署,spark环境搭建,spark教程java scala spark原理,spark集群安装,spark集群部署,spark环境搭建,spark教程java scala spark原理,spark集群安装,spark集群部署,spark环境搭建,spark教程java scala spark原理,spark集群安装,spark集群部署,spark环境搭建,spark教程java scala spark原理,spark集群安装,spark集群部署,spark环境搭建,spark教程java scala spark原理,spark集群安装,spark集群部署,spark环境搭建,spark教程java scala spark原理,spark集群安装,spark集群部署,spark环境搭建,spark教程java scala spark原理,spark集群安装,spark集群部署,spark环境搭建,spark教程java scala spark原理,spark集群安装,spark集群部署,spark环境搭建,spark教程java scala spark原理,spark集群安装,spark集群部署,spark环境搭建,spark教程java scala
---------------------
作者:weixin_44630290
来源:CSDN
原文:https://blog.csdn.net/weixin_44630290/article/details/89349754
版权声明:本文为博主原创文章,转载请附上博文链接!
