• Hadoop2.2.0 hive0.12 hbase0.94 配置问题记录


    环境:centos6.2 Hadoop2.2.0 hive0.12 hbase0.94

    1>hadoop配好之后,跑任务老失败,yarn失败,报out of memory错误,然后怎么调整内存大小都不行,后来发现是can’t create new thread

    解决:在vi /etc/security/limits.conf 添加

    hadoop - nofile 65535

    hadoop - nproc  65535

    2>yarn运行错误:mapreduce.shuffle set in yarn.nodemanager.aux-services is invalid

    yarn.nodemanager.aux-services.mapreduce_shuffle.class部分的错误

    解决:yarn.site.xml参数配置的问题

    http://blog.csdn.net/bamuta/article/details/12995139

    改成下面的配置就好了:

    <property>

    <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>

    <value>org.apache.hadoop.mapred.ShuffleHandler</value>

    </property>

    <property>

    <name>yarn.nodemanager.aux-services</name>

    <value>mapreduce_shuffle</value>

    </property>

    3> hbase0.96hive0.12整合的问题

    一开始用hadoop2.2.0 + hbase 0.96 + hive 0.12 ,基本全部都配好了。只有在hive中查询hbase的表出错。以直报如下错误:

    1

    java.io.IOException: <span style="font-size: 15px;">java.lang.ClassCastException:</span> org.apache.hadoop.hbase.client.Result cannot be cast to org.apache.hadoop.io.Writabl

    后来发现hbase0.96和hive0.12不兼容,hive-hbase-handle-0.12.0.jar不兼容hbase0.96,hive0.12还停留在hadoop1。于是乎采用hbase0.94测试。

    鉴于hbase0.94不兼容hadoop2,大豪哥在网上找到一篇文章http://yanbohappy.sinaapp.com/?p=192 

    在文中讲到用mvn clean package assembly:assembly -DskipTests -Dhadoop.profile=2.0 重编hbase-0.94.2.tar.gz,

    1,将hbase-0.94.0.jar复制到每台hadoop的/hadoop_home/share/hadoop/common/lib/下重启hadoop,

    2,将hbase-0.94.0.jar拷贝到hive/lib下,hbase-site.xml拷贝到hive/conf/下

    3,将hive-hbase-handle-0.12.0.jar拷贝到hbase/lib下。

    至于hbase整合hive的其他配置和hadoop1的时候一样。

    http://www.open-open.com/lib/view/open1328413245124.html

    4>hadoop0.20.2 搬迁到hadoop2.2.0

    将老集群的所有ip,服务器名映射到新集群的/etc/hosts 中

    让后用

    ./Hadoop distcp hftp://irt2:50070/user/hive/warehouse/webdata/   hdfs://irsadmin60:9000/user/hive/warehouse/webdata/

    如果失败使用更新:./hadoop distcp –update hftp://irt2:50070/user/hive/warehouse/webdata/   hdfs://irsadmin60:9000/user/hive/warehouse/webdata/

    5>最近导数据有时候少数据,查hadoop任务发现,mapfailed,报如下错误:

    Container launch failed for container_1385017085286_4943_01_000053 : org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container.<br> This token is expired. current time is 1386900106527 found 138689999122 

    datanode与namenode之间未设置时间同步,所以引起该异常。
    解决方案:多个datanode与namenode进行时间同步。

    时间同步:
    在每台服务器的 /etc/crontab 中加入一行:
    00 5 * * * root ntpdate cn.pool.ntp.org && hwclock -w

  • 相关阅读:
    测试
    mysql数据库 select语句全集
    Markdown文本的书写格式详解--有道云笔记
    mysql数据忘记库密码
    最新版mysql基本命令操作
    Python从入门到放弃
    第二阶段冲刺
    周总结15
    找水王
    用户体验评价
  • 原文地址:https://www.cnblogs.com/tangtianfly/p/3482535.html
Copyright © 2020-2023  润新知