hadoop伪分布式环境搭建、测试与配置详解
来源:互联网 发布:android手机刷linux 编辑:程序博客网 时间:2024/06/05 03:51
本文参考均来源于此处http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-common/SingleCluster.html
刚入门hadoop网上有好多搭建hadoop伪分布式的资料,而且相互之间都有区别,弄得小编有点糊涂,终于搞定了,做个记录方便以后查看,也希望其他新手少走弯路,若有表述不准确大虾还望见谅!
小编以wordcount为例,在yarn上以伪分布式模式运行mapreduce任务:
一、相关软件路径和测试文本内容
1、JDK安装路径:/home/lyy/modules/jdk1.8.0_131
2、hadoop安装路径:/home/lyy/modules/hadoop-2.6.0
Java与hadoop的环境变量自己配置,小编不在此赘述
3、测试文本名字:mr.input
4、测试文本内容:(如下所示)
测试文本随便放一个路径就可以了,但必须记住,小编放在了home下,如图所示
二、相关文件配置
配置文件位置如下图所示:
1、hadoop-env.sh:这个文件中只配置
JAVA_HOME=/home/lyy/modules/jdk1.8.0_131,如下图所示:
2、core-site.xml: 这个属性作用是告诉操作系统当前任务使用分布式文件系统,而不是本地文件系统。有人也许会问,什么是本地文件系统,什么是分布式文件系统(HDFS)?本地文件系统就是我们平时在Ubuntu的终端里操作的cd、ls 、mkdir等等进去一个目录,找个文件、创建啊 删除什么的,这就是本地文件系统。HDFS是一个与本地文件系统独立的文件系统,哪里也可以存放文件,它也有进入、创建、查看、删除,上传、下载等命令,先这么记着,具体操作下面再说,配置如下图所示:
<property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value></property>
3、hdfs-site.xml: 这个属性用来设置节点的个数,默认是3,因为是伪分布式只有一台机器,所以改成1。属性放在configuration之间,如上图所示,下面的也一样,就不一张张贴图了。
<property> <name>dfs.replication</name> <value>1</value> </property>
4、yarn-site.xml: 这个属性的作用是让mapreduce任务跑在yarn上,yarn可以理解为一个操作系统一样的东西,上面可以跑各种计算框架,mapreduce只是hadoop计算框架的一种。如果不配置,则mapreduce任务就跑在本地上。
<property> <name>mapreduce.framework.name</name> <value>yarn</value></property>
5、yarn-site.xml:这个属性是对服务器命名的一个限制,记住就好了。
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value></property>
三、启动HDFS和YARN
刚开始建议在这个目录下输入下列命令:
第一次启动hdfs需要先格式化一下,namenode,以后就不需要了,命令如下:
bin/hdfs namenode -format
启动namenode:
sbin/hadoop-daemon.sh start namenode
启动datanode:
sbin/hadoop-daemon.sh start datanode
启动yarn:
sbin/start-yarn.sh
输入jps查看启动是否成功:
四、运行wordcount程序
安装好hadoop后,里面自带了wordcount的demo,在这里可以找见:
还记得在core-site.xml这个文件中配置了属性,让mapreduce任务使用分布式文件系统么,但是我们的测试文本mr.input放在本地文件系统的home目录下面,所以我们得把mr.input上传到hdfs中,在上传之前,还得先在hdfs中建立一个目录用来存放mr.input。
创建目录,命令如下:
hdfs dfs -mkdir -p /user/lyy/input
上传mr.input,命令如下:
hdfs dfs -put ~/wc.input /user/lyy/input
hadoop提供了以web的方式来查询hdfs,在浏览器中输入:
http://192.168.174.128:50070
其中,192.168.174.128是虚拟机的IP,50070是分布式文件系统的端口,会出现如下界面:
选择浏览文件系统,红圈所示。
就能看到刚才创建的目录和上穿的文件。
文件上传好了,运行wordcount程序,命令如下:
hadoop jar ~/modules/hadoop-2.6.0/share/hadoop/mapreduce2/hadoop-mapreduce-examples-2.6.0-cdh5.11.0.jar wordcount /user/lyy/intput/mr.input /user/lyy/output
回车,上述命令详解,见这个链接:
http://blog.csdn.net/yy_diego/article/details/72774833
出现如下界面则表示成功:
计算结果存放在output中:
查询计算结果,命令如下:
hdfs dfs -cat /user/lyy/output/part*
计算结果如下图所示:
第一次觉得写博客好费时间,上述操作小编亲测成功,若表述有误,大虾见谅!
- hadoop伪分布式环境搭建、测试与配置详解
- hadoop伪分布式环境搭建与测试
- 单机伪分布式环境搭建(配置Hadoop)
- Hadoop 2.6 集群搭建从零开始之3 Hadoop的安装与配置(伪分布式环境)
- Hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- 伪分布式hadoop环境搭建
- Hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- hadoop伪分布式环境搭建
- Hadoop伪分布式环境搭建
- 施一公:大学的意义(清华大学生命科学学院2015年毕业典礼的讲话)(转载)
- 机器学习常用算法总结
- Hibernate表单映射_学习笔记
- [LeetCode] Interleaving String
- 纯css画表情
- hadoop伪分布式环境搭建、测试与配置详解
- PostgreSQL 远程连接设置
- Problem C: 来开个书店吧
- java 中strtus2 实现 ajax
- Android网络请求库
- sudo ionic emulate ios 错误解决
- Android 判断当前是否在WIFI网络下
- Unity链接SQL server
- HTTP缓存