自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 Hadoop RPC 机制以及源码分析

什么是RPCRPC(Remote Procedure Call)—远程过程调用,是一种用于构建基于C/S(客户端/服务器)的分布式应用程序技术,调用者和被调用者可能在同一台服务器也不能不在同一台服务器,使用RPC可以使调用远程方法像调用本地方法一样简单,而且网络通信是透明的,不需要知道通信细节。RPC调用的流程1、服务消费方(client)调用以本地调用方式调用服务;2、client s...

2019-07-15 19:57:22 224

原创 Hadoop 集群资源管理系统YARN

Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是Hadoop的集群资源管理系统,YARN被引入Hadoop 2,最初是为了改善MapReduce的实现,但它具有的通用性,同样支持其他的分布式应用。在MapReduce 1中,有两类守护进程控制着作业执行过程,一个jobtracker及一个或者多个tasktracker。j...

2019-07-05 14:56:26 471

原创 MapReduce工作机制

2019-07-01 20:57:48 181

原创 Hadoop MapReduce 类型和格式

Hadoop的MapReduce中,map函数和reduce函数遵循如下常规格式:map(k1,v1)------->list(k2,v2)reduce(k2,list(v2))------->list(k3,v3)一般来说,map函数的键值类型(k1和v1)不同于输出类型(k2和v2)。然而reduce函数的输入类型必须和map函数的输出类型相同。但是reduce函数的输出类型...

2019-07-01 20:36:51 343

原创 Hadoop 序列化机制

序列化是指将结构化对象转化为字节流以便在网络上传输或者写到磁盘上进行永久存储的过程,反序列化是指将字节流转回结构化对象的逆过程序列化用于分布式处理的两大领域,进程间通信和永久存储。在Hadoop中,系统中多个节点上进程间的通信是通过“远程过程调用”(remote procedure call, RPC)实现的。RPC将消息序列化成二进制流后发送到远程节点,远程节点接着将二进制流饭序列化为原始...

2019-07-01 15:31:03 492

原创 IDEA远程debug Hadoop源码

在$HADOOP_HOME/etc/hadoop/hadoop-env.sh文件的最后添加你想debug的进程#远程调试namenodeexport HADOOP_NAMENODE_OPTS="-agentlib:jdwp=transport=dt_socket,address=8888,server=y,suspend=y"#远程调试datanodeexport HADOOP_DATAN...

2019-06-30 17:51:50 401

原创 IDEA开发hadoop mapreduce 引入 Maven 依赖

<!-- hdfs程序需要引入依赖:--> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.8.2</version>...

2019-06-30 17:30:54 2900

原创 HDFS原理

HDFS分布式文件系统介绍Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS架构HDFS主要...

2019-06-27 11:51:51 281

原创 垃圾收集算法

引用计数算法:给对象添加一个引用计数器,每当有一个对象引用他时,引用值就加1;当引用失败时,引用值就减1;任何时刻计数器为0的对象就是不可能在被使用的对象可达性分析算法:通过一系列成为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象到GC Roots没有任何引用链相连(用图论的话就是从GC Roots到这个对象不可达),则证明此对象...

2019-06-26 17:25:51 97

原创 Hadoop 安装后验证

准备工作格式化hdfs:hadoop namenode -format ,这是一个过时的命令,不过也可以使用启动hadoop:start-all.sh ,这也是一个过时的命令,不过用起来很方便查看进程执行jps命令(不包括jps应该有5个进程) NameNode SecondaryNameNode DataNode ...

2019-06-24 14:31:02 1546

原创 Hadoop安装以及配置文件初始化修改

一、hadoop安装1、上传安装包2、在家目录创建一个cloud目录 mkdir /home/cloud3、解压 tar -zxvf hadoop-1.1.2.tar.gz -C /home/cloud/二、hadoop配置文件修改1、修改hadoop-env.shvimhadoop-env.shexport JAVA_HOME=/us...

2019-06-24 11:26:18 4084 1

原创 Linux SSH无密码登录配置以及原理

