Hadoop的部署和wordcount样例的运行

部署经验:

1.网上资料都强调使用主机名或域名进行部署,使用IP可能会出问题。

2.start-all的时候出现Name and service not known,无法启动DataNode。尚未解决。尝试在slaves文件中使用IP或域名。

3.出现端口冲突,检查是否有尚未停掉的Hadoop进程。

4.start-all的时候显示DataNode已启动,但DataNode未连接,log显示Server at [host:port] not available yet, Zzzzz...说明NameNode已连接到DataNode,但是DataNode不能连接回来。检查master文件和fs.default.name设置是否正确。尝试使用IP或域名。fs.default.name的格式为hdfs://[host]:[port]/

5.hive能启动,并且能创建table,并不代表Hadoop正确部署。我遇到一次能够load data,能够select *(没有mapreduce操作)。但是select count(1)就出现dfs错误。尚未解决。应该是mapreduce的tasktracker工作不正常。

6.新添加一个节点到集群当中时,HDFS不会自动地移动文件块到新节点当中去平衡磁盘空间。然而,新创建的文件将会使用新节点的磁盘。
有几种方法可以手动进行平衡。1)将文件复制一份,然后删掉源文件。2)将磁盘块满的节点关掉,然后等待直到文件块自动复制完成,再把节点加回去。这样,冗余数量变得过多,系统将会随机删去多余的冗余。3)运行bin/start-balancer.sh命令。

7.配置Hadoop的时候有许多路径要配置,其中一些是本地路径,而一些是HDFS的路径。

wordcount样例的运行(hod账户,且在hadoop的bin目录下):

hadoop namenode -format
start-all.sh

echo "Hello world Bye world" > ~/input/f1
echo "hello hadoop bye hadoop" > ~/input/f2

hadoop fs -mkdir /tmp
hadoop fs -put /home/hod/input /tmp

hadoop jar ../hadoop-0.20.2-examples.jar wordcount /tmp/input /tmp/output

hadoop fs -cat /tmp/output/part-r-00000
确保hdfs上没有/tmp/output目录

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值