随笔分类 -  Java大数据

摘要:记录一下Hive的安装和常用的三种交互方式的使用,参考文末博文和老王,需要提前安装好MySQL和配置好Hadoop集群。 使用版本: (1)MySQL:5.7.28 (2)Hadoop:2.6.0-cdh5.14.2 (3)Hive:1.1.0-cdh5.14.2 Hive的安装 Hive的安装,需 阅读全文
posted @ 2020-09-30 17:33 斐波那切 阅读(355) 评论(0) 推荐(0) 编辑
摘要:Zookeeper实现分布式锁,下面接着记录下代码实现,代码部分参考某网络课程,其他部分参考文末博文。 实现思路 以下是大方向的实现思路,相比上篇区分读写请求,这里代码实现是不区分读写的,直接只比较/shared节点下临时有序节点的序号,最小的将获取到锁,并且设置的Watcher监听也只会监听前一个 阅读全文
posted @ 2020-08-30 16:55 斐波那切 阅读(446) 评论(0) 推荐(0) 编辑
摘要:Zookeeper也可以实现分布式锁,下面记录下相关原理,主要参考文末书籍和博文。 原理 在分布式系统中,当多个系统或同一个系统的不同主机想使用某个共享资源时,需要使用互斥的手段,保证使用资源的合理性,防止相互之间读写的干扰。 举个栗子,当多个男生同时追求某位女生,其实同时只能有一个能和这位女士聊天 阅读全文
posted @ 2020-07-12 11:48 斐波那切 阅读(351) 评论(0) 推荐(0) 编辑
摘要:Zookeeper集群完成Leader选举后,会进行Leader和Follower的数据同步(或叫状态同步),完成同步是保证服务器数据一致,可以提供服务的前提,接下来记录下Zookeeper数据同步相关的内容,主要参考文末书籍和博文。 数据同步分类 Zookeeper中数据同步一共有四类,如下。 D 阅读全文
posted @ 2020-07-03 00:17 斐波那切 阅读(5213) 评论(2) 推荐(0) 编辑
摘要:接下来,记录下Zookeeper ZAB相关的内容,主要参考文末博文。 分布式一致性算法 分布式一致性算法可以保证多个数据节点上有一致的数据,目前有Paxos、Raft、Zab和Gossip几种,其中Zookeeper使用的是Zab,而Zab又和Raft比较类似,因此本文主要记录一下Raft和Zab 阅读全文
posted @ 2020-06-21 15:51 斐波那切 阅读(855) 评论(0) 推荐(0) 编辑
摘要:接下来,记录下Zookeeper在Hadoop HA中相关的作用,部分内容参考文末博文。 HDFS高可用 Zookeeper的一个重要的应用就是实现Hadoop集群的高可用,在Hadoop 1.x版本中只有一个NameNode来负责整个集群的元数据管理,以及与client的交互,如果这个唯一的Nam 阅读全文
posted @ 2020-06-08 23:36 斐波那切 阅读(2785) 评论(2) 推荐(1) 编辑
摘要:下面记录一下Zookeeper使用相关的入门知识,包括基本命令、四种数据节点、watcher监听、访问控制列表ACL和相关API操作。 介绍 Zookeeper是基于Google关于Chubby Lock的论文来开源实际的,主要用于分布式架构进行协调和管理,在大数据框架中作为一个“润滑剂”而存在,协 阅读全文
posted @ 2020-05-17 14:01 斐波那切 阅读(813) 评论(0) 推荐(0) 编辑
摘要:记录一下Mac下使用IDEA导入zookeeper源码,并debug测试的过程,全文参考了文末博文。 源码准备 github下载源码,地址为 "https://github.com/apache/zookeeper" ,选择对应的分支进行下载,这里选择的是3.4.14。 安装ant 官网( "htt 阅读全文
posted @ 2020-05-17 09:57 斐波那切 阅读(959) 评论(0) 推荐(0) 编辑
摘要:下面记录下YARN的服务组件和提交流程的基础知识,主要参考文末博文,其中 提交流程部分直接引用 ,感谢被引用的博主 "PeTu" 。 YARN介绍 YARN是在Hadoop2.0引入的,它的出现是历史的产物。在Hadoop1.0版本时,有JobTracker和TaskTracker来完成资源调度和任 阅读全文
posted @ 2020-05-04 18:43 斐波那切 阅读(830) 评论(0) 推荐(0) 编辑
摘要:记录下和kafka相关的语义、不重复消息、不丢失数据、分区有序的内容,文中很多理解参考文末博文、书籍还有某前辈。 kafka语义 kafka中有三种语义,它对理解下面的不重复消费有帮助。 最多一次(at most once):消息最多被处理一次,可能有消息丢失的风险。 至少一次(at least o 阅读全文
posted @ 2020-04-10 22:06 斐波那切 阅读(816) 评论(0) 推荐(0) 编辑
摘要:记录下和kafka相关的LEO和HW的内容,文中很多理解参考文末书籍还有某前辈。 LEO&HW基本概念 1. Base Offset:是起始位移,该副本中第一条消息的offset,如下图,这里的起始位移是0,如果一个日志文件写满1G后(默认1G后会log rolling),这个起始位移就不是0开始了 阅读全文
posted @ 2020-04-06 12:16 斐波那切 阅读(8300) 评论(1) 推荐(5) 编辑
摘要:记录下和kafka相关的生产者和消费者,文中很多理解参考文末博文、书籍还有某前辈。 生产者 包含原理和代码两部分。 原理相关 如果要写生产者代码,需要先了解其发送的大致过程,即消息经历了什么才存储到对应topic的对应分区,大致如下。 (1)执行生产者代码后,会在JVM中启动一个producer,它 阅读全文
posted @ 2020-03-25 23:28 斐波那切 阅读(1085) 评论(0) 推荐(0) 编辑
摘要:记录下和kafka相关的Message、日志文件、索引文件、consumer记录消费的offset相关内容,文中很多理解参考文末博文、书籍还有前辈。 kafka中的消息 kafka中的消息Message,在V1版本中是如下部分组成,主要关系key和value。 (1)key:当需要将消息写入到某个t 阅读全文
posted @ 2020-03-21 23:50 斐波那切 阅读(3214) 评论(0) 推荐(1) 编辑
摘要:记录下和kafka相关的概念原理以及常用工具,文中很多理解参考文末博文、书籍还有前辈。 kafka特性 kafka是由领英(LinkedIn)提供给Apache,是一个消息引擎,现在发展成为还可以进行流处理(kafka streams)的一个平台,以下是它的架构图。 (1)用的是发布 订阅模式,多个 阅读全文
posted @ 2020-03-20 23:25 斐波那切 阅读(423) 评论(0) 推荐(0) 编辑
摘要:记录一下对CAP的理解,CAP理论是分布式系统的基本理论,已得到证明,分布式系统最多只能满足其中的两个。 CAP基本概念 CAP是三个特性关键字的简写。 (1)C:Consistency,一致性 (2)A:Availability,可用性 (3)P:Partition tolerance,分区容忍性 阅读全文
posted @ 2020-03-17 18:32 斐波那切 阅读(780) 评论(0) 推荐(0) 编辑
摘要:kafka主要是由scala写,其源码质量高,考虑到新版本提交人员的水平高低不同,对阅读源码不太好,因此选择早期的0.10.1版本。下面记录一下搭建kafka源码阅读环境,后面使用。 搭建的基本环境: OS:Mac(10.12.x); JDK:1.8.0_191; Scala JDK:2.11.7; 阅读全文
posted @ 2020-03-06 11:24 斐波那切 阅读(1087) 评论(0) 推荐(0) 编辑
摘要:记录一下spark RDD的基本操作,有Transformation、Action和Controller。 (1)Transformation:属于懒操作算子,不会真正的执行RDD处理计算。 (2)Action:执行它的方法才会真正触发RDD处理计算。 (3)Controller控制:persist 阅读全文
posted @ 2020-03-02 23:10 斐波那切 阅读(703) 评论(0) 推荐(0) 编辑
摘要:接下来记录下scala中集合相关的知识,scala中集合分为可变集合和不可变集合,有Array、List、Set、Map和Tuple。 | | 不可变 | 可变 | | | | | | 数组Array | Array | ArrayBuffer | | 列表List | List | ListBuf 阅读全文
posted @ 2020-02-27 22:47 斐波那切 阅读(1007) 评论(0) 推荐(0) 编辑
摘要:接下来记录一下scala面向对象的相关知识,包括包、类、抽象类、特质和权限修饰符相关的内容。 包 scala中,包package的声明比较灵活,可以对比java,如果是java,包的声明必须放在文件最前面。 (1)包结构可以分开写,以下两种方式都可以。 (2)scala文件中可以声明多个包,如果声明 阅读全文
posted @ 2020-02-25 11:16 斐波那切 阅读(517) 评论(0) 推荐(0) 编辑
摘要:scala是马丁.奥德斯克设计的,专门为程序员设计,广泛应用于大数据的语言。它同时支持面向对象和面向函数编程,运行scala需基于JVM,使用它需要提前安装好JDK和scala SDK。scala的的代码一行可以顶多行java代码,开发效率高,并且兼容java类库,scala编译完也是.class文 阅读全文
posted @ 2020-02-17 18:32 斐波那切 阅读(256) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示