自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 zookeeper的选举机制

http://www.cnblogs.com/leesf456/p/6107600.html一、前言  前面学习了Zookeeper服务端的相关细节,其中对于集群启动而言,很重要的一部分就是Leader选举,接着就开始深入学习Leader选举。二、Leader选举  2.1 Leader选举概述  Leader选举是保证分布式数据一致性的关键所在。当Zookeeper集群中的一台服务器出...

2019-02-24 14:49:52 187

原创 zookeeper集群中服务器的角色和状态

zk服务:不同角色执行不同的任务。在区分zk服务器角色前,先解释几个概念:1.事务请求:在zk中,那些会改变服务器状态的请求称为事务请求(创建节点、更新数据、删除节点、创建会话等等)2.非事务请求从zk读取数据但是不对状态进行任何修改的请求称为非事务请求Leader角色Leader服务器是zk集群工作的核心,其主要工作有两个:事务请求的唯一调度者和处理者,保证集群事务处理的顺序性...

2019-02-24 13:56:59 674

原创 zookeeper学习(一)

一、ZooKeeper简介ZooKeeper:动物管理员Apache ZooKeeper致力于开发和维护开源服务器,实现高度可靠的分布式协调。什么是ZooKeeper?ZooKeeper是一种集中式服务,用于维护配置信息,命名,提供分布式同步和提供组服务。所有这 些类型的服务都以分布式应用程序的某种形式使用。每次实施它们都需要做很多工作来修复不可避 免的错误和竞争条件。由于难以实现...

2019-02-24 13:36:35 158

原创 Scala函数 总结

