大数据架构hadoop初体验
前言
hadoop已经不算新技术了,只是我在实际项目中一直没有太好的机会应用,主要受限于数据量不够大、团队资源紧张、公司成本控制等原因。对此我一直觉得很遗(落)憾(伍),一个不熟悉大数据的CTO不是一个好的将军,于是乎抽时间近期实际操练了下hadoop的基本功能。
技能学习方法论
学习一套新技能时我喜欢先了解其用途,再学习其用法并在项目中应用(动手操练),然后再探究其原理。
了解用途
关于hadoop的用途网上的信息太多了,这里我不想搬砖了。总结一句话就是以更好的性能对海量数据进行分析处理。
学习用法之一
学习hadoop的用法最好找一份好点入门教程性质的资料作为参考,经过对比并经历了小弯路,我建议大家按照hadoop的官方文档进行学习。 hadoop2.7.3官方文档 ,我选用的hadoop2.7.3,按照官方文档一步步搭建环境,做单机环境测试、伪分布式环境测试、hdfs常用命令操作等,具体步骤这里不做翻译了,如果大家有需要可以留言给我。
初体验踩过的坑之一
文档与实际包版本不一致
这个一定要注意,要不然会有很多弯路。
ssh端口不是默认22端口的解决方案
上东大葱哥使用的linux环境为了安全期间做了安全加固,ssh不使用默认22端口。这种情况需要修改hadoop安装路径下的 etc/hadoop/hadoop-env.sh文件,在文件最后增加如下内容:
export HADOOP_SSH_OPTS="-p 16022" #其中16022为配置的ssh端口ssh免密登录不起作用
生成ssh公钥私钥,将公钥输出为authorized_keys后,并重启sshd服务后,通过ssh localhost -p 16022登录,发现还需要输入密码。
经过检查发现authorized_keys文件的权限为664,其实官方文档明确写了权限要为600,当时大意了以为权限大了没关系,没想到大意失荆州,最终还是这个问题。
chmod 600 authorized_keys
防火墙
实践期间为了方便可以关闭防火墙或者在防火墙开放相应端口。
hdfs强制递归删除
这个命令和linux自带的rm -rf不同,需要把r f单独加-
hdfs dfs -rm -r -f test
本期先介绍到这儿,下一节会介绍基于hdfs使用java进行交互。
学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入技术爱好者交流群373107565,我们一起学技术!