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,这一值可能依旧不是最优的值。
作为一个小白,可能有些问题不是那么深。都是一些较为常见的问题,路过的大佬,多多指教!