配置hadoop:
第一個:hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_65
選擇修改日誌檔案目錄(預設目錄內日誌檔案太多易混):
export HADOOP_LOG_DIR=/var/log/hadoop
第二個:core-site.xml
<!– 指定HADOOP所使用的檔案系統schema(URI),HDFS的老大(NameNode)的地址 –>
<property>
<name>fs.defaultFS</name>
<value>hdfs://主機名:9000</value>
</property>
<!– 指定hadoop執行時產生檔案的儲存目錄 –>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.4.1/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
第三個:hdfs-site.xml
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>JD:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop-2.4.1/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop-2.4.1/dfs/data</value>
</property>
<!– 指定HDFS副本的數量 –>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.namenode.datanode.registration.ip-hostname-check</name>
<value>false</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
第四個:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
<!– 指定mr執行在yarn上 –>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>JD:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>JD:19888</value>
</property>
第五個:yarn-site.xml
<!– 指定YARN的老大(ResourceManager)的地址 –>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>主機名</value>
</property>
<!– reducer獲取資料的方式 –>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
格式化namenode(首次啟動需要先格式化,不然無法啟動namenode)
hdfs namenode -format (hadoop namenode -format)
http://192.168.74.141:50070 (HDFS管理介面)
http://192.168.74.141:8088 (MR管理介面)
常見問題:
1.使用命令上傳無法成功上傳檔案,檢查到dfs.replication誤設為0;
2.使用eclipse 上傳檔案,hdfs中只有檔名,大小為0,未上傳成功,連線datanode失敗。