初学者搭建Hadoop环境容易陷入细节漩涡中,并非说细节不重要,在程序世界中,细节偏偏是决定成败的关键。然而,若是能在深刻细节以前对总体有全面、逻辑性的认识,那么遇到细节时也能准肯定位本身所处位置,知道如何退、如何进。node
搭建Hadoop总的来讲分为如下步骤:ssh
检查集群机子环境,准备合适的Hadoop部署文件,通常有如下内容:分布式
检查Java安装(通常不用自带的openJDK,具体缘由暂不清楚);工具
自编译Hadoop 64位部署文件(32bit Hadoop部署文件在x64机子上会有些小问题)oop
分布式环境下对机子进行整理,罗列其ip(更改/ect/hosts文件须要),划分其Master、Slaver职责(也能够划分更细的ResourceManager、SecondNameNode等,通常来讲每一个机子都充分利用,均充当DataNode)测试
“规划”Hadoop文件夹结构,包括安装目录、数据文件(hadoop_data)、临时文件(hadoop_tmp)等;通常来讲,建议一个hadoop x.x.0目录下,分别设立hadoop x.x.0目录(解压的Hadoop部署文件存放位置)、hadoop-data(数据文件)、hadoop_tmp(临时文件);固然这是笔者本身的实践,若是不是“行业标准”,请勿见笑;
优化
配置运行环境,这里指的是除Hadoop部署文件中配置文件以外的与系统相关的配置:spa
修改/etc/hosts文件;.net
对各Master-Slaver设置ssh无密码访问;code
配置Hadoop参数:
对{Hadoop_Home}/etc/hadoop/下的配置文件进行修改,包括hadoop-env.sh、yarn-env.sh、core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml,以及slaves文件(hadoop 2.2.0中无masters,参考 masters 和 slaves 文件)。
初次安装,参数尽可能最小化配置,少配就行,以后集群优化的工做多得是;
配置支持lzo(此次正是太拘泥于细节,栽在了这个上面,其实分两个步骤):
安装lzo(由于集群须要原生lzo安装目录下的一些库);
安装hadoop-lzo(集群须要一些针对Hadoop的hadoop-lzo下的一些库);
lzop(可选,若是须要测试效果,可用该工具生成一些.lzo文件)
启动集群:
格式化NameNode:${Hadoop_Home}/bin/hdfs namenode –format
一键式启动:${Hadoop_Home}/sbin/start-all.sh(该方法官方不建议使用,但仍是能用:This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh)
检查进程情况: jps(来自JDK的工具)
细化步骤:
开启守护进程
[hadoop@hadoop01 ~]$ hadoop-daemon.sh start namenode
[hadoop@hadoop01 ~]$ hadoop-daemon.sh start datanode
开启yarn守护进程
[hadoop@hadoop01 ~]$ yarn-daemon.sh start resourcemanager
[hadoop@hadoop01 ~]$ yarn-daemon.sh start nodemanager
[hadoop@hadoop01 ~]$ start-yarn.sh
粗略的步骤正是如此,博文是粗制,接下来一两天会继续更新。
对于细节(总体脉络清晰了,对其中步骤不解时就能够参考对比多篇博文),附上不错的几篇参考文章:单节点hadoop2.2.0 安装、Hadoop 2.2.0 (YARN)搭建笔记、lzo安装说明。
整理这些步骤是为了让本身能对整个过程有个全局性的认识,不单单是针对Hadoop这个集群,也是提醒本身在往后的漫长时刻中,若是被诸多繁杂的细节缠住了,不妨抬起头来看看总体,这样会清爽许多。(固然,这对本身来讲很难,遇到一个细节,老是非弄清楚再去作别的事情不可;既然这样的话,过后总结也是颇有必要的。)
若是文章对你有用,请在收藏之余“顶/赞”一下以示鼓励吧 (/ω\)