Windows下安装Hadoop
博客专区 > missence 的博客 > 博客详情
Windows下安装Hadoop
missence 发表于2年前
Windows下安装Hadoop
  • 发表于 2年前
  • 阅读 12
  • 收藏 0
  • 点赞 1
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: ​Hadoop,现在需要用Eclipse在Windows下开发,在网上找文章,终于在单机安装成功。


台式机i5-2400 3.1G,2G内存,操作系统Win7,JDK1.6.31,推荐学习这篇文章
1.下载Cygwin,运行Setup.exe,记得安装Sed、Openssh、Openssl,安装目录为d:\cygwin。
2.安装JDK,设置Windows环境变量,添加JAVA_HOME,值为java安装目录,添加CLASSPATH,值为.

[plain] view plain copy

  1. ;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\dt.jar  

,在Path变量中添加%JAVA_HOME%\bin
3.设置Windows环境变量,添加CYGWIN变量,值为ntsec tty,Path变量中添加d:\cygwin;d:\cygwin\bin,
4.将cygwin安装的快捷方式设置兼容性,以管理员权限运行。
5.下载hadoop 0.20.2版本(当前最新版为1.0.1,但是运行jobtracer会出现set permission错误,

[plain] view plain copy

  1. java.io.IOException: Failed to set permissions of path: file:XXX to 0700  

5.运行cygwin
6.更改目录权限

[plain] view plain copy

  1. chmod +r /etc/group  

  2. chmod +r /etc/passwd  

  3. chmod +rwx /var  

7.运行ssh-host-config
   提示 if privilege separation should be used时,输入no
   提示 if sshd should be installed as a service时,输入yes
   提示 the value of CYGWIN environment variable时,输入ntsec
   提示 Do you want to use a different name时,输入no
   提示 Create new privileged user account 'cyg_server'?时,输入no
   提示 Do you want to proceed anyway?时,输入yes
8.打开Windows服务管理页面,找到CYGWIN sshd服务,设置属性,选择登录,选择有管理员权限的用户和对应的Windows登录密码
9.回到cygwin,运行

[plain] view plain copy

  1. cygrunsrv -S sshd  

启动sshd服务。
10.在本地生成空密码的公钥和私钥,运行

[plain] view plain copy

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

11.配置本地访问不需要密码,运行

[plain] view plain copy

  1. cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys  设置了怎么都不好用,最后改成第二种方式

  2. cat ~/.ssh/id_rsa.pub | ssh root@your_host 'cat -  >> .ssh/authorized_keys' 

12.测试本地访问

[plain] view plain copy

  1. ssh localhost  

没有使用过ssh连接localhost, 那么会有提示添加localhost到knowhosts中去,然后要求输入密码,记得运行exit,退出ssh。
13.将下载的hadoop拷贝到cygwin当前目录下,运行

[plain] view plain copy

  1. tar xvzf hadoop-0.20.2.tar.gz  

解压将产生hadoop软件目录。
14.删除hadoop-0.20.2.tar.gz,运行

[plain] view plain copy

  1. rm hadoop-0.20.2.tar.gz  

15.在hadoop安装目录下,建日志目录

[plain] view plain copy

  1. mkdir logs  

  2. chmod 777 logs  

16.建立jdk link,比如jdk在d:\program files\Java\jdk1.6.31目录下

[plain] view plain copy

  1. ln -s "cygdrive/d/Program Files/Java/jdk1.6.31" "/usr/local/jdk"  

17.打开hadoop安装目录下的conf目录,编辑hadoop-env.sh,添加

[plain] view plain copy

  1. export JAVA_HOME=/usr/local/jdk  

18.修改hadoop目录下conf目录下的core-site.xml

[html] view plain copy

  1. <?xml version="1.0"?>  

  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  

  3.   

  4. <configuration>  

  5.     <property>  

  6.         <name>hadoop.tmp.dir</name>  

  7.         <value>/hadoop/tmp</value>  

  8.     </property>  

  9.     <property>  

  10.         <name>fs.default.name</name>  

  11.         <value>hdfs://localhost:9000</value>  

  12.     </property>     

  13. </configuration>  

19.修改hadoop目录下conf目录下的hdfs-site.xml

[html] view plain copy

  1. <?xml version="1.0"?>  

  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  

  3.   

  4. <configuration>  

  5.     <property>  

  6.         <name>dfs.name.dir</name>  

  7.         <value>/hadoop/name</value>  

  8.     </property>  

  9.     <property>  

  10.         <name>dfs.data.dir</name>  

  11.         <value>/hadoop/data</value>  

  12.     </property>  

  13.     <property>  

  14.         <name>dfs.replication</name>  

  15.         <value>1</value>  

  16.     </property>  

  17. </configuration>  

20.修改hadoop目录下conf目录下的mapred-site.xml

[html] view plain copy

  1. <?xml version="1.0"?>  

  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  

  3.   

  4. <configuration>  

  5.     <property>  

  6.         <name>mapred.job.tracker</name>  

  7.         <value>localhost:9001</value>  

  8.     </property>  

  9.     <property>  

  10.         <name>mapred.local.dir</name>  

  11.         <value>/hadoop/mpredtemp</value>  

  12.     </property>  

  13. </configuration>  

21.在hadoop安装目录下,格式化命名空间

[plain] view plain copy

  1. bin/hadoop namenode -format  

22.在hadoop安装目录下,运行hadoop

[plain] view plain copy

  1. bin/start-all.sh  

23.在hadoop安装目录下,运行测试程序

[plain] view plain copy

  1. bin/hadoop jar hadoop-0.20.2-examples.jar pi 2 10  

24.在hadoop安装目录下,运行运行命令

[plain] view plain copy

  1. bin/hadoop fs -put /cygdrive/e/Source/java/TestHadoopUploadFile/test/fg /user/sw-its-hhe-hp/sw-its-hhe/timecount/input  

报错,提示

[plain] view plain copy

  1. put: File /cygdrive/e/Source/java/TestHadoopUploadFile/test/fg does not exist.  

由于 Cygwin 的路径并无法正常被 Hadoop 解析,亦即 Hadoop 经过 Windows OS 告知路径为 C:\hadoop4win\opt\hadoop\ 但在 Cygwin 中却为 \opt\hadoop。因此倘若您看到 File XXXX does not exist 的问题,可用 cygpath -w 指令把路径转变成 Windows 绝对路径,就可以解决,运行

[plain] view plain copy

  1. cygpath -w /cygdrive/e/Source/java/TestHadoopUploadFile/test/fg  

显示为E:\Source\java\TestHadoopUploadFile\test\fg,运行

[plain] view plain copy

  1. bin/hadoop fs -put $(cygpath -w /cygdrive/e/Source/java/TestHadoopUploadFile/test/fg) timecount/input  

拷贝成功。


共有 人打赏支持
粉丝 0
博文 3
码字总数 0
×
missence
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: