大數據第5周
1.Hadoop系統配置
1.1 環境配置
需要配置兩個文件:hadoop-env.sh和yarn-env.sh,配置JAVA_HOME變量。
-
vi hadoop-env.sh,修改成瞭如下內容:
-
vi yarn-env.sh,增加了一句:export JAVA_HOME=/home/user1/jdk1.8。
1.2 配置core-site.xml
在文件中添加如下內容:
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/user1/hadoopdata</value>
</property>
1.3 配置hdfs-site.xml
在文件中添加如下內容:
<property>
<name>dfs.replication</name>
<value>1</value>
<!--設置dfs的副本數,我們設置爲1,這種情況下,數據沒有任何安全性-->
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
<!--設置secondnamenode的地址,我們當前設置到namenode節點上,這種設置極其不合理,但考慮到我們當前的情況-->
</property>
1.4 配置yarn-site.xml
在文件中添加如下內容:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8035</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
1.5 配置mapred-site.xml
先把模板文件另存爲非模板文件:cp mapred-site.xml.template mapred-site.xml
在文件中添加如下內容
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
1.6 配置slaves文件
刪除文件原內容,添加
slave0
slave1
2.拷貝hadoop文件包到其他節點。
scp -r hadoop-2.7 slave0:~
scp -r hadoop-2.7 slave1:~
3. 啓動hadoop集羣前準備
3.1在namenode上建立文件夾
按照core-site.xml文件,建立文件夾。
3.2格式化namenode
hadoop namenode –format
如果顯示DEPRECATED: Use of this script to execute hdfs command is deprecated.Instead use the hdfs command for it.
原來從0.21.0版本以後,hadoop 命令換成了hdfs命令,上面的命令如同下面的命令
hdfs namenode –format
命令執行後如果看到這句:
說明格式化成功了。
如格式化不成功,下次格式化之前,需要刪除在namenode上建立的文件夾hadoopdata,然後重新建立文件夾hadoopdata。
4.啓動Hadoop集羣
start-all.sh
執行後,用jps檢查java線程,master節點如圖,slave節點如圖:
如果不成功,檢查配置文件。
測試:上傳一個文件到集羣 hadoop fs –put 文件名 /,然後檢查:hadoop fs –ls /
5關閉集羣
stop-all.sh
關閉虛擬機之前,請務必先關閉集羣。