spark 第一天
hadoop
-------------
[webui]
namenode:50070
datanode:50075
2nn :50090
RM :8088
[hbase]
master :16010
-------------
spark
并发:单机下多线程计算
并行:分布式集群下的计算,非单机
-------------------
***********************************1*****************************
spark word count
1.加载文件
scala>val textFile=sc.textFile("/opt/spark/conf/spark-env.sh.template")
2.存入一个RDD,flatMap为压扁,line是每一行
scala>val wordCounts=sc.textFile.flatMap(line => line.split(" ")).map(word =>(word,1)).reduceByKey((a,b)=> a+b)
scala>wordCounts.collect()
RDD:弹性分布式数据集
------------
word count过程
scala>val a=sc.textFile("/opt/spark/user/word") //存为textFile;弹性分布数据集
scala>val y=v.map(line=>line.split(" ")) //二维数组形式,由于数据量大会很麻烦,所以不可取,应该采取压扁方式
scala>val b=a.flatMap(line=>line.split(" ")) //将数据扁平化
scala>val c=b.map(w=>(w,1)) //将数据变为元祖的集合
scala>val d =c.reduceByKey((a,b)=>a+b) //将对偶集合
scala>d.collect //成功word count
--------------
******************************2********************************
spark 支持库
-------------
库 描述 支持语言
Spark SQL 使用SQL和DataFrame API SCALA,JAVA,PYTHON,R
Spark streaming 实时数据流处理 scala,java,python
Spark MLlib 机器学习应用开发 scala,java,python,r
Spark Graphx 图计算增量库 scala
--------------
*****************************3**********************************
trabsformations
---------------
变换:返回新的rdd
flat + filter +
********************************4***************************
actions
---------------
动作:collect + reduceByKey
*******************************5****************************
spark集群部署配置
--------------------
1.复制3个默认文件
cp spark-env.sh.template spark-env.sh
cp slaves.template slaves
cp spark-defaults.conf.template spark-defaults.conf
2.vi slaves
去掉localhost,加上master slave1 slave2
3.vi spark-defaults.conf
4.vi spark-env.sh
5.分发spark和/etc/profile
scp -r spark slave1:/opt/
scp /etc/profile slave2:/etc/
------------------------------------
6.启动集群(三个全开,不用开hadoop)
【master】
1.cd /opt/spark/sbin
2../start-all.sh (在哪个节点启动的,哪个节点就是master)
3.jsp查看master有master和worker,slave1有worker,slave2有worker,不然是证明有问题
4.登陆192.168.218.134:8080 此为spark webui
************************************7**********************************
分析opt/spark/sbin下 start-all.sh脚本
1.
-->sbin/start-config.sh //配置
-->sbin/start-master.sh //启动master
-->sbin/start-slaves.sh //启动worker
2.start-config.sh
-->export SPARK_CONF_DIR=$SPARK_HOME/conf //处理环境变量spark
-->export PYSPARK_xxx
3.start-master.sh
-->Class...master.Master
-->bin/spark-class $Class ..
-->sbin/spark-config.sh
-->bin/load-spark-env.sh
-->set SPARK_MASTER_PORT=7077
-->set SPARK_MASTER_WEBUI_PORT=8080
4.start-slaves.sh
-->sbin/spark-config.sh
-->bin/load-spark-env.sh
-->sbin/slaves.sh ... sbin/start-slave.sh spark://xxx:7077
5.bin/load-spark-env.sh
6.sbin/slaves.sh
-->sbin/spark-config.sh
-->for .. slaves
7.start-slave.sh
--worker webui //http://slave1:8081
start--slave.sh --help
-->... worker.Worker
-->
8.spark-daemon.sh
-->sbin/spark-config.sh
-->
spark-daemon.sh start org.apache.spark.deploy.worker.Worker 5

浙公网安备 33010602011771号