Spark Standalone 以及 HDFS系統環境搭建
阿新 • • 發佈:2019-02-06
Hdfs環境搭建
- 下載最新版本的Hadoop編譯好的tar包:http://hadoop.apache.org/releases.html
- 確認HDFS namenode和datanode的角色,並將namenode以及datanode的ip機器名對應關係寫進每臺機器的/etc/hosts檔案。
-
確認namenode可以不需要密碼就一個通過ssh聯通datanode結點。
執行如下命令 (1) ssh-keygen -t rsa "" //生成sshkey (2) 將 ~/.ssh/id_rsa.pub 公鑰檔案的內容拷貝到每臺datanode機器的 ~/.ssh/authorized_keys檔案中。 (3) 測試從namenode 到 datanode的連線,現在應該是通的了。
-
配置hadoop的配置檔案。
(1) 在環境變數中配置HADOOP_HOME、JAVA_HOME、HADOOP_CONF_DIR,其中 HADOOP_CONF_DIR指向 $HADOOP_HOME/etc/hadoop (2) 修改 HADOOP_CONF_DIR 目錄下的幾個*.site.xml檔案,參考官網:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html (3) 將配置好後的hadoop包分發到每個namenode和datanode結點,並相應的配置環境變數。 (4) 剩下的在namenode結點按照官網來啟動 sbin/目錄下的那些shell,參考上面的官網連結。 (5) 此時去每臺機器用JPS命令看下,結點程序應該都起來了。 (6) 訪問 namenode的50070埠,應該能看到相應的結點資訊。
Spark環境搭建
Spark以Standalone的方式啟動,檔案系統可以依賴上面搭建的HDFS檔案系統。Spark Standalone搭建啟動方式如下:
(1) 從官網:http://spark.apache.org/ 下載最新版本的spark 編譯好的 tar包。 (2) 解壓後參考官網配置:http://spark.apache.org/docs/latest/spark-standalone.html (3) 注意master結點和worker結點的spark安裝包要在同一個linux檔案系統路徑下。 (4) 在master結點的 conf/slaves 檔案中,將work結點的ip地址填寫好,每行一個。 (5) 分別執行sbin/start-master.sh 和 sbin/start-slaves檔案。 (6) 此時可以看到master結點啟動了一個master程序,worker結點啟動了slave程序。
注意點
通過如下命令提交spark任務時,注意jar包如果是本地檔案(即:還沒有put到hdfs檔案系統中,file:/xxxx.jar 本地檔案訪問協議),則需要這個jar包在每個結點都存在,並且是完全相同的路徑。如果是已經put到了hdfs檔案系統中,則指定hdfs檔案系統的路徑就可以了例如:hdfs://xxxx.jar
./bin/spark-submit \
--class <main-class>
--master <master-url> \
--deploy-mode <deploy-mode> \
--conf <key>=<value> \
... # other options
<application-jar> \
[application-arguments]