hadoop2.5.2安装及集成eclipse

准备工作:
java jdk:1.6.0版本,1.7版本也行
cygwin:这是运行于windows的类linux环境系统(网上直接下载,根据电脑系统有32位和64位的。我下载的是32位的。setup-x86.exe或者setup-x86-64.exe)
下载地址:http://www.cygwin.com/也可以直接搜cygwin下载。我是直接搜的
hadoop-2.5.2.tar.gz安装包,下载地址(http://hadoop.apache.org/releases.html)。我是在官网上下载的。很好找。
第一步:配置jdk的环境变量。这个如果作为java的开发。之前就配置过了。很简单配置JAVA_HOME(jdk安装目录)  PATH(%JAVA_HOME%\bin)  CLASS_PATH就可以了
第二部:安装cygwin,步骤如下:
双击选择installed from internet,然后一路选择默认的下一步到:选择安装源:http://mirros.163.com,下一步,会出现供安装的选项:
在Select Packages界面里,Category展开net,选择如下openssh和openssl两项在Select Packages界面里,Category展开net,选择如下openssh和openssl两项在Select Packages界面里,Category展开net,选择如下openssh和openssl两项select package 里面选择 category 
1:net 把openssh  openssl的两个小框框都打上叉叉号
2:要在eclipse里面编译hadoop的话,需要把base里面的sed的打上叉叉号
3:如果想在cygwin里面直接修改hadoop的配置文件则,需要在editor里面的vim打上叉叉符号。
下一步等待安装完成。完成后会在桌上生成一个图标:cygwin terminal的图标,然后在环境变量里面讲PATH的路径添加此cygwin的bin目录。
然后双击打开cygwin,安装sshd服务(secrity shell....).执行:ssh-host-config -y命令最后打印两行是:CYGWIN sshd ssh服务启动  CYGWIN  sshdssh服务启动成功。
安装过程中提示输入密码:我输入的密码是password01.安装成功后会出现   .......finished.have fun,然后启动sshd服务  net start sshd可能启动失败。原因是你没有
admin权限。我就是这个错误。看了半天错误原因发现需要用administrator用户启动cygwin,所以就重新启动。然后执行net start sshd启动成功最后。会告诉你启动服务succesful.
4:配置ssh免密码登录:ssh-keygen -t dsa -P '' -f  ~/.ssh/id_dsa  此时在.ssh目录下面生成明钥文件id_dsa.pub,把明钥文件写入到authorized_keys文件中,两种方法:
cp id_dsa.pub authorized_keys or  cat id_dsa.pub >> authorized_keys。ssh -version可以查看版本号,完成之后exit退出。
再次双击打开cygwin,执行ssh localhost 命令。提示你输入yes 回车即可(把localhost添加到已知的主机名称中去)
5:安装hadoop
1:cd /cygdirve/e:/users/liying/----hadoop-2.5.2.tar.gz这是我下载的包
2:tar -xzvf hadoop-2.5.2.tar.gz解压缩
3:mv hadoop-2.5.2 /home/liying/  目录下
4:修改配置文件/home/liying/hadoop/etc/hadoop/目录下面
1:vi hadoop-evn.sh 里面添加export JAVA_HOME=/cygdrive/d/jdk1.6
2:vi core-site 添加ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa,
<configuration>
<property>
 <name>fs.default.name</name>
 <value>hdfs://localhost:9000</value>
<property>
</configuration>
3:vi hdfs-site.xmlssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa,
<configuration>
 <property>dfs.replication</name>
 <value>1</value
</conf iguration>
4:vi mapred-sit.xml
省略                                                                                   
$ ./hadoop namenode -format
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.
java.lang.NoClassDefFoundError: org/apache/hadoop/hdfs/server/namenode/NameNode
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hdfs.server.namenode.NameNode
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)


报错原因还没有找到:

解决办法:在目录:/home/liying/hadoop/libexec修改hadoop-config.sh最下面的为:

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

即可格式化hdfs成功但是又一个问题出现了:java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.

暂时没解决


: sshd 或者 sshd.e
  进程名称: Cygwin OpenSSH Secure Shell Daemo
  描述
  sshd.exe是Cygwin OpenSSH壳程序,用于支持安全的SSH链接访问。
  出品者: OpenBSD
  属于: Cygwin
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa,
3. 格式化并启动Hadoop
$ cd hadoop/bin
$ ./hadoop namenode –format
$ ./start-all.sh
4.查看Hadoop
命令行查看:
[plain] view plaincopy
$ jps
28636 NameNode
32036 JobTracker
24632 Jps
有教程说win7下cygwin中DateNode和TaskTracker进程是无法显示的,
网页查看:
http://localhost:50030
http://localhost:50070
5.关闭Hadoop
$ ./stop-all.sh
这时候你会看到刚刚你启动的各项任务。
6.运行wordcount.java程序(Hadoop自带的程序)
(1)在本地建立两个输入文件input1.txt,input2.txt
$ echo "Hello World Bye World" > input1
$ echo "Hello Hadoop Goodbye Hadoop" > input2
(2)在hdfs中建立一个input目录
$ ./hadoop fs -mkdir input
(3)将input1和input2复制到hdfs中
$ ./hadoop fs -copyFormLocal /home/ccwan/soft/file0*(两个文本文档的路径) input
(4)执行wordcount
$./hadoop jar Hadoop-1.2.1-examples.jar wordcount input output
(5)查看结果
$ ./hadoop fs -cat output /part-r-00000






ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa,

猜你喜欢

转载自blog.csdn.net/liyingying111111/article/details/47790783