ycsb-0.1.4 linux安装
2014-11-19 10:55
351 查看
在安装ycsb-0.1.4的过程中出现了几个问题,特此记录一下。
前提:分布式环境已经搭建完毕,hadoop,hbase正确搭建
1.下载ycsb-0.1.4,解压到指定的目录。
2.将hbase-0.94.16/lib下的jar包全部拷贝至ycsb-0.1.4/hbase-binding/lib 目录下。将hbase根目录下的jar包拷贝至ycsb-0.1.4/hbase-binding目录下如:将
拷贝至
3.将hbase中的/conf/hbase-site.xml拷贝到/hbase-binding/conf下。
进入hbase shell在hbase中创建指定的表:usertable。测试默认的是要操作这样的一张表,需要这样的列族,不一定是三个。
>create 'usertable','f1','f2','f3'
测试过程分为两个阶段,首先是加载数据,其次是执行事务。
加载数据,进入ycsb的bin目录,开始输入命令:
./ycsb load hbase -P ../workloads/workloada -p threads=10 -p columnfamily=f1 -p recordcount=10000 -s > load.dat
命令分析:load:表明为加载数据测试。
-P:指定配置文件
workloads/workloada: 为配置文件。This workload has a mix of 50/50 reads and writes
-p:参数
threads:the number of client threads
加载完数据后,显示的部分结果如下:
1 [OVERALL], RunTime(ms), 2295.0
2 [OVERALL], Throughput(ops/sec), 4357.298474945534
3 [INSERT], Operations, 10000
4 [INSERT], AverageLatency(us), 198.2618
5 [INSERT], MinLatency(us), 9
6 [INSERT], MaxLatency(us), 788883
7 [INSERT], 95thPercentileLatency(ms), 0
8 [INSERT], 99thPercentileLatency(ms), 0
9 [INSERT], Return=0, 10000
加载完数据之后,开始执行事物,主要有read 和 update操作。执行命令如下:
./ycsb run hbase -P ../workloads/workloada -threads 10 -p measurementtype=timeseries -p
columnfamily=f1 -p timeseries.granularity=2000 > transactions.dat
命令的具体含义跟上条大体一致,可以自己参考网站的文档,合理的配置。
命令执行完,显示的部分结果:
1 [OVERALL], RunTime(ms), 541.0
2 [OVERALL], Throughput(ops/sec), 1848.4288354898335
3 [UPDATE], Operations, 502
4 [UPDATE], AverageLatency(us), 4569.788844621514
5 [UPDATE], MinLatency(us), 56
6 [UPDATE], MaxLatency(us), 373970
7 [UPDATE], Return=0, 502
8 [UPDATE], 0, 4569.788844621514
9 [READ], Operations, 498
10 [READ], AverageLatency(us), 4618.516064257028
11 [READ], MinLatency(us), 742
12 [READ], MaxLatency(us), 379287
13 [READ], Return=0, 498
14 [READ], 0, 4618.516064257028
这样,大概的一个测试过程就完成了,这只是简单的按照ycsb的文档使用了下ycsb工具,我觉的最关键的是从使用ycsb测试之后,得到的数据中进行合理的分析,去了解HBase这个系统。
在创建完usertable表之后,进行数据加载时可能会报这样的错误:
Exception in thread "Thread-1" java.lang.IllegalAccessError: tried to access field org.slf4j.impl.StaticLoggerBinder.SINGLETON from class org.slf4j.LoggerFactory
at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:60)
at org.apache.zookeeper.ZooKeeper.<clinit>(ZooKeeper.java:94)
at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.<init>(RecoverableZooKeeper.java:98)
at org.apache.hadoop.hbase.zookeeper.ZKUtil.connect(ZKUtil.java:127)
at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:153)
at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:127)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getZooKeeperWatcher(HConnectionManager.java:1505)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.ensureZookeeperTrackers(HConnectionManager.java:713)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:983)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:958)
at org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:251)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:155)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:129)
at com.yahoo.ycsb.db.HBaseClient.getHTable(HBaseClient.java:111)
at com.yahoo.ycsb.db.HBaseClient.update(HBaseClient.java:295)
at com.yahoo.ycsb.db.HBaseClient.insert(HBaseClient.java:350)
at com.yahoo.ycsb.DBWrapper.insert(DBWrapper.java:145)
at com.yahoo.ycsb.workloads.CoreWorkload.doInsert(CoreWorkload.java:461)
at com.yahoo.ycsb.ClientThread.run(Client.java:269)
0 sec: 0 operations;
解决办法是:将已经拷贝到ycsb/lib 下的 删除,并替换成:。
问题解决。
参考文章:
前提:分布式环境已经搭建完毕,hadoop,hbase正确搭建
1.下载ycsb-0.1.4,解压到指定的目录。
2.将hbase-0.94.16/lib下的jar包全部拷贝至ycsb-0.1.4/hbase-binding/lib 目录下。将hbase根目录下的jar包拷贝至ycsb-0.1.4/hbase-binding目录下如:将
拷贝至
3.将hbase中的/conf/hbase-site.xml拷贝到/hbase-binding/conf下。
进入hbase shell在hbase中创建指定的表:usertable。测试默认的是要操作这样的一张表,需要这样的列族,不一定是三个。
>create 'usertable','f1','f2','f3'
测试过程分为两个阶段,首先是加载数据,其次是执行事务。
加载数据,进入ycsb的bin目录,开始输入命令:
./ycsb load hbase -P ../workloads/workloada -p threads=10 -p columnfamily=f1 -p recordcount=10000 -s > load.dat
命令分析:load:表明为加载数据测试。
-P:指定配置文件
workloads/workloada: 为配置文件。This workload has a mix of 50/50 reads and writes
-p:参数
threads:the number of client threads
加载完数据后,显示的部分结果如下:
1 [OVERALL], RunTime(ms), 2295.0
2 [OVERALL], Throughput(ops/sec), 4357.298474945534
3 [INSERT], Operations, 10000
4 [INSERT], AverageLatency(us), 198.2618
5 [INSERT], MinLatency(us), 9
6 [INSERT], MaxLatency(us), 788883
7 [INSERT], 95thPercentileLatency(ms), 0
8 [INSERT], 99thPercentileLatency(ms), 0
9 [INSERT], Return=0, 10000
加载完数据之后,开始执行事物,主要有read 和 update操作。执行命令如下:
./ycsb run hbase -P ../workloads/workloada -threads 10 -p measurementtype=timeseries -p
columnfamily=f1 -p timeseries.granularity=2000 > transactions.dat
命令的具体含义跟上条大体一致,可以自己参考网站的文档,合理的配置。
命令执行完,显示的部分结果:
1 [OVERALL], RunTime(ms), 541.0
2 [OVERALL], Throughput(ops/sec), 1848.4288354898335
3 [UPDATE], Operations, 502
4 [UPDATE], AverageLatency(us), 4569.788844621514
5 [UPDATE], MinLatency(us), 56
6 [UPDATE], MaxLatency(us), 373970
7 [UPDATE], Return=0, 502
8 [UPDATE], 0, 4569.788844621514
9 [READ], Operations, 498
10 [READ], AverageLatency(us), 4618.516064257028
11 [READ], MinLatency(us), 742
12 [READ], MaxLatency(us), 379287
13 [READ], Return=0, 498
14 [READ], 0, 4618.516064257028
这样,大概的一个测试过程就完成了,这只是简单的按照ycsb的文档使用了下ycsb工具,我觉的最关键的是从使用ycsb测试之后,得到的数据中进行合理的分析,去了解HBase这个系统。
在创建完usertable表之后,进行数据加载时可能会报这样的错误:
Exception in thread "Thread-1" java.lang.IllegalAccessError: tried to access field org.slf4j.impl.StaticLoggerBinder.SINGLETON from class org.slf4j.LoggerFactory
at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:60)
at org.apache.zookeeper.ZooKeeper.<clinit>(ZooKeeper.java:94)
at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.<init>(RecoverableZooKeeper.java:98)
at org.apache.hadoop.hbase.zookeeper.ZKUtil.connect(ZKUtil.java:127)
at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:153)
at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:127)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getZooKeeperWatcher(HConnectionManager.java:1505)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.ensureZookeeperTrackers(HConnectionManager.java:713)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:983)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:958)
at org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:251)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:155)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:129)
at com.yahoo.ycsb.db.HBaseClient.getHTable(HBaseClient.java:111)
at com.yahoo.ycsb.db.HBaseClient.update(HBaseClient.java:295)
at com.yahoo.ycsb.db.HBaseClient.insert(HBaseClient.java:350)
at com.yahoo.ycsb.DBWrapper.insert(DBWrapper.java:145)
at com.yahoo.ycsb.workloads.CoreWorkload.doInsert(CoreWorkload.java:461)
at com.yahoo.ycsb.ClientThread.run(Client.java:269)
0 sec: 0 operations;
解决办法是:将已经拷贝到ycsb/lib 下的 删除,并替换成:。
问题解决。
参考文章:
相关文章推荐
- Red Hat Linux 7.0安装使用手记(六则)
- Linux下声卡驱动软件ALSA的安装与配置
- 多系统安装实践(Window /FreeBSD/Linux)
- 自己的linux系统安装以及软件配置
- 在 Linux 上安装 PostgreSQL(新)
- Linux -安装PHP7
- 在linux下安装oracle 9i 全文档
- 安装Debian Linux 3.0r1系统
- Linux下Oracle安装宝典
- 如何用Linux安装TCP/IP路由器 route subnet arp
- 如何在你的Linux机器上安装运行Oracle
- Linux安装的几点经验 install
- Oracle 8i在GNU/Linux上的安装笔记
- LUI-linux集群自动安装工具
- 聆听自由的声音----Linux下声卡驱动软件ALSA的安装与配置
- linux 无盘安装 没有光驱 无光驱 rawrite ftp安装
- 系统管理员必读:为 Linux 安装套件强化系统安全!
- Linux上安装GCC编译器过程
- Zeus+php+Zend Optimizer for Linux安装指南