学习笔记Spark(二)—— Spark集群的安装配置
一、我的軟件環境
二、Spark集群拓撲
2.1、集群規模
192.168.128.10 master 1.5G ~2G內存、20G硬盤、NAT、1~2核 ; 192.168.128.11 node1 1G內存、20G硬盤、NAT、1核 192.168.128.12 node2 1G內存、20G硬盤、NAT、1核 192.168.128.13 node3 1G內存、20G硬盤、NAT、1核2.2、Spark的安裝模式
1、本地模式
在一個節點上安裝Spark,利用本地線程運行程序,非分布式環境
2、偽分布式
Spark單機偽分布式是在一臺機器上既有Master,又有Worker進程
3、完全分布式
全分布模式用于生產,至少需要3~4臺機器,其中一臺為為主節點,部署Master,其他節點部署Worker
4、HA高可用模式
在完全分布式基礎上利用Zookeeper實現Master主從備份
三、Spark安裝配置
3.1、Spark配置文件
Data: spark mllib里面用到的數據;
Ec2: 部署在亞馬遜云平臺上的腳本
Examples:示例代碼;
Python:python接口;
R:R接口
3.1.1、配置文件解讀
Template是一個模板
HADOOP_CONF_DIR :Hadoop配置文件所在的路徑,Spark需要找到Hadoop里面相關的東西,比如hdfs相關的地址,比如我們可能要上傳數據或者日志需要存在這上面
SPARK_WORKER_INSTANCES :設置每個節點的worker進程
SPARK_WORKER_MEMORY :設置節點能給予executors的所有內存
SPARK_WORKER_CORES :設置這臺機器所用的核數
SPARK_EXECUTOR_CORES :executor使用的核數
SPARK_EXECUTOR_MEMORY :每個executor的內存
Spark_WORKER_CORES :每個WORKER占用多少個核,我們給每個虛擬機配了多少核
SPARK_WORKER_INSTANCES :每個worker節點有多少個實例
比如INSTANCES配了2,有三個節點,那么就有6個WORKER,相當于HADOOP有6個節點
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.進入/opt/spark-2.4.0-bin-hadoop2.6/conf
復制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.啟動Hadoop集群,在HDFS中新建目錄:
hdfs dfs -mkdir /spark-logs6.將Spark安裝包分發到其他節點
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.在所有節點配置Spark環境變量
(master、node1、node2、node3)
在文件尾加入:
export SPARK_HOME=/opt/spark-2.4.0-bin-hadoop2.6 export PATH=$PATH:$SPARK_HOME/bin執行source /etc/profile使命令生效
8.啟動spark
進入/opt/spark-2.4.0-bin-hadoop2.6/sbin
執行
9.查看客戶端
http://master:80803.3、啟動關閉Spark
進入/usr/local/spark-2.4.0-bin-hadoop2.6/
1、啟動Spark
2、啟動日志服務
sbin/start-history-server.sh hdfs://master:8020/spark-logs3、關閉Spark
sbin/stop-all.sh sbin/stop-history-server.sh hdfs://master:8020/spark-logs3.5、查看客戶端
Spark監控:http://master:8080
四、運行第一個Spark程序
進入Spark命令行交互界面:spark-shell
退出交互界面::q
數據文件 a.txt:
I am a student上傳到hdfs的/user/root目錄下
執行:
sc.textFile("/user/root/a.txt").flatMap(x=>x.split(“ “)).map(x=>(x,1)).reduceByKey(_+_)結果展示:
總結
以上是生活随笔為你收集整理的学习笔记Spark(二)—— Spark集群的安装配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学习笔记Spark(一)—— Spark
- 下一篇: 学习笔记Spark(三)—— Spark