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"

 

图为未修改之前的

 

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

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

问题截图

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

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

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

即 :

<property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>20480</value>
</property>
<property>
   <name>yarn.scheduler.minimum-allocation-mb</name>
   <value>2048</value>
</property>
<property>
    <name>yarn.nodemanager.vmem-pmem-ratio</name>
    <value>2.1</value>
</property>

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_* 可以快速清除那些残留进程

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值