ubuntu Hadoop 填坑记

  • 执行bin/hadoop的时候一直connection failed
    • 需要将/etc/hosts 里面的ubuntu 里面的127.0.1.1 改成127.0.0.1
  • 每次重启之后都会Hadoop的web管理页面都打不开,也就是localhost:8088 和 localhost:9870 进不去,但是bin/start-all.sh 正常

    • 在Hadoop 安装目录下建立tmp目录,我这里是/usr/local/hadoop/tmp
    • 在etc/hadoop/core-site.xml 里面添加如下配置

      <property>
          <name>hadoop.tmp.dir</name>
          <value>/usr/local/hadoop/tmp</value>
           <description>A base for other temporary directories.</description>
      </property>
    • 重新格式化 hdfs 系统

          bin/hdfs dfs -format
    • 重启Hadoop 即可

    • 分析:主要是原来的tmp目录默认放置在/tmp/目录下,但是这个目录每当ubuntu重启的时候就会被删除,所以我们需要重新设置一个tmp目录
  • bin/hadoop jar 执行我们自己的jar总是曝出ClassName not found的错误

    • 是因为我们的class是在一个包中,所以我们在执行的之后也要吧报名加上,比如我有一个类是WordCount,包名是studyHadoopCh3,所以我执行的时候应该如下写:

      bin/hadoop jar /home/hadoop/workspace/studyHadoopCh3/src/studyHadoopCh3/WordCount/wordcount.jar studyHadoopCh3.WordCount studyHadoopCh6/input output
      
  • Java程序报错:Cannot allocate memory

    • 这是因为没有可分配的内存了,我给ubuntu虚拟机分配了2G的内存,我查了下主机的内存使用情况发现也已经达到100%了,所以就选择重启了ubuntu虚拟机
  • Hadoop combine的概念:

    • 感觉是将相同的key,value对合并,也就是我们所说的去重
    • 添加了他以后整个的数据处理流程就改为:数据->map函数->combine函数->Reduce函数。这也就导致了下面的这个坑。。。
  • setOutputKeyClass、setOutputValueClass、setMapOutputKeyClass、setMapOutputValueClass

    • 上面四个函数分别是指定reduce的输出的key、value类型和map输出的key、value类型

更新ing…

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值