一、Spark概述
spark官網:spark.apache.org
Spark是用的大規模數據處理的統一計算引擎,它是為大數據處理而設計的快速通用的計算引擎。spark誕生于加油大學伯克利分校AMP實驗室。
mapreduce(MR)與spark的對比:
1.MR在計算中產生的結果存儲在磁盤上,spark存儲在內存中;
spark安裝詳細教程。 2.磁盤運行spark的速度是MR的10倍,內存運行spark是MR的100多倍;
3.spark并不是為了替代Hadoop,而是為了補充Hadoop;
4.spark沒有存儲,但他可以繼承HDFS。
Spark啟用的是內存分布式數據集,而Scala語言可以輕松的處理分布式數據集,Scala語言可以說是為Spark而生的,而Spark 的出現推動了Scala語言的發展。
?
二、Spark特點
hadoop部署, 1.速度快
磁盤運行spark的速度是MR的10倍,內存運行spark是MR的100多倍;
Spark使用最先進的DAG調度程序,查詢優化器和物理執行引擎,實現批處理和流處理的高性能。
注釋:DAG:有向無環圖,上一個RDD的計算結果作為下一個RDD計算的初始值,可以迭代成千上萬次。
?? 查詢優化器:指的是spark sql
批處理:spark sql
hadoop安裝實驗報告心得、 流處理:spark streaming
2.便于使用
支持Java/Scala/python/R/SQL編寫應用程序
3.通用性高
不僅支持批處理、流處理,
還支持機器學習(MLlib:machine learning library)和圖形計算(GraphX)
spark的部署模式有哪幾種? 4.兼容性高
Spark運行在Hadoop,Apache Mesos。Kubernetes,獨立或云端。它可以訪問各種數據源。
Spark實現了Standalone模式作為內置的資源管理和調度框架。
?
三、Spark的安裝部署
1.準備工作:
docker hadoop。 新建三臺虛擬機(建議2G內存,1G也可以)/使用遠程連接工具連接 / 關閉防火墻 / 修改主機名
/ 修改映射文件 / 設置免密登陸 / 安裝jdk(1.8以上版本)
2.在官網下載spark 安裝包(我是2.2.0版本)
然后上傳到Linux系統,解壓,刪包,重命名
3.修改spark部分配置文件
進入spark->conf
spark客戶端安裝配置。 1)重命名spark-env.sh.template 為 spark-env.sh,進入該文件
添加配置信息:
export JAVA_HOME=/root/sk/jdk1.8.0_132 //jdk安裝路徑
export SPARK_MASTER_HOST=spark-01 //spark主節點機器名
export SPARK_MASTER_PORT=7077 ? //spark主機點端口號
2)重命名slaves.template(好像是這個)為slaves,進入該文件
hadoop的安裝和使用, 刪除最后一行“localhost”
添加:spark-02
spark-03 //其他兩臺從節點worker,便于一鍵啟動
4.發送修改好的spark解壓文件夾到其他兩臺機器
scp -r sprk sprk-02:$PWD
5.啟動spark,訪問web頁面
spark flink、 在spark 的sbin目錄下輸入命令:
./start-all.sh
然后通過ip:端口號訪問UI界面,如:
192.168.50.186:8080
四、Spark的UI界面詳解
?URL:統一資源定位符,spark-master的訪問地址
? REST URL:可以通過rest的方式訪問集群
? Alive Workers:存活的worker數量
? cores in use:可以使用的核心數量
?Memory in use:可以使用的內存大小
? Applications:正在運行和已經完成的應用程序
? Driver:通過driver提交的任務情況
? Status:節點的狀態
?