主函数函数的调用函数的匹配函数返回类型的设定函数的递归嵌套函数偏应用函数高阶函数柯里化函数object Fun { /** * 定义方法 def * 主函数必须用unit * 其他的函数中,返回值类型可加也可以不用加 * @param args */ def main(args: Array[String]): Unit =...

2019-02-23 21:03:21 227

原创 Scala循环

to关键字和until关键字的使用if条件语句while和for循环九九乘法表的打印学习笔记object Test1 { def main(args: Array[String]): Unit={ println(1 to 10) //不包括10 println(1 until 10) //yield将值封装到集合中 val...

2019-02-23 15:49:06 545

原创 scala 部分参数应用函数

代码:import java.util.Dateobject PartParam extends App { def log(date:Date ,message:String): Unit ={ //参数打印 println(s"$date,$message") } val date =new Date() //部分参数应用函数 val logM...

2019-02-22 22:11:49 199

原创 scala 高阶函数

代码如下:object Gaojie { //将其他函数作为参数,或者其结果是函数的函数 def getPerson(h:Int => String , f:Int): String ={ //函数h 参数为f h(f) } def Person(x: Int) = "我是" + x.toString + "很帅的狗蛋" def main(args...

2019-02-22 21:45:46 112

原创 scala默认值函数

代码:object DefaultParam { /** * 如果调用此方法且不给参数,要一个默认值 * @param a * @param b * @return */ def sum(a:Int =3 ,b:Int = 7): Int={ a + b } def main(args: Array[String]): Unit...

2019-02-22 21:26:12 596

原创 scala可变参数

代码:object manyParam { def sum(ints : Int* ):Int = { var sum =0 for (v <- ints){ sum += v } sum } def main(args: Array[String]): Unit = { println(sum(1,2,3,4)) ...

2019-02-22 21:04:15 365

原创 scala传值调用和传名调用

代码:传值调用:object ZFBToPay { var money = 1000 //吃一顿消费50 def eat():Unit={ money=money-50; } //余额 def balance():Int={ eat() money } //打印余额 def printMoney(x: Int):Unit={ ...

2019-02-22 20:39:40 764

原创 HelloScala

object HelloScala{def main(args:Array[String]){println(“HelloScala”)}}

2019-02-22 12:34:14 175

原创 hive中加载数据的常见方式

总结 hive 表中加载数据的六种方式:加载本地文件到hive中举例create table tuser(id int,name string)row formatdelimited fieldsterminated by "\t";load data local inpath '/root/user.txt' into table tuser;加载hdfs到hive...

2019-02-22 10:52:11 325

原创 MapReduceshuffle过程详解

一、shuffle概念 shuffle,洗牌的意思。在MapReduce中,shuffle将map端的无规则输出按指定的规则处理为具有一定规则的数据后,reduce端再接收处理。 shuffle的工作阶段在map和reduce两端,即Map Shuffle和Reduce shuffle。 shuffle之前,MapReduce会对要处理的数据进行分片(split)操作,为每一个分片分配一个...

2019-02-21 23:52:25 381

原创 MapReduce辅助排序

一、数据部分如下:1001 Tmall_01 9981001 Tmall_06 88.81001 Tmall_03 522.81002 Tmall_03 522.81002 Tmall_04 132.41002 Tmall_05 372.41003 Tmall_01 9981003 Tmall_02 8.51003 Tmall_04 132.4需求:订单id正序,成交金额倒序...

2019-02-21 13:58:09 319

原创 combiner优化

combiner为何物1. Combiner是MR程序中Mapper和Reduce之外的一种组件2. Combiner组件的父类是Reducer3. Combiner和Reducer之间的区别在于运行的位置,Combiner可以看做局部的Reducer(local reducer)4. Reducer接收全局的MapTask 所输出的结果5. Combiner在MapTask节点中运行...

2019-02-21 00:07:21 486

原创 Mapreduce分区加排序

流量汇总分区加排序部分待排数据字段如下:13480253104 120 132013502468823 735 1134913510439658 1116 95413560436326 1136 9413560436666 1136 9413560439658 918 493813602846565 198 91013660577991 660 690代码FlowBean...

2019-02-20 23:19:27 257

原创 MR全局排序

流量汇总全局倒排序部分待排数据字段如下:13480253104 120 132013502468823 735 1134913510439658 1116 95413560436326 1136 9413560436666 1136 9413560439658 918 493813602846565 198 91013660577991 660 690上代码FlowBean...

2019-02-20 22:51:01 617

原创 MR流量汇总案例

待汇总数据部分如下:3631279840312 13660577991 5C-0E-8B-92-5C-20:CMCC-EASY 120.197.40.4 s19.cnzz.com 站点统计 24 9 660 690 2003631279730382 15013685858 5C-0E-8B-C7-F7-90:CMCC 120.197.40.4 rank.ie.sogou.com 搜索引擎 28...

2019-02-20 22:39:32 335

原创 MR流量汇总自定义分区

上代码FlowBean/** * 封装类 数据的传输 * @author chengguo * @version 1.0 */public class FlowBean implements Writable{ //定义属性 private long upFlow; private long dfFlow; private long flowSum; pub...

2019-02-20 21:53:07 201

转载 DATANODE的工作机制

转自 https://blog.csdn.net/qq_26442553/article/details/78529314DATANODE的工作机制问题场景:1、集群容量不够,怎么扩容?2、如果有一些datanode宕机,该怎么办?3、datanode明明已启动,但是集群中的可用datanode列表中就是没有,怎么办?1 概述1、Datanode工作职责:  &nbsp...

2019-02-20 17:57:06 263

转载 深入浅出之namenode工作原理剖析

转自 https://blog.csdn.net/qq_26442553/article/details/78529256 问题场景:1、集群启动后,可以查看文件,但是上传文件时报错,打开web页面可看到namenode正处于safemode状态,怎么处理?2、Namenode服务器的磁盘故障导致namenode宕机,如何挽救集群及数据?3、Namenode是否可...

2019-02-20 17:36:31 364

原创 hadoop学习总结(一)

如何安装配置apache的一个开源hadoop集群使用root账户登录修改IP修改host主机名配置SSH免密码登录关闭防火墙安装JDK并配置jdk环境变量解压hadoop安装包配置hadoop的核心文件hadoop-env.sh,core-site.xml , mapred-site.xml , hdfs-site.xml ,yarn-site....

2019-02-20 16:53:48 3175 3

原创 CombineTextInputFormat切片机制优化大量小文件

CombineTextInputFormat切片机制优化大量小文件默认情况下,TextInputformat对任务的切片机制是按文件规划切片,不管文件多小,都会有一个单独的切片,都会交给一个maptask,如果存在大量小文件,就会产生非常多的maptask,这样处理效率机会低下。如何优化:最好的办法,预处理,将小文件先合并成大文件,然后上传到HDFS后分析补救措施:如果大量小文...

2019-02-20 14:32:05 171

原创 MyFirstWordCount

一、mapreduce编程规范用户编写mr程序主要分为三个部分:Mapper,Reducer,Driver1.Mapper阶段(1)用户自定义mapper类 要继承父类Mapper(2)Mapper的输入数据的kv对形式(kv类型可以自定义)(3)Mapper的map方法的重写(加入业务逻辑)(4)Mapper的数据输出kv对的形式(kv类型可以自定义)(5)map()方法(map...

2019-02-20 11:12:49 160

转载 hadoop生态圈的理解

hadoop部分:hadoop生态圈的理解(HDFS,MapReduce,HBASE,zookeeper,hive,sqoop,flume,kafka,yarn,spark) 一、简介       &am

2019-02-20 09:25:57 6686

原创 HDFS基本命令行操作与简单API使用

HDFS基本命令行操作与简单API使用1.网页形式->测试用http://192.168.50.183:50070/2.命令行形式->测试用3.企业级API1)查看帮助hdfs dfs -help2)查看当前目录信息hdfs dfs -ls /3)上传文件hdfs dfs -put /本地路径 /hdfs路径4)剪切文件hdfs dfs -moveFromLo...

2019-02-19 23:20:09 163

原创 解析java泛型(一)

解析java泛型(一)对于我们java中的泛型,可能很多人知道怎么使用并且使用的还不错,但是我认为想要恰到好处的使用泛型,还是需要深入的了解一下它的各种概念和内部原理。本文将尽可能的囊括java泛型中的重要的概念。主要内容如下:泛型的定义及为什么要使用泛型定义一个简单的泛型类定义一个简单的泛型方法类型参数的限定泛型内部实现的基本原理泛型通配符(难点)泛型的其他实现细节一、何...

2019-02-19 12:44:50 134

原创 全面理解java异常机制

全面理解java异常机制异常机制的层次结构异常的处理过程抛出异常捕获异常异常机制的实现细节一、异常机制的层次结构在java程序设计语言中,所有的异常对象都是派生于Throwable类,一般情况下,如果java中内置的异常类不能满足需求,可以自定义异常类只需要继承与Throwable类即可,下面是java 中的异常层次结构:error类表示java内部错误,例如jvm出错...

2019-02-19 12:36:19 319 1

原创 java基础之继承(二)

java基础之继承(二)上篇我们介绍了java中的构造方法,了解了关键字this和super在继承中所起到的作用,this可以显式调用重载的构造方法,super可以显式的调用父类中的任意可见方法。了解方法重载和重写的区别,知道了关键字final的作用,本篇将以一段代码介绍实例化对象时内存的状态。如果你能看懂以下代码,那本篇你就不用浪费时间了。/*这是父类*/public class Ba...

2019-02-19 12:27:52 187

原创 JAVA基础之继承(一)

java基础之继承(一)java中的继承实际上就是子类拥有父类所有的内容(除私有信息外),并对其进行扩展。笔记如下:构造方法重写和重载final关键字new的背后(内存分析)理解方法调用一、构造方法 正如我们所知道的,构造方法的方法名与类名相同,主要的作用是实现对实例对象的初始化工作,实际上每个子类的构造方法中的第一行默认是调用了父类的构造函数,而父类继续向上调用直至...

2019-02-18 23:53:49 96

原创 快速排序

快速排序1.快排原理 基本算法思想是分治算法。 通过一轮的排序将序列分割成独立的两部分,其中一部分序列的关键字均比另一部分关键字小。继续对长度较短的序列进行同样的分割,最后到达整体有序。 在排序过程中,由于已经分开的两部分的元素不需要进行比较,故减少了比较次数,降低了排序时间。1.1详细描述 先在要排序的序列 a 中选取一个基准数(基准数,可以随机取,也可以取固定位置,本文就取第一...

2019-02-18 21:52:44 291

原创 冒泡排序

冒泡排序1.原理 比较两个相邻的元素,将值大的元素交换至右端。1.1思路: 依次比较相邻的两个数,将小数放在前面,大数放在后面。 第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。 重复第一趟步骤,直至全部排序完成。 第一趟比较完成后,最后一个数一定是数组中最大的一个...

2019-02-18 15:42:46 142 1

原创 MyFirstMarkdown

Hello MarkDown斜体 (ctrl + i) emphasized text粗体(双星) 粗体(ctrl+b)一级标题(ctrl+1)二级标题(ctrl+2)三级标题(ctrl+3)四级标题(ctrl+4)五级标题(ctrl+5)六级标题~~(ctrl+6)~~一级标题(2个以上==)二级标题(2个以上–)ctrl+lBilibiliBAIDU比...

2019-02-17 23:55:15 100

空空如也

空空如也

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

TA关注的人

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