欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第二十二记·Spark Standalone环境搭建 监听历史服务配置

程序员文章站 2024-02-23 16:09:52
...

XY个人记

Standalone集群的配置

    配置前提:需要spark的本地执行环境已经配置OK,可参考(第二十二记·local本地运行环境搭建及wordCount案例分析

    在spark-env文件中可以看到它为我们提供需要配置的相应信息如下:

第二十二记·Spark Standalone环境搭建 监听历史服务配置

1.修改spark-env.sh文件根据上面提示配置如下

SPARK_MASTER_HOST=hadoop01.com
SPARK_MASTER_PORT=7070
SPARK_MASTER_WEBUI_PORT=8080
SPARK_WORKER_CORES=2	//指定当前机器上的每个worker进程允许分配的逻辑CPU核数
SPARK_WORKER_MEMORY=2g	//指定当前机器上的每个worker允许分配的内存大小(可以认为是逻辑内存)
SPARK_WORKER_PORT=7071
SPARK_WORKER_WEBUI_PORT=8081
SPARK_WORKER_INSTANCES=2	//指定当前机器上的Worker的数量

2. 配置Worker节点所在机器,在conf目录中

$ cp slaves.template slaves

slaves文件里添加节点的主机名:hadoop01.com

3. 我们上面配置的是单机模式,额外:完全分布式配置
        只需要在slaves文件中添加slave从节点的hostname即可(前提是ssh、hostname和ip映射等hadoop的依赖环境均已完成),然后将修改好的spark的安装包copy到其他的slave机器上即可完成分布式的安装

4. 启动服务   

4.1 启动主节点
    ./sbin/start-master.sh  #访问WEB页面:http://hadoop01.com:8080/
4.2 启动从节点(Worker)
    ./sbin/start-slaves.sh # 启动所有worker
4.3 关闭所有服务
    ./sbin/stop-all.sh
4.5 启动所有服务
    ./sbin/start-all.sh

        注意:启动和关闭所有服务的前提是由ssh免秘钥登录

第二十二记·Spark Standalone环境搭建 监听历史服务配置

master节点的web页面

第二十二记·Spark Standalone环境搭建 监听历史服务配置

5. 简单查看/测试

./bin/spark-shell --help    #查看帮助命令

第二十二记·Spark Standalone环境搭建 监听历史服务配置

    5.1连接到指定的spark standalone集群:

./bin/spark-shell --master spark://hadoop01.com:7070  #使用master连接到指定的spark集群 

第二十二记·Spark Standalone环境搭建 监听历史服务配置

6.运行测试

val res2 = sc.textFile("file:///opt/modules/apache/spark-2.0.2/README.md").flatMap(_.split(" ")).filter(_.nonEmpty).map((_,1)).reduceByKey(_ + _).map(_.swap).top(10).map(_.swap)

第二十二记·Spark Standalone环境搭建 监听历史服务配置

成功。

Spark StandAlone集群的HA配置

    在spark的官网上有提供HA的配置:http://spark.apache.org/docs/2.0.2/spark-standalone.html#high-availability

第二十二记·Spark Standalone环境搭建 监听历史服务配置

第二十二记·Spark Standalone环境搭建 监听历史服务配置

    1. Single-Node Recovery with Local File System --基于文件系统的单节点恢复
    在spark-env.sh配置
    

SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=FILESYSTEM -Dspark.deploy.recoveryDirectory=/user/spark/tmp"
#spark.deploy.recoveryDirectory --> 保存恢复状态的一个目录

    2. Standby Masters with ZooKeeper --基于Zookeeper的Master的HA机制

SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop01:2181 -Dspark.deploy.zookeeper.dir=/spark-ha"

    3.完全分布式的机器分布情况

        这个参考hadoop的配置,但是没有hadoop配置要求那么严格

第二十二记·Spark Standalone环境搭建 监听历史服务配置

Spark应用的监控

    官网:http://spark.apache.org/docs/2.0.2/monitoring.html
    1. 针对我们正在运行的Spark应用,可以通过WEB界面监控,默认端口号是4040,如果4040被占用,就会依次进行端口递增,spark.ui.port来控制,指定你这个应用默认开始的端口号(spark.ui.port=4050 )
    2.配置spark的历史服务
       如果应用已经执行完成了,那可以spark的job history server服务来看
       1. 在HDFS上创建spark应用日志存储路径

$ bin/hdfs dfs -mkdir /spark

       2. 修改spark-default.conf配置文件

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

spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://hadoop01.com:8020/spark

      配置为相应的HDFS Log后,可以运行shell来查看: $ bin/spark-shell --master spark://hadoop01.com:7070

第二十二记·Spark Standalone环境搭建 监听历史服务配置

       3. 配置Spark的job history server
            spark-env.sh
        SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://bigdata.ibeifeng.com:8020/spark/o2o23/history -Dspark.history.ui.port=18080"
        
        4. 启动spark的job history server

$ sbin/start-history-server.sh 

第二十二记·Spark Standalone环境搭建 监听历史服务配置

      访问:http://hadoop01.com:18080

第二十二记·Spark Standalone环境搭建 监听历史服务配置

可以单独查看相应的API信息

第二十二记·Spark Standalone环境搭建 监听历史服务配置

      如:http://hadoop01.com:18080/api/v1/applications