问题描述
运行hadoop的MapReduce示例,在running job卡住
在页面中显示一直处于
ACCEPTED Applications 状态
修改日志级别
export HADOOP_ROOT_LOGGER=DEBUG,console
查看下详细信息
DEBUG crypto.OpensslCipher: Failed to load OpenSSL Cipher.
java.lang.UnsatisfiedLinkError: org.apache.hadoop.util.NativeCodeLoader.buildSupportsOpenssl()Z
at org.apache.hadoop.util.NativeCodeLoader.buildSupportsOpenssl(Native Method)
at org.apache.hadoop.crypto.OpensslCipher.<clinit>(OpensslCipher.java:84)
at org.apache.hadoop.crypto.OpensslAesCtrCryptoCodec.<init>(OpensslAesCtrCryptoCodec.java:50)
缺少一个东西
找到原因了,在使用start-all启动的时候必须每次机器的slave文件都必须配置,结果我两台机器没有配置
[hadoop@mini2 ~]$ cat /home/hadoop/apps/hadoop-2.6.5/etc/hadoop/slaves
localhost
现在有点理解为什么官方都不推荐使用这个启动命令了,错了问题不好调试啊
问题2,namenode一直不能启动,日志报错All specified directories are failed to load.
由于没有配置
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/apps/hadoop-2.6.5/tmp</value>
导致hadoop将tmp文件放在了/tmp里面,
但是我每次清空还是清空hadoop里面的tmp文件
后来仔细看了一下hadoop name -format时说明的tmp路径,这就是为什么说All specified directories are failed to load. ,原来每次都没有清空文件
下面是重新配置之后的路径
Storage directory /home/hadoop/apps/hadoop-2.6.5/tmp/dfs/name has been successfully formatted.