Hadoop2.x入门讲解
来源:互联网 发布:windows 3.0 编辑:程序博客网 时间:2024/05/23 13:53
Hadoop项目主要包括一下四个模块
1、Hadoop Common
为其他Hadoop模块提供基础设施。
2、Hadoop HDFS
一个高可靠、高吞吐量的分布式文件系统
3、Hadoop MapReduce
一个分布式的离线并行计算框架。
4、Hadoop YARN
一个新的MapReduce框架,任务调度与资源管理。
HDFS系统架构
1、NameNode:是主节点,存储文件的元数据,如文件名、文件目录结构、文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在DataNode等信息。NameNode的元数据中一部分存放在内存中的进程中,另一部分存放在本地磁盘(fsimage镜像文件和edits编辑日志)。
2、DataNode:在本地文件系统存储文件块数据,以及块的校验和。
3、Secondary NameNode:用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。(配置HA后,不启动)
Yarn系统架构
1、ResourceManager:处理客户端请求;启动/监控ApplicationMaster;监控NodeManager;资源的分配和调度。
2、ApplicationMaster:数据切分;为应用程序申请资源,并分配给内部任务;任务监控与容错。
3、NodeManager:单节点上的资源管理;处理来自ResourceManager的命令;处理来自ApplicationMaster的命令。
4、Container:对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息。
MapReduce分布式离线计算框架
1、将计算过程分为两个阶段,Map和Reduce
Map阶段并行处理输入数据
Reduce阶段对Map结果进行汇总
2、Shuffle连接Map和Reduce两个阶段
Map Task将数据写到本地磁盘
Reduce Task从每个Map Task上读取一份数据
3、仅适合离线批处理
具有很好的容错性和扩展性
适合简单的批处理任务
4、缺点明显
启动开销大、过多使用磁盘导致效率低
Hadoop2.X环境的搭建伪分布配置
1、安装相应软件(1)设置静态ip
在centos桌面右上角的图标上,右键修改重启网卡:service network restart
验证:ifconfig
(2)修改主机名
修改当前回话的主机名:hostname hadoop-senior.ibeifeng.com
修改配置文件中的主机名:vi /etc/sysconfig/network
验证:重启电脑 reboot
(3)主机名和ip绑定
vi /etc/host
192.168.217.130 hadoop-senior.ibeifeng.com hadoop-senior
(4)关闭防火墙
执行命令:service iptables stop
验证:chkconfig --list | grep iptables
(5)SSH(secure shell)免密码登录
执行命令: ssh-keygen ot rsa 产生密钥,位于~/.ssh文件夹中
执行命令: cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
验证:ssh localhost
(6)安装jdk1.7、配置环变量
./jdk-7u24-linux-i586.bin
配置环境变量 vi /etc/profile
export JAVA_HOME=/usr/local/jdk1.7
export PATH=.:$JAVA_HOME/bin:$PATH
执行source /etc/profile
验证:java -version
(7)安装Hadoop2.5.0
tar -zxvf hadoop-2.5.0.tar.gz -C /opt/modules/hadoop-2.5.0/
2、HDFS的配置文件
hadoop-env.sh
export JAVA_HOME=${JAVA_HOME} ###如果JAVA_HOME的环境变量配置好可以不修改,这里统一修改为echo $JAVA_HOMT的地址
core-site.xml:
<pre name="code" class="plain"><property><name>fs.defaultFS</name><value>hdfs://hadoop-senior.ibeifeng.com:8020</value> --改成自己的主机信息</property><property><name> hadoop.tmp.dir</name><value>/opt/modules/hadoop-2.5.0/data/tmp</value> --改成自己的位置</property>hdfs-site.xml:
<property><name>dfs.replication </name><value>1 /value> </property>3、格式化文件系统
$ bin/hdfs namenode –format4、启动NameNode daemon 和DataNode daemon
$ sbin/start-dfs.sh 或者$ sbin/hadoop-daemon.sh start namenode $ sbin/hadoop-daemon.sh start datanode启动的时候会产生日志文件,日志文件在logs文件夹下
.log文件记录大部分应用程序的日志信息
.out记录标准输出和标准错误日志
日志文件命令规则:
框架名称-用户名-进程名-主机名-日志格式后缀
5、HDFS提供的Web界面,端口号50070。
http://hadoop-senior.ibeifeng.com:50070/6、HDFS的shell命令
$ bin/hdfs dfs –mkdir –p /user/beifeng/$ bin/hdfs dfs –ls –R .......7、Yarn的配置
yarn-env.sh
export JAVA_HOME=${JAVA_HOME} ###如果JAVA_HOME的环境变量配置好可以不修改,这里统一修改为echo $JAVA_HOMT的地址yarn-site.xml:
<property><name>yarn.resourcemanager.hostname</name> <value>hadoop-senior.ibeifeng.com</value> </property><property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value></property>slaves配置从节点信息,一行代表一个主机
8、yarn的启动
$ sbin/start-yarn.sh 或者$ sbin/yarn-daemon.sh start resourcemanager$ sbin/yarn-daemon.sh start nodemanager9、Yarn的监控界面端口号为:8088
http://hadoop-senior.ibeifeng.com:8088/10、配置MapReduce运行到yarn上
mapred-env.sh
export JAVA_HOME=${JAVA_HOME} ###如果JAVA_HOME的环境变量配置好可以不修改,这里统一修改为echo $JAVA_HOMT的地址mapred-site.xml
<property><name>mapreduce.framework.name</name><value>yarn</value></property>11、mr测试程序
$ sbin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/input /user/output12、启动历史服务器
查看已经运行完成的MR作业记录,比如用了多少时间,多少个Reduce、作业提交时间、作业启动时间、作业完成时间等。
默认情况下,历史服务器是没有启动的。
$ sbin/mr-jobhistory-daemon.sh start historyserver13、yarn的日志聚集功能配置和使用,LogAggregation
聚集:应用程序完成之后,将日志信息上传到HDFS系统。
yarn-site.xml
<property><name>yarn.log-aggregation-enable</name><value>true</value></property><property> <name>yarn.log-aggregation.retain-seconds</name> <value>设置存在的时间多少秒</value></property>14、hdfs垃圾回收(误删除可以在回收站找回)
配置core-site.xml:
<property><name>fs.trash.interval</name><value>在垃圾回收站的存留时间分钟</value> </property>
Hadoop2.x各个服务组件如何配置在哪台服务器
1、HDFS模块:NameNode:是由哪个文件中的哪个配置属性指定的呢?
core-site.xml文件中;<property> <name>fs.defaultFS</name> <value>hdfs://hadoop-senior.ibeifeng.com:8020</value></property>DataNodes:是由哪个文件中的哪个配置属性指定的呢?
slaves文件中一行为一个DataNodehadoop-senior.ibeifeng.comSecondaryNameNode:是由哪个文件中的哪个配置属性指定的呢?
hdfs-site.xml文件中;<property><name>dfs.namenode.secondary.http-address</name><value>hadoop-senior.ibeifeng.com:50090</value></property>2、YARN模块:
ResourceManager:是由哪个文件中的哪个配置属性指定的呢?
yarn-site.xml文件中;<property><name>yarn.resourcemanager.hostname</name><value>hadoop-senior.ibeifeng.com</value></property>NodeManagers:是由哪个文件中的哪个配置属性指定的呢?
slaves文件中一行为一个NodeManagerhadoop-senior.ibeifeng.com
- Hadoop2.x入门讲解
- Hadoop2.x从源码讲解作业配置
- Hadoop2.x编程入门实例:MaxTemperature
- hadoop2.x入门:Hadoop的启动方式
- Hadoop2.x编程入门实例:MaxTemperature
- Hadoop入门进阶课程2--Hadoop2.X 64位编译
- Hadoop入门进阶课程2--Hadoop2.X 64位编译
- Hadoop入门进阶课程2--Hadoop2.X 64位编译
- hadoop2.x入门:在windows上用Eclipse编写程序
- Cocos2d-x入门粒子系统详细讲解
- Hadoop从入门到精通之 如何从Hadoop1.x转到Hadoop2.x
- Hadoop2.x安装
- hadoop2.x安装配置
- hadoop2.x HA配置
- hadoop2.x 安装教程
- hadoop2.x MapReduce过程
- hadoop2.x MapReduce过程
- hadoop2.x error记录
- PhotoViewSlider
- cd命令使用说明
- 关于mysql的事务的控制实验
- SIP穿越NAT SIP穿越防火墙
- Android关于Theme.AppCompat相关问题的深入分析
- Hadoop2.x入门讲解
- 八大排序算法自我实现
- JAXP 的 SAX 解析
- 7.14 Git 工具 - 凭证存储
- 【poj 1724】ROADS
- 【机器学习】SVM学习(二):线性分类器
- Asp.Net MVC技术资料全集
- eclipse把java web项目转为maven项目
- JSP学习——JSP基础知识(一)