有朋友希望我能教他們學大數據,其實我自己也很一般,所以計划寫幾篇博文,希望能夠幫助到初學者
1.機器准備
1.1准備三台以上Linux服務器,安裝好jdk,安裝過程自行百度。
1.2 安裝open-ssh並配置免密登錄,安裝過程自行百度。
1.3 執行 vi /etc/hosts 指令,修改/etc/hosts 文件,將服務器做如下的域名映射,方便后續的操作。
192.168.179.132 hdp-01
192.168.179.133 hdp-02
192.168.179.134 hdp-03
192.168.179.135 hdp-04
2. 下載Spark安裝包
2.1 在spark官網下載spark2.3.1的安裝包
通過securecrt、xshell或其他工具上傳spark-安裝包到服務器上
解壓安裝包到/usr/local目錄
tar -zxvf spark-2.3.1-bin-hadoop2.8.tgz -C /usr/local
3. 配置Spark
3.1進入到Spark安裝目錄
cd /usr/local/spark-2.3.1
3.2進入conf目錄並重命名並修改spark-env.sh.template文件
cd conf/
mv spark-env.sh.template spark-env.sh
vi spark-env.sh
在該配置文件中添加如下配置
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_111 #根據個人的jdk路徑具體配置
保存退出
3.3重命名並修改slaves.template文件
mv slaves.template slaves
vi slaves
在該文件中添加子節點所在的位置(Worker節點)
保存退出
3.4將配置好的Spark拷貝到其他節點上
scp -r spark-2.3.1/ hdp-01:/usr/local/
scp -r spark-2.3.1/ hdp-02:/usr/local/
scp -r spark-2.3.1/ hdp-03:/usr/local/
3.5 Spark集群配置完畢,目前是1個Master,3個Work,master位於hdp-02,worker位於hdp-01,hdp-03,hdp-04
執行spark目錄下 /sbin/start-all.sh 腳本啟動集群
/usr/local/spark-2.3.1/sbin/start-all.sh
啟動成功后,使用jps查看進程,如master節點上有master進程,worker
節點上有worker進程,則表明集群啟動成功,可以通過8080端口查看集群運行狀態
3.6 到此為止,Spark集群安裝完畢,但是有一個很大的問題,那就是Master節點存在單點故障,要解決此問題,就要借助zookeeper,並且啟動至少兩個Master節點來實現高可用,實際生產環境中,多使用CDH或HDP來構建集群,學習階段搭建普通集群足夠使用,有興趣的可以去做高可用配置,配置如下:
Spark集群規划:hdp-02,hdp-01是Master;hdp-03,hdp-04,hdp-05是Worker
安裝配置zk集群,並啟動zk集群
停止spark所有服務,修改配置文件spark-env.sh,在該配置文件中刪掉SPARK_MASTER_IP並添加如下配置
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=zk1,zk2,zk3 -Dspark.deploy.zookeeper.dir=/spark"
1.在hdp-02節點上修改slaves配置文件內容指定worker節點
2.在hdp-02上執行sbin/start-all.sh腳本,然后在hdp-01上執行sbin/start-master.sh啟動第二個Master
由於內存不足,無法在本地安裝CDH或HDP集群;內存條已購買,電腦內存升級完成后,將出一篇CDH或HDP的安裝教程。
下一篇將簡單地開發一個spark程序,感謝閱讀。
如有疑問,請留言。