Hadoop 分散式配置及Spark on yarn部署
阿新 • • 發佈:2019-01-12
配置Hadoop
Hadoop的叢集部署模式需要修改Hadoop資料夾中/etc/hadoop/中的配置檔案,更多設定項可見官方說明,這裡只設置了常見的設定項:hadoop-env.sh
,yarn-env.sh、
core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves。
- 在hadoop-env.sh中配置JAVA_HOME
# The java implementation to use. export JAVA_HOME=/usr/local/jdk1.7
- yarn-env.sh中配置JAVA_HOME
# some Java parameters export JAVA_HOME
- core-site.xml為全域性配置檔案,修改core-site.xml
<configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/home/hadoop/tmp</value> <description>Abase for other temporary directories.</description
- hdfs-site.xml為HDFS的配置檔案,修改hdfs-site.xml
<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>master:50090</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/hadoop/tmp/dfs/data</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> </configuration>
- mapred-site.xml為MapReduce的配置檔案,修改mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
- yarn-site.xml為YARN資源管理器的配置檔案,修改yarn-site.xml
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
- slaves檔案配置從節點,配置slaves
slave1 slave2
將配置好的Hadoop資料夾分發給slaves
scp -r /opt/hadoop-2.6.0 [email protected]:/opt/ scp -r /opt/hadoop-2.6.0 [email protected]:/opt/
驗證Hadoop是否安裝成功
啟動Hadoop,只需要在master進行下列操作即可
cd /opt/hadoop-2.6.0 #進入Hadoop目錄 sudo bin/hadoop namenode –format #格式化namenode sbin/start-dfs.sh #啟動HDFS sbin/start-yarn.sh #啟動資源管理器
用jps檢視機器上的程序,是否包含以下的程序:
master上的程序:
11164 SecondaryNameNode 17405 Jps 10535 ResourceManager 10949 NameNode
slave上的程序:
2164 DataNode 6440 Jps 1979 NodeManager
進入Hadoop的Web管理頁面:http://master:50070/
注意:各個節點的時間一定要同步!!!!
六、Spark安裝
下載Spark
進入官方網站下載最新Spark,下載地址,這裡我下載的是spark-1.6.1-bin-hadoop2.6.tgz,能夠在Hadoop2.6及更高版本上執行。
下載後,進行解壓
sudo tar -zxvf spark-1.6.1-bin-hadoop2.6.tgz -C /opt/ sudo mv spark-1.6.1-bin-hadoop2.6/ spark-1.6.1 #重新命名檔案
配置Spark
cd /opt/spark-1.6.1/conf/ cp spark-env.sh.template spark-env.sh sudo vi spark-env.sh
在Spark-env.sh檔案尾部新增以下配置:
export JAVA_HOME=/usr/local/jdk1.7 #Java環境變數 export SCALA_HOME=/usr/local/scala-2.10.6 #SCALA環境變數 export SPARK_WORKING_MEMORY=1g #每一個worker節點上可用的最大記憶體 export SPARK_MASTER_IP=master #驅動器節點IP export HADOOP_HOME=/opt/hadoop #Hadoop路徑 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop #Hadoop配置目錄
配置slave主機
$ cp slaves.template slaves $ sudo vim slaves
新增slave主機
slave1
slave2
將配置好的Spark分發給所有的slave
scp -r /opt/spark-1.6.1 [email protected]:~/opt/
驗證Spark是否安裝成功
使用下面的命令,執行Spark
sbin/start-all.sh
用jps檢視機器上的程序,是否包含以下的程序:
master上的程序:
slave上的程序:
進入Spark的Web管理頁面:http://master:8080
執行簡單示例
當需要執行Spark終端,必須將Spark的bin目錄加入到系統路徑。
export SPARK_HOME=/opt/spark-1.6.1 export PATH=$PATH:${SPARK_HOM}/bin
新增Spark的bin目錄路徑後,執行
spark-shell
檢視是否出現歡迎介面,並可以執行scala指令碼