hadoop配置遇到的一些问题

1.端口号如果被占用的话,可能会导致服务起不来,如果要保险起见,那么把端口号都在对应的配置文件里配一遍吧 查看端口号命令 netstat -tln

2.有时候配一遍不成功,这时候最好把 name data 等文件夹里的东西全部删掉再重新装。 可能会引起不一致。


判断运行成功与否,可以

在主机上输入 hadoop dfsadmin -report,

在从机上输入jps查看。正常的话主机会起namenode, secondary namenode, jobtracker, 从机会起datanode和tasktracker两个服务。

再用 hadoop fs -mkdir tmp

hadoop fs -ls 查看是否建立文件夹成功。


最后运行自带的wordcount检查是否成功

假设目前在hadoop目录下

hadoop fs -mkdir input

将自带的文件倒入hdfs: hadoop fs -put conf/* input

hadoop jar hadoop-examplex-0.20.2-cdh3u6.jar wordcount input output

当时起了18个mapper, 1个reducer

运行完了之后用 hadoop fs -cat output/part-r-00000

查看结果

--------------------------------------------------------------------

接下来我打算自己编译一个wordcount玩玩,基本上是参考这哥们的流程来的。

http://www.crazyant.net/1144.html

首先我在用户目录下新建了一个wordCountTest目录,再新建了三个子目录:class jar java. 把hadoop自带的wordcount.java拷到java目录里。

接着进入到wordCountTest目录,javac -classpath /home/sss/hadoop/hadoop-core-0.20.2-cdh3u6.jar:/home/sss/hadoop/lib/commons-cli-1.2.jar -d class java/WordCount.java

这里有一点要提的是 可能是hadoop版本的原因,我的hadoop的lib文件夹里没有commons-cli-1.2.jar,而这个是编译hadoop自带wordcount必须的。在网上下了个,放进lib下,一切ok。另外还要提一下的是不同的jar包之间有冒号隔开。这里还有一点要注意的是, WordCount.java里的打包是package org.apache.hadoop.examples;  如果 javac的时候不用-d 则 会有问题,因为不会生成 org/apache/hadoop/example/, 而直接把所有的clas都放到wordCountTest下。所以-d是不能少的。

接下来生成jar, jar -cvf  thewordcount.jar -C class/ .

接着 仍然在wordCountTest目录下生成input file"hello world, hello motherf**ker, i say f**k, you say you"

将文件放进hdfs里  hadoop fs -mkdir input       hadoop fs -put inputfile input,然后用hadoop fs -ls input 查看下文件是不是放进去了。

终于可以运行wordcount了, hadoop jar  thewordcout.jar org.apache.hadoop.examples.WordCount input output 

运行结束后用 hadoop fs -cat output/part-r-00000查看,结果正确。 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值