Hdoop】的更多相关文章

一.RPC(Remote Procedure Call)简介 RPC 是远程过程调用(Remote Procedure Call),即远程调用其他虚拟机中运行的javaobject.RPC 是一种客户端/服务器模式,那么在使用时包括服务端代码和客户端代码,还有我们调用的远程过程对象.HDFS 的运行就是建立在此基础之上的.本章通过分析实现一个简单的RPC 程序来分析HDFS 的运行机理. 二.代码解析 1. 服务端代码 代码如下: public class MyServer { public s…
折腾了一天,其间配置SSH时候出现了问题,误删了ssh-keygen相关文件,导致配置SSH彻底萎了,又重装了系统.... 采用伪分布式模式,即hadoop将所有进程运行于同一台主机上,但此时Hadoop将使用分布式文件系统,而且各jobs也是由JobTracker服 务管理的独立进程.同时,由于伪分布式的Hadoop集群只有一个节点,因此HDFS的块复制将限制为单个副本,其secondary-master和 slave也都将运行于本地主机.此种模式除了并非真正意义的分布式之外,其程序执行逻辑完…
HA概述 所谓HA(high available),即高可用(7*24小时不中断服务). 实现高可用最关键的策略是消除单点故障.HA严格来说应该分成各个组件的HA机制:HDFS的HA和YARN的HA. Hadoop2.0之前,在HDFS集群中NameNode存在单点故障(SPOF). NameNode主要在以下两个方面影响HDFS集群 ​ NameNode机器发生意外,如宕机,集群将无法使用,直到管理员重启 ​ NameNode机器需要升级,包括软件.硬件升级,此时集群也将无法使用 HDFS H…
优势:1.低成本  2.高扩展 3.成熟的生态圈 1.安装虚拟机 vi /etc/profile…
命令基本格式: hadoop fs -cmd < args > 1.ls hadoop fs -ls / 列出hdfs文件系统根目录下的目录和文件 hadoop fs -ls -R / 列出hdfs文件系统所有的目录和文件 2.put hadoop fs -put < local file > < hdfs file > hdfs file的父目录一定要存在,否则命令不会执行 hadoop fs -put < local file or dir >...&l…
Hadoop的datanode无法启动 hdfs-site中配置的dfs.data.dir为/usr/local/hadoop/hdfs/data 用bin/hadoop start-all.sh启动Hdoop,用jps命令查看守护进程时,没有DataNode. 访问http://localhost:50070,点击页面中的Namenode logs链接,在logs页面点击hadoop-hadoop-datanode-ubuntu.log 链接, 发现在日志中有此提示:Invalid direc…
Hadoop源码解析 1 --- Hadoop工程包架构解析 1 Hadoop中各工程包依赖简述    Google的核心竞争技术是它的计算平台.Google的大牛们用了下面5篇文章,介绍了它们的计算设施.     GoogleCluster: http://research.google.com/archive/googlecluster.html     Chubby:http://labs.google.com/papers/chubby.html     GFS:http://labs.…
一.hive的压缩 1. hadoop的压缩 1)为什么需要压缩 MapReduce的性能瓶颈:网络IO.磁盘IO 数据量:对于MapReduce的优化,最主要.根本就是要能够减少数据量 Combiner:减少跨网络传输的数据量 压缩:将数据量减少,但是需要消耗CPU计算功能 2)哪些地方可以压缩 (1)输入文件进行压缩 (2)map的输出进行压缩 (3)reduce的输出进行压缩 3)压缩方式 gzip,lzo,snappy,bzip2 10G -->128M 10G -->压缩gizp -…
在前面说hadoop整体实现的时候, 说过DataNode的需要完成的首要任务是K-V存储.                                            第二个功能是 完成和namenode 通信 ,这个通过IPC 心跳连接实现.此外还有和客户端 其它datanode之前的信息交换. 第 三个功能是 完成和客户端还有其它节点的大规模通信,这个需要直接通过socket 协议实现.    下面开始分析源代码,看看DataNode是如何实现这些功能的.    分析代码采取自定…
sed的正则匹配如何实现非贪婪? sed的正则用的是BREs/EREs,不支持非贪婪模式.当然有一些方法可以实现非贪婪,比如: $ echo abcOabcdOabc | sed 's/.*O//' 结果是abc: $ echo abcOabcdOabc | sed 's/[^O]*O//' 结果是abcdOacb,变相实现了非贪婪的匹配. 但如果是这种情况: <div>...</div>blabla<div>...</div> 如果想用sed去除前后的&l…