经过本人的实际经验,如果采用手动搭配hadoop的各种组件的话,Java环境最好安装jdk1.7的版本。因为这个版本不旧不新,可以满足几乎整个hadoop生态圈组件的要求而很少会出现兼容性的问题。
这样的话,你就可以首先在你的机子上把hadoop集群搭好,然后在hadoop集群的基础上挑3台虚拟机装zookeeper集群实现hadoop的高可用。
然后就能在在之前的基础上装hive(需要装MySQL)实现用hive来分析HDFS上的数据,
如果还不够,继续安装上sqoop实现在MySQL(关系数据库)和hive、MySQL和HDFS导入导出数据,这还不算完……..
接着再安装flume,随便在哪个路径下找个日志文件监控起来,将日志数据实时导入到HDFS中,然后用Java写个类wordcount的mapreduce日志分析程序,输入目录就是日志数据导入到HDFS的目录,然后把任务打包上传到集群。现在日志数据有了,分析程序有了,就缺一个调度的了。因为生产环境下日志数据是一直不停的产生的,那么就存在我多久对日志数据进行一次分析的问题。这个时候就可以再装一个azkaban(轻量级调度系统)或者Oozie来实现任务的定时调度。
到此完了吗????还没有。。。。
我接着还可以安装hbase集群,kafka集群,storm集群, spark集群,,,到现在就差不多在5台虚拟机上把整个hadoop生态圈的组件都整合到一起,哪天不开心就挑一个出来虐虐,是不是很爽啊。。。。。。。。