安装了python和hadoop,途中遇到了一些困难,关闭防火墙出现了问题,在百度中查询得到了解决。

总结

1、hadoop通过⼀个jobtracker分派任务到⼀系列tasktracker来运⾏,tasktracker同时向jobtracker返回任务运⾏结果。

jobtracker对作业的输⼊数据进⾏分⽚,然后为每个分⽚创建⼀个map任务,同时创建⼀定数量的reduce任务,并指派空闲的tasktracker

来执⾏这些任务。

tasktracker从jobtracker处获取任务jar包以及分⽚的输⼊数据,然后新建jvm来执⾏,并定期反馈执⾏进度情况。

 2、map任务就是进⾏原始数据的提取⼯作,提取数据后进⾏sufflix排序,排序后的数据作为reduce的输⼊,然后经过reduce的统计计算

得到最后结果。

 3、hdfs对数据进⾏分块,然后存储在datanote⾥,datanote向namenode报告⾃⼰存储的⽂件块,客户端通过访问namenode来得知构

成⽂件的各个数据块的具体存放datanote,进⽽从datanote中读取整个⽂件。

 4、hadoop作业的输⼊数据必须在作业执⾏前是固定的,然后才能进⾏数据的分⽚,所以不能胜任增量的流式数据处理作业。

 5、mapreduce本⾝需要编写java代码,优化起来也⽐较复杂,⽽pig可以让⽤户通过脚本语句Latin来操作数据,并将脚本语句转换成

mapreduce来在hadoop中执⾏,pig并不要求被操作的数据满⾜关系数据库模式。

 6、hive构建于hadoop的数据仓库,能够对存储在HDFS中的数据增加元数据,从⽽提供SQL风格的数据操作,再将操作翻译成

mapreduce来在hadoop中执⾏。

hive与pig的主要区别是hive能提供SQL风格数据库表操作,⽽pig使⽤⾃定义的Latin脚本来直接操作数据,pig更轻量。

 7、hbase是⼀个按列存储的分布式数据库,它的表不满⾜关系数据库模式且不⽀持SQL查询,可以将数据存储在HDFS上。

hbase与hive的主要区别,⼀是hbase是⼀个分布式数据库易于⽔平扩展,⽽hive不是。

⼆是hbase的数据按列存储因⽽能够灵活的随机读写,⽽hive本⾝不改变数据存储格式,只给数据增加了表元数据从⽽⽀持关系数据库表操

作。

 

8、zookeeper封装了⼀套分布式服务所需使⽤的通⽤机制,⾃⾝的实现是通过多台服务器冗余来实现⾼可⽤,能够⾃动选举出领导者来服

务于⽤户的写请求,并⾃动同步到半数的跟随者,领导者和跟随者都可以服务于⽤户读请求。

应⽤场景包括:⾼可⽤分布式配置存储、分布式对象状态更新订阅通知、分布式锁、分布式集群领导者选举。