一、部署运行HDFS文件系统
1.在hadoop的安装目录下有core-site.xml和hdfs-site.xml这两个文件,下面分别配置这两个文件:
core-site.xml:
<property>
<name>fs.defaultFS</name>
<value>hdfs://hostname/ip:8020</value>
</property>
<!--Hadoop的数据临时存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.5.0/data/tmp</value>
</property>
hdfs-site.xml:
<!-- hdfs文件备份数-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
2.可以在Hadoop的安装目录下使用命令: bin/hdfs来查看hdfs的命令。
下面我们使用上面的命令来格式化HDFS文件系统(第一次使用要格式化)。
bin/hdfs namenode -format
3.下面我们就开始启动HDFS文件系统,可以查看sbin这个目录来查看启动的脚本:
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
启动可以使用jps命令发现已经启动成功,如果启动过程中遇到问题,在hdfs启动时它会在Hadoop安装目录下自动创建一个logs目录来存储日志文件,可以查看分析。
HDFS也为我们提供了WEB界面,可以使用主机名+端口号(50070)在浏览器上访问。
二、使用HDFS上的数据运行MapReduce WordCount案例
1.我们在打开web界面之后打开下面界面:
在HDFS文件系统中有一个约定,就是我们每一个用户都会在user目录下以用户名来创建一个文件夹:
bin/hdfs dfs -mkdir -p /user/shinelon
然后我们就可以在这个目录下创建自己相应的文件夹,下面我们来上传数据。
2.我们要上传数据到HDFS系统上去,可以使用put命令:
#wcinput/wc.input要上传的文件,后面是上传的目录
bin/hdfs dfs -put wcinput/wc.input /user/shinelon/mapreduce/wordcount/input/
上传之后我们可以使用ls和cat命令来查看上传是否成功以及其内容:
bin/hdfs dfs -ls /user/shinelon/mapreduce/wordcount/input/wc.input
bin/hdfs dfs -cat /user/shinelon/mapreduce/wordcount/input/wc.input
2.上传数据之后我们就可以处理在HDFS上的数据了,运行mapreduce的wordcount案例:
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/shinelon/mapreduce/wordcount/input/ /user/shinelon/mapreduce/wordcount/output
运行上面命令后我们来查看结果