Spark环境搭建之Standalone独立集群

原理

在这里插入图片描述

操作

  1. 集群规划
node01:master
ndoe02:worker/slave
  1. 配置slaves/workers
进入配置目录:
cd /export/servers/spark/conf
修改配置文件名称:
mv slaves.template slaves
vim slaves
添加以下内容:
node02
  1. 配置master
进入配置目录:
cd /export/servers/spark/conf

修改配置文件名称:
mv spark-env.sh.template spark-env.sh
修改配置文件:
vim spark-env.sh
增加如下内容:
## 设置JAVA安装目录
JAVA_HOME=$JAVA_HOME

## HADOOP软件配置文件目录,读取HDFS上文件和运行Spark在YARN集群时需要,先提前配上
HADOOP_CONF_DIR=/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
YARN_CONF_DIR=/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop

## 指定spark老大Master的IP和提交任务的通信端口
SPARK_MASTER_HOST=node01
SPARK_MASTER_PORT=7077

SPARK_MASTER_WEBUI_PORT=8080

SPARK_WORKER_CORES=1
SPARK_WORKER_MEMORY=1g
  1. 分发
将配置好的将 Spark 安装包分发给集群中其它机器,命令如下:
cd /export/servers/
scp -r spark root@node02:$PWD

测试

1.集群启动和停止

在主节点上启动spark集群:
/export/servers/spark/sbin/start-all.sh 

在主节点上停止spark集群:
/export/servers/spark/sbin/stop-all.sh

在主节点上单独启动和停止Master:
start-master.sh
stop-master.sh

在从节点上单独启动和停止Worker(Worker指的是slaves配置文件中的主机名):
start-slaves.sh
stop-slaves.sh

2.jps查看进程

node01:master
node02:worker

3.http://node01:8080/

在这里插入图片描述

4.启动spark-shell

/export/servers/spark/bin/spark-shell --master spark://node01:7077
在这里插入图片描述

5.提交WordCount任务

  • 上传测试文件到hdfs
    hdfs dfs -put /export/data/Spark/words.txt /wordcount/input/words.txt
  • 目录如果不存在可以创建
    hdfs dfs -mkdir -p /wordcount/input
  • 提交代码
val textFile = sc.textFile("hdfs://node01:8020/wordcount/input/words.txt")
val counts = textFile.flatMap(_.split(" ")).map((_,1)).reduceByKey(_ + _)
counts.collect
counts.saveAsTextFile("hdfs://node01:8020/wordcount/output47")

6.查看结果

http://node01:50070/explorer.html#/wordcount/output47
在这里插入图片描述

7.查看spark任务web-ui

http://node01:4040/jobs/

总结:
spark: 4040 任务运行web-ui界面端口
spark: 8080 spark集群web-ui界面端口
spark: 7077 spark提交任务时的通信端口

hadoop: 50070集群web-ui界面端口
hadoop:8020/9000(老版本) 文件上传下载通信端口

猜你喜欢

转载自blog.csdn.net/zh2475855601/article/details/114645131