代码改变世界

Hadoop基础知识

2016-08-16 19:56  牛仔裤的夏天  阅读(273)  评论(0编辑  收藏  举报
摘要:Hadoop的安装目录了解、etc的核心配置项、hadoop的启动、HDFS文件的block块级副本的存放策略、checkpoint触发设置。

1.hadoop目录了解

bin:可执行文件,命令启动的脚本等
sbin:系统级可执行文件,服务的启动和停止相关
etc:配置文件
lib:native本地平台相关依赖库(windows用win编译的库,linux用linux编译的库)
share:doc即文档可删除,hadoop目录即jar包分工程的存放目录

2.etc配置文件核心配置项

(1)hadoop-env.sh 环境变量
修改java环境变量
(2)core-site.xml 公共配置项
集群默认的文件系统fs.defaultFS: hdfs://namenode:9000/
hadoop进程在本地的工作目录,namenode存放元数据,datanode存放数据块:/opt/hadoop2.6.0/tmp。namenode会在tmp下创建name文件夹,datanode会在tmp下创建data文件夹。
(3)hdfs-site.xml 与hdfs运行有关参数
副本的数量dfs.replication:3
(4)mapred-site.xml 程序运行
mapreduce程序跑在哪个资源调度框架mapreduce.framework.name:yarn
(5)yarn-site.xml yarn配置项
yarn框架的主节点yarn.resourcemanager.hostname:namenode
中间数据调度机制yarn.nodemanager.aux-services:mapreduce_shuffle

3.hadoop的启动

start-all.sh 启动所有进程,一般启动如下两个:
(1)start-dfs.sh

图中可以看到各个进程监控的端口,如:namenode监听9000(rpc通信端口namenode与datanode通信)及50070(web页面端口),
(2)start-yarn.sh

启动resourcemanager和nodemanager

4.hdfs文件的block块及副本的存放策略

传文件大小大于128M的文件到hdfs一级目录。

在namenode的dfs/name目录中的VERSION文件内容如下

在datanode的dfs/data目录中的current子级有块的信息

可以看到图4中的BP……即图3中的blockpoolID,图4中的两个block块信息即为传输到hdfs的文件,这里被拆分为两个块。第一个块文件大小为134217728/1024/1024=128M。

副本的存放策略:

1.先在客户端所连接的datanode上存放一个副本
2.再在另一个机架上选择一个datanode存放第二个副本
3.最后在本机架根据负载情况随机挑选一个datanode存放第三个副本

5.checkpoint的触发设置

●fs.checkpoint.period 指定两次checkpoint的最大时间间隔,默认3600秒。

●fs.checkpoint.size 规定edits文件的最大值,一旦超过这个值则强制checkpoint,不管是否到达最大时间间隔,默认大小是64M