hadoop分布式集群部署以及过程中遇到的一些坑-创新互联-成都快上网建站

hadoop分布式集群部署以及过程中遇到的一些坑-创新互联

在hadoop学习过程中,首先第一步是部署伪分布以及分布式集群。
在集群的部署过程中http://www.powerxing.com/install-hadoop-cluster/
使用这篇博客作为参考。

成都创新互联专注于城中网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供城中营销型网站建设,城中网站制作、城中网页设计、城中网站官网定制、微信小程序服务,打造城中网络公司原创品牌,更为您提供城中网站排名全网营销落地服务。

在部署过程中。 遇到一些问题。
比如:用PYTHON 跑一个简单的MAPREDUCE 任务,首先需要现在streamingJAR包,简单的说这个包封装了一些常用的接口,PYTHON 通过标准输入输出来调用这个包。最终完成在内部用JAVA实现的功能。
下载地址为:http://www.java2s.com/Code/JarDownload/hadoop-streaming/

python 程序为 mapper.py

#!/usr/bin/env python
import sys
for line in sys.stdin:
line = line.strip()
words = line.split()
for word in words:
print "%s\t%s" % (word, 1)

以及reducer.py

**#!/usr/bin/env python
from operator import itemgetter
import sys

current_word = None
current_count = 0
word = None

for line in sys.stdin:
line = line.strip()
word, count = line.split('\t', 1)
try:
count = int(count)
except ValueError: #count如果不是数字的话,直接忽略掉
continue
if current_word == word:
current_count += count
else:
if current_word:
print "%s\t%s" % (current_word, current_count)
current_count = count
current_word = word

if word == current_word: #不要忘记最后的输出
print "%s\t%s" % (current_word, current_count)**

运行方式:
hadoop jar ./hadoop-streaming-2.6.0.jar -file ./mappper.py -file ./reducer.py  -input /input -output /output

这里需要注意的是  /input 必须放在hadoop文件系统上
hadoop fs -put input /input 
/output 不能存在,如果存在请先删除

另外在python中首行必须写   #!/usr/bin/env python
否则可能会报错。具体原因可以看http://andylue2008.iteye.com/blog/1622260  这篇博客

另外如果使用hadoop fs -ls 这样的命令报错: 找不到ls目录。是因为没有创建家目录
hadoop fs -mkdir -p /user/hadoop

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:hadoop分布式集群部署以及过程中遇到的一些坑-创新互联
网站路径:http://kswjz.com/article/dsodpc.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流