本地文件运行Hadoop 案例-02
HDFS上运行MapReduce 程序
修改hadoop-env.sh文件,env结尾的文件都是修改里面的java路径
修改core-site.xml,指定Namenode路径
下面这是用的notpad++的ftp功能,这个属性官网上查到默认是在本地的file:///三个斜杠表示本地的意思.修改成自己的ip地址.因为现在是为分布式,都在一台电脑上,所以配一个地址就可以了.hadoop101是我在/etc/hosts文件里配置过的.
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop101:8020</value>
</property>
修改hdfs-site.xml,指定副本数个数
dfs副本数默认是3个,因为现在就一个节点,所以配置为1
第一次启动伪分布式集群,先格式化namenode
hdfs namenode -format 格式化namenode ,注意,以后所有操作都在自己创建的那个用户权限下执行命令
ps表示查看进程,jps表示查看java的进程,现在是什么都没有的
sbin/hadoop-daemon.sh start namenode 启动namenode进程
启动datanode sbin/hadoop-daemon.sh start datanode
启动失败的话,这里有启动的日志可以查看错误.这种以log结尾的文件就是启动日志文件
hadoop还提供了一个hdfs的web页面端口为50070,红框框的点一下进去就是hdfs的存放路径,这页面只能查看,不能修改
在hdfs上创建文件夹hadoop fs 和 bin/hdfs dfs是等价的,-p表示创建多级目录
hadoop fs -mkdir -p /user/kxj/input
bin/hdfs dfs -mkdir -p /user/kxj/input
-R表示递归查询/目录下的所有文件
hadoop fs -put wcinput/wc* /user/kxj/input把测试文件上传到hdfs上去
在hdfs上执行程序,只需要把后面的输入输出路径改为hdfs上的路径就可以了
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/kxj/input /user/kxj/output
可以下载下来进行查看
hadoop fs -cat /user/kxj/output/part-r-00000使用操作命令进行查看,一般后面跟的都和linux命令相似
hadoop fs -rmr /user/kxj/output 删除hdfs上的文件夹,rmr表示递归删除
在yarn上运行wordcount程序
修改这两个文件里的java路径yarn-env.sh mapred-env.sh
修改yarn-site.xml ,上面的这都是固定写法
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop101</value>
</property>
对mapred-site.xml.template重新命名为 mapred-site.xml,然后编辑它,指定mapreduce运行在yarn上.默认是在本地运行.
mv mapred-site.xml.template mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
然后启动集群,先启动namenode,datanode,再启动resourcemanager,nodemanager
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
8088端口就是运行mapreduce程序进度
然后进行测试,首先把上面测试完后生成的output文件删掉
然后还是执行上面的那个执行命令,就会发现在yarn上运行的时候就会有进度条了,这就是yarn在资源管理.
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/kxj/input /user/kxj/output