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,这一值可能依旧不是最优的值。
个人曾经遇到过的一些小坑,防火墙问题,往往会出现纰漏的地方,一定要查看防火墙状态!!!不管大坑小坑,都容易把人整懵。

猜你喜欢

转载自blog.csdn.net/weixin_43646034/article/details/83932473