设为首页 加入收藏

TOP

Hadoop入门及安装
2019-03-19 12:26:42 】 浏览:70
Tags:Hadoop 入门 安装

一、
Hadoop来源:Google 三大论文
MapReduce / GFS / BigTable

1、Hadoop Common:
为其他Hadoop模块提供基础设施
2、Hadoop HDFS (Hadoop Distributed File System)
一个高可靠、高吞吐量的分布式文件系统
3、Hadoop MapReduce
一个分布式的离线并行计算框架
4、Hadoop YARN (Yet Another Resource Negotiator)
一个新的MapReduce框架,任务调度及资源管理
HDFS
NameNode是主节点,储存文件的元数据如文件名,文件目录结构,文件 属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在DataNode等。
DataNode 在本地文件系统储存文件块数据,以及块数据的效验。
Secondary NameNode 用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照



YARN:
ResourceManager
处理客服端请求
启动/监控ApplicationMaster
监控NodeManager
资源分配与调度

ApplicationMaster
数据切分
为应用程序申请资源,并分配给内部任务
任务监控与容错

NodeManager
单节点上的资源管理器
处理来自ResourceManager的命令
处理来自ApplicationMaster的命令

Container
对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关信息

MapReduce计算框架
计算过程分为两个阶段:Map 和 Reduce
Map阶段并行处理输入数据
Reduce阶段对Map阶段进行汇总。

Shuffle链接Map和Reduce两个阶段
Map Task将数据写到本地磁盘
Reduce Task从每个Map Task读取一份数据

特点:
仅适合离线处理
具有很好的容错性和扩展性
适合简单的批量任务

缺点:
启动开销大,过多使用磁盘导致磁盘性能降低等


二、Hadoop伪分布式安装部署
1.上传压缩包到指定目录

2.解压到指定目录
# tar -zxf hadoop-2.6.0.tar.gz -C /opt/modules/

3.目录介绍
bin:执行文件目录
etc:Hadoop配置文件都在此目录
include:包含C语言接口开发所需头文件
lib:包含C语言接口开发所需链接库文件
libexec:运行sbin目录中的脚本会调用该目录下的脚本
logs:日志目录,在运行过Hadoop后会生成该目录
sbin:仅超级用户能够执行的脚本,包括启动和停止dfs、yarn等
share:包括doc和hadoop两个目录
doc目录包含大量的Hadoop帮助文档
hadoop目录包含了运行Hadoop所需的所有jar文件,在开发中用到的jar文件也可在该目录找到



4.根据官方文档配置:
--》etc/hadoop/hadoop-env.sh
--》在第25行配置JDK安装路径
export JAVA_HOME=/opt/modules/jdk1.7.0_67

5.配置mapred-env.sh
--》第16行,去掉注释,配置JDK
export JAVA_HOME=/opt/modules/jdk1.7.0_67

6.配置yarn-env.sh
--》第23行,去掉注释,配置JDK
export JAVA_HOME=/opt/modules/jdk1.7.0_67

7.配置etc/hadoop/core-site.xml (hadoop核心配置文件)
--》指定文件系统所在机器位置及交互端口号
<property>
<name>fs.defaultFS</name>
<value>hdfs://bdqn.linux.com:8020</value>
</property>

--》配置hadoop数据存储目录
--》在Hadoop家目录下创建目录:mkdir -p data/tmp
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.6.0/data/tmp</value>
</property>

8.配置etc/hadoop/hdfs-site.xml
--》配置数据副本数量,默认为3
<property>
<name>dfs.replication</name>
<value>1</value>
</property>

9.格式化NameNode
bin/hdfs namenode -format
如果发生错误 执行rm -rf data/tmp/* bin/hdfs namenode -format

10.启动HDFS节点测试:
单节点启动方式:
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode

HDFS全节点启动方式:
sbin/start-dfs.sh

测试:
方式一:jps
2445 NameNode
2603 Jps
2531 DataNode

方式二:通过web页面访问HDFS
主机名:端口号
bdqn.linux.com:50070

方式三:通过命令测试
创建目录:
bin/hdfs dfs -mkdir /input
上传文件:
bin/hdfs dfs -put README.txt /tom

单节点关闭方式:
sbin/hadoop-daemon.sh stop namenode
sbin/hadoop-daemon.sh stop datanode

HDFS全节点关闭方式:
sbin/stop-dfs.sh

11.配置etc/hadoop/mapred-site.xml
重命名配置文件:# mv mapred-site.xml.template mapred-site.xml
--》让MapReducer运行在YARN
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

12.配置etc/hadoop/yarn-site.xml
--》map和reducer中间使用shuffle进行混洗
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

13.配置slaves
此文件为从节点配置文件,指定从节点所在机器位置
bdqn.linux.com

14.启动测试
YARN全启动方式
sbin/start-yarn.sh

YARN单节点启动方式:
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager

方式一:jps
3457 NodeManager
3178 ResourceManager

方式二:通过web页面访问
主机名:端口号
bdqn.linux.com:8088

YARN关闭方式:
sbin/stop-yarn.sh

YARN单节点关闭方式:
sbin/yarn-daemon.sh stop resourcemanager
sbin/yarn-daemon.sh stop nodemanager

15.wordcount程序
需求:完成一个单词统计程序
15.1准备待统计文件:
vi hello.txt
写入待统计的单词
………………
………………
………………

15.2将待统计文件上传到HDFS
bin/hdfs dfs -put /opt/datas/hello.txt /input

15.3通过hadoop自带jar包运行wordcount程序
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar wordcount /input/ /output/

注意:最终输出结果目录 一定不能存在

15.4查看输出结果
bin/hdfs dfs -cat /output/part-r-00000



16.环境变量配置
vi /etc/profile
-->在最后一行插入以下内容
#HADOOP_HOME
export HADOOP_HOME=/opt/modules/hadoop-2.6.0
export PATH=$PATH:$HADOOP_HOME/bin

--》生效配置文件
source /etc/profile

--》退出所有用户并重新登录
exit

-->测试:hadoop version
Hadoop 2.6.0
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇HDFS版本信息对比2.6.0-3.0.0 下一篇使用Eclipse插件连接配置Mapreduc..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目