akka-persistence-hbase-master源码分析之创建Journal表
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了akka-persistence-hbase-master源码分析之创建Journal表,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1637字,纯文字阅读大概需要3分钟。
内容图文
akka-persistence-hbase-master是负责akka持久化的组件,采用async方式来操作hbase,讲akka的日志持久化到hbase中。
akka-persistence-hbase-master持久化之前首先要创建Journal表,关于表的配置存放在application.conf文件中,
akka.persistence.hbase.journal.HBaseJournalInit对象负责关于Journal表的管理,获取hbase配置的代码如下:
def getHBaseConfig(config: Config): Configuration = { val c = new Configuration() val journalConfig = config.getConfig("hbase-journal")//获取hbase-journal标签的配置 val hbaseConfig = journalConfig.getConfig("hadoop-pass-through")//获取hadoop-pass-through下的配置 //将获取到的配置按照key:value的形式返回(与hbase-site.xml的配置相同) hbaseConfig.entrySet().asScala foreach { e => c.set(e.getKey, e.getValue.unwrapped.toString) } c }
获取到配置后,还需要表名和列族名才可以创建表,akka-persistence-hbase-master默认创建的表名为"akka_messages",列族名为"message",如需修改,可在application.conf文件的hbase-journal标签下添加如下配置:
table = "tablename" family = "familyname"
配置,表名,列族名都拿到之后,就会执行doInitTable方法(创建表依旧采用hbase自带的hbaseadmin来创建),代码如下:
private def doInitTable(admin: HBaseAdmin, tableName: String, familyName: String): Boolean = { if (admin.tableExists(tableName)) { val tableDesc = admin.getTableDescriptor(toBytes(tableName)) if (tableDesc.getFamily(toBytes(familyName)) == null) { // target family does not exists, will add it. admin.addColumn(familyName, new HColumnDescriptor(familyName)) true } else { // existing table is OK, no modifications run.false } } else { val tableDesc = new HTableDescriptor(toBytes(tableName)) tableDesc.addFamily(new HColumnDescriptor(familyName)) admin.createTable(tableDesc) true } }
创建Journal表之后还会创建snapshot表,步骤与Journal类似。
之后还会执行Thread.sleep(2000)
原文:http://www.cnblogs.com/zhangyukun/p/4168790.html
内容总结
以上是互联网集市为您收集整理的akka-persistence-hbase-master源码分析之创建Journal表全部内容,希望文章能够帮你解决akka-persistence-hbase-master源码分析之创建Journal表所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。