学习笔记Spark(二)—— Spark集群的安装配置
一、我的軟件環(huán)境
二、Spark集群拓?fù)?/h1>
2.1、集群規(guī)模
192.168.128.10 master 1.5G ~2G內(nèi)存、20G硬盤(pán)、NAT、1~2核 ;
192.168.128.11 node1 1G內(nèi)存、20G硬盤(pán)、NAT、1核
192.168.128.12 node2 1G內(nèi)存、20G硬盤(pán)、NAT、1核
192.168.128.13 node3 1G內(nèi)存、20G硬盤(pán)、NAT、1核
2.2、Spark的安裝模式
1、本地模式
在一個(gè)節(jié)點(diǎn)上安裝Spark,利用本地線程運(yùn)行程序,非分布式環(huán)境
2、偽分布式
Spark單機(jī)偽分布式是在一臺(tái)機(jī)器上既有Master,又有Worker進(jìn)程
3、完全分布式
全分布模式用于生產(chǎn),至少需要3~4臺(tái)機(jī)器,其中一臺(tái)為為主節(jié)點(diǎn),部署Master,其他節(jié)點(diǎn)部署Worker
4、HA高可用模式
在完全分布式基礎(chǔ)上利用Zookeeper實(shí)現(xiàn)Master主從備份
三、Spark安裝配置
3.1、Spark配置文件
Data: spark mllib里面用到的數(shù)據(jù);
Ec2: 部署在亞馬遜云平臺(tái)上的腳本
Examples:示例代碼;
Python:python接口;
R:R接口
3.1.1、配置文件解讀
Template是一個(gè)模板
HADOOP_CONF_DIR :Hadoop配置文件所在的路徑,Spark需要找到Hadoop里面相關(guān)的東西,比如hdfs相關(guān)的地址,比如我們可能要上傳數(shù)據(jù)或者日志需要存在這上面
SPARK_WORKER_INSTANCES :設(shè)置每個(gè)節(jié)點(diǎn)的worker進(jìn)程
SPARK_WORKER_MEMORY :設(shè)置節(jié)點(diǎn)能給予executors的所有內(nèi)存
SPARK_WORKER_CORES :設(shè)置這臺(tái)機(jī)器所用的核數(shù)
SPARK_EXECUTOR_CORES :executor使用的核數(shù)
SPARK_EXECUTOR_MEMORY :每個(gè)executor的內(nèi)存
Spark_WORKER_CORES :每個(gè)WORKER占用多少個(gè)核,我們給每個(gè)虛擬機(jī)配了多少核
SPARK_WORKER_INSTANCES :每個(gè)worker節(jié)點(diǎn)有多少個(gè)實(shí)例
比如INSTANCES配了2,有三個(gè)節(jié)點(diǎn),那么就有6個(gè)WORKER,相當(dāng)于HADOOP有6個(gè)節(jié)點(diǎn)
3.1.2、配置文件解讀
3.2、配置步驟
1.上傳spark-2.4.0-bin-hadoop2.6.tgz到/opt目錄,并解壓
tar -zxf /opt/spark-2.4.0-bin-hadoop2.6.tgz2.進(jìn)入/opt/spark-2.4.0-bin-hadoop2.6/conf
復(fù)制slaves.template:
修改slaves,先刪除其中的localhost,然后添加:
node1 node2 node33.修改spark-defaults.conf
cp spark-defaults.conf.template spark-defaults.conf vi spark-defaults.conf添加:
spark.master spark://master:7077 spark.eventLog.enabled true spark.eventLog.dir hdfs://master:8020/spark-logs spark.history.fs.logDirectory hdfs://master:8020/spark-logs4.修改spark-env.sh
cp spark-env.sh.template spark-env.sh vi spark-env.sh添加:
JAVA_HOME=/usr/java/jdk1.8.0_221-amd64 HADOOP_CONF_DIR=/opt/hadoop-3.1.4/etc/hadoop SPARK_MASTER_IP=master SPARK_MASTER_PORT=7077 SPARK_WORKER_MEMORY=512m SPARK_WORKER_CORES=1 SPARK_EXECUTOR_MEMORY=512m SPARK_EXECUTOR_CORES=1 SPARK_WORKER_INSTANCES=15.啟動(dòng)Hadoop集群,在HDFS中新建目錄:
hdfs dfs -mkdir /spark-logs6.將Spark安裝包分發(fā)到其他節(jié)點(diǎn)
scp -r /opt/spark-2.4.0-bin-hadoop2.6/ node1:/opt/ scp -r /opt/spark-2.4.0-bin-hadoop2.6/ node2:/opt/ scp -r /opt/spark-2.4.0-bin-hadoop2.6/ node3:/opt/7.在所有節(jié)點(diǎn)配置Spark環(huán)境變量
(master、node1、node2、node3)
在文件尾加入:
export SPARK_HOME=/opt/spark-2.4.0-bin-hadoop2.6 export PATH=$PATH:$SPARK_HOME/bin執(zhí)行source /etc/profile使命令生效
8.啟動(dòng)spark
進(jìn)入/opt/spark-2.4.0-bin-hadoop2.6/sbin
執(zhí)行
9.查看客戶(hù)端
http://master:80803.3、啟動(dòng)關(guān)閉Spark
進(jìn)入/usr/local/spark-2.4.0-bin-hadoop2.6/
1、啟動(dòng)Spark
2、啟動(dòng)日志服務(wù)
sbin/start-history-server.sh hdfs://master:8020/spark-logs3、關(guān)閉Spark
sbin/stop-all.sh sbin/stop-history-server.sh hdfs://master:8020/spark-logs3.5、查看客戶(hù)端
Spark監(jiān)控:http://master:8080
四、運(yùn)行第一個(gè)Spark程序
進(jìn)入Spark命令行交互界面:spark-shell
退出交互界面::q
數(shù)據(jù)文件 a.txt:
I am a student上傳到hdfs的/user/root目錄下
執(zhí)行:
sc.textFile("/user/root/a.txt").flatMap(x=>x.split(“ “)).map(x=>(x,1)).reduceByKey(_+_)結(jié)果展示:
總結(jié)
以上是生活随笔為你收集整理的学习笔记Spark(二)—— Spark集群的安装配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 学习笔记Spark(一)—— Spark
- 下一篇: 学习笔记Spark(三)—— Spark