目录
NameNode、SecondaryNameNode如何工作?
Hadoop概述
Hadoop是大数据领域中非常重要的基础技术,他是一个海量数据存储、处理系统,也是一个生态圈(HDFS,MapReduce,Hive,Hbase等)
历史
Google:搜索引擎。收集互联网上的所有数据,存储数据,处理数据,提供给用户。
Google搜索引擎相关技术非常成熟,但是并没有开源,不过,在2004年先后发表了两篇论文:《Google File System》(GFS)、《MapReduce》阐述了Google如何将海量数据进行存储和处理。2006年发表了《BigTable》启发了无数的NoSql数据库。
作者:Doug Cutting(Lucene、Nutch、Hadoop等)
Hadoop(Java开发)
HDFS(Hadoop distributed file system):大数据存储
MapReduce:大数据处理
作用
Hadoop最初用作Nutch底层的海量数据存储和处理,后来人们发现他也非常适合大数据场景下的数据存储和处理,主要用作海量离线数据的存储和离线数据的计算。
Hadoop的安装
Hadoop版本介绍
Hadoop1.0(Apache)最初版:HDFS、MapReduce
Hadoop2.0:HDFS、MapReduce、Yarn--------这个是我们要讲的!!!(2.7.1)
Hadoop3.0:2017年12月发布,目前还不是公认版本。
Hadoop 的安装有三种方式
单机模式:解压就能运行,但是只支持MapReduce的测试,不支持HDFS,一般不用。
伪分布式模式:单机通过多进程模拟集群方式安装,支持Hadoop所有功能。优点:功能完整。缺点:性能低下。学习测试用。
完全分布式模式:集群方式安装,所有节点的高可用,生产级别。
Hadoop伪分布式安装
需要环境:
JDK,JAVA_HOME,配置hosts,关闭防火墙,配置免密登录等(详见第一章)。
注意:我们只将其安装在hadoop01节点上。
进入目录
cd /home/app
上传安装包并解压
tar -xvf 安装包
修改配置文件
位置:/home/app/hadoop-2.7.1/etc/hadoop
1.修改 hadoop-env.sh
vim /home/app/hadoop-2.7.1/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/home/app/jdk1.8.0_65
export HADOOP_CONF_DIR=/home/app/hadoop-2.7.1/etc/hadoop
2.修改 core-site.xml
vim /home/app/hadoop-2.7.1/etc/hadoop/core-site.xml