当前位置: 首页 > 工具软件 > Omid > 使用案例 >

Yahoo OMID 部署

卓胜
2023-12-01

最近公司里需要重构DB,改用HBASE,但是HBASE本身只支持行级别事务,跨行跨表级别的事务就不行了。

于是最近网上找了点资料,有看到韩国的Haeinsa,本地测试了一下,确实能达到效果。

在尝试Yahoo的OMID测试的时候,发现在github上拉下来的code,看了下版本是0.8.1.24的,但是看他的release 版本已经是0.8.2.9了

RELEASE :https://bintray.com/yahoo/maven/omid/view

github : https://github.com/yahoo/omid/wiki/Installation

这里有点看不明白。


这个姑且不讨论,我clone下来之后,根据Installation进行build之后,发现并没有产生tar.gz

This will generate a binary package containing all dependencies for the TSO in tso-server/target/tso-server-<VERSION>-bin.tar.gz.

看了下pom的配置,确实有配置assembly plugin,对应的配置文件也申明了会产生tar.gz


后来我找到了根目录下的tso-server里面就有bin文件夹,里面已经有omid.sh脚本

还是根据Installation,一步步跑到omid.sh tso的时候报了一个HBaseCommitTableStorageModule class找不到。

这个应该跟我不是通过打包tar.gz再解压调用omid.sh有关系,配置里面有写到会把hbase-commit-table打到lib里面的。


所以我就手动把hbase-commit-table放到了tso-server的lib下面,然后再跑omid.sh tso,就起来了


但是发现当两条row进行save的时候,第二条失败了,第一条还是成功的save进去了。


现在怀疑跟我没有装Protobuf 2.5.0有关系...慢慢摸索中


有大牛本地跑过omid的求指导哇!

--------------------------------------------------------------------------------------

后来发现是自己API调用的有问题


一开始不了解OMID的实现,先测试的Haeinsa,先入为主的以为“回滚”是自己会实现的。

后来自己加了try catch然后捕捉到异常之后调用tm.rollback就行了

对自己汗颜了。


 类似资料: