![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hadoop
建康
这个作者很懒,什么都没留下…
展开
-
hdfs写文件creat客户端代码追踪
1 创建输出流过程客户端通过给FileSystem对象的create方法传入Path对象来构建输出流,在FileSystem对象内部调用多个create方法来传入相应的配置。 /** * Create an FSDataOutputStream at the indicated Path with write-progress * reporting. * @param f the file name to open * @param overwrite if a file w原创 2020-09-09 09:34:47 · 240 阅读 · 0 评论 -
2020-09-09
HDFS主要RPC接口ClientProtocol:客户端与名字节点间的接口。客户端通过这个接口访问名字节点,操作文件或目录的元数据信息(如,获取数据块位置后,才能继续与数据节点通信读取数据)。另外,还能够管理或查看名字节点的状态(和由名字节点维护的集群统计信息)。ClientDatanodeProtocol:客户端与数据节点间的接口。用于客户端和数据节点进行交互。这个接口用得比较少,客户端和数据节点间的主要交互是通过流接口进行读/写文件数据的操 作;主要在错误发生时,客户端需要数据节点配合进行恢复原创 2020-09-09 09:33:43 · 208 阅读 · 0 评论 -
2020-09-09
HDFS在写入数据时有两种选择磁盘策略:基于轮询的策略(RoundRobinVolumeChoosingPolicy)基于可用空间的策略(AvailableSpaceVolumeChoosingPolicy)1. 基于轮询的策略[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aeYmLnCM-1599615000844)(/images/23/599/c6d3bf7d455c36b9cb4c96ebad2a12c.png)]轮询策略的思想就是从对象1遍历到对象n,原创 2020-09-09 09:30:25 · 168 阅读 · 0 评论 -
Hadoop写文件create代码追踪
服务端代码分析NameNodeRpcServer.create方法:namenode所有的rpc响应都由NameNodeRpcServer来处理1.参数配置及检查检查namenode的状态 checkNNStartup(); private void checkNNStartup() throws IOException { if (!this.nn.isStarted()) { String message = NameNode.composeNotStart原创 2020-09-08 13:39:34 · 361 阅读 · 0 评论 -
hadoop 读流程追踪-Client端
Client端读文件流程创建DFSInputStream具体流程代码分析:FileSystem.get方法获取DistributedFileSystem对象fileSystem = FileSystem.get(configuration);System.out.println(fileSystem.getClass());输出//根据configuration传入的参数分析schema后获取的hdfs对应的文件系统DistributedFileSystem,具体流程不再展示class原创 2020-08-28 14:54:38 · 299 阅读 · 0 评论 -
hadoop-3.1.1-RPC(1)
RPC :Remote Procedure Call本地程序像调用本地方法一样调用远程计算机上的应用程序,采用客户端/服务器模式,请求程序是客户端,服务提供程序就是服务端hadoop RPC架构RPC类结构RPC类提供一个统一的接口,客户端通过getProxy()方法获取代理对象,服务端通过内部类Builder.build()方法构造server。RPC类在namenode中的使用构造serverorg.apache.hadoop.hdfs.server.namenode.NameNo原创 2020-08-25 15:11:19 · 198 阅读 · 0 评论