当前位置: 首页 > news >正文

Apache Omid Idea Debug 环境搭建

IDEA 搭建 Apache Omid 源码 DEBUG 环境

Apache Omid 在 Apache HBase 之上提供了多行分布式事务的能力,支持全局 MVCC 功能。简单介绍编译过程。

1.下载 HBase2 并启动

https://dlcdn.apache.org/hbase/

配置环境变量

export HBASE_HOME=/xxx/hbase-2.4.18
export PATH=$PATH:$HBASE_HOME/bin:

2.编译

代码编译

git clone https://github.com/apache/phoenix-omid

基于最新的 master af8e377affcd76b1cbde5cab3513731b23bd51fc 编译。

maven 依赖处理

有几处编译报错,处理如下:

根 pom 里添加:

<dependency><groupId>org.glassfish</groupId><artifactId>javax.el</artifactId><version>3.0.1-b06</version>
</dependency>

hbase-common 里添加:

<dependency><groupId>org.glassfish</groupId><artifactId>javax.el</artifactId><version>3.0.1-b06</version><scope>test</scope>
</dependency>

timestamp-storage 模块里添加依赖:

<dependency><groupId>com.google.inject</groupId><artifactId>guice</artifactId><version>5.1.0</version><scope>compile</scope>
</dependency>
# 编译
mvn clean install -Phbase-2 -DskipTests
# 查看 tso-server/target/tso-server-<VERSION>-bin.tar.gz 编译产物并解压
# 进入编译产物的 tso-server-<VERSION> 目录
cd tso-server-<VERSION>

创建 Omid tables

bin/omid.sh create-hbase-commit-table -numRegions 16
bin/omid.sh create-hbase-timestamp-table

3. 启动 TSO server

方式 1:bin/omid.sh tso
方式 2:运行 org.apache.omid.tso.TSOServer#main

4.Demo 验证

运行工程 examples 下的 org.apache.omid.examples.BasicExample 和 org.apache.omid.examples.SnapshotIsolationExample,结果运行成功。

-- 运行 demo 前,先通过 habase shell 创建对应的表
create 'MY_TX_TABLE', {NAME => 'MY_CF', VERSIONS => '2147483647', TTL => '2147483647'}

BasicExample: 在 HBase 中执行包含多行修改的事务,保证原子性
SnapshotIsolationExample: 展示 Omid 在并发事务访问共享数据时如何保证快照隔离
ConfigurationExample: 展示 Omid 客户端配置选项的基本示例

参考

omid-quickstart

http://www.lryc.cn/news/361074.html

相关文章:

  • 【面试宝藏】Go并发编程面试题
  • ④单细胞学习-cellchat细胞间通讯
  • 即时通讯平台及门户系统WorkPlus打造移动应用管理平台
  • React@16.x(12)ref 转发-forwardRef
  • 电脑世界的大冒险:用人体比喻让孩子轻松理解电脑20240603
  • 构建智慧银行保险系统的先进技术架构
  • 来自大厂硬盘的降维打击!当希捷酷玩520 1TB SSD卷到369,请问阁下该怎么应对?
  • 什么是封装?为什么是要封装?
  • Spring Cloud | 服务 “注册与发现“ 框架 : Eureka框架
  • 编译链接问题
  • 电涡流的形成范围
  • 学业辅导导师:文心一言智能体详细介绍和开发
  • AI与NLP的完美结合:揭秘ChatGPT
  • 提交一个Bug需要哪些信息?
  • 【Hive SQL 每日一题】统计每月用户购买商品的种类分布
  • Nginx01-HTTP简介与Nginx简介(安装、命令介绍、目录介绍、配置文件介绍)
  • JAVA: 抽象类和接口
  • 风景的短视频一分钟:成都科成博通文化传媒公司
  • 力扣--双指针15.三数之和
  • C++ A (1020) : 幂运算
  • GVM: Golang多版本管理利器
  • AlmaLinux9安装zabbix6.4
  • 基于翔云C#语言的身份证实名认证接口开发示例
  • MySQL中的redo log 和 undo log
  • net/http与gin框架的关系分析
  • Docker的安装、启动和配置镜像加速
  • Linux系统下+jmeter分布式压测
  • 点点点还有没有做下去的必要
  • uni-app增加home图标,实现回到功能主页(九)
  • Android关闭硬件加速对PorterDuffXfermode的影响