backend.db.put(columnFamily, writeOptions, rawKeyBytes, rawValueBytes); 数据是存起来了,但是当进行 checkpoint 的时候, rocksdb...这就要从 RocksDBKeyedStateBackend 说起了了,这个类很好的说明了 checkpoint 与 rocksdb 还有 hdfs 的关系 //当进行 checkpoint 的时候并且要对...final Map miscFiles = new HashMap(); try { // 写 meta 到 hdfs...meta data 主要就是一些元数据,像:rocksdb.column.family.name以及 state data的全目录。 下面来看一下 state data: ?...主要是 rocksdb 的一些配置信息以及当前的 db 目录, ? 主要就是状态中(比如 mapState )存储的一些东西的具体。
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 1.文档编写目的 ---- 前面Fayson写过《如何使用Cloudera Manager启用HDFS的HA》。...本篇文章主要讲述如何使用Cloudera Manager禁用HDFS HA。...1.拥有Cloudera Manager的管理员账号 2.CDH集群已启用HDFS HA并正常使用 2.禁用HDFS HA ---- 1.使用管理员用户登录Cloudera Manager的Web管理界面...4.HDFS功能可用性测试 ---- 对HDFS进行mkdir、put、get、rmr等操作,验证HDFS服务功能是否可用。...温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 [583bcqdp4x.gif]
MySQL 的存储引擎除了最常用的是 InnoDB 引擎之外还有一个 MyRocks 引擎也经常会用到,它是基于 RocksDB 开发的一套存储引擎,比 InnoDB 性能要高出 N 倍。...在索引实现上,InnoDB 的索引使用 B+ 树实现,B+ 树的叶子节点上存储了索引的 key,所有的叶子结点使用指针串了起来,非常易于索引的遍历操作。...的范围查询就可以很好的利用这个特性 select key1 from t where key1 > 'abc' and key1 < 'def' 但是 MyRocks 的索引实现不一样,MyRocks 的索引使用...我们知道 RocksDB 磁盘上的每个SST 文件里面里面都存了一个布隆过滤器,布隆过滤器的内容通常是缓存(固定)在内存中的。...为了解决这个问题,RocksDB 引入了 prefix_extractor ,它可以很好的解决这个难题。那这个 prefix_extractor 又是个什么高深的技术呢?
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。...1.文档编写目的 ---- HDFS中可以对目录创建Snapshot,创建之后不管后续目录发生什么变化,都可以通过快照找回原来的文件和目录结构,那么在CDH集群中如何使用HDFS的快照功能呢?...本文章主要讲述如何在CDH中使用HDFS的快照功能,包括全量快照和增量快照和恢复。...hadoop fs -ls /data/mytest [ec2-user@ip-172-31-22-86 ~]$ [0t1e6fo6co.jpeg] [yw5xuqryea.jpeg] 2.使用快照...温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 ---- 推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。
1.文档编写目的 ---- 在HDFS集群中NameNode存在单点故障(SPOF),对于只有一个NameNode的集群,如果NameNode机器出现意外,将导致整个集群无法使用。...本篇文章主要讲述如何使用Cloudera Manager启用HDFS的HA。...前置条件 1.拥有Cloudera Manager的管理员账号 2.CDH集群已安装成功并正常使用 2.启用HDFS HA ---- 1.使用管理员用户登录Cloudera Manager的Web管理界面...5.Hive测试 ---- 1.使用hive命令登录,查看test_table建表语句 [r88umapi1h.jpeg] 可以看到Hive表的LOCATION已经被修改为HDFS的NameService...地址使用的是未启用高可用时的HDFS地址。
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 1.文档编写目的 ---- 在开发Hadoop应用时,需要用到hadoop-client API来访问HDFS并进行本地调试。...本篇文章则主要讲述如何使用Java代码访问Kerberos和非Kerberos环境下HDFS服务。...ap-southeast-1.compute.internal 54.169.51.79 ip-172-31-26-80.ap-southeast-1.compute.internal 由于Fayson这里使用的是...该工具类主要是HDFS的一些常用操作,包括:创建文件,上传文件,删除文件,创建目录,读取HDFS文件等。...创建的目录及文件 [lk6hk9c2kr.jpeg] 6.总结 ---- 在进行本地开发时,必须将集群的hostname及IP配置在本地的hosts文件中(如果使用DNS服务则可以不配置hosts文件)
用这个命令bin/Hadoop fs -cat 可以将HDFS上的文件内容读取到控制台。 也可以采用HDFS的API来读取。...FileCat "); System.exit(1); } Configuration conf = new Configuration(); FileSystem hdfs...= FileSystem.get(URI.create(args[0]),conf); InputStream in = null; try{ in = hdfs.open(new Path
RocksDB的写过程 MyRocks的写入过程分成以下三步: 将一条或者多条操作的记录封装到WriteBatch 将记录对应的日志写到WAL文件中 将WriteBatch中的一条或者多条记录写到内存中的...RocksDB的Group Commit 同样地,为了提高提交的性能,RocksDB引擎也使用Group Commit的机制。...RocksDB将待提交阶段的线程分成两种: leader线程和follower线程。...在RocksDB的逻辑中,第一个加入链表的线程将成为leader线程。...小结 本文介绍RocksDB存储引擎在写入数据时Group Commit的机制。 4. 参考资料 ACID: https://zh.wikipedia.org/wiki/ACID
文档编写目的 本篇文章Fayson主要介绍如何使用Ranger 给HDFS 授权。...文档概述 1.介绍CDP7.1.3 中Ranger 中HDFS 默认权限策略 2.使用Ranger 给HDFS 设置权限策略并验证 测试环境 1.操作系统Redhat7.6 2.CDP DC7.1.3...Ranger中HDFS默认权限策略 使用admin用户登录http://cdp02.fayson.com:6080 页面,点击cm_hdfs 进入该页面 ?...使用Ranger给HDFS设置权限策略并验证 3.1HDFS授权 在上面我们介绍了hdfs 用户拥有所有目录的权限如果还需要设置一个同样权限或者是所有目录的权限。...首先我们添加一个用户,fayson 这里添加使用的脚本所有节点添加了一个fayson用户。 ? 然后在HDFS中勾选 Enable Ranger Authorization ,并保存重启生效 ?
随着数据的使用率下降得更多,它就 变“冷”了,在此后90天内或许只被使用寥寥几次。最终,当数据一年只有一两次使用频率、极少用到时,它的“温度”就是“冰冻”的了。...3、HDFS的分层存储 HDFS从Hadoop2.3开始支持分层存储 它是如何工作的呢? 正常情况下,一台机器添加到集群后,将会有指定的本地文件系统目录来存储这块副本。...7、使用数据的应用 基于数据的温度,数据的部分或者全部副本可能存储在任一层中。但对于通过HDFS来使用数据的应用而言,其位置是透明的。...虽然“冰冻”数据的所有副本都在归档层,应用依然可以像访问HDFS的任何数据一样来访问它。...HDFS支持分层存储并提供必要的工具来进行跨层的数据移动。eBay已经在其一个非常 大规模的集群上启用了分层存储,用来进行数据存档。
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。...Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1 文章编写目的 前面Fayson介绍了《如何使用Java API...访问HDFS为目录设置配额》,随着开发语言的多样性,也有基于Scala语言进行开发,本篇文章主要介绍如何使用Scala代码访问Kerberos环境的HDFS。...由于Fayson这里使用的是公网环境所以hostname与外网的ip对应,这里会导致一个问题在向集群put数据文件时会失败,如果开发环境和HDFS都属于内网环境则不会有这个问题。...温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。 推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。
用命令行bin/Hadoop fs -rm(r) 可以删除hdfs上的文件(夹) 用HDFS的API也是可以的。...filedelete "); System.exit(1); } Configuration conf = new Configuration(); FileSystem hdfs...= FileSystem.get(URI.create(args[0]),conf); hdfs.delete(new Path(args[0]),false); } }
实际上,Hadoop的文件API是通用的,可用于HDFS以外的文件系统。...它的默认实例化方法是以HDFS系统的资源配置为基础的。...如下,可以得到与HDFS接口的FileSystem对象: Configuration conf = new Configuration(); FileSystem hdfs = FileSystem.get...要得到一个专用于本地文件系统的FileSystem对象: FileSystem local = FileSystem.getLocal(conf); Hadoop文件API用Path对象来编制文件和目录名,使用...使用listStatus()方法得到一个目录中的文件列表: Path inputDir = new Path(args[0]); FileStatus[] inputFiles = local.listStatus
HDFS只是分布式文件管理系统中的一种。...HDFS的使用场景:适合一次写入,多次读出的场景。一个文件经过创建、写入和关闭之后就不需要改变。 2、HDFS优缺点 缺点: 不适合低延时数据访问,比如毫秒级的存储数据,是做不到的。...提供一些命令来管理HDFS,比如NameNode格式化; (5)Client可以通过一些命令来访问HDFS,比如对HDFS增删查改操作; 4)Secondary NameNode:并非NameNode的热备...://hadoop101:8020"); FileSystem fs = FileSystem.get(configuration); } 运行时需要配置用户名称(默认是使用windows用户名操作...HDFS) 客户端去操作HDFS时,是有一个用户身份的。
安装 这里使用的是 pip 安装,很方便: 1 pip install hdfs Client—创建连接 12 >>> from hdfs import *>>> client = Client("...root=None, proxy=None, timeout=None, session=None) url:ip:端口 root:制定的hdfs..., strict=True) hdfs_path:就是hdfs路径 strict:设置为True时,如果hdfs_path路径不存在就会抛出异常,...如果设置为False,如果路径为不存在,则返回None list—获取指定路径的子目录信息 12 >>> client.list("/") [] 其他参数:list(hdfs_path, status...Flase makedirs—创建目录 123 >>> client.makedirs("/test") >>> client.list("/") [u'test'] 其他参数:makedirs(hdfs_path
---- 1 文档编写目的 本文主要讲述如何使用Shell脚本判断HDFS文件或目录是否存在,算是一个小技巧吧,这几天做PoC的时候感觉还挺有用的。...因为HDFS设计的是“一次写入,多次读取”,不可以修改数据,只能追加或者删除,所以,如果目标文件或目录在HDFS上已经存在的话,则无法创建成功。...比如判断HDFS上的某个文件目录是否存在,可以执行如下命令: hadoopfs -test -d $path #判断目录是否存在 hadoopfs -test -e $path #判断路径(文件或者目录...4 总结 1、通过hadoop fs -test -[defsz] URI 可以判断HDFS文件或目录是否存在,-test一次只能传递一个测试参数,不能执行类似 hadoop fs -test -dfURI...这个特殊变量获取返回值; 3、-s和-z命令我测试过,但觉得不怎么常用,所以没在文章中讲述,有兴趣可以自己测一下,比较简单,更换一下脚本参数即可; 4、判断HDFS文件目录是否存在后,可以执行比如创建、
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。...Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1 文档编写目的 对于多租户共同使用的Hadoop平台,HDFS...接下来Fayson主要介绍如何在Cloudera Manager上对指定HDFS目录设置配额。...3 HDFS目录配额测试 1.使用hadoop命令创建一个测试目录/testquota [root@node1 ~]# hadoop fs -mkdir /testquota [root@node1 ~...温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。...API来访问HDFS并进行本地调试,本篇文章Fayson主要介绍如何使用Java API访问Kerberos环境下的HDFS并为目录设置配额。...使用如下命令查看导出的hdfs.keytab文件 [root@cdh01 ~]# klist -ek hdfs.keytab (可左右滑动) ?...* describe: 使用HDFS的Client Admin API操作HDFS,Kerberos环境下访问 * creat_user: Fayson * email: htechinfo@163...1.使用mvn命令将工程编译,将生成的jar包拷贝至hdfs-admin-run/lib目录下 ? 2.将工程kb-conf目录下的配置文件拷贝至conf目录下 ?
未来的文章将涵盖在Apache Flink中使用RocksDB进行额外调整,以便了解有关此主题的更多信息。...Apache Flink中的RocksDB状态后端 在深入了解配置参数之前,让我们首先重新讨论在flink中如何使用RocksDB来进行状态管理。...此外,使用RocksDB,您的状态大小仅受限于可用本地磁盘空间大小,最适合依赖大型状态操作的Flink应用程序。 如果你不熟悉RocksDB,下图说明了其基本的READ和WRITE操作。...如前所述,使用RocksDB,每个注册状态都是一个column family,这意味着每个状态都包含自己的MemTables和SSTables。 ?...3种配置来管理您的RocksDB内存消耗 现在我们已经使用Apache Flink建立了基于RocksDB的一些功能,让我们来看看可以帮助您更有效地管理RocksDB内存大小的配置选项。
这一年多的时间里,hdfs源码(原理)分析累计也写了30多篇文章了,来一篇文章进行汇总。这篇文章将按照自己的理解来系统的梳理下,应该如何系统的学习hdfs。...基本使用 简单入门后,接下来是通过编写简单示例程序,对hdfs进行操作使用,包括目录的操作(创建、删除目录)、文件的常规操作(创建、读、写、追加写等)等等。...以上都是从用户的角度出发来摸索hdfs的原理,除此之外,hdfs的高可用具体是如何体现,也可以深入去探索研究。...高阶及优化 对上面的原理都摸索掌握后,日常的使用可以说是小菜一碟了,那么接下来要考虑的是如何去提升整体的性能了,例如海量的文件存储、数据一致性、大量的读写并发、以及启动速度(通常在异常断电后)等等。...运维 最后是运维,简单来说分几个方面,一方面是各种异常情况的处理,这些异常包括磁盘坏了,网络断了,节点异常了,依赖的服务异常了等,hdfs面对这些异常时,自身是如何进行处理的;另一方面是,如何对hdfs
领取专属 10元无门槛券
手把手带您无忧上云