Hadoop bin/hadoop namenode -format 时遇到的几个问题

来源:互联网 发布:js获取自定义标签的值 编辑:程序博客网 时间:2024/05/18 02:00

Question 1:

hadoop执行hdfs namenode -format的时候,提示:

错误: 找不到或无法加载主类

 org.apache.hadoop.hdfs.server.namenode.NameNode


Answer 1:

找到​hadoop-config.sh(2.6.0的是在libexec文件夹下)
找到最后一行

if [ "$HADOOP_CLASSPATH" != "" ]; then
  # Prefix it if its to be preceded
  if [ "$HADOOP_USER_CLASSPATH_FIRST" != "" ]; then
    CLASSPATH=${HADOOP_CLASSPATH}:${CLASSPATH}
  else
    CLASSPATH=${CLASSPATH}:${HADOOP_CLASSPATH}
  fi
fi

替换为
CLASSPATH=`cygpath -wp "$CLASSPATH"`
if [ "$HADOOP_CLASSPATH" != "" ]; then
  # Prefix it if its to be preceded
  if [ "$HADOOP_USER_CLASSPATH_FIRST" != "" ]; then
    CLASSPATH=${HADOOP_CLASSPATH}:${CLASSPATH}
  else
    CLASSPATH=${CLASSPATH}:${HADOOP_CLASSPATH}
  fi
fi

 

 

 

 

 

Question 2:

ERROR util.Shell: Failed to locate the winutils binary inthe hadoop binary path

Could not locate executable null\bin\winutils.exe in theHadoop binaries

 

 

Answer 2:

1.下载winutils的windows版本

地址是: https://github.com/srccodes/hadoop-common-2.2.0-bin,下载此zip包,解压后把winutils.exe加入hadoop-x.x.x/bin下

2.配置环境变量

增加用户变量HADOOP_HOME,值是本机的hadoop的路径

 




Question 3:

DEPRECATED: Use of this script to execute hdfs command isdeprecated.
Instead use the hdfs command for it.

Answer 3:

HADOOP_HOME没有设置:执行:export HADOOP_HOME="hadoop安装路径"Question 4:HDFS格式化bin/hadoop namenode -format时出现未知主机名错误:java.net.UnknownHostException: localhost.localdomain: localhost.localdomain  Answer 4:
echo localhost > /proc/sys/kernel/hostname




Question 5:1.conf文件夹去哪儿了?2.start-all.sh文件去哪儿了?
Answer 5:
hadoop2.6 默认
1.将conf文件夹变更为 $HADOOP_HOME/etc/hadoop/
2.start-all.sh文件在 $HADOOP_HOME/sbin/






1 0