hadoop源码解读一

来源:互联网 发布:ubuntu安装中文输入法 编辑:程序博客网 时间:2024/06/05 22:33

打开已经编译的hadoop文件夹,bin:看来像hadoop下的各种服务和组件,有cotainer,hdfs,mapred,yarn;

sbin:hadoop各项服务的启动脚本,配置脚本;反正里面全是脚本;设置各方面的都有;

etc:各项的配置文件,只要可以配置的都在里面,包括dfs配置,调度器配置,namenode,datanode,端口,环境,容错,缓存,等等;

include:里面时hadoop的c++实现库;

lib:下面是以so结尾的文件,感觉像是库;

libexe:kms-config.sh密匙管理配置启动脚本?,mapred,yarn,hdfs,hadoop,httpfs,配置文件脚本;

log:每次启动或者运行时的日志文件存放点;

share:hadoop的各种依赖库jar,用来运行的逻辑文件库;

tmp:存储数据,其中包括缓存文件夹,datanode文件,namenode文件存放地;

然后是三个txt文件,证书,README,NOTICE;

然后启动效果看一下,我们一般都启动的是start-all.sh,当我们启动了这个文件之后,如果存在start-dfs.sh这个文件,then,启动start-dfs.sh --config,

而在start-dfs.sh中,先启动了namenode,然后启动了salves配置文件和datanode们,接着启动secondrynamenode,最后生成热部署?

接着再启动start-yarn.sh --config

在start-yarn.sh中,首先启动resourceManager,然后启动nodeManager,最后启动proxyServer;

在启动这两个脚本文件中,都会去调用bin下对应的hadoop-daemon.sh,yarn-daemons.sh;

hadoop包下的功能分析

tool:命令行工具,当然还有其他工具,暂时不知道干什么的;

mapreduce:hadoop的mapreduce实现(旧版的)

mapred:hadoop的mapereduce实现(新版)

filecache:HDFS文件的本地缓存,用来加快MapReduce的数据访问速度;

fs:支持多种文件系统的统一文件访问接口;

hdfs:HDFS的分布式文件系统的实现;

ipc:一个IPC的实现:IPC(进程间通信),依赖于IO的编解码功能;

io:io传输实现,表示层,将各种数据编码,解码,便于传输,最大的作用是路径,流的处理;

net:封装的部分网络功能,例如DNS,socket;

conf:系统的配置参数;

metrics:系统统计数据的收集,有两个,metrics,metrics2;

util:工具类包括数据检查求和,缓存查看,缓冲池查看等等;

record:看起来是解析数据的格式的,里面有CSVrecord,xmlrecord等等;

http:里面有http的servlet,filter,sslserver,等等;

log:日志,经典log4j日志;

security:用户和用户组的信息;

test:测试用例;

streaming:流,文件,压缩相关;

service:服务注册;

oncrpc:rpc调用;








原创粉丝点击