Hadoop生态和其他生态最大的不同之一就是“单一平台多种应用”的理念了。
hadoop能解决是什么问题:
1、HDFS :海量数据存储
MapReduce: 海量数据分析
YARN :资源管理调度
理解: 1、资源管理调度(YARN)通过海量数据分析(MapReduce)进行对海量数据(HDFS)进行分析运算。 其中MapReduce是通过开发人员进行开发利用。
2、Hadoop在2.0将资源管理从MapReduce中独立出来变成通用框架后,就从1.0的三层结构演变为了现在的四层架构:
-
底层——存储层,文件系统HDFS
-
中间层——资源及数据管理层,YARN以及Sentry等
-
上层——MapReduce、Impala、Spark等计算引擎
-
顶层——基于MapReduce、Spark等计算引擎的高级封装及工具,如Hive、Pig、Mahout等等
-
2、安装hadoop
下载hadoop安装包并解压,解压后看到如下目录:
bin: 可执行文件存放对hadoop相关服务(HDFS,YARN)进行操作的脚本
sbin:hadoop系统可执行文件存放启动或停止hadoop相关服务的脚本
etc:hadoop的配置文件目录,存放hadoop的配置文件
lib :存放hadoop的本地库(对数据进行压缩解压缩功能)
share:存放hadoop的依赖jar包和文档,文档可以被删除掉
3、修改hadoop配置文件
修改 hadoop-2.4.1/etc/hadoop目录下:
core-site.xml 文件:
<configuration>
<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的master节点(老大节点)(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:9000/</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/app</value>
</property>
</configuration>
hdfs-site.xml 文件:
<configuration>
<property>
<!-- 配置HDFS副本的数量 -->
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
注意:至此HDFS已经可以独立运行
mapred-site.xml 文件:
<configuration>
<property>
<!-- 指定mr运行在yarn上 -->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml 文件:
<configuration>
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop1</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux_services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
4、此时,基本配置都已完成,但需要关闭防火墙,以免防火请将hadoop需要的端口禁用掉。
查看防火墙状态:service iptables status
打开防火墙:service iptables start
关闭防火墙:service iptables stop
查看防火墙启动配置:sudo chkconfig iptables --list
分别表示服务的七个档 :
# 0 - 停机
# 1 - 单用户模式
# 2 - 多用户,没有NFS
# 3 - 完全多用户模式(标准的运行级)
# 4 - 没有用到
# 5 - X11(xwindow)
# 6 - 重新启动
开机不自启动防火请:chkconfig iptables off
5、linux 环境变量配置
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
export JAVA_HOME=/home/hadoop/jdk1.7.0_65
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export HADOOP_HOME=/home/hadoop/app/hadoop-2.4.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
6、修改 /home/hadoop/app/hadoop-2.4.1/etc/hadoop/hadoop-env.sh文件
不修改的话,启动时,会报错JAVA_HOME找不到。
到此,hadoop配置基本完成