1、通过命令向HDFS传输文件
上传:./hadoop fs -put hdfs.cmd (本地文件名) hdfs://主机名称:9000/
hadoop fs -copyFromLocal ./hadoop-config.cmd(本地文件名) /user/(hadoop服务路径)
下载: ./hadoop fs -get hdfs://主机名称:9000/hdfs.cmd
hadoop fs -copyToLocal /user/jdk-7u65-linux-i586.tar.gz (hadoop文件位置路径) /home/hadoop/app/(本地路径)
在浏览器访问http://主机IP:50070,出现以下页面点击如图所示按钮,会看到上传的文件。
2、执行hadoop自带mapreduce程序
到hadoop-2.4.1/share/hadoop/mapreduce 目录下
执行命令:./hadoop jar ../share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar pi 5 5(jar的主类全路径)
3、hadoop :hdfs 存放文件方式
hadoop存放文件方式:切分存放,就是讲一个文件切分为数块,然后放到集群DATANODE中 ,通过NAMENODE来映射每个DATANODE中存放的数据
相当于上传一个文件名为test.txt被分为ABC三块,集群中有三台主机,分别有三个DATANODE :“123” 那么当test.txt被上传到hadoop时,A块放于1 ;B块放于2:C块放于3
而 NAMENODE则记录:A对应1 B对应2 C对应3的映射关系
当向haddop下载时,则先经过NAMENODE映射关系进行文件组装,然后下载到请求指定的位置
总结:
1、hdfs是通过分布式集群来存储文件的,且提供虚拟目录用来便捷访问
2、文件存储到hdfs集群中去时,会被拆分为多个block
3、文件block存放于多个datanode中
4、hdfs文件系统中的文件与真实文件映射关系有namenode管理
5、block存储的是我们的数据文件,按照块号存储的物理文件。
6、每个block在集群中会出现多个副本,提高文件可靠性,和访问吞吐量。
4、core-site.xml设置的NAMENODE节点地址信息
slaves 设置的是DATANODE节点信息