上一篇:086-BigData-14MapReduce实战
一、概述
学习只是知道,而使用才是学会。
这是一个实践性很强的内容,理论再好很有可能是空中楼阁,实践起来完全不会。或者遇到问题完全无法解决。
理论学起来快,但也忘得快。实践写代码才是真正费时的。
二、应该实践内容
1、软件安装,装多了就有种一通百通的感觉。再加上收集一些软件安装包。源头也解决了就没啥大问题了。
2、能装VMWare虚拟机,能装Linux操作系统,起码得照着资料装几台,然后再不看任何资料自己能装好。
里面涉及到网卡配置,一些命令行使用,重启网卡,配置路径,重启服务,关闭防火墙等等。
不实践基本等于不会。
3、Linux常用命令使用
这是个长期使用问题,起码要熟悉大部分常用的命令。
其实,只是听说命令行强大的话,完全没有任何感觉,自己体会不到啊,所以学起来比学英语还难。
在工作中,遇到翻译文件需要翻译,打开excel,拷贝,写进去,保存。word打开,拷贝,保存,检查等等。而一个sed命令,就完美搞定。文件都不用打开就可以完成所有操作,而且执行效率高的爽爆了。用cat查看内容,要查找就grep,要修改就sed。完全接触不到垃圾的办公软件,不用漫长的等待打开,不用操作超级卡的界面,不用怕意外经常还得保存一下。所有一切,命令行能轻松搞定。只有真切体会到其中的厉害之处,才会爱上命令行,才会记得牢。
本人也是多个实际案例,现在已经完全爱上命令行了,也比较深刻知道其强大的地方了。
手动拷贝或者删除后缀.xx的文件? 用ls列出所有,然后find找到.xx或者grep都行,要cp或者delete都行。要递归还能加r。
长期有意识多用命令行,工作生活效率大大提高。
4、hadoop环境搭建
这个其实就是解压安装包出来。
但又涉及到环境配置,环境变量等一些问题不大但又需要知道的地方。
参考文章:078-BigData-06hadoop架构及环境搭建
5、hadoop伪分布式和分布式
环境好了之后,必须得实践的就是配一下分布式。
如果不熟悉可以先搞个简单的伪分布式玩玩熟悉下。
然后再搞大于3台的分布式。
最坑点莫过于各种配置了,各种xml配置文件里需要特定的配置,而内容要背下来还真心容易,还怕犯错。所以需要专门准备一个小本本记下来各种配置该怎么配。
参考文章:079-BigData-07hadoop伪分布式和分布式
6、maven的安装和配置
这是打通开发环境和Linux的通道。也是开发hadoop所需。
本人试过win和mac,不难但还是有必要操作一下。
参考文章:080-BigData-08HDFS
7、HDFS上传与下载
这算是正头戏的第一餐了。
上传,下载,查看,删除都用命令行试试,再用代码试试。第一餐。
参考文章:081-BigData-09HDFS上传与下载
8、HDFS运行状态下扩展集群
这个可以算工作中用得到的第一餐吧。环境搭建很难遇到完全没有,需要我们去从头搞起的。但扩展集群,被我们遇到还需要操作的可能性就大多了。
这个实践下,再顺带练练回收站,快照(又是各种xml配置恶心),掉线参数设置?集群间数据拷贝,归档,Hadoop HDFS 数据自动平衡等。一套真心走下来,还真是不易的。也需要较多时间。
参考文章:083-BigData-11HDFS目录结构
9、自己写一个WordCount理解下MapReduce
这就是功能性第一餐了。
简单功能实现后,还有一大波操作。
功能自定义分区,序列化,模型建立等,太重要了,得放在大点写。见下面。
参考理论文章:084-BigData-12MapReduce入门
10、真。实战。倒序排序,二次排序,自定义分组,辅助排序。
遇到排序问题,可迅速参考。
11、压缩和解压缩。mapjoin,reducejoin。
选哪种压缩,综合考虑等。
作为优化项,算是比较重要的一个优化点。
12、倒排索引。多job串联。
重要实战。
13、找共同好友。
有意思的练习和实战。
14、自定义InputFormat,把很多小文件合并成大sequence文件,用数据流形式。
难度开始起来了。
15、自定义OutPutFormat。过滤日志文件。自定义日志输出路径。
16、然后就是看看源码,性能优化了。做几个工作项目。
17、搭建一下ZooKeeper环境及配置好。
18、再练一下秒杀。和搭建高可用。
下一篇:088-BigData-16ZooKeeper