1.伪分布式hdfs文件系统的搭建(单节点文件系统)
1.1.根据上节的讲解,配置主机映射、jdk和解压hadoop压缩包
1.2.配置namenode
在/opt/modules/hadoop-2.5.0/etc/hadoop/core-site.xml中配置一下内容
<!--配置namenode所在主机和端口-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://life-hadoop.life.com:8020</value>
</property>
<!--配置数据临时目录 如果不存在需要先创建给目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.5.0/data/temp</value>
</property>
<!--配置删除的文件在垃圾箱中存储的时间,单位:分钟-->
<property>
<name>fs.trash.interval</name>
<value>10080</value>
</property>
1.2.1.格式化文件系统
[yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs namenode -format
1.2.2.运行[yanglin@life-hadoop hadoop-2.5.0]$ sbin/hadoop-daemon.sh start namenode查看是否启动成功
或者在浏览器中输入life-hadoop:50070 其中life-hadoop为主机名
1.3.配置secondarynamenode
1.3.1.在/opt/modules/hadoop-2.5.0/etc/hadoop/hdfs-site.xml中配置一下内容
<!--配置secondarynamenode所在的主机-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>life-hadoop.life.com:50090</value>
</property>
1.3.2.运行[yanglin@life-hadoop hadoop-2.5.0]$ sbin/hadoop-daemon.sh start secondarynamenode
1.4.配置datanode
1.4.1.在/opt/modules/hadoop-2.5.0/etc/hadoop/hdfs-site.xml中配置一下内容
<!--配置备份数-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
1.4.2.在/opt/modules/hadoop-2.5.0/etc/hadoop/salves中配置datanode所在的主机
1.4.3.运行[yanglin@life-hadoop hadoop-2.5.0]$ sbin/hadoop-daemon.sh start datanode命令启动datanode
2.到此我们的伪分布式文件系统已经配置完成,接下来进行测试
2.1.查看当前文件系统的目录
[yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs dfs -ls -R /
或者
2.2.创建目录
创建/user/yanglin/conf目录
[yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs dfs -mkdir -p /user/yanglin/conf
可以通过web浏览器进行验证是否创建成功
2.3.上传文件
将本地的etc/hadoop/*-site.xml文件上传到/user/yanglin/conf目录中
[yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs dfs -put etc/hadoop/*-site.xml /user/yanglin/conf
2.4.下载文件
将服务器中的/user/yanglin/conf/core-site.xml下载到当前目录
[yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs dfs -get /user/yanglin/conf/core-site.xml
2.5.查看指定文件的内容
查看/user/yanglin/conf/core-site.xml文件的内容
[yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs -cat /user/yanglin/conf/core-site.xml
2.6.删除指定文件或目录
删除/user/yanglin/conf/test.txt文件
[yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs dfs -rm -r /user/yanglin/conf/test.txt
2.7.跟多hdfs命令可以使用[yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs dfs查看
3.将wrodcount程序运行到hdfs文件系统上
3.1.创建目录
[yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs -mkdir -p /user/yanglin/mapreduce/wordcount/input/
3.2.将测试文件上传到input目录中
[yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs -put wcinput/wc.input /user/yanglin/mapreduce/wordcount/input/
3.3.运行mapreduce程序将运行结果上传到hdfs文件系统
[yanglin@life-hadoop hadoop-2.5.0]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/yanglin/mapreduce/wordcount/input /user/yanglin/mapreduce/wordcount/output
查看是否运行成功:
或者通过
[yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs dfs -ls /user/yanglin/mapreduce/wordcount/output
查看运行结果:
[yanglin@life-hadoop hadoop-2.5.0]$ bin/hdfs dfs -text /user/yanglin/mapreduce/wordcount/output/part*
4.将项目运行到yarn上
4.1.配置resourcemanager节点
4.1.1.在/opt/modules/hadoop-2.5.0/etc/hadoop/yarn-site.xml中配置一下内容
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--配置resourcemanager所在的主机-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>life-hadoop.life.com</value>
</property>
4.1.2.在/opt/modules/hadoop-2.5.0/etc/hadoop/mapred-site.xml中配置一下内容
<!--配置使用的yarn框架来运行mapreduce-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
4.2.配置nodemanager节点
和datanode节点配置一样都是在/opt/modules/hadoop-2.5.0/etc/hadoop/salves文件中
4.3.启动yarn
4.3.1.启动resourcemanager节点
[yanglin@life-hadoop hadoop-2.5.0]$ sbin/yarn-daemon.sh start resourcemanager
4.3.2.启动nodemanager节点
[yanglin@life-hadoop hadoop-2.5.0]$ sbin/yarn-daemon.sh start nodemanager
或者在浏览器中输入life-hadoop:8088
4.3.3.将wordcount程序运行在yarn上
[yanglin@life-hadoop hadoop-2.5.0]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/yanglin/mapreduce/wordcount/input /user/yanglin/mapreduce/wordcount/output
和3.3一样查看是否运行成功或者
单点击history是不能显示,是因为没有配置日志聚集功能
5.配置日志聚集
在/opt/modules/hadoop-2.5.0/etc/hadoop/yarn-site.xml中配置一下内容
<!-- 配置日志聚集-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 配置日志的有效时间 7天 单位为秒-->
<property>
<name>yarn.log-aggregation.retain-check-interval-seconds</name>
<value>604800</value>
</property>
重启resouremangager和nodemanger重新运行wordcount程序即可