- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 Kafka
文章目录Kafka分区Kafka文件存储机制ISRKafka分区topic是逻辑的概念,partition是物理的概念,对用户来说是透明的。producer只需要关心消息发往哪个topic,而consumer只关心自己订阅哪个topic,并不关心每条消息存于整个集群的哪个broker。为了性能考虑,如果topic内的消息只存于一个broker,那这个broker会成为瓶颈,无法做到水平扩展。所以把topic内的数据分布到整个集群就是一个自然而然的设计方式。Partition的引入就是解决水平扩展
2021-11-09 22:11:59 548
原创 Flume
文章目录flume基本架构AgentSourceSinkChannelEventflume基本架构Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume 基于流式架构,灵活简单。为什么要用flume,put也可以把日志上传到hdfs:Flume最主要的作用就是,实时读取服务器本地磁盘的数据,将数据写入到HDFSAgentAgent 是一个 JVM 进程,它以事件的形式将数据从源头送至目的Agent 由三部分组成:source,si
2021-11-01 12:47:15 313
原创 Spark三层架构
文章目录Spark三层架构Spark三层架构controller(控制层),service(服务层),dao(持久层)在web开发中,由于application的变量在后面部分需要用到,为了避免架构之间的耦合行,可以利用ThreadLocal来将共享变量存入,需要时取出即可,但是要记住这个ThreadLocal不是来解决什么问题例如数据冲突问题,而是在线程中共享数据...
2021-10-28 15:34:41 773
原创 zk分布式锁
文章目录zk分布式锁zk分布式锁需要先创建连接,连接后判断/locks根节点是否存在,如果不存在要创建根节点,上图中的client在zk中用节点来表示,当争抢同一种资源的时候,需要利用zk锁来指定哪一个节点有权力获得锁访问资源,下一个节点要监听前一个节点的信息,当前结点释放锁,下一个节点才能获得锁访问资源,因此需要有加锁方法,解锁方法import org.apache.zookeeper.*;import org.apache.zookeeper.data.Stat;import java.io
2021-10-28 15:32:06 337
原创 zookeeper
文章目录zookeeper选举机制——第一次启动zookeeper选举机制——非第一次启动zookeeper选举机制——第一次启动SID:服务器ID。用来唯一标识一台ZooKeeper集群中的机器,每台机器不能重复,和myid一致。ZXID:事务ID。ZXID是一个事务ID,用来标识一次服务器状态的变更。在某一时刻,集群中的每台机器的ZXID值不一定完全一致,这和ZooKeeper服务器对于客户端“更新请求”的处理逻辑有关。EPOCH:每个Leader任期的代号。没有Leader时同一轮投票过程中
2021-10-28 00:13:29 397
原创 spark通信环境
文章目录spark通信环境Driver和Executor通信机制spark通信环境早期spark利用 Akka 作为内部通信部件,后来使用Netty替代AkkaBIO(阻塞式IO):当多个线程等待同一种资源时,在BIO模式下,未等到资源的线程会被阻塞NIO(非阻塞式IO):当多个线程等待同一种资源时,在NIO模式下,未等到资源的线程可以先去做其他操作,但是在这个过程中会轮询等待的资源AIO(异步非阻塞式IO):当多个线程等待同一种资源时,在AIO模式下,未等到资源的线程可以完全去做其他操作,等资
2021-10-25 19:07:01 136
原创 RDD序列化 && 依赖关系 && 持久化 && 分区器
文章目录RDD 序列化闭包检测RDD 序列化闭包检测前面我们已经知道了在spark中,外部操作是由Driver进行的,而算子内部是在executor中执行的,因此,就需要将Driver中的数据通过网络IO传输到executor中,对于对象的传输就需要将对象进行序列化操作(serializable),接入序列化接口serializable,也可以用样例类case class ### {},这是因为样例类在编译时会自动混入序列化接口RDD算子中传递的函数是会包含闭包操作的,就会进行检测功能,也就是会自动
2021-10-07 12:22:56 473
原创 scala RDD行动算子
文章目录RDD行动算子reduce && collect && count && first && take && takeOrderedaggregatewordcount利用前面所学的八种方法saveforeachRDD行动算子行动算子就是触发作业(Job)执行的方法底层的代码调用的是环境对象的runJob方法底层代码会创建ActiveJob并提交执行reduce && collect &&
2021-10-04 23:37:52 414
原创 scala RDD算子
scala RDD算子map 当使用map时,对于List(1,2,3,4),前面分区后会分成两个区import org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}object rdd_partiton_map { def main(args: Array[String]): Unit = { val sparkConf = new SparkConf().set("spark.tes
2021-10-04 14:10:59 1391
原创 Scala三种常用设计模式
Scala三种常用设计模式三种工厂模式简单工厂模式不是23种设计模式之一,通过定义一个创建对象的类,由这个类来封装实例化对象它的行为工厂方法模式工厂方法模式将对实际类的初始化封装在一个方法中,让子类来决定初始化哪个类。例如:在购买pizza时,需要在orderpizza这个类中利用if语句去一个一个判断到底是什么类型的pizza,如果以后业务增加,即pizza种类增多,那么在这个购买类中将会增加更多的业务逻辑,修改代码难度增加,因此,需要将原有的购买pizza类进行抽象化且抽象其中的一些必要的方
2021-09-28 21:13:32 308
原创 IDEA使用MapReduce求出各年销售笔数、各年销售总额
1.数据这里只插入部分数据,有一些实验的数据中的日期格式是1998-XX-XX形式,在后来代码也会有相应的修改13 987 1/10/1998 3 999 1 1232.1613 1660 1/10/1998 3 999 1 1232.1613 1762 1/10/1998 3 999 1 1232.1613 1843 1/10/1998 3 999 1 1232.1613 1948 1/10/1998 3 999 1 1232.1613 2273 1/10/1998 3 999 1 12
2021-05-27 11:26:21 2240 2
原创 Ubuntu上利用IntelliJ IDEA通过maven实现MapReduce序列化、分区
要求编写程序,将对员工数据按低薪、中薪、高薪进行分区存储。输出到三个文件。特殊要求:结合课堂学习的知识,职工信息采用一个独立的类存放,并且实现Hadoop序列化。数据表emp.csv7369,SMITH,CLERK,7902,1980/12/17,800,,207499,ALLEN,SALESMAN,7698,1981/2/20,1600,300,307521,WARD,SALESMAN,7698,1981/2/22,1250,500,307566,JONES,MANAGER,7839,1
2021-05-17 19:38:31 772 3
原创 Ubuntu上利用IntelliJ IDEA通过maven自动拉取hadoop依赖实现mapreduce中的WordCount
Ubuntu上利用IntelliJ IDEA通过maven自动拉取hadoop依赖实现mapreduce中的WordCount本文是关于idea实现mapreduce中的WordCount,主要是讲解如何在在idea中开发Hadoop程序以及打包jar包,上传到Hadoop集群中运行1.在Idea中创建maven项目这里随便填一下就可以了这是一开始的目录可以看到生成了一个pom.xml文件,这是我们接下来用于自动导入Hadoop依赖的jar包的重要文件2.修改pom.xml文件以
2021-05-08 20:32:33 1434
原创 docker知识
docker1.什么是虚拟机虚拟机技术是虚拟化技术的一种,虚拟机它可以在一种操作系统里面运行另一种操作系统,比如在Windows 系统里面运行Linux 系统。应用程序对此毫无感知,因为虚拟机看上去跟真实系统一模一样,而对于底层系统来说,虚拟机就是一个普通文件,不需要了就删掉,对其他部分毫无影响。也就是说虚拟机是以软件的方式模拟硬件设备。这类虚拟机完美的运行了另一套系统,能够使应用程序,操作系统和硬件三者之间的逻辑不变。基础设施(Server):它可以是你的个人电脑,数据中心的服务器,或者是云主机等
2021-05-08 01:45:08 245
原创 第一次参加数模
因为是第一次参加数学建模,所以在解决问题的思路和方法上没有经验老练的同学全面,但是有一些方法是大家需要重视的,参加数模很重要的点是我们能在前期练习的基础上懂得把所学的模型和思路灵活应用到新的题目上,在我看来,大家组队其实不应该全是男生,女生的心思更细腻,在写作以及一些细节的方面可能会有更好的意见,当然,如果组队的三个人对于编程,建模,写作都十分的熟悉,那当我前面没说,我组队的时候其实是误打误撞在老师发在群里的报名表里看到了一个队伍缺了一个队员,所以就自告奋勇去加入他们,我们队伍是一个男生和两个女生,下面是参
2021-05-07 22:35:19 311
原创 基于Ubuntu系统下的Hadoop 环境搭建(新手可尝)
文章目录Hadoop 环境搭建1、安装虚拟机2.安装 Ubuntu 操作系统3、关闭防火墙4、 SSH 安装5、 安装 Xshell 及 Xftp6、 安装 JDK7、安装 hadoop8. 结语Hadoop 环境搭建1、安装虚拟机在一切行动的前提,我们需要先安装好虚拟机,毕竟是供我们学习用的,因此我们需要通过虚拟机利用Linux系统来实现我们的Hadoop环境。安装虚拟机步骤:(1)下载 VMware 安装包。到 VMware® Workstation Pro 官网,选择对应的版本 进行下载。本
2021-04-15 22:05:06 8273 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人