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

XY个人记

Standalone集群的配置

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

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

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免秘钥登录

master节点的web页面

5. 简单查看/测试

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

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

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

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集群的HA配置

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

    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应用的监控

    官网: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

       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 

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

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

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值