條件
採用64位Oracle Linux 6.4, JDK:1.8.0_131 64位, Hadoop:2.7.3
Spark集羣實驗環境共包含3臺服務器,每臺機器的主要參數如表所示:
服務器 | HOSTNAME | IP | 功能 |
---|---|---|---|
spark1 | spark1 | 92.16.17.1 | NN/DN/RM Master/Worker |
spark2 | spark2 | 92.16.17.2 | DN/NM/Worker |
spark3 | spark3 | 92.16.17.3 | DN/NM/Worker |
過程
預先準備工作
在 spark1 主節點上解壓 Hadoop 安裝包,該包已上傳至 /stage 目錄:
接着,將解壓好的 hadoop-2.7.3 目錄整體移動到 /app/hadoop 目錄下:
接下來,編輯 /etc/profile 文件,添加如下圖矩形框內所示環境變量項:
注意:/etc/profile 文件修改完成後,需要重啓系統以使新添加的環境變量生效
另外需要在 HADOOP_HOME目錄下分別創建tmp, name, data, logs四個子目錄,如下圖所示:
最後,確認Hadoop版本和路徑信息正確
修改YARN配置文件
需要修改的 YARN 配置文件保存在$HADOOP_HOME/etc/haoop目錄下,需要修改的文件共有 7 個,分別是:core-site.xml, hadoop-env.sh, hdfs-
site.xml, yarn-site.xml, yarn-env.sh, mapred-site.xml, slave.
-
core-site.sh
在<configuration></configuration>
之間添加如下圖所示內容:
-
hadoop-env.sh
打開 hadoop-env.sh, 添加 HADOOP_LOG_DIR 環境變量項,修改HADOOP_CONF_DIR,PATH和JAVA_HOME以及HADOOP_環境變量值:
編譯hadoop-env.sh,確認修改生效
-
hdfs-site.xml
-
yarn-env.sh
-
yarn-site.xml
-
mapred-site.xml
先要從mapred-site.xml.template模板中複製出mapred-site.xml文件,然後再編輯mapred-site.xml, 添加內容:
-
slave
編輯slaves, 刪除原有條目,添加三臺主機的名稱:
向各節點分發Hadoop程序
在 spark1 主節點上,使用 scp 命令把 hadoop-2.7.3 目錄複製到 spark2 和 spark3 主機的 /app/hadoop 目錄下: