微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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…

原文地址:https://www.jb51.cc/ubuntu/354002.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