SSH无密码登录配置配置当前主机无密码登录首先执行cd ~/.ssh我们可以进入.ssh目录,此时我们可以发现只有一个文件生成ssh免登录密钥 :执行 ssh-keygen -t rsa 命令,执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)输入3个回车键将公钥拷贝到要免登陆的机器上:执行 cp id_rsa.pub authori...

2019-06-24 09:49:12 337

转载 MySQL——通过EXPLAIN分析SQL的执行计划

MySQL——通过EXPLAIN分析SQL的执行计划 在MySQL中,我们可以通过EXPLAIN命令获取MySQL如何执行SELECT语句的信息,包括在SELECT语句执行过程中表如何连接和连接的顺序。下面分别对EXPLAIN命令结果的每一列进行说明:select_type:表示SELECT的类型,常见的取值有:类型说明...

2019-06-20 16:54:59 133

转载 Mysql优化order by 语句

MySQL——优化ORDER BY语句 本篇文章我们将了解ORDER BY语句的优化,在此之前,你需要对索引有基本的了解,不了解的朋友们可以先看一下我之前写过的索引相关文章。现在让我们开始吧。MySQL中的两种排序方式1.通过有序索引顺序扫描直接返回有序数据因为索引的结构是B+树,索引中的数据是按照一定顺序进行排列的,所以在排序查询中如果能利...

2019-06-20 16:52:29 161

转载 Mysql索引优化

MySQL——索引优化实战 上篇文章中介绍了索引的基本内容,这篇文章我们继续介绍索引优化实战。在介绍索引优化实战之前,首先要介绍两个与索引相关的重要概念,这两个概念对于索引优化至关重要。本篇文章用于测试的user表结构:索引相关的重要概念基数单个列唯一键(distict_keys)的数量叫做基数。SELECT COUNT(DISTINC...

2019-06-20 16:49:21 139

转载 mysql索引基础

MySQL——索引基础 本篇文章,我们将从索引基础开始,介绍什么是索引以及索引的几种类型,然后学习如何创建索引以及索引设计的基本原则。本篇文章中用于测试索引创建的user表的结构如下:什么是索引索引(在 MySQL 中也叫“键key”)是存储引擎快速找到记录的一种数据结构——《高性能MySQL》我们需要知道索引其实是一种数据结构,其功能是帮...

2019-06-20 14:49:26 116

原创 Oracle 实例 用户 表空间概念

今天进行环境搭建时,用到了Oracle数据库,关于是否创建实例,是否创建表空间等等纠结了好久,和同事讨论了一下,又回来查点资料,做做总结1、Oracle和mysql的对比都是关系型数据库,Oracle是通过用户来进行管理数据表的的,而mysql是通过数据库(database)进行管理数据表的,Oracle的数据库是只有一个的,而另一个概念表空间则主要是Oracle数据表存储的地方.2、Oracle...

2018-07-04 23:26:53 1284

原创 String部分源码浅析(不可变,拼接,StringBuilder)

1 String是不可变的这个结论当然是正确的,通过JDK文档,发现每一个看似会修改String的方法,其实都是在底部创建了一个新的String对象,进行返回,把地址值赋值给变量,原来的String对象是没有发生变化的,当然这和操作普通的实体对象还是不一样的,如果看String源码的话,底层是通过一个Final修饰的char数组维护的(final修饰的数组内容是可以变的,地址值不变)【注:你真的想...

2018-06-26 23:07:09 424

转载 环境变量

环境变量——关于PATH与CLASSPATH的区别在安装JDK时需要添加环境变量,经常使用的环境变量有两个:PATH与CLASSPATH,下面总结一下环境变量的作用。PATH是系统用来指定可执行文件的完整路径(如要对java文件执行javac和java的命令时,java文件的可执行路径仅仅是在bin目录下)。当在CMD中执行命令时,如果执行的可执行文件不在当前目录下,那么系统就会依次搜索PATH中...

2018-06-26 21:29:56 162

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除