注意:1.搭建環境:Ubuntu64位,Linux(也有Windows的,我還沒空試)
2.一般的配置jdk、Scala等的路徑環境是在/etc/profile里配置的,我自己搭建的時候發現我自己在profile配置環境會有問題,比如說:我配置了spark,source了profile,啟動spark是沒問題的,但是當我想再次啟動spark的時候,
就會啟動失敗,需要再source一遍profile,所以我把所有的需要配置環境的命令都寫在了 ~/.bashrc文件里,只需要source一遍就好了。
3.我只是菜鳥,如果有什么地方說錯了,大家一定要跟我說,我改。或者大家有更好的辦法,麻煩教我一下,謝謝!
一、設置SSH免密登入:
(一般Ubuntu自帶客戶端了,所以只需要裝服務端即可。可通過命令:dpkg -l | grep ssh 查看是否安裝有服務端和客戶端,安裝客戶端命令:sudo apt-get install opendssh-client)
1、安裝服務端,安裝命令: sudo apt-get install openssh-server,可能會需要輸入用戶密碼,輸入按回車繼續。可能它還會詢問是否繼續,輸入 Y 回車繼續。安裝成功后,使用命令 ssh localhost 測試安裝的SSH是否能正常連接,連接需要輸入用戶的密碼
2、設置免密碼登錄步驟:
(1)生成密鑰,命令:ssh-keygen。執行過程中會要求你輸入連接用的密碼,不要輸入任何東西,直接回車。系統會在~/.ssh目錄生成密鑰文件(id_rsa 私鑰,id_rsa.pub公鑰),執行成功的結果如圖所示。
(2)將生成公鑰的內容添加到authorized_keys文件中,命令:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
(3)修改authorized_keys和~/.ssh文件權限,命令:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
(4)設置成功后,可以驗證一下是否成功,命令:ssh localhost ,如果不需要輸入用戶密碼,即為設置成功。
二、JDK的安裝與配置
1、解壓JDK的安裝包,解壓命令:tar -zvxf jdk-8u181-linux-x64.tar.gz -C /opt
2、配置環境變量,在 /etc/profile 文件中添加如下內容:
export JAVA_HOME=/opt/jdk1.8.0_181 # 配置JAVA_HOME
export CLASS_PATH=/opt/jdk1.8.0_181/lib # 配置類路徑
export PATH=$PATH:$JAVA_HOME/bin # 添加bin路徑到PATH,添加后可以在命令行中直接使用java相關命令
3、重新執行剛修改的/etc/profile文件,使配置的環境立即生效,命令: source /etc/profile
4、JDK安裝配置完成之后,在命令行輸入命令:java –version,檢查JDK是否安裝無誤
三、Scala的安裝與配置
1、 解壓Scala的安裝包,解壓命令:tar -zvxf scala-2.11.12.tgz -C /opt
2、 配置環境變量,在 /etc/profile 文件中添加如下內容:
export SCALA_HOME=/opt/scala-2.11.12 # 配置SCALA_HOME
export PATH=$PATH:$SCALA_HOME/bin # 添加bin目錄到PATH
3、重新執行剛修改的/etc/profile文件,使配置的環境立即生效,命令: source /etc/profile
4、Scala安裝配置完成之后,在命令行輸入命令:scala,檢查Scala是否安裝無誤。
四、Spark的安裝與配置
1、解壓Spark的安裝包,解壓命令: tar -zvxf spark-2.3.3-bin-hadoop2.7.tgz -C /opt
2、 配置環境變量,在 /etc/profile 文件中添加如下內容:
export SPARK_HOME=/opt/spark-2.3.3-bin-hadoop2.7 # 配置SPARK_HOME
export PATH=$PATH:$SPARK_HOME/bin # 添加bin目錄到PATH
3、重新執行剛修改的/etc/profile文件,使配置的環境立即生效,命令: source /etc/profile
4、修改Spark配置文件
(1)復制模板文件,將在Spark的conf目錄中的spark-env.sh.template、log4j.properties.template、slaves.template三個文件拷貝為spark-env.sh、log4j.properties、slaves到同一目錄下(conf文件夾),注意把.template去掉,然后Spark啟動時就會對文件中的配置項進行讀取,否則找不到配置。命令如下:
cd /opt/spark-2.3.3-bin-hadoop2.7/conf // 進入到配置文件夾中
sudo cp spark-env.sh.template spark-env.sh // Spark環境相關
sudo cp log4j.properties.template log4j.properties // Spark日志相關
sudo cp slaves.template slaves // Spark集群節點
5、設置spark-2.3.3-bin-hadoop2.7文件夾可讀可寫可執行權限,命令:
cd /opt
sudo chmod 777 spark-2.3.3-bin-hadoop2.7/
6、Spark已經安裝配置完成了,進入到Spark目錄中的sbin路徑下,運行 ./start-all.sh啟動集群,測試一下剛剛安裝的Spark。
7、命令行輸入spark-shell來檢查spark是否安裝無誤,成功運行的畫面如圖:(spark默認是用Scala語言,如果想用python編寫看第9個步驟。)
8、Spark集群啟動完成后打開瀏覽器輸入地址:localhost:8080,即可查看集群的UI界面,沒有出現UI界面,就返回去檢查一下之前環境配置是否有問題,spark是否start-all。
9、可以在命令行直接啟動pyspark,命令為 pyspark,啟動成功后的畫面如圖:
以上搭建的環境只能讓你在命令行模式編寫spark,等我過段時間有空了再教大家在pycharm里搭建spark。