博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
搭建Hadoop所遇过的坑
阅读量:5092 次
发布时间:2019-06-13

本文共 4096 字,大约阅读时间需要 13 分钟。

问题1:

报错信息如下:

Container exited with a non-zero exit code 143  Killed by external signal
解决方案:

分配的资源不够,加大内存或者调整代码,尽量避免类似JsonObject这样的大对象过度消耗内存,或者Include below properties in yarn-site.xml and restart VM

yarn.nodemanager.vmem-check-enabled
false
Whether virtual memory limits will be enforced for containers
yarn.nodemanager.vmem-pmem-ratio
4
Ratio between virtual memory to physical memory when setting memory limits for containers

问题2:

报错信息如下:

HDFS进入安全模式: Name node is in safemode mode
解决方案:
退出安全模式, 执行命令:   hadoop dfsadmin -safemode leave

问题3:

报错信息如下:

INFO util.NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-Java classes where applicable -- hadoop的本地库加载失败。
解决方案:

检查native库的版本信息,32bit的版本和64bit的版本在不匹配的机器上会加载失败,检查的命令是file <native-so-file>

native库依赖的glibc的版本问题。如果在高版本gcc(glibc)的机器上编译的native库,放到低版本的机器上使用,会由于glibc版本不一致导致该错误。

Hadoop默认会从$HADOOP_HOME/lib/native/Linux-*目录中加载本地库。

如果加载成功,输出为:

DEBUG util.NativeCodeLoader - Trying to load the custom-built native-hadoop library... INFO util.NativeCodeLoader - Loaded the native-hadoop library

如果加载失败,则报错为

Unable to load native-hadoop library for your platform...

相关的配置:

  1. 在Hadoop的配置文件core-site.xml中可以设置是否使用本地库:(Hadoop默认的配置为启用本地库)
hadoop.native.lib
true
Should native hadoop libraries, if present, be used.
  1. 另外,可以在环境变量中设置使用本地库的位置:
export JAVA_LIBRARY_PATH=/path/to/hadoop-native-libs

问题4:

报错信息如下:

maps to localhost, but this does not map back
解决方案:
原因:  因为DNS服务器把 192.168.x.x 的地址都反向解析成 localhost ,而DNS服务器不是自己的,不能改。 办法:  编辑ssh 客户端的 /etc/hosts 文件,把出问题的IP 地址和主机名加进去,就不会报这样的错了。

问题5:

报错信息如下:

java.io.IOException: Incompatible clusterIDsin /home/wangming/hadoop-data/dfs/data
解决方案:
格式化HDFS前, 先将原来的hadoop目录删除

问题6:

报错信息如下:

jps命令正常,但是8088端口的WEB页面无法访问
解决方案:
检查一下防火墙和selinux状态, 将防火墙和selinux关闭防火墙:
service iptables status

关闭selinux:

  1. 永久修改
修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。
  1. 临时修改,执行以下命令:
setenforce 0

内容扩展:

setenforce 1: 设置SELinux 成为enforcing模式setenforce 0: 设置SELinux 成为permissive模式

问题7:

报错信息如下:

8088端口访问正常,但是看不到datanode节点
解决方案:
可能出现的问题和解决方案:    1.8080端口没有打开, 手动启动yarn    2.8080端口被其他进程占用, kill掉占用该端口的进程, 然后重启yarn    3.8080端口被其他进程占用, 若(2)中占用的程序不能kill调用,则在yarn-site.xml配置文件中配置yarn.resourcemanager.address项, 将8080端口改为其他端口号, 比如: 8085

问题8:

报错信息如下:

org.apache.hadoop.ipc.Client: Retrying connect to server: master/192.168.216.131:54310
解决方案:

hostname的问题,同时,namenode与datanode的/etc/hosts内容都必须是ip位址与hostname的对应,不能使用127.0.0.1代替本机的ip地址,否则hadoop使用hostname找IP时,会以127.0.0.1作为IP地址.

1. 检查slave机器到master机器的连通性;2. 检查master机器上,是否打开了192.168.216.131:54310的监听(netstat -nap | grep 54310)

问题9:

报错信息如下:

FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in secureMain:
解决方案:
检查hostname是否在/etc/hosts文件中配置, 若无则将hostname配置到/etc/hosts文件中

问题10:

1.报错信息如下:

java.net.NoRouteToHostException: No route to host
解决方案:
zookeeper的IP要配对

问题11:

报错信息如下:

CALL TO LOCALHOST/127.0.0.1:9000
解决方案:

检查网卡,主机名,主机名与IP的映射是否正确:

/etc/sysconfig/network-scripts/ifcfg-eth0            网卡:  /etc/sysconfig/network                               主机名:  /etc/hosts                                           主机名与IP的映射:

问题12:

报错信息如下:

打开namenode:50070页面,Datanode Infomation只显示一个节点
解决方案:
检查主机名,主机名与IP的映射,SSH配置是够正确    主机名:/etc/sysconfig/network       主机名与IP的映射:/etc/hosts    SSH配置:        ~/.ssh/config        ~/.ssh/authorized_keys        ~/.ssh/known_hosts

问题13:

报错信息如下:

hadoop的文件不能下载以及YARN中Tracking UI不能访问历史日志
解决方案:
windows系统不能解析域名所致,将/etc/hosts文件中主机名与IP的映射配置到到windows系统下的C:\Windows\System32\drivers\etc\hosts文件中

问题14:

5.报错信息如下:

NativeCrc32.nativeComputeChunkedSumsByteArray
解决方案:
配置eclipse的hadoop-home,bin和system32文件夹中加入64位的2.6版本的hadoop.dll

问题15:

报错信息如下:

HDFS误删文件如何恢复
解决方案:

$HADOOP_HOME/etc/hadoop/core-site.xml文件中添加以下配置

fs.trash.interval
2880
HDFS垃圾箱设置,可以恢复误删除,配置的值为分钟数,0为禁用

恢复文件执行hdfs dfs -mv /user/root/.Trash/Current/误删文件 /原路径


转载于:https://www.cnblogs.com/qifengle-2446/p/6424365.html

你可能感兴趣的文章
bitmap格式分析(转)
查看>>
Mysql密码加密方式
查看>>
一探前端开发中的JS调试技巧
查看>>
eclipse从SVN检出的项目大面积报错怎么办
查看>>
利用Linux系统生成随机密码的8种方法
查看>>
clear:both 有高度的问题
查看>>
global中拦截404错误的实现方法
查看>>
哈希表
查看>>
web基础
查看>>
python 3全栈开发-面向对象之绑定方法(classmethod与staticmethod的区别)、多态、封装的特性property...
查看>>
AIR SDK 更新方法
查看>>
HttpComponents HttpCore 4.3 Alpha1 发布
查看>>
PacketFence ZEN 4.0.1 发布,网络接入控制
查看>>
两个小的java程序,用于练习java基本语法
查看>>
MySql is marked as crashed and should be repaired问题
查看>>
CentOS设置时间
查看>>
java 批量导入图片到excel
查看>>
B树和B+树的总结
查看>>
【ubuntu】配置zsh
查看>>
怎样用通用pe工具箱制作U盘启动盘
查看>>