首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

本文将大数据学习门槛降到了地平线

Hadoop介绍

Hadoop-大数据开源世界的亚当夏娃。

核心是HDFS数据存储系统,和MapReduce分布式计算框架。

HDFS

原理是把大块数据切碎,

每个碎块复制三份,分开放在三个廉价机上,一直保持有三块可用的数据互为备份。使用的时候只从其中一个备份读出来,这个碎块数据就有了。

存数据的叫datenode(格子间),管理datenode的叫namenode(执伞人)。

MapReduce

原理是大任务先分堆处理-Map,再汇总处理结果-Reduce。分和汇是多台服务器并行进行,才能体现集群的威力。难度在于如何把任务拆解成符合MapReduce模型的分和汇,以及中间过程的输入输出 都是什么。

单机版Hadoop介绍

对于学习hadoop原理和hadoop开发的人来说,搭建一套hadoop系统是必须的。但

配置该系统是非常头疼的,很多人配置过程就放弃了。

没有服务器供你使用

这里介绍一种免配置的单机版hadoop安装使用方法,可以简单快速的跑一跑hadoop例子辅助学习、开发和测试。

要求笔记本上装了Linux虚拟机,虚拟机上装了docker。

安装

使用docker下载sequenceiq/hadoop-docker:2.7.0镜像并运行。

下载成功输出

启动

启动成功后命令行shell会自动进入Hadoop的容器环境,不需要执行docker exec。在容器环境进入/usr/local/hadoop/sbin,执行./start-all.sh和./mr-jobhistory-daemon.sh start historyserver,如下

Hadoop启动完成,如此简单。

要问分布式部署有多麻烦,数数光配置文件就有多少个吧!我亲眼见过一个hadoop老鸟,因为新换的服务器hostname主机名带横线“-”,配了一上午,环境硬是没起来。

运行自带的例子

回到Hadoop主目录,运行示例程序

mapreduce计算完成,有如下输出

hdfs命令查看输出结果

例子讲解

grep是一个在输入中计算正则表达式匹配的mapreduce程序,筛选出符合正则的字符串以及出现次数。

shell的grep结果会显示完整的一行,这个命令只显示行中匹配的那个字符串

正则表达式dfs[a-z.]+,表示字符串要以dfs开头,后面是小写字母或者换行符\n之外的任意单个字符都可以,数量一个或者多个。

输入是input里的所有文件,

结果输出到output。

计算流程如下

稍有不同的是这里有两次reduce,第二次reduce就是把结果按照出现次数排个序。map和reduce流程开发者自己随意组合,只要各流程的输入输出能衔接上就行。

管理系统介绍

Hadoop提供了web界面的管理系统,

加命令参数

docker run命令要加入参数,才能访问UI管理页面

执行这条命令后在宿主机浏览器就可以查看系统了,当然如果Linux有浏览器也可以查看。我的Linux没有图形界面,所以在宿主机查看。

50070     Hadoop Namenode UI端口

50075     Hadoop Datanode UI端口

8088     Yarn任务监控端口

已完成和正在运行的mapreduce任务都可以在8088里查看,上图有gerp和wordcount两个任务。

一些问题

一、./sbin/mr-jobhistory-daemon.sh start historyserver必须执行,否则运行任务过程中会报

三、docker run命令后面必须加--privileged=true,否则运行任务过程中会报java.io.IOException: Job status not available

四、注意,Hadoop 默认不会覆盖结果文件,因此再次运行上面实例会提示出错,需要先将 ./output 删除。或者换成output01试试?

总结

本文方法可以低成本的完成Hadoop的安装配置,对于学习理解和开发测试都有帮助的。如果开发自己的Hadoop程序,需要将程序打jar包上传到share/hadoop/mapreduce/目录,执行

来运行程序观察效果。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201029A0HNAH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券