hadoop2.5.1+ubantu14.04伪分布式配置及问题解答

系统:ubantu64位
hadoop: 2.5.1

hadoop从大概2.5版本后,为了迎合如今64位系统,官网
下载的都是64位的。在/hadoop-2.5.1/lib/native/中libhadoop.so.1.0.0文件可以分辨的32位还是64位。方法:File libhadoop.so.1.0.0

如果你用的是hadoop2.4及以下,而你的linux系统是64位的,那我建议你从网上下载别人编译好的64位版本。

简单的配置参考这篇文章:http://blog.csdn.net/idber/article/details/40378231

注意的是:在配置jdk环境时,在hadoop-env.sh中有处不要写JAVA_HOME,而要写具体路径,否则可能出现启动hadoop时提示“JAVA_HOME is not set and could not be found”错误。

当然,他也有明显的错误,下面会提到,这里附上我的配置内容(我事先改了主机名为:mylinux)

/---------------core-site.xml---------------/
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://mylinux:9000</value>
</property>
<property>
        <name>hadoop.tmp.dir</name>
        <value>file:/home/cc/software/hadoop-2.5.1/tmp</value>
</property> 



/----------------hdfs.site.xml---------------/
<property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/cc/software/hadoop-2.5.1/tmp/dfs/name</value>
</property>
<property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/cc/software/hadoop-2.5.1/tmp/dfs/data</value>
</property>
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>



/-----------------mapred-site.xml---------------/
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>mylinux:10020</value>
</property>



/------------------yarn-site.xml---------------/
<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>mylinux</value>
   </property>
   <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
   </property>

<property>

        <description>The address of the applications manager interface in the RM.</description>         

        <name>Yarn.resourcemanager.address</name>           

        <value>localhost:18040</value>             

</property>

<property> 

        <description>The address of the scheduler interface.</description> 

        <name>Yarn.resourcemanager.scheduler.address</name>   

        <value>localhost:18030</value>     

</property>

 <property> 

        <description>The address of the RM web application.</description> 

        <name>Yarn.resourcemanager.webapp.address</name>   

        <value>localhost:18088</value>     

</property>

<property> 

        <description>The address of the resource tracker interface.</description> 

        <name>Yarn.resourcemanager.resource-tracker.address</name>   

        <value>localhost:8025</value>    

 </property>

/-----------------------slaves---------------/
        mylinux

1) mapred-site.xml本是不存在的,先把mapred-site.template.xml改名为它。

2) 很多文章写mapreduce.shuffle,这是不对是,我看到过log里出错,应该写为mapreduce_shuffle。

3)配置中出现的tmp及其子目录不用创建,当format时会自动生成,注意的是,每次format前最好删除tmp目录,否则接下来启动会出错,暂时没找到解决方法。

4) mapreduce.jobhistory.address要配置,如果不配,在进行例程运算时会默认使用 0.0.0.0:10020 ,会显示拒绝连接错误。

接下来格式化hdfs,hadoop-2.5.1/sbin/hadoop namenode -format

接下来启动:
start-dfs.sh
start-yarn.sh
注意:官方不建议使用start-all.sh

这里还要启动历史服务器,这是在很多文章都没有提到的,而将导致在测试例程时提示无法连接错误。
sbin/mr-jobhistory-daemon.sh start historyserver

接下来测试是否成功:
1)使用命令jps ,应该出现:
ResourceManager
JobHistoryServer
DataNode
NameNode
Jps
NodeManager
SecondaryNameNode

注意:一个都不能少,如果全有,也不能说明搭建环境成功。
另外,JobTracker这些早已被淘汰。

2)打开网址:htp://mylinux:50070
http://mylinux:8088

注意:打开8088这个不要用localhost而要用自己配置的主机名。
另外,很多文章中出现的网址,如50030,50060早已被淘汰了,当然打不开。

3)打开了网址还不能算搭建成功,下面测试个例程。
打开hadoop-2.5.1/share/hadoop/mapreduces文件夹下运行命令:
hadoop jar hadoop-mapreduce-example-2.5.1.jar pi 5 5
如果能出现job运行耗时以及计算出的pi的值,那么hadoop环境搭建算成功了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值