1. 解压spark安装包, 重命名(版本使用: hadoop-2.7.1.tar.gz + spark-2.3.0-bin-hadoop2.7.tgz) 2. 进入 /home/spark/spark-2.2.0/conf 目录3. cp slaves.template slaves 4. vim slaves 将结尾的 localhost(伪分布式) 修改成自己的work节点, 比如 hadoop2 hadoop3(每行一条), 保存退出 5. cp spark-env.sh.template spark-env.sh vim spark-env.sh 添加:
export JAVA_HOME=/usr/java/jdk1.8.0_11
export SPARK_MASTER_IP=hadoop1
export SPARK_MASTER_HOST=hadoop1
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=2 电脑支持超线程的话, 就回支持 原核数*2 个线程, 当前电脑1个cpu, 所以支持2个cores
export SPARK_WORKER_MEMORY=2G
6. scp -r spark-2.2.0 [email protected]:/home/spark 将spark整体拷贝到其他节点机器上 7. 在 master 节点机器上, 进入spark下的sbin 目录中执行 ./start-all.sh 各个节点上执行: jps master节点上出现 Master 进程 slave 节点上出现 Worker 进程 8. 8080端口为spark 的 web 监控端口, 7070为spark 的 数据传输端口9. http://hadoop1:8080 可以看到spark管理界面10. spark在 Standalone 上运行分为俩种模式 1.client Driver 进程是在客户端启动的 Driver 的作用是: 分发任务 回收 task 计算结果 回收 task 执行情况 心跳 可以在提交应用程序的客户端上监控task的执行情况 适用场景: 调试/测试环境(应为会占用网卡流量) 2.cluster Driver 进程是在集群某一台 Worker 上启动的, 无法查看 task 的启动执行情况 适用场景: 生产环境执行命令 1000 表示启动1000个线程来执行任务./spark-submit --master spark://hadoop1:7077 --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.0.jar 1000
原文地址:https://www.cnblogs.com/redhat0019/p/8797044.html
时间: 2024-10-23 00:04:33