spark官网学习文档

Spark集群的安装及高可用配置

前期需求:Hadoop和Scala必须已经安装完成

步骤:

①进入spark下载网站中https://spark.apache.org/downloads.html

(红框的部分是选择tar包的版本,选择完毕之后点击绿框的部分下载)

spark查看扫描分区数量 spark集群页面查看_spark查看扫描分区数量


②下载完成之后用xftp将安装包传服务器的opt文件夹下。然后用tar命令解压。解压完成之后删除安装包。再然后进入/etc/profile配置环境变量。加入下面的两条语句,然后保存并退出用source命令使其生效。

export SPARK_HOME=/opt/spark-2.4.0-bin-hadoop2.7
在export PATH的末尾加上 :spark查看扫描分区数量 spark集群页面查看_SPARK_02SPARK_HOME/sbin

③进入/opt/spark-2.4.0-bin-hadoop2.7/conf文件夹下,执行下面两条语句

cp  spark-env.sh.template  spark-env.sh
cp  slaves.template  slaves

④用vi命令分别修改spark-env.sh和slaves

spark-env.sh的末尾添加如下语句

spark查看扫描分区数量 spark集群页面查看_hadoop_03


前三个都指的是对应的安装目录,这个不多赘述,后面五个的意思如下

HADOOP_CONF_DIR:hadoop集群的配置文件的目录 

SPARK_MASTER_IP:spark集群的Master节点的ip地址 

SPARK_WORKER_MEMORY:每个worker节点能够最大分配给exectors的内存大小 

SPARK_WORKER_CORES:每个worker节点所占有的CPU核数目 

SPARK_WORKER_INSTANCES:每台机器上开启的worker节点的数目

slaves的末尾修改为(工作者节点,我这里选择2号和3号机,1号作为Master)

spark查看扫描分区数量 spark集群页面查看_spark_04


修改$SPARK_HOME/conf/spark_defaults.conf

在其尾部添加

spark.executor.extraClassPath=/opt/flume_tar_dir/libs/*
  spark.driver.extraClassPath=/opt/flume_tar_dir/libs/*

主要是为了spark-submit 提交时不用指定jars,但是需要自己在idea打jar包时指定类打包,将打包好的jar传入该入境下,提交时不用写–class
例:spark-submit --master spark://hadoop1:7077,hadoop2:7077 OfflineProject.jar

配置Spark高可用

vi /usr/etc/spark-2.3.0-bin-hadoop2.7/conf/spark-evn.sh
  
  修改内容如下:
  
  #export SPARK_MASTER_IP=Master #注释掉该行,Spark自己管理集群的状态  
  
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=Master:2181,Worker1:2181,Worker2:2181 -Dspark.deploy.zookeeper.dir=/spark" #通过Zookeeper管理集群状态
/spark 自己定义一个保存数据的路径

实现高可用得先在前两个节点上启动 spark-master.sh

然后停掉一个节点 访问8080 查看状态

⑤将/etc/profile以及Spark文件夹用scp命令分发到其他两台机子上。发送过去之后到其他两台机子的窗口里,用source命令使环境变量生效

⑥回到一号机,开启Zookeeper,然后执行start-dfs.sh命令(开不开zookeeper其实没什么影响,也没要求说必须开,但是作为平常的习惯还是开启了Zk)。执行之后进入/opt/spark-2.4.0-bin-hadoop2.7文件夹下,执行 ./sbin/start-all.sh(进入这里执行的目的是为了防止和hadoop里的同名文件冲突)

spark查看扫描分区数量 spark集群页面查看_SPARK_05


然后查看三台机子的节点(多了一个Master和两个Worker)

spark查看扫描分区数量 spark集群页面查看_SPARK_06


spark查看扫描分区数量 spark集群页面查看_hadoop_07


spark查看扫描分区数量 spark集群页面查看_SPARK_08


⑦进入Master所在机器的8080端口,可以查看Worker的信息

spark查看扫描分区数量 spark集群页面查看_spark_09


⑧在Master机器上执行 spark-shell命令。会出现如下语句

spark查看扫描分区数量 spark集群页面查看_SPARK_10


同样,在开启之后,也可以访问4040端口查看当前任务

spark查看扫描分区数量 spark集群页面查看_hadoop_11

至此,Spark集群安装就算圆满完成了。