win7使用伪分布模式配置Hadoop2.2

根据网络上的教程是需要对Hadoop的源码在window环境下编译才能使用。

参考教程:http://mmicky.blog.163.com/blog/static/150290154201311136482094/


1、我没选择编译源码,而是下载hadoop-commin-2.2.zip别人编译好的文件,之后得到一些文件 (winutils.exe, hadoop.dll),把它们覆盖放入Hadoop2.2的Bin目录下。

hadoop-commin-2.2.zip 下载地址:http://download.csdn.net/detail/foart/7344477

2、安装官方提供的办法配置Hadoop2.2,最后启动是用.CMD控制台命令启动的。(当时尝试用cygwin启动总是失败,改用.CMD则顺利通过)

启动脚本在此目录下: c:\hadoop\hadoop-2.2.0\sbin


参考教程:

http://my.oschina.net/hhdys412/blog/188602

http://blog.csdn.net/jiutianhe/article/details/17688015


3、如果使用cygwin执行hadoop version后报错:

错误: 找不到或无法加载主类 org.apache.hadoop.hdfs.server.namenode.NameNode


解决办法打开Hadoop2.2里的hadoop-config.sh
找到最后一行
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

参考教程:

http://stackoverflow.com/questions/19363402/classpath-issue-in-hadoop-on-cygwin-while-running-hadoop-version-command

你可能感兴趣的:(win7使用伪分布模式配置Hadoop2.2)