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