写了几年代码,看到这些年大数据,AI闹得火热火热,也想系统学习下大数据方面的东西,给自己充电一下。其实随着IT技术的发展,我们行业(地理信息)也已经开始拥抱大数据了。越来越多的带有位置的非结构化的数据需要处理,需要进一步挖掘。好了,废话不多说了。下面开始分享下,学习大数据这门过程中的一些心得。
其实,大数据这门课,学起来还是得要有些知识储备的,比如最基本的linux操作,以及操作hive以及mysql的一些语句(如果懂关系型数据库里的sql,那操作起这些语句就简单了),Python的一些东西,如果有些开发经验就更完美了。
在学习这门课的时候,最开始基于linux上的一些操作,以及后来的搭建集群倒是没得啥问题。可是到后来安装cloudera-manager的时候,发现master节点上的agent,server-db都起来了,server服务起不来,这时候就得去看相应路径下的日志啊,发现提示是缺包(红框是根据日志找到的缺的包,但是事实不止缺这么几个,其他的几个都补上了):
想着这样不是办法,怕后续还会出啥问题,然后就拉着导师一起看,看了好久发现是cloudera manager的版本与linux版本不匹配导致的,后来一查我的系统是centos6.9的。下图是在cloudera官网找到的cloudera manager 5.11版本与操作系统兼容的情况,当时我的linux系统是6.5的,应该是做了update没注意到,update到6.9的版本了,可是呢官网给出的6.9版本的CentOS是不兼容cloudera manager 5.11安装的。所以说学习一项东西看官网是很重要的,你想想东西都是出自他那里,外面的中文的帮助书籍无非就是从人家的官网翻译一下而已。
还有一点,出了问题时,不要怕,要学会去解决问题。比如在学hive,hbase,以及spark的时候,很多时候你执行操作的命令行,在出错时终端会有相应的日志,可以从日志里去捕捉导致异常的原因。以下是我在执行连接hive时:beeline -u jdbc:hive2://elephant:10000 出现的异常
就可以通过这些日志在网上查一下,百度不行就去谷歌。这个日志异常主要说的就是Name Node处于安全模式,不能产生/tmp/hive/hive/1074c23d-d039-4741-a6db-4d19adf4673f这个路径,在网上查一下就会有相应的解决方案的。最反感的是一出问题就到处找人解决,首先自己得去分析下,去网上找下资料,实在不行的可以再请教别人。试想一下,本来问题很简单,没看就问别人,别人一看就指出了原因,岂不让别人觉得自己很low?
最后我觉得,在学习时还是有必要根据老师讲的来捋一下相应的流程,提炼出一些导图啥的(思维导图工具:xmind,mindmanager都不错),这个确实对学习技术很有帮助,这个不管对学习哪一门技术都有用。其实看大家说HBASE讲的都是理论,话说理论掌握了,操作应该没什么问题吧?反之,只会跟着老师敲一些命令,具体的里面含义不懂,这对于学技术是没有什么意义的。
原文地址:http://blog.51cto.com/6193721/2058972