新闻网大数据实时分析可视化系统项目——14、Spark2.X环境准备、编译部署及运行...
1.Spark概述
Spark 是一個(gè)用來實(shí)現(xiàn)快速而通用的集群計(jì)算的平臺(tái)。
在速度方面, Spark 擴(kuò)展了廣泛使用的 MapReduce 計(jì)算模型,而且高效地支持更多計(jì)算模式,包括交互式查詢和流處理。 在處理大規(guī)模數(shù)據(jù)集時(shí),速度是非常重要的。速度快就意味著我們可以進(jìn)行交互式的數(shù)據(jù)操作, 否則我們每次操作就需要等待數(shù)分鐘甚至數(shù)小時(shí)。
Spark 的一個(gè)主要特點(diǎn)就是能夠在內(nèi)存中進(jìn)行計(jì)算, 因而更快。不過即使是必須在磁盤上進(jìn)行的復(fù)雜計(jì)算, Spark 依然比 MapReduce 更加高效。
2.Spark生態(tài)系統(tǒng)
3.Spark學(xué)網(wǎng)站
1)databricks 網(wǎng)站
2)spark 官網(wǎng)
3)github 網(wǎng)站
4.Spark2.x源碼下載及編譯生成版本
1)Spark2.2源碼下載到bigdata-pro02.kfk.com節(jié)點(diǎn)的/opt/softwares/目錄下。
解壓
tar -zxf spark-2.2.0.tgz -C /opt/modules/
2)spark2.2編譯所需要的環(huán)境:Maven3.3.9和Java8
3)Spark源碼編譯的方式:Maven編譯、SBT編譯(暫無)和打包編譯make-distribution.sh
a)下載Jdk8并安裝
tar -zxf jdk8u11-linux-x64.tar.gz -C /opt/modules/
b)JAVA_HOME配置/etc/profile
vi /etc/profile
export JAVA_HOME=/opt/modules/jdk1.8.0_11
編輯退出之后,使之生效
source /etc/profile
c)如果遇到不能加載當(dāng)前版本的問題
rpm -qa|grep jdk
rpm -e --nodeps jdk版本
which java 刪除/usr/bin/java
d)下載并解壓Maven
下載Maven
解壓maven
tar -zxf apache-maven-3.3.9-bin.tar.gz -C /opt/modules/
配置MAVEN_HOME
vi /etc/profile
export MAVEN_HOME=/opt/modules/apache-maven-3.3.9
export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=1024M -XX:ReservedCodeCacheSize=1024M"
編輯退出之后,使之生效
source /etc/profile
查看maven版本
mvn -version
e)編輯make-distribution.sh內(nèi)容,可以讓編譯速度更快
VERSION=2.2.0
SCALA_VERSION=2.11.8
SPARK_HADOOP_VERSION=2.5.0
#支持spark on hive
SPARK_HIVE=1
4)通過make-distribution.sh源碼編譯spark
./dev/make-distribution.sh --name custom-spark --tgz -Phadoop-2.5 -Phive -Phive-thriftserver? -Pyarn
#編譯完成之后解壓
tar -zxf spark-2.2.0-bin-custom-spark.tgz -C /opt/modules/
5.scala安裝及環(huán)境變量設(shè)置
1)下載
2)解壓
tar -zxf scala-2.11.8.tgz -C /opt/modules/
3)配置環(huán)境變量
vi /etc/profile
export SCALA_HOME=/opt/modules/scala-2.11.8
4)編輯退出之后,使之生效
source /etc/profile
6.spark2.0本地模式運(yùn)行測(cè)試
1)啟動(dòng)spark-shell測(cè)試
./bin/spark-shell
scala> val textFile = spark.read.textFile("README.md")
textFile: org.apache.spark.sql.Dataset[String] = [value: string]
?
scala> textFile.count()
res0: Long = 126
?
scala> textFile.first()
res1: String = # Apache Spark
?
scala> val linesWithSpark = textFile.filter(line => line.contains("Spark"))
linesWithSpark: org.apache.spark.sql.Dataset[String] = [value: string]
?
scala> textFile.filter(line => line.contains("Spark")).count() // How many lines contain "Spark"?
res3: Long = 15
2)詞頻統(tǒng)計(jì)
a)創(chuàng)建一個(gè)本地文件stu.txt
vi /opt/datas/stu.txt
hadoop? storm?? spark
hbase?? spark?? flume
spark?? dajiangtai???? spark
hdfs??? mapreduce????? spark
hive??? hdfs??? solr
spark?? flink?? storm
hbase?? storm?? es?????
solr??? dajiangtai???? scala
linux?? java??? scala
python? spark?? mlib
kafka?? spark?? mysql
spark?? es????? scala
azkaban oozie?? mysql
storm?? storm?? storm
scala?? mysql?? es
spark?? spark?? spark
b)spark-shell 詞頻統(tǒng)計(jì)
./bin/spark-shell
scala> val rdd = spark.read.textFile("/opt/datas/stu.txt")
#詞頻統(tǒng)計(jì)
scala> val lines = rdd.flatmap(x => x.split(" ")).map(x => (x,1)).rdd.reduceBykey((a,b) => (a+b)).collect
#對(duì)詞頻進(jìn)行排序
scala> val lines = rdd.flatmap(x => x.split(" ")).map(x => (x,1)).rdd.reduceBykey((a,b) => (a+b)).map(x =>(x._2,x._1)).sortBykey().map(x => (x._2,x._1)).collect
7.spark 服務(wù)web監(jiān)控頁(yè)面
通過web頁(yè)面查看spark服務(wù)情況
bigdata-pro01.kfk.com:4040
轉(zhuǎn)載于:https://www.cnblogs.com/ratels/p/10845039.html
總結(jié)
以上是生活随笔為你收集整理的新闻网大数据实时分析可视化系统项目——14、Spark2.X环境准备、编译部署及运行...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大学里为什么有的人会认识很多学长,本学院
- 下一篇: java信息管理系统总结_java实现科