Hadoop伪分布模式安装以及在Eclipse中运行第一个MapReduce项目
2015-06-17 18:17
761 查看
伪分布模式. Hadoop守护进程运行在本地机器上,模拟一个小规模的的集群。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。
伪分布模式安装前提:单机模式已经安装好,详情请见:单机模式安装
接下来只需要配置即可
1 配置core-site.xml hdfs-site.xml mapred-site.xml
core-site.xml: Hadoop Core的配置项,例如HDFS和MapReduce常用的I/O设置等。
hdfs-site.xml: Hadoop 守护进程的配置项,包括namenode,辅助namenode和datanode等。
mapred-site.xml: MapReduce 守护进程的配置项,包括jobtracker和tasktracker。(注意:hadoop2.7.0中没有这个文件,只需要将mapred-site.xml.template这个文件copy一份命名为 mapred-site.xml即可)。
1)core-site.xml
2:启动Hadoop到相关服务,格式化namenode, secondarynamenode, tasktracker:
3:启动hadoop
1)接着执行start-all.sh来启动所有服务,包括namenode,datanode,start-all.sh脚本用来装载守护进程。会遇到一个警告
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...using builtin-java classses where applicable 这个可以不用管,如果你觉得很难受,那就查资料吧。
2)用Java的jps命令列出所有守护进程来验证安装成功
(Hadoop中用于监控集群健康状态的Web界面)
至此,hadoop的伪分布模式已经安装成功。接下来我们在eclipse运行第一个MapReduce项目
1:在Ubuntu下安装eclipse 这一步就省略了。去官网上下载合适的安装包即可
2:在eclipse 下安装MapReduce插件
这一步网上有两种方法 一种是自己编译,一种是下载现成的,我选择是后者。
直接去https://github.com/winghc/hadoop2x-eclipse-plugin 下载压缩文件,release文件夹下有 ,我就分享下吧:eclipse—MapReduce插件下载 ,然后进行eclipse插件安装,这里安装方法很多不在详细表述,重启eclipse 会看到在window菜单Preference下搜寻MapReduce 即可出现 ,我们输入hadoop根目录
同时添加Locations
进入进行配置 M/P master 端口号对应mapred-site.xml
DFS Master 端口号对应core-site.xml 完成后点击finish
打开DFS Location 此时刷新 会有相应的Location Name 命名的 DFS 地址 如果报错显示连接失败,建议重新Format 和重启hadoop
3:运行WordCount 例子
1)新建一个MapReduce项目New->Project->Map/Reduce Project 然后将Hadoop自带的WordCount.java 放入项目src中,去掉最上面的package
2) 在usr/hadoop下新建一个input文件夹,里面新建两个文件
textWordCount1内容是: Hello World Bye World
textWordCount2内容是: Hello Hadoop Goodbye Hadoop
然后上传目录到DFS (换做命令行就是如下命令)
成功后会在dfs下显示input文件夹。
3)运行wordcount,在Run之前进行如下设置Arguments,注意按照dfs地址格式来!
运行的时候会报没有Log4j的警告,但实际已经运行生成,为了能在控制台看到数据运行,我们新建一个log4j.properties 放在项目的src下,里面写如下
这就可以在控制台看到相关信息,然后运行wordcount,结果会生成output目录,里面就会有成功的文件part-r-00000,里面会显示统计的单词和词频
至此就大功告成,欢迎各位CSDN网友指正不足之处!
伪分布模式安装前提:单机模式已经安装好,详情请见:单机模式安装
接下来只需要配置即可
1 配置core-site.xml hdfs-site.xml mapred-site.xml
core-site.xml: Hadoop Core的配置项,例如HDFS和MapReduce常用的I/O设置等。
hdfs-site.xml: Hadoop 守护进程的配置项,包括namenode,辅助namenode和datanode等。
mapred-site.xml: MapReduce 守护进程的配置项,包括jobtracker和tasktracker。(注意:hadoop2.7.0中没有这个文件,只需要将mapred-site.xml.template这个文件copy一份命名为 mapred-site.xml即可)。
1)core-site.xml
<configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/hadoop/tmp</value> </property> </configuration>2)hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.name.dir</name> <value>/usr/hadoop/datalog1,/usr/hadoop/datalog2</value> </property> <property> <name>dfs.data.dir</name> <value>/usr/hadoop/data1,/usr/hadoop/data2</value> </property> </configuration>3 )mapred-site.xml
<configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> </configuration>
2:启动Hadoop到相关服务,格式化namenode, secondarynamenode, tasktracker:
hadoop@Rev:/usr/hadoop/hadoop2.7.0$ hadoop namenode -format如果看到下面信息就表明成功!
/************************************************************ SHUTDOWN_MSG: Shutting down NameNode at derekUbun/127.0.1.1 ************************************************************/此时会在/usr/hadoop/下生成几个文件夹:
3:启动hadoop
1)接着执行start-all.sh来启动所有服务,包括namenode,datanode,start-all.sh脚本用来装载守护进程。会遇到一个警告
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...using builtin-java classses where applicable 这个可以不用管,如果你觉得很难受,那就查资料吧。
2)用Java的jps命令列出所有守护进程来验证安装成功
hadoop@Rev:/usr/hadoop$ jps如果出现类似下面这种就是启动成功了
4384 SecondaryNameNode 4676 NodeManger 4008 NameNode 5003 Jps 4541 ResourceManger 4141 DataNode3)检查运行状态 http://localhost:8088/
(Hadoop中用于监控集群健康状态的Web界面)
至此,hadoop的伪分布模式已经安装成功。接下来我们在eclipse运行第一个MapReduce项目
1:在Ubuntu下安装eclipse 这一步就省略了。去官网上下载合适的安装包即可
2:在eclipse 下安装MapReduce插件
这一步网上有两种方法 一种是自己编译,一种是下载现成的,我选择是后者。
直接去https://github.com/winghc/hadoop2x-eclipse-plugin 下载压缩文件,release文件夹下有 ,我就分享下吧:eclipse—MapReduce插件下载 ,然后进行eclipse插件安装,这里安装方法很多不在详细表述,重启eclipse 会看到在window菜单Preference下搜寻MapReduce 即可出现 ,我们输入hadoop根目录
同时添加Locations
进入进行配置 M/P master 端口号对应mapred-site.xml
DFS Master 端口号对应core-site.xml 完成后点击finish
打开DFS Location 此时刷新 会有相应的Location Name 命名的 DFS 地址 如果报错显示连接失败,建议重新Format 和重启hadoop
3:运行WordCount 例子
1)新建一个MapReduce项目New->Project->Map/Reduce Project 然后将Hadoop自带的WordCount.java 放入项目src中,去掉最上面的package
2) 在usr/hadoop下新建一个input文件夹,里面新建两个文件
textWordCount1内容是: Hello World Bye World
textWordCount2内容是: Hello Hadoop Goodbye Hadoop
然后上传目录到DFS (换做命令行就是如下命令)
hadoop@Rev:/usr/hadoop$ hadoop dfs -copyFromLocal input
成功后会在dfs下显示input文件夹。
3)运行wordcount,在Run之前进行如下设置Arguments,注意按照dfs地址格式来!
运行的时候会报没有Log4j的警告,但实际已经运行生成,为了能在控制台看到数据运行,我们新建一个log4j.properties 放在项目的src下,里面写如下
# Configure logging for testing: optionally with log file #\u53EF\u4EE5\u8BBE\u7F6E\u7EA7\u522B\uFF1Adebug>info>error #debug:\u53EF\u4EE5\u663E\u5F0Fdebug,info,error #info:\u53EF\u4EE5\u663E\u5F0Finfo,error #error:\u53EF\u4EE5\u663E\u5F0Ferror log4j.rootLogger=debug,appender1 #log4j.rootLogger=info,appender1 #log4j.rootLogger=error,appender1 #\u8F93\u51FA\u5230\u63A7\u5236\u53F0 log4j.appender.appender1=org.apache.log4j.ConsoleAppender #\u6837\u5F0F\u4E3ATTCCLayout log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
这就可以在控制台看到相关信息,然后运行wordcount,结果会生成output目录,里面就会有成功的文件part-r-00000,里面会显示统计的单词和词频
至此就大功告成,欢迎各位CSDN网友指正不足之处!
相关文章推荐
- Struts2(二)局部与全局类型转换器
- Java图形化界面设计——容器(JFrame)
- 贪吃蛇(修改Ⅰ版)
- Struts2(一)接收参数
- 简单说一下java中计时器,实际需要,没有详解
- JSP页面遍历对象集合,map,数组等,Struts的s标签和c标签的区别
- JAVA中去掉空格
- ajax调用后台Java
- Eclipse中xml文件无错误提示
- Eclipse下用javadoc导出Android项目的帮助文档(一)
- 入门:用Java Socket实现读文件内容,支持上千并发
- POI Struts数据导出支持分页
- 深入学习Java的接口和抽象类
- java socket 发送文件
- Java.swing.JTable
- Spring与多线程
- Java Nio实现socket读写文件
- Java编程思想4读后小记
- java中ssh框架
- netbeans如何去掉竖着的红线以及在左上角标题栏目显示完整文件路径