Hadoop伪分布模式安装以及在Eclipse中运行第一个MapReduce项目

伪分布模式. 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

<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 DataNode
3)检查运行状态  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网友指正不足之处!可怜


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值