使用ycsb对hbase0.94.11 benchmark
Ycsb下载地址:https://github.com/brianfrankcooper/YCSB/releases
目前测试hbase0.94.11,因此下载ycsb-0.1.4.tar.gz
1. 解压缩ycsb:
sudo tar -zxvf ycsb-0.1.4.tar.gz -C /usr/local
sudo chmod -R cs ycsb-0.1.4.tar.gzycsb-0.1.4.tar.gz
2.将hbase/conf中的hbase-site.xml复制到ycsb /hbase/conf中。
3. 在hbase中创建测试表:
create 'usertable','family'
4. 在ycsb目录下,进行加载数据:
ycsb load hbase -P workloads/workloada -p table=usertable -p columnfamily=family -p recordcount=10000
此时,会提示“java.lang.IllegalArgumentException: Not a host:port pair:”错误。这是因为版本不一致的问题。
打开ycsb的pom.xml文件,有这么一行:
<hbase.version>0.90.5</hbase.version>
因此官网上的编译好的ycsb0.1.4测试的默认是hbase0.90.5版本。此时需要重新编译ycsb源码和pom.xml。
- 下载ycsb源代码,将根目录下的pom.xml中<hbase.version>0.90.5</hbase.version>修改为对应版本;
- 将源代码中hbase文件夹中pom.xml中增加
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>1.1.2</version>
</dependency>
因为habse0.94.11在hadoop1.1.2上运行的。
3.使用maven进行编译,编译方法为在命令行中进入到源代码根目录,运行mvn clean package。maven需要联网环境才可以编译,因为编译的时候会自动下载相关库
(Maven下载地址: http://maven.apache.org/download.cgi
修改环境变量,在/etc/profile中添加以下几行
MAVEN_HOME=/usr/local/maven3
export MAVEN_HOME
export PATH={MAVEN_HOME}/bin
执行source /etc/profile使环境变量生效
最后运行mvn -v验证maven是否安装成功
)
4.编译完毕后,将hbase\target\hbase-binding.jar文件替换原来\ycsb-0.1.4\hbase-binding\lib中的对应的文件即可。
5.将hbase目录下的hbase-site.xml文件拷贝到\ycsb-0.1.4\hbase-binding\conf\中。
继续运行 ycsb load hbase -P workloads/workloada -p table=usertable -p columnfamily=family -p recordcount=10000。
出现了“SLF4J: slf4j-api 1.6.x (or later) is incompatible with this binding. SLF4J: Your binding is version 1.5.5 or earlier. SLF4J: Upgrade your binding to version 1.6.x. or 2.0.x”的错误。
查看hbase的pom.xml文件,得知hbase的SLF4J是1.4.3版本。
查看ycsb的pom.xml文件,得知SLF4J是1.6.4版本。
为了保持habse服务端的配置不变,只能把ycsb的SLF4J的版本降低,因此重新把ycsb源代码中根目录下的pom.xml的SLF4J版本改为1.4.3重新编译,继续按照上述的步骤继续往下走。
测试成功。
5.在ycsb目录下,进行压力测试:
ycsb run hbase -P workloads/workloada -p table=usertable -p columnfamily=family -p operationcount=10000
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)