两台机器上的HDFS

这里是官方文档

先不配置mapred ,只配HDFS。 目标是把HDFS配置在两台机器,b2和b3上,其中b2作为namenode和datanode,b3作为datanode。

此时,与前面的单机版进行比较。 对于core-site.xml而言。因为这个将会运行在多台机器上,所以localhost 要被改掉。
新的配置如下:

<configuration>      

 <property>      

 <name>fs.defaultFS</name>       

 <!-- <value>hdfs://localhost:9000</value> 这是单机的配置-->        

 <value>hdfs://b2:9000</value>       

 </property>         

 <property>      

 <name>io.file.buffer.size</name>        

 <value>131072</value>       

 </property>         

</configuration>         

另外,为了能够让集群找到机器,需要修改每台机器的/etc/hosts , 其中要列明每台机器的ip和名字。如上的b2是列在每天机器的/etc/hosts中。

其次需要修改hdfs-site.xml , 其中需要配置,namenode,namenode的目录,datanode,datanode目录,fs的块大小。下面是我使用的配置,因为只有两台机器,所以把dfs.replication设为了2.

<configuration>      

<!--         

 <property>      

 <name>dfs.replication</name> 这是单机版的设置       

 <value>1</value>        

 </property>         

-->      

 <property>      

 <name>dfs.replication</name>        

 <value>2</value>        

 </property>         

 <property>      

 <name>dfs.namenode.name.dir</name>      

 <value>file:/home/xuyang/nameNodeDir</value>        

 </property>         

 <property>      

 <name>dfs.namenode.hosts</name>         

 <value>b2,b3</value>        

 </property>         

 <property>      

 <name>dfs.blocksize</name>      

 <value>268435456</value>        

 </property>         

 <property>      

 <name>dfs.namenode.handler.count</name>         

 <value>100</value>      

 </property>         

 <property>      

 <name>dfs.datanode.data.dir</name>      

 <value>file:/home/xuyang/dataNodeDir</value>        

 </property>         

</configuration>

设置完成以后,需要建立目录/home/xuyang/nameNodeDir和/home/xuyang/dataNodeDir 。 正常情况下,b3的/home/xuyang/nameNodeDir将不会被用到。

有了以上的更改以后,确认两台机器上的配置一样。我的做法是直接将设置好的硬盘做一个镜像,让b3直接用这个镜像就可以了。

然后启动两台机器在b2上运行:


bin/hdfs namenode -format   #格式化

./sbin/hadoop-daemon.sh  –config ./etc/hadoop/  –script hdfs start namenode

./sbin/hadoop-daemon.sh  –config ./etc/hadoop/  –script hdfs start datanode


注意在b2上同时启动了namenode和datanode。

在b3上运行:


./sbin/hadoop-daemon.sh  –config ./etc/hadoop/  –script hdfs start datanode


此时HDFS已经起来。通过http://b2:50070 可以查看HDFS的状态。 并可以浏览其中的文件。

对于多台机器,需要做的让多台机器在这个镜像上运行,同时,在每台机器上启动datanode即可。不过现在还没有试验过。



本文地址: http://www.bagualu.net/wordpress/archives/4197 转载请注明




发表评论

电子邮件地址不会被公开。 必填项已用*标注