hadoop2.7.3下spark2.1.0安装_yarn作业提交

已安装hadoop2.7.3,安装spark2.1.0

设f1为master,f2至f5位worker

软件安装目录设为/data

1-下载安装scala-2.11.8

https://www.scala-lang.org/download/

tar -zxvf  scala-2.11.8.tgz 至/data 下

配置环境变量

vi /etc/profile 

export SCALA_HOME=/data/scala-2.11.8

export PATH=$PATH: ${SCALA_HOME}/bin

测试:scala -version

2-下载安装spark-2.1.0-bin-hadoop2.7.tgz

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

解压至/data 下

spark-2.1.0 文件夹及子文件的用户组和用户均设为hadoop的安装用户如haduser

chown -R haduser spark-2.1.0

chgrp  -R haduser spark-2.1.0

修改conf文件夹spark-env.sh和slaves

cp  spark-env.sh.template spark-env.sh

在spark-env.sh添加

export SCALA_HOME=/data/scala-2.11.8
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.121-2.6.8.0.el7_3.x86_64
export SPARK_MASTER_IP=flow01

export SPARK_WORKER_MEMORY=1g

export HADOOP_CONF_DIR=/data/hadoop-2.7.3/etc/hadoop
cp  slaves.template  slaves
 添加子节点
f2
f3
f4
f5

3-测试

Hadoop启动

1-HDFS格式化

./bin/hdfs -namenode -format

2-启动HDFS

./sbin/start-dfs.sh

3-启动yarn

./sbin/start-yarn.sh

4-在hadoop的安装目录中创建文件目录并上传文件

./bin/hdfs dfs -ls /

./bin/hdfs dfs -mkdir /WordCount

可以通过Web查看,http://xxxx(namenode的节点ip):50070

5-上传本地文件

./bin/hdfs dfs -put input.txt  /WordCount


在spark目录中sbin目录下执行./start-all.sh

基于集群启动spark-shell,在bin目录下执行

./spark-shell --master Spark://xxxx(MasterURL,要和http://f1:8080界面上的一致,xxxx必须为ip):7077

打开web UI

http://xxxx(启动shell节点的IP):4040和8080
在spark-shell下执行

val file=sc.textFile("hdfs://f1:9000/WordCount/input")
val rdd = file.flatMap(line => line.split(" ")).map(word => (word,1)).reduceByKey(_+_)
rdd.collect()
rdd.foreach(println)

退出spark-shell,输入 ":quit"

4-进程说明

主节点:

(1)Hadoop的HDFS服务:NameNode

(2)Hadoop的Yarn服务:ResourceManger

(3)Spark的Master服务:Master

Slaves节点:

(1)Hadoop的HDFS服务:DataNode

(2)Hadoop的Yarn服务:NodeManger

(3)Spark的Slave服务:Work


备注

多次运行spark-shell时会先报错(默认端口4040被占用,会自动重试知道找到合适的端口)

这里也可以在启动设置端口如 --conf “spark.ui.port”=4041,依次递增

引申:spark属性配置三种方式

  • 在提交命令时用--conf配置配置文件(如conf/spark-defalut.conf)
  • 在配置文件启动项中添加(conf/spark-env.sh中Spark_DAEMON_JAVA_OPTS)
  • 指定配置文件进行设置

5-提交作业(例f4上)

1-程序的jar存储于:/data/SparkLearnMvnPro.jar

2-提交

 最后一个10为参数,实际上本次提交的WordCount不需要输入参数,貌似2.0有个bug,随便给一个就行(spark task中正修)

参考:http://spark.apache.org/docs/latest/running-on-yarn.html

./bin/spark-submit --class com.dt.spark.main.WordCount \
--master yarn \
--deploy-mode cluster \
--driver-memory 4g \
--executor-memory 2g \
--executor-cores 1 \
/data/SparkLearnMvnPro.jar \
10

3-查看执行

访问日志的tracking URL查看执行情况

访问:http://hadoop主机:8088 查看applications


你可能感兴趣的:([3]Spark)