我使用YCSB-0.1.3测试Hbase 0.96,有一个服务器和三个从服务器,我配置我的YCSB参考了这个博客: http://blog.lars-francke.de/2010/08/16/performance-testing-hbase-using-ycsb/
但是,当我尝试加载工作负载时,我得到以下结果:
[hbase@com YCSB]$ java -cp build/ycsb.jar:db/hbase/lib/* com.yahoo.ycsb.Client -load -db com.yahoo.ycsb.db.HBaseClient -P workloads/workloada -p columnfamily=family -p recordcount=1000 -s > load.dat
Loading workload...
Starting test.
0 sec: 0 operations;
10 sec: 0 operations;
20 sec: 0 operations;
30 sec: 0 operations;
40 sec: 0 operations;
50 sec: 0 operations;
60 sec: 0 operations;
70 sec: 0 operations;
80 sec: 0 operations;
90 sec: 0 operations;
100 sec: 0 operations;
...
显然,没有数据加载到Hbase中。 任何帮助将不胜感激,提前致谢!
答案 0 :(得分:0)
检查_hTable.setAutoFlush(true);它设定与否?
另外,com.yahoo.ycsb.db.HBaseClient =>您可以尝试将其作为Java应用程序运行,以防发生与HBase配置或编写方法相关的任何问题。我在为Kundera进行性能基准测试时修改了com.yahoo.ycsb.db.HBaseClient。上面提到的方法对我有用。
希望它有所帮助,
-Vivek
答案 1 :(得分:0)
似乎YCSB正在使用旧版本的Hbase。
要解决此问题,请在YCSB文件夹中打开pom.xml并编写正确的hbase版本
<hbase.version>0.98.6.1-hadoop2</hbase.version>
还打开YCSB / hbase / pom.xml并替换
<artifactId>hbase</artifactId>
通过
<artifactId>hbase-client</artifactId>
现在只需重建YCSB
mvn clean package