大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

Hadoop常见错误

1.hadoop采集的字符集问题

修改/etc/sysconfig/i18n 更改字符集为en_US.UTF-8 重启机器生效。

重启机器的指令为:在root下敲入如下指令:sync;sync;init 6

2.修改mapreduce 在gateway/性能下修改:

MapReduce 子 Java 基础选项 、Map 任务 Java 选项库 、Reduce 任务 Java 选项库 全部配置成 -Xmx4294967296

在TASKTRACKER/性能下修改:MapReduce 子 Java 基础选项 、Map 任务 Java 选项库 、Reduce 任务 Java 选项库 全部配置成 -Xmx4294967296

3.redis挂死,导致无法采集

#现象

redis.clients.jedis.exceptions.JedisDataException:

MISCONF Redis is configured to save RDB snapshots,

but is currently not able to persist on disk.

启动客户端: /usr/local/redis/redis-cli

输入: config set stop-writes-on-bgsave-error no

4.zookeeper无法启动 处理办法:

到master主机的/var/lib/zookeeper,删除所有的文件,重启zookeeper即可。

sudo mkdir version-2

sudo chown -R zookeeper:zookeeper version-2

5.如果datanode连接不上namenode,导致datanode无法启动。

报错:ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Call to … failed on local exception: java.net.NoRouteToHostException: No route to host 关闭防火墙

输入:service iptables stop

6.集群一些易错问题

错误现象:namenode in safe mode.

原因:hadoop进入安全模式。

解决方法:在shell中执行命令hadoop dfsadmin -safemode leave 使hadoop离开安全模式。

7.防火墙一定记得查看!!!

错误现象:java.net.NoRouteToHostException: No route to host.

原因:master服务器上的防火墙没有关闭。

解决方法: 在master上关闭防火墙: chkconfig iptables off.

8.虚拟机内存设置

问题:java.lang.OutOfMemoryError: Java heap space

原因:出现这种异常,明显是 jvm 内存不够得原因,要修改所有的 datanode 的 jvm 内存大小。

解决:执行命令Java -Xms1024m -Xmx4096m一般 jvm 的最大内存使用应该为总内存大小的一半,我们使用的 8G 内存,所以设置为 4096m,这一值可能依旧不是最优的值。

作为一个小白,可能有些问题不是那么深。都是一些较为常见的问题,路过的大佬,多多指教!