Hadoop(一)Hadoop的简介与安装

一 Hadoop简介

1.1 Hadoop产生的背景

1.Hadoop是Apache Lucene创始人道格·卡丁(Doug Cutting)创建的。 HADOOP最早起源于Nutch。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问,如何解决数十亿网页的存储和索引问题。

2.2003年开始谷歌陆续发表的三篇论文为该问题提供了可行的解决方案。
分布式文件系统(GFS),可用于处理海量网页的存储
分布式计算框架MAPREDUCE,可用于处理海量网页的索引计算问题。
BigTable 数据库:OLTP 联机事务处理 Online Transaction Processing 增删改,OLAP 联机分析处理 Online Analysis Processing 查询,真正的作用:提供了一种可以在超大数据集中进行实时CRUD操作的功能
3.2006年之后,cutting带着Hadoop去了雅虎,当时有100多人的团队共同帮cutting完善hadoop。后来yahoo把Hadoop贡献了Apache。现在Hadoop是Apache的顶级项目。

1.2 Hadoop的优势

1.高可靠性:元数据记录节点与数据块信息。

2.高扩展性: 存储与计算节点可以动态增添;部分框架可以按需替换。

3.高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。

4.高容错性: 数据自动备份,副本丢失后自动回复。

5.运行在廉价的机器上。

6.擅长处理PB级别的离线计算

1.3 Hadoop的劣势

1.不适合低延迟数据访问。

2.无法高效存储大量小文件。

3.不支持多用户写入及任意修改文件。

4.不支持超强的事务。

1.4 Hadoop组成

1.Hadoop HDFS:一个高可靠、高吞吐量的分布式文件系统。

2.Hadoop MapReduce:一个分布式的离线并行计算框架。

3.Hadoop YARN:作业调度与集群资源管理的框架。

4.Hadoop Common:支持其他模块的工具模块。

二 Hadoop安装

2.1 安装方式介绍

Hadoop的安装分为单机方式、伪分布式方式 和 完全分布式方式。

1.单机模式是Hadoop的默认模式:当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有3个XML文件均为空。当配置文件为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。

2.伪分布式:在单机上,模拟一个分布式的环境,具备Hadoop的所有功能。

3.全分布式:真正的分布式环境,用于生产。

2.2 伪分布式安装

1.准备虚拟机,关闭虚拟机防火墙
2.配置主机名
vi /etc/hostname 将里面的内容改成自己的主机名,重启生效
执行:hostname 主机名 本次立即生效
3.配置hosts文件

vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.175.128 hadoop01
192.168.175.129 hadoop02
192.168.175.130 hadoop03

4.配置免密登录
ssh-keygen生成节点的公钥和私钥,生成的文件在/root/.ssh下
ssh-copy-id 其他机器(包括自己)然后把公钥发往其他机器
5.安装配置jdk

从网上下载jdk1.8
上传到虚拟机
新建文件夹 mkdir -p /root/bigdata/jdk
解压 tar zxvf jdk-8u141-linux-x64.tar.gz -C /root/bigdata/jdk
配置环境变量 vi /etc/profile 在文件末尾添加
export JAVA_HOME=/root/bigdata/jdk/jdk1.8.0_141
export PATH=$PATH:$JAVA_HOME/bin 
source /etc/profile
输入java -version验证安装的jdk是否正确

6.安装hadoop

从官网下载hadoop
上传到虚拟机的/root/bigdata目录下
解压 tar zxvf hadoop-2.8.4.tar.gz 
修改名字 mv hadoop-2.8.4 hadoop
配置环境变量 vi /etc/profile在末尾添加
export HADOOP_HOME=/root/bigdata/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
输入hadoop version验证安装

7.配置hadoop

(1)配置hadoop-env.sh
 修改JAVA_HOME的路径为自己jdk的安装路径
export JAVA_HOME=/root/bigdata/jdk1.8.0_141
(2)修改core-site.xml
<!--用来指定namenode的地址-->
<property>
	<name>fs.defaultFS</name>
	<value>hdfs://hadoop01:9000</value>
</property>
<!--用来指定hadoop运行时产生临时文件的存放目录,如果不配置默认使用/tmp目录存在安全隐患 -->
<property>
	<name>hadoop.tmp.dir</name>
	<value>/root/bigdata/hadoop/tmp</value>
</property>
(3)修改hdfs-site-xml
<!--用来指定secondary namenode的地址-->
<property>
	<name>dfs.namenode.secondary.http-address</name>
	<value>hadoop02:50090</value>
</property>
<!--指定元数据存储位置-->
<property>
	<name>dfs.namenode.name.dir</name>
	<value>/root/bigdata/dfs/name</value>
</property>
<!--用来指定数据存储位置-->     
<property>
	<name>dfs.datanode.data.dir</name>
	<value>/root/bigdata/dfs/data</value>
</property>
<!--设置hdfs的操作权限,false表示任何用户都可以在hdfs上操作文件-->
<property>
	<name>dfs.permissions</name>
	<value>false</value>
</property>
(4)修改mapred-site.xml
修改模板文件名 mv mapred-site.xml.template mapred-site.xml
<!--指定mapreduce运行在yarn上-->
<property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
</property>
(5)修改yarn-site.xml
<!--指定resoucemanager的地址-->
<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>hadoop01</value>
</property>
<!--指定NodeManager获取数据的方式-->
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>
(6)配置slaves文件
将集群中的从节点名配置到此文件中

8.将整个bigdata文件夹发送到另外两台机器中

scp -r /root/bigdata/ hadoop02:$PWD
scp -r /root/bigdata/ hadoop02:$PWD

9.将/etc/profile发送到另外两台机器

scp /etc/profile hadoop02:/etc/profile
scp /etc/profile hadoop02:/etc/profile
source /etc/profile
输入java -version和hadoop version验证正确性

10.格式化namenode

hadoop namenode -format

11.启动命令

hadoop-daemon.sh start namenode启动namenode
hadoop-daemon.sh start datanode启动datanode
hadoop-daemon.sh stop namenode关闭namenode
hadoop-daemon.sh stop datanode关闭datanode
start-dfs.sh启动dfs
stop-dfs.sh关闭dfs
start-yarn.sh开启yarn
stop-yarn.sh关闭yarn
start-all.sh启动dfs和yarn
stop-all.sh 关闭dfs和yarn

12.通过浏览器查看hadoop(配置本机的hosts文件)
http://ip:50070
http://hadoop01:50070
http://ip:8088
http://hadoop01:8088

猜你喜欢

转载自blog.csdn.net/qq_38828619/article/details/85091808