搭建分布式hdfs系统(hadoop distributed file system)
1:准备环境,jdk安装,ssh免密码登陆通道,即作为namenode的机器建立本机及其他datenode机器通道
2:拷贝hadoop到要作为name的机器上,修改hadoop-env.sh中的java_home路径,修改hadoop-site.xml文件如下:
<configuration>
<property>
<name>fs.default.name</name>
<value>core1:10100</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>core1:10101</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/zxf/hadoop/tmp/</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/zxf/hdfs_data/name/</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/zxf/hdfs_data/data/</value>
</property>
<property>
<name>mapred.system.dir</name>
<value>/home/zxf/mapred/system/</value>
</property>
<property>
<name>mapred.system.dir</name>
<value>/home/zxf/mapred/local/</value>
</property>
<property>
<name>mapred.tasktracker.map.tasks.maximum</name>
<value>5</value>
</property>
<property>
<name>mapred.tasktracker.reduce.tasks.maximum</name>
<value>5</value>
</property>
</configuration>
3:在conf的slaves文件中加入作为datanode的机器的主机名,当然你的/etc/hosts文件中有对应ip绑定,或者有dns解析,当然也可直接填入datanode的ip地址,如下:
[zxf@core1 conf]$ cat slaves
core2
core3
core4
core5
core6
4:打包hadoop并拷贝到datanode的机器上(和namenode相同路径),解压.
5:文件系统初始化
bin/hadoop namenode -format
6:启动
bin/start-all.sh
7:检查
bin/hadoop dfs -put src .
把hadoop的src目录放到文件系统中,此过程缓慢,系统把src目录下的所有目录及文件创建到hdfs的当前用户下
查看目录
bin/hadoop dfs -ls
用之前的clinet程序测试,修改hadoop-site.xml为:
<configuration>
<property>
<name>fs.default.name</name>
<value>core1:10100</value>
</property>
<property>
<name>hadoop.job.ugi</name>
<value>zxf,zxf</value>
</property>
</configuration>
测试目录操作,完成
至此hdfs系统搭建完成
心情: 一般