大数据学习之Spark——02Spark集群安装
发布日期:2021-05-06 17:19:29 浏览次数:20 分类:技术文章

本文共 3084 字,大约阅读时间需要 10 分钟。

一. 安装JDK

由于之前的集群安装的是jdk1.7的版本, 所以这里操作相对会麻烦一点

  1. 安装jdk1.8版本

    在这里插入图片描述
    注意:要修改族和组

  2. 修改配置文件

    因为之前安装过jdk1.7,如果还是把$PATH,写在前面,不会生效

    export JAVA_HOME=/usr/java/jdk1.8.0_181export PATH=$JAVA_HOME/bin:$PATH
  3. 分发给其他虚拟机

  4. 之前安装jdk时在” /usr/bin”目录下有一个java的连接:

    在这里插入图片描述

  5. 进入他指向的连接地址:

    在这里插入图片描述

  6. 执行:

    ln -sf /usr/java/jdk1.8.0_181/bin/java  /usr/bin/java
  7. 修改后进入”/usr/bin”查看:

    在这里插入图片描述

  8. 修改这一步的原因是:

    spark集群会默认从这个路径下查询jdk的版本

  9. 修改hadoop的配置文件

    /opt/hjf/hadoop/etc/hadoop/hadoop-env.sh

    在这里插入图片描述

    修改为现在的版本号:

    # export JAVA_HOME=/usr/java/jdk1.7.0_67export JAVA_HOME=/usr/java/jdk1.8.0_181

    在这里插入图片描述

至此, jdk版本更改完成, 接下来正式安装spark

一. Spark安装

node01\node02\node03三台安装spark集群

node04只用于任务提交

1. 将spark解压大指定路径下:
  • 在这里插入图片描述
2. 进入:/opt/hjf/spark/conf目录下:
  1. 将slaves.template修改为: slaves

    cp slaves.template slaves

    在这里插入图片描述

  2. 指定worker节点的主机:

    node02node03

    在这里插入图片描述

  3. 将spark-env.sh.template,修改为spark-env.sh

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

    在这里插入图片描述

  4. 配置spark-env.sh

    export SPARK_MASTER_HOST=node01		# 指定master节点export SPARK_MASTER_PORT=7077		# 指定提交任务的端口export SPARK_WORKER_CORES=2			# 指定worker的核数export SPARK_WORKER_MEMORY=3g		# 指定worker分配的内存资源
3. 分发给node02和node03:

三. Spark启动

1. 进入/opt/hjf/spark/sbin,执行:
  • ./start-all.sh
2. 查看jps
  1. node01
    在这里插入图片描述
  2. node02:
    在这里插入图片描述
  3. node03:
    在这里插入图片描述
3. 查看Web UI
  • 在这里插入图片描述

四. 执行

  1. 执行PI

    ./spark-submit --master spark://node01:7077 --class  org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.1.jar 100
  2. 运行结果

    在这里插入图片描述

五. 配日志服务器

1. 进入/opt/hjf/spark/conf下:
  1. 复制spark-defaults.conf.template并命名为: spark-defaults.conf

    cp spark-defaults.conf.template spark-defaults.conf

    在这里插入图片描述

  2. 修改spark-defaults.conf文件:

    # 开启日志服务:spark.eventLog.enabled           true# 配置日志存放路径spark.eventLog.dir               hdfs://node01:8020/spark/data/logs# 配置日志恢复路径spark.history.fs.logDirectory    	  hdfs://node01:8020/spark/data/logs

    在这里插入图片描述

  3. 注意: 配置文件中的节点必须为HDFS中状态为active的节点名称

    里有提示spark.history.fs.logDirectory

2. 启动日志服务器
  1. 进入:”/opt/hjf/spark/sbin”

    ./start-history-server.sh

    在这里插入图片描述

    在这里插入图片描述

3. 查看日志服务器WebUI

主机名,为配置日志服务器主机名

4. 此时就可以保存日志
  • ./spark-shell --master spark://node01:7077 --name aaa
    在这里插入图片描述
    在这里插入图片描述

六. Master HA配置

1. 修改”spark-env.sh”配置文件
  1. 参考说明:

    spark.deploy.recoveryMode:恢复模式,选择使用ZOOKEEPERspark.deploy.zookeeper.url:指定zookeeper集群spark.deploy.zookeeper.dir:恢复路径
  2. 修改”spark-env.sh”配置文件

    各个参数前用”-D”开头, 参数间用空格隔开

    export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node02:2181,node03:2181,node04:2181 -Dspark.deploy.zookeeper.dir=/MasterHA"

    在这里插入图片描述

2. 分发到其他几台机器
3. 设置主备节点
  1. 把node01当做Master,把node02当做备用

    所以node02修改”/opt/hjf/spark/conf/ spark-env.sh”配置文件:

    export SPARK_MASTER_HOST=node02

    在这里插入图片描述

4. 启动:
  1. 分别在node01和node02主机上启动启动spark:start-all.sh

    在这里插入图片描述

    在这里插入图片描述

  2. kill掉node01 的master节点后,会自动将node02的STANDBY状态升级为 ALIVE

    在这里插入图片描述
    在这里插入图片描述

  3. 如果没有跳转成功, 则需要检查zookeeper中是否添加成功

    1. 进入 /opt/hjf/zookeeper/bin目录
    2. ./zkCli.sh
    3. ls / :查看是否有之前设置的名称,如果不存在,则说明之前的配置有误

    在这里插入图片描述

  4. 运行: 需要指定主节点和备用节点

    ./spark-submit --master spark://node01:7077,node02:7077 –class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.1.jar 1000

七. spark on hive配置

  1. 先将hive客户端中的hive-site.xml复制到spark/conf目录下

    在这里插入图片描述

  2. 修改复制后的hive-site.xml文件:

    原文件中的其他配置内容都可以删掉,只需保留这一部分

    hive.metastore.uris
    thrift://node03:9083

    在这里插入图片描述

  3. 启动:

    1. 启动hive服务器
      hive --service metastore
    2. 启动hive客户端
      hive
    3. 启动spark-shell
      ./spark-shell --master spark://node01:7077,node02:7077
上一篇:大数据学习之Spark——03Spark代码初体验(Word Count)
下一篇:大数据学习之Spark——01Spark概述

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2025年03月15日 16时13分12秒