美文网首页
Note17:Spark-2.1.3安装配置

Note17:Spark-2.1.3安装配置

作者: K__3f8b | 来源:发表于2020-06-23 16:53 被阅读0次

    下载安装

    [kevin@hadoop112 software]$ tar -zxvf spark-2.1.3-bin-hadoop2.7.tgz -C /opt/module/
    
    • 目录改名
    [kevin@hadoop112 software]$ cd /opt/module/
    [kevin@hadoop112 module]$ mv spark-2.1.3-bin-hadoop2.7/ spark-2.1.3
    
    • 测试是否安装成功
    [kevin@hadoop112 module]$ cd /opt/module/spark-2.1.3
    [kevin@hadoop112 spark-2.1.3]$ bin/spark-shell
    
    # 在scala命令台:可以输入 sys.exit 退出
    

    运行模式

    Local 模式
    • 配置:不需要修改

      执行第一个程序:该算法是利用蒙特·卡罗算法求PI(π)

    [kevin@hadoop112 spark-2.1.3]$ bin/spark-submit --class org.apache.spark.examples.SparkPi --executor-memory 1G --total-executor-cores 2 ./examples/jars/spark-examples_2.11-2.1.3.jar 100
    
    Standalone 模式 (资源调度和计算都在Spark)
    • 配置① (slaves)
    [kevin@hadoop112 spark-2.1.3]$ cd conf/
    [kevin@hadoop112 conf]$ mv slaves.template slaves
    
    # 修改为
    # A Spark Worker will be started on each of the machines listed below.
    hadoop112
    hadoop113
    hadoop114
    
    • 配置② (添加JDK路径)
    [kevin@hadoop112 conf]$ cd ..
    [kevin@hadoop112 spark-2.1.3]$ vim sbin/spark-config.sh
    
    # 添加
    export JAVA_HOME=/opt/module/jdk1.8.0_241
    
    • 配置③ (修改spark-env.sh)
    [kevin@hadoop112 spark-2.1.3]$ vim conf/spark-env.sh
    
    # 注释yarn的配置 及 添加 Spark Master
    #YARN_CONF_DIR=/opt/module/hadoop-2.7.2/etc/hadoop
    
    SPARK_MASTER_HOST=hadoop112
    SPARK_MASTER_PORT=7077
    
    • 分发
    [kevin@hadoop112 spark-2.1.3]$ cd ..
    [kevin@hadoop112 module]$ xsync.sh spark-2.1.3/
    
    • 启动 & 关闭(sbin/stop-all.sh)
    [kevin@hadoop112 module]$ cd spark-2.1.3
    [kevin@hadoop112 spark-2.1.3]$ sbin/start-all.sh
    [kevin@hadoop112 spark-2.1.3]$ xcall.sh jps
    

    启动成功会有

    注意:如果遇到 “JAVA_HOME not set” 异常,可以在sbin目录下的spark-config.sh 文件中加入如下配置:

    export JAVA_HOME=XXXX
    
    • 执行第一个程序:该算法是利用蒙特·卡罗算法求PI(π)
    [kevin@hadoop112 spark-2.1.3]$ bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://hadoop112:7077 --executor-memory 1G --total-executor-cores 2 ./examples/jars/spark-examples_2.11-2.1.3.jar 100
    
    Yarn 模式 (资源调度在yarn 和 计算在Spark)(重点)
    • 配置① (spark-env.sh)
    [kevin@hadoop112 spark-2.1.3]$ cd conf/
    [kevin@hadoop112 conf]$ mv spark-env.sh.template spark-env.sh
    [kevin@hadoop112 conf]$ vim spark-env.sh
    
    # 在 spark-env.sh 后面添加
    YARN_CONF_DIR=/opt/module/hadoop-2.7.2/etc/hadoop
    
    • 配置② (yarn-site.xml)
    [kevin@hadoop112 conf]$ cd /opt/module/hadoop-2.7.2/etc/hadoop/
    [kevin@hadoop112 hadoop]$ vim yarn-site.xml
    
    # 在 yarn-site.xml 后面添加
    # 添加完成后分发 yarn-site.xml 文件
    [kevin@hadoop112 hadoop]$ xsync.sh yarn-site.xml
    
    # 添加内容
        <!-- 是否启动一个线程检查每个任务正使用的物理内存量,如界任务超出分配值,则直接将其杀掉,默认是true-->
        <property>
            <name>yarn.nodemanager.pmem-check-enabled</name>
            <value>false</value>
        </property>
    
        <!--是否启动一个线程检查每个任务正使用的虚拟内存量,如界任务超出分配值,则直接将其杀掉,默认是true-->
        <property>
            <name>yarn.nodemanager.vmem-check-enabled</name>
            <value>false</value>
        </property>
    
    • 使用前需要启动 yarn 和 hdfs
    [kevin@hadoop112 hadoop]$ hadoop-cluster.sh start
    [kevin@hadoop112 hadoop]$ xcall.sh jps
    
    • 执行第一个程序:该算法是利用蒙特·卡罗算法求PI(π)
    [kevin@hadoop112 hadoop]$ cd /opt/module/spark-2.1.3
    [kevin@hadoop112 spark-2.1.3]$ bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client ./examples/jars/spark-examples_2.11-2.1.3.jar 100
    
    JobHistoryServer 配置
    • 配置① (spark-defaults.conf)
    [kevin@hadoop112 spark-2.1.3]$ cd conf/
    [kevin@hadoop112 conf]$ mv spark-defaults.conf.template spark-defaults.conf
    [kevin@hadoop112 conf]$ vim spark-defaults.conf
    
    # 添加  开启Log
    spark.eventLog.enabled           true
    spark.eventLog.dir               hdfs://hadoop112:9000/directory
    spark.yarn.historyServer.address=hadoop112:18080
    spark.history.ui.port=18080
    

    hdfs://hadoop112:9000/directory 需要提前存在

    创建命令:

    [kevin@hadoop112 spark-2.1.3]$ hdfs dfs -mkdir /directory

    • 配置② (spark-env.sh)
    [kevin@hadoop112 conf]$ vim spark-env.sh
    
    # 添加
    export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=30 -Dspark.history.fs.logDirectory=hdfs://hadoop112:9000/directory"
    
    • 分发
    [kevin@hadoop112 spark-2.1.3]$ xsync.sh conf/
    
    • 启动 & 关闭 (stop)
    [kevin@hadoop112 spark-2.1.3]$ sbin/start-history-server.sh
    
    • 再次执行任务
    [kevin@hadoop112 spark-2.1.3]$bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client --executor-memory 1G --total-executor-cores 2 ./examples/jars/spark-examples_2.11-2.1.3.jar 100
    
    • UI页面

    http://hadoop112:18080/

    几种模式对比
    模式 Spark安装机器数 需启动的进程 所属者
    Local 1 Spark
    Standalone 3 Master及Worker Spark
    Yarn 1 Yarn及HDFS Hadoop
    Spark使用MySQL

    直接把MySQL驱动包拉到jars

    Spark使用外部Hive

    Spark是有内置的Hive的

    在hive的conf文件夹中复制hive-site.xml到Spark的conf中,先删除me...-..元数据

    相关文章

      网友评论

          本文标题:Note17:Spark-2.1.3安装配置

          本文链接:https://www.haomeiwen.com/subject/zizrfktx.html