hadoop基本文件配置:

馬克- to-win:馬克 java社區(qū):防盜版實(shí)名手機(jī)尾號(hào): 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>

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

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




注意:馬克-to-win @ 馬克java社區(qū):防盜版實(shí)名手機(jī)尾號(hào):73203。一個(gè)HDFS集群包含一個(gè)NameNode和若干的DataNode(start-dfs命令就啟動(dòng)了NameNode和DataNode), NameNode是管理者,主要負(fù)責(zé)管理hdfs文件系統(tǒng),具體包括namespace命名空間管理(即目錄結(jié)構(gòu))和block管理。DataNode主 要用來(lái)存儲(chǔ)數(shù)據(jù)文件,因?yàn)槲募赡芫薮鬅o(wú)比(大數(shù)據(jù)),HDFS將一個(gè)文件分割成一個(gè)個(gè)的block,這些block可能存儲(chǔ)在一個(gè)DataNode上或 者多個(gè)DataNode上。DataNode負(fù)責(zé)實(shí)際的底層的文件的讀寫。舉個(gè)例子:如果客戶端client程序發(fā)起了讀hdfs上的某個(gè)文件的指令, NameNode首先將找到這個(gè)文件對(duì)應(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的模式下,當(dāng)以jar包運(yùn)行,比如:hadoop jar WordCount.jar /README.txt /output4時(shí),必須配置為空。即:<configuration></configuration>,因?yàn)榭盏模笔〉哪J骄褪莑ocal模式。而在local的模式下,如果配成yarn,不能成功執(zhí)行。在local的模式下,當(dāng)在eclipse里面運(yùn)行時(shí),那里的 MapReduce Master要配置成local就能運(yùn)行,和這里的配置文件配不配成yarn無(wú)關(guān)。


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

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

如不報(bào)錯(cuò)的話,會(huì)在namenode文件里自動(dòng)生成一個(gè)current文件夾,則格式化成功。




7)啟動(dòng)hadoop

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

測(cè)試:http://localhost:50070