Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2306168
  • 博文数量: 266
  • 博客积分: 5485
  • 博客等级: 大校
  • 技术积分: 3695
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-20 11:05
个人简介

多读书,多做事,广交朋友,趣味丛生

文章分类

全部博文(266)

分类: 云计算

2012-08-08 00:43:09

第一步:修改core-site.xml,配置如下内容:
fs.default.name
hdfs://localhost:9000
true
 
dfs.replication
1
 
第二步:修改hdfs-site.xml文件,配置如下内容:
dfs.name.dir
/cygdrive/d/hadoop/working/name
true
dfs.data.dir
/cygdrive/d/hadoop/working/data
true
fs.checkpoint.dir
/cygdrive/d/hadoop/working/checkpoint
true
第三步:修改mapred-site.xml配置如下内容:
mapred.job.tracker
hdfs://localhost:9001
true
mapred.local.dir
/cygdrive/d/hadoop/working/dir1,/cygdrive/d/hadoop/working/dir2
true
mapred.system.dir
/cygdrive/d/hadoop/working/system
true
 
第4步,进入cygwin客户端,执行
$ cd /cygdrive/d/hadoop 【其中/d/hadoop 为hadoop安装目录,即d:\hadoop,linux表示路径和windows不同】
$ bin/hadoop namenode –format 【格式化namenode】
第5步,修改工作目录权限
$ bin/hadoop dfs chmod 777 /cygdrive/d/hadoop/working 【/cygdrive/d/hadoop/working 为工作目录,默认是tmp】

第6步,启动hadoop
$ bin/start-all.sh 
$ ps –ef
通过ps查看进程,能看到5个java进程,即成功。

 
常见问题
(1)
执行 $ bin/hadoop start-all.sh之后,无法启动,在logs的namenode日志发现如下内容:
2011-08-03 08:43:08,068 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: java.lang.NullPointerException
 at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:136)
 at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:176)
 at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:206)
 at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:240)
 at org.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:434)
 at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1153)
 at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1162)
解决方法:此时是没有配置conf/mapred-site.xml的缘故. 配置core-site.xml文件
 
fs.default.name
hdfs://localhost:9000
true
配置mapred-site.xml文件:
mapred.job.tracker
hdfs://localhost:9001
true
 
(2)执行 hadoop fs -ls
     显示结果:ls: Cannot access .: No such file or directory.
这是这个目录为空所致。执行
     hadoop fs -ls /
可以看到有一条结果。执行hadoop fs -mkdir hello 其中hello为文件夹名字,再执行ls命令,即可看到结果。
 
(3) TaskTracker无法启动,在logs中查看tasktracker日志,出现如下错误:
2011-08-03 08:46:45,750 ERROR org.apache.hadoop.mapred.TaskTracker: Can not start task tracker because java.io.IOException: Failed to set permissions of path: /cygdrive/d/hadoop/working/dir1/ttprivate to 0700
 at org.apache.hadoop.fs.RawLocalFileSystem.checkReturnValue(RawLocalFileSystem.java:525)
 at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:499)
 at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:318)
 at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:183)
 at org.apache.hadoop.mapred.TaskTracker.initialize(TaskTracker.java:635)
 at org.apache.hadoop.mapred.TaskTracker.(TaskTracker.java:1328)
 at org.apache.hadoop.mapred.TaskTracker.main(TaskTracker.java:3430)
解决方式:1.确认hadoop的版本,在0.20.203版本上有这个bug,切换会0.20.2版本;2. 执行第5步,授权
 
 
通过浏览器访问 ,能正常访问,表示namenode配置成功
阅读(12943) | 评论(0) | 转发(0) |
0

上一篇:mysql 遍历游标 处理

下一篇:委比与委差

给主人留下些什么吧!~~