大数据Hadoop学习(11)-Spark集群安装

Spark集群安装

1 Spark安装地址

1.官网地址

http://spark.apache.org/

2.文档查看地址

https://spark.apache.org/docs/2.3.1/

3.下载地址

https://spark.apache.org/downloads.html

2 Standalone模式安装

1)上传并解压spark安装包

[root@node1 module]$ tar -zxvf spark-2.3.1-bin-hadoop2.7.tgz -C /opt/software/
[root@node1 software]$ mv spark-2.3.1-bin-hadoop2.7 spark

2)进入spark安装目录下的conf文件夹

[root@node1 software]$ cd spark/conf/

3)修改配置文件名称

[root@node1 conf]$ mv slaves.template slaves
[root@node1 conf]$ mv spark-env.sh.template spark-env.sh

4)修改slave文件,添加work节点:

[root@node1 conf]$ vim slaves

node1
node2
node3

5)修改spark-env.sh文件,添加如下配置: 46 47 行

[root@node1 conf]$ vim spark-env.sh
SPARK_MASTER_HOST=node1
SPARK_MASTER_PORT=7077 
#服务端口

6)分发spark包

[root@node1 software]$ scp -r spark/ node2:/opt/software/
[root@node1 software]$ scp -r spark/ node3:/opt/software/

7)启动

[root@node1 spark]$ sbin/start-all.sh
[root@node1 spark]$ jsp 
================root@node1================
3330 Jps
3238 Worker
3163 Master
================root@node2================
2966 Jps
2908 Worker
================root@node3================
2978 Worker
3036 Jps

网页查看:node1:8080
注意:如果遇到 “JAVA_HOME not set” 异常,可以在sbin目录下的spark-config.sh 文件中加入如下配置:(三个节点都改)

export JAVA_HOME=/opt/software/jdk1.8.0_161

8)提交任务&执行程序

[root@node1 spark]$ bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://node1:7077 \
--executor-memory 1G \
--total-executor-cores 2 \
./examples/jars/spark-examples_2.11-2.3.1.jar \
100

./bin/spark-submit
–class
–master
–deploy-mode
–conf =
… # other options
\

[application-arguments]

参数说明:

–master spark://node1:7077 指定Master的地址

–class: 你的应用的启动类 (如 org.apache.spark.examples.SparkPi)

–deploy-mode: 是否发布你的驱动到worker节点(cluster) 或者作为一个本地客户端 (client) (default: client)*

–conf: 任意的Spark配置属性, 格式key=value. 如果值包含空格,可以加引号“key=value”

application-jar: 打包好的应用jar,包含依赖. 这个URL在集群中全局可见。 比如hdfs:// 共享存储系统, 如果是 file:// path, 那么所有的节点的path都包含同样的jar

application-arguments: 传给main()方法的参数

–executor-memory 1G 指定每个executor可用内存为1G

–total-executor-cores 2 指定每个executor使用的cup核数为2个

该算法是利用蒙特·卡罗算法求PI

在这里插入图片描述

9)启动spark shell

/opt/software/spark/bin/spark-shell \
--master spark://node1:7077 \
--executor-memory 1g \
--total-executor-cores 2

**注意:**如果启动spark shell时没有指定master地址,但是也可以正常启动spark shell和执行spark shell中的程序,其实是启动了spark的local模式,该模式仅在本机启动一个进程,没有与集群建立联系。

需要先准备数据

[root@node1 hadoop-2.7.0]# hadoop dfsadmin -safemode leave                 
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.

Safe mode is OFF
[root@node1 hadoop-2.7.0]# hadoop fs -mkdir /wordcount                     
[root@node1 hadoop-2.7.0]# hadoop fs -put /root/word.txt /wordcount/           
[root@node1 hadoop-2.7.0]# hadoop fs -ls /wordcount
Found 1 items
-rw-r--r--   3 root supergroup         35 2020-05-14 17:29 /wordcount/word.txt

Spark Shell中已经默认将SparkContext类初始化为对象sc。用户代码如果需要用到,则直接应用sc即可 sparksession 是sparksql

scala> sc.textFile("hdfs://node1:9000/wordcount/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect

res0: Array[(String, Int)] = Array((hello,3), (world,1), (hadoop,1), (nihao,1)))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值