Hadoop安装问题汇总

1、hdfs namenode -format 时出现如下报错

18/08/01 11:04:01 WARN namenode.NameNode: Encountered exception during format: 
java.io.IOException: Cannot create directory /home/zkpk/hadoopdata/dfs/name/current
	at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.clearDirectory(Storage.java:334)
	at org.apache.hadoop.hdfs.server.namenode.NNStorage.format(NNStorage.java:546)
	at org.apache.hadoop.hdfs.server.namenode.NNStorage.format(NNStorage.java:567)
	at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:148)
	at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:926)
	at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1354)
	at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1473)
18/08/01 11:04:01 FATAL namenode.NameNode: Exception in namenode join
java.io.IOException: Cannot create directory /home/zkpk/hadoopdata/dfs/name/current
	at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.clearDirectory(Storage.java:334)
	at org.apache.hadoop.hdfs.server.namenode.NNStorage.format(NNStorage.java:546)
	at org.apache.hadoop.hdfs.server.namenode.NNStorage.format(NNStorage.java:567)
	at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:148)
	at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:926)
	at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1354)
	at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1473)
18/08/01 11:04:01 INFO util.ExitUtil: Exiting with status 1
18/08/01 11:04:01 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at master/192.168.2.3
************************************************************/

原因分析: 根据报错,我这里是由于Hadoopdata这个目录无法创建,原因是core-site.xml中定义data的问题

防火墙等原因也能导致出现此错误

 

2、start-all.sh 后slave的DataNode没有启动

参考:https://blog.csdn.net/baidu_16757561/article/details/53698746

分析思路:在slave上查看日志 logs/hadoop-xdl-datanode-slave1.log, 然后具体问题具体分析

例:其中两处异常,报/home/zkpk/hadoopdata/dfs/data无效,查看core-site.xml,是定义错误,改正后重新启动成功

STARTUP_MSG:   build = https://git-wip-us.apache.org/repos/asf/hadoop.git -r cc72e9b000545b86b75a61f4835eb86d57bfafc0; compiled by 'jenkins' on 2014-11-14T23:45Z
STARTUP_MSG:   java = 1.7.0_71
************************************************************/
2018-08-01 14:01:17,217 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: registered UNIX signal handlers for [TERM, HUP, INT]
2018-08-01 14:01:17,684 WARN org.apache.hadoop.util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
2018-08-01 14:01:18,008 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Invalid dfs.datanode.data.dir /home/zkpk/hadoopdata/dfs/data :
java.io.FileNotFoundException: File file:/home/zkpk/hadoopdata/dfs/data does not exist
        at org.apache.hadoop.fs.RawLocalFileSystem.deprecatedGetFileStatus(RawLocalFileSystem.java:524)
        at org.apache.hadoop.fs.RawLocalFileSystem.getFileLinkStatusInternal(RawLocalFileSystem.java:737)
        at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:514)
        at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:397)
        at org.apache.hadoop.util.DiskChecker.mkdirsWithExistsAndPermissionCheck(DiskChecker.java:125)
        at org.apache.hadoop.util.DiskChecker.checkDir(DiskChecker.java:142)
        at org.apache.hadoop.hdfs.server.datanode.DataNode$DataNodeDiskChecker.checkDir(DataNode.java:1866)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.checkStorageLocations(DataNode.java:1908)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1890)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1782)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1829)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:2005)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:2029)
2018-08-01 14:01:18,013 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in secureMain
java.io.IOException: All directories in dfs.datanode.data.dir are invalid: "/home/zkpk/hadoopdata/dfs/data"

 

图为未修改之前的

Hadoop安装问题汇总_第1张图片

 

3、Hadoop运行任务时一直卡在: INFO mapreduce.Job: Running job

参考:https://blog.csdn.net/dai451954706/article/details/50464036

问题截图

Hadoop安装问题汇总_第2张图片

问题描述:启动集群成功后,找了个测试任务测试执行,出现上图所示错误,日志中没有任何报错,我去。

解决方式:网上找了找,有个能解决的,需要在yarn-site.xml中设置关于内存和虚拟内存的配置项.(注:主备都需配置)

                 然后重新启动集群(stop-all.sh && start-all.sh)。

即 :


    yarn.nodemanager.resource.memory-mb
    20480


   yarn.scheduler.minimum-allocation-mb
   2048


    yarn.nodemanager.vmem-pmem-ratio
    2.1

4、start-all.sh后 , jps报process information unavailable

  在Linux下执行 jps 是快速查看Java程序进程的命令,一般情况下hadoop,hbase,storm等进程都是通过jps查看,有些时候因为进程没有被正常结束,比如资源占用过大时挂掉或者没有结束进程就直接重启计算机,会导致原有进程变为-- process information unavailable这样的空值,有时候不用管它,一段时间后会自动消失,如果一直不消失的情况下,可以使用如下方法清理:

  进入/tmp目录 cd /tmp 可以看到有很多以hsperfdata_{用户名}这样的目录,比如:hsperfdata_hbase,hsperfdata_kafka,hsperfdata_root这样的目录,是因为进程虽然在内存中关闭了,但是Linux还会在/tmp下寻找这些临时文件,而此时临时文件并没有没正常删除,这时候直接执行 rm -rf hsperfdata_* 删除这些目录,然后再次执行 jps 查看,以上那些进程就不存在了,

  总的来说直接执行 rm -rf /tmp/hsperfdata_* 可以快速清除那些残留进程

  如果有很多正常运行的进程时,其中夹杂部分残留进程,这个时候不建议全部删除上面的目录,这时候要根据目录和进程的对应关系分析出残留的单个目录来删除无用的进程即可

你可能感兴趣的:(Hadoop,Exception)