一、Spark3.0.0
1.1 注意事项
1.注意事项:spark对应hadoop的版本只有两种,一种2.7以上,一种3.2以上版本
2.spark3.0.0使用Scala2.12编译的
3.spark3.0.0下载地址:https://archive.apache.org/dist/spark/spark-3.0.0/
1.2 安装节点信息部署
二、Spark3.0.0-StandAlone
2.1 解压安装
tar -zxvf spark-3.0.0-bin-hadoop3.2 -C /root/apps/
cd conf mv spark-env.sh.template spark-env.sh mv slaves.template slaves # 1.vi spark-env.sh export JAVA_HOME=/usr/local/jdk-1.8.1_261/ export SPARK_MASTER_HOST=hadoop1 # 2.vi slaves【主节点配置就好,也就是启动节点,子节点不配置也好】 hadoop2 hadoop3 hadoop4 # 3.scp 集群 scp -r spark-3.0.0-bin-hadoop3.2 hadoop2:$PWD scp -r spark-3.0.0-bin-hadoop3.2 hadoop3:$PWD scp -r spark-3.0.0-bin-hadoop3.2 hadoop4:$PWD 或者写一个脚本循环: for i in {2..4}; do scp -r spark-3.0.0-bin-hadoop3.2/ hadoop$i:PWD; done # 4.启动集群 sbin/start-all.sh # 5.访问节点 hadoop1:8080
2.2【可选】配置Worker的CPU核数,内存
# vi spark-env.sh export SPARK_WORKER_CORES=2 export SPARK_WORKER_MEMORY=3g
三、Spark3.0.0-HA【非重点】
3.1 借助zookeeper
# 1.启动zookeeper bin/zkServer.sh start # 2.查看有没有spark以前的节点信息,有的话删掉 bin/zkCli.sh ls / # 3.删掉spark目录 rmr /spark
3.2 【3台】修改配置文件
注释掉指定的主节点信息
# 1. vi spark-env.sh export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop1:2181,hadoop2:2181,hadoop3:2181 -Dspark.deploy.zookeeper.dir=/spark" # 2.主节点启动 一台主节点和所有的子节点 sbin/start-all.sh # 3. 再hadoop2启动一台Master sbin/start-master.sh # 4.测试,杀掉haoop1,hadoop2就会上线成为Master[Active]
四、Spark-Shell
4.1 启动spark-shell【本机】
bin/spark-shell
4.2 spark-shell【链接集群】
bin/spark-shell --master spark://hadoop1:7077
4.3 提交Hadoop中的文本的单词计数
scala>sc.textFile("hdfs://hadoop1:9000/data").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).sortBy(_._2,false).saveAsTextFile("hdfs://hadoop1:9000/out-16")