一.了解对比Hadoop不同版本的特性,可以用图表的形式呈现。
1、DKhadoop发行版:有效的集成了整个HADOOP生态系统的全部组件,并深度优化,重新编译为一个完整的更高性能的大数据通用计算平台,实现了各部件的有机协调。因此DKH相比开源的大数据平台,在计算性能上有了高达5倍(最大)的性能提升。DKhadoop将复杂的大数据集群配置简化至三种节点(主节点、管理节点、计算节点),极大的简化了集群的管理运维,增强了集群的高可用性、高可维护性、高稳定性。
2、Cloudera发行版:CDH是Cloudera的hadoop发行版,完全开源,比Apache hadoop在兼容性,安全性,稳定性上有增强。
3、€Hortonworks发行版:Hortonworks 的主打产品是Hortonworks Data Platform (HDP),也同样是100%开源的产品,其版本特点:HDP包括稳定版本的Apache Hadoop的所有关键组件;安装方便,HDP包括一个现代化的,直观的用户界面的安装和配置工具。
二.Hadoop生态的组成、每个组件的作用、组件之间的相互关系,以图例加文字描述呈现:
生态系统,顾名思义就是很多组件组成的一个生态链,经过多年的发展,Hadoop生态系统不断完善和成熟,目前已经包括了多个子项目,除了核心的HDFS和MapReduce以外,Hadoop生态系统还包括要ZoopKer、HBase、Hive、Pig、Mahout、Sqoop、Flume、Ambari等功能组件。这些组件几乎覆盖了目前业界对数据处理的所有场景。
3.官网学习Hadoop的安装与使用,用文档的方式列出步骤与注意事项:
一.hadoop安装及注意事项
1.安装hadoop的环境,必须在你的系统中有java的环境。
2.必须安装ssh,有的系统默认就安装,如果没有安装需要手动安装。
可以用yum install -y ssh 或者 rpm -ivh ssh的rpm包进行安装
二.安装并配置java环境
hadoop需要在java的环境中运行,需要安装JDK。
1.在官网上下载jdk,网址:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html
a.进入选择相应的rpm包或者tar包,进行安装。我这里是下载的rpm包,因为这样比较方便。用rpm包不需要进行环境变量的配置就可以使用了。
三.下载并安装hadoop
1.进入hadoop的官网进行下载相应hadoop的版本。地址为:http://hadoop.apache.org/releases.html
a.下载相应的tar包
b.进行tar解包
# tar -ivh /usr/local/hadoop/hadoop-2.7.1.tar.gz
c.修改相应的配置文件信息,制定相应的java_home
#vi /usr/local/hadoop/hadoop-2.7.1/ etc/hadoop/hadoop-env.sh
# set to the root of your Java installation
export JAVA_HOME=/usr/java/latest #显示当前jdk安装的目录 一般rpm是安装在 usr 目录下
d.配置hadoop的环境变量(使hadoop的命令加到path中,就可以使用hadoop的相关命令)
1.编辑/etc/profile文件,在文件的后面加上如下代码:
HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.1
PATH=$HADOOP_HOME\bin:$PATH
export HADOOP_HOME PATH
2.使修改的文件生效
source /etc/profile
这样就可以进入hadoop的安装目录去进行相关的命令操作了!
三.执行相关的命令
1.运行一个MapReduce Job在当地:
进入hadoop的安装目录:$ cd /usr/local/hadoop/hadoop-2.7.1/
一:格式化文件系统 $ bin/hdfs namenode -format
二:开始一个NameNode后台进程 和 DataNode 后台进程。
$ ./sbin/start-dfs.sh
hadoop的后台进程的的日志文件输出到安装目录文件下的logs文件中。
三:进入网站可以进行查看相应的NameNode
NameNode - http://localhost:50070/
四:执行MapReduce Job,必须创建HDFS文件夹
$ bin/hdfs dfs -mkdir /usr
$ bin/hdfs dfs -mkdir /usr/<username>
五:复制输入文件到分布式文件系统
$ bin/hdfs dfs -put etc/hadoop input
六:运行提供的相应的例子
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-maegrop‘./bj-getoutpreduce-examples-2.7.1.jar grep input output ‘dfs[a-z.]+‘
七:检查输出的文件:从分布式文件系统中复制输出文件到本地,并测试。
$ bin/hdfs dfs -get output output
$ cat output/*
或者查看输出文件在分布式文件系统中
$ bin/hdfs dfs -cat output/*
八:停止后台进程
$ sbin/stop-dfs.sh
四.Hadoop的相关命令
所有的Hadoop命令通过bin/ hadoop脚本调用,Hadoop脚本运行不带任何参数打印描述为所有的命令。
1.Usage: hadoop [--config confdir] [--loglevel loglevel] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS],这些选项是可选的。
a.--config confdir:覆盖默认的配置目录 . 默认是 ${HADOOP_HOME}/conf
b.--loglevel loglevel:覆盖日志等级。日志等级有:FATAL, ERROR, WARN, INFO, DEBUG, 和 TRACE,默认为INFO等级。
c.GENERIC_OPTIONS :多命令支持的共同选项.
d.COMMAND_OPTIONS:各种命令的选项是在文档描述了Hadoop的共同子项目,HDFS和YARN 在其他的文档中说明。
2.常用操作
a.可以用多个操作命令结合使用,来配置相应的hadoop
1.-archives <comma separated list of archives>:指定用逗号分隔文档,仅适用于job。
2.-conf <configuration file>:指定一个应用的配置文件。
3.-D <property>=<value>:获取属性文件中的值
4.-files <comma separated list of files>:指定以逗号分隔的文件被复制map reduce集群,仅适用于job。
5.-jt <local> or <resourcemanager:port>:指定一个resourcemanager。仅适用于job。
6.-libjars <comma seperated list of jars>:指定以逗号分隔的jar文件,包含在classpath中,仅适用于job。