hadoop基本文件配置:

馬克- to-win:馬克 java社區(qū):防盜版實名手機尾號: 73203。
馬克-to-win @ 馬克java社區(qū):hadoop配置文件位于:/etc/hadoop下(etc即:“etcetera”(附加物))



core-site.xml:

<configuration>
     <property>
       <name>fs.defaultFS</name>
       <value>hdfs://localhost:9000</value>
     </property>
</configuration>

注意:以上說的就是缺省的文件系統(tǒng)是端口是9000,協(xié)議是hdfs,所以在瀏覽器中是看不到效果的。而后面配置eclipse
的hdfsLocation 時,端口也是9000(必須一致)。雖然瀏覽器看不到,但是程序和eclipse當中可以看到hdfsLocation,即根目錄下的東西。所以可以說:這里的值指的是默認的HDFS路徑。瀏覽器中可以用http://localhost:50070 來觀看。(當然根據(jù)我們所講的namenode和datanode的知識,可知道一個hdfs的文件可能拆成很多block,分布在集群的不同機器上)當start-dfs時,會讀這里的信息。如果不啟動start-dfs,eclipse中讀hdfsLocation時,是讀不出東西的。原因:hdfs服務(wù)器在start-dfs時聽9000端口。eclipse必須配成9000,才能要向hdfs服務(wù)器要數(shù)據(jù),展示根目錄下的東西。

hdfs-site.xml:


<configuration>
       <property>
                <name>dfs.namenode.name.dir</name>
 <value>file:/Users/dell/Downloads/hadoop-2.7.4/hadoop-2.7.4/data/dfs/namenode</value>
       </property>

       <property>
               <name>dfs.datanode.data.dir</name>        <value>file:/Users/dell/Downloads/hadoop-2.7.4/hadoop-2.7.4/data/dfs/datanode</value>
       </property>
</configuration>

備注:第二次在d盤做時,用的是如下的配置(注意要先創(chuàng)建相應(yīng)的空文件夾data/namenode等):

<configuration>
       <property>
                <name>dfs.namenode.name.dir</name>
 <value>/D:/hadoop-2.7.4/data/namenode</value>
       </property>

       <property>
               <name>dfs.datanode.data.dir</name>      
    <value>/D:/hadoop-2.7.4/data/datanode</value>
       </property>
</configuration>

注意:以上對namenode和datanode兩個屬性必須得設(shè)置,否則的話,后面的start-dfs啟動不了。當然eclipse里的hdfsLocation也不能正常使用。




注意:馬克-to-win @ 馬克java社區(qū):防盜版實名手機尾號:73203。一個HDFS集群包含一個NameNode和若干的DataNode(start-dfs命令就啟動了NameNode和DataNode), NameNode是管理者,主要負責(zé)管理hdfs文件系統(tǒng),具體包括namespace命名空間管理(即目錄結(jié)構(gòu))和block管理。DataNode主 要用來存儲數(shù)據(jù)文件,因為文件可能巨大無比(大數(shù)據(jù)),HDFS將一個文件分割成一個個的block,這些block可能存儲在一個DataNode上或 者多個DataNode上。DataNode負責(zé)實際的底層的文件的讀寫。舉個例子:如果客戶端client程序發(fā)起了讀hdfs上的某個文件的指令, NameNode首先將找到這個文件對應(yīng)的block,然后NameNode告知client,這些block數(shù)據(jù)在哪些DataNode上,之后, client將直接和DataNode交互。



mapred-site.xml:

<configuration>
       <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>
       </property>
</configuration>

注意:以上的配置文件,只用在集群模式下。在local的模式下,當以jar包運行,比如:hadoop jar WordCount.jar /README.txt /output4時,必須配置為空。即:<configuration></configuration>,因為空的,缺省的模式就是local模式。而在local的模式下,如果配成yarn,不能成功執(zhí)行。在local的模式下,當在eclipse里面運行時,那里的 MapReduce Master要配置成local就能運行,和這里的配置文件配不配成yarn無關(guān)。


6)格式化系統(tǒng)文件:

hadoop/bin下執(zhí)行: hdfs namenode -format

如不報錯的話,會在namenode文件里自動生成一個current文件夾,則格式化成功。




7)啟動hadoop

到hadoop/sbin下執(zhí)行: start-dfs
這樣會出現(xiàn)兩個窗口,一個是namenode,一個是datanode.

測試:http://localhost:50070