初学者搭建Hadoop环境容易陷入细节漩涡中,并不是说细节不重要,在程序世界中,细节恰恰是决定成败的关键。然而,如果能在深入细节之前对整体有全面、逻辑性的认识,那么遇到细节时也能准确定位自己所处位置,知道如何退、如何进。
搭建Hadoop总的来说分为以下步骤:
检查集群机子环境,准备合适的Hadoop部署文件,一般有以下内容:
检查Java安装(一般不用自带的openJDK,具体原因暂不清楚);
自编译Hadoop 64位部署文件(32bit Hadoop部署文件在x64机子上会有些小问题)
分布式环境下对机子进行整理,罗列其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部署文件中配置文件之外的与系统相关的配置:
修改/etc/hosts文件;
对各Master-Slaver设置ssh无密码访问;
配置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这个集群,也是提醒自己在日后的漫长时刻中,如果被诸多繁杂的细节缠住了,不妨抬起头来看看整体,这样会清爽许多。(当然,这对自己来说很难,遇到一个细节,总是非弄清楚再去做别的事情不可;既然这样的话,事后总结也是很有必要的。)
如果文章对你有用,请在收藏之余“顶/赞”一下以示鼓励吧 (/ω\)
来源:oschina
链接:https://my.oschina.net/u/551773/blog/280405