使用maven编译ycsb

Posted

技术标签:

【中文标题】使用maven编译ycsb【英文标题】:use maven to compile ycsb 【发布时间】:2014-03-24 03:05:39 【问题描述】:

我想运行ycsb来测试hbase,参考了这篇博客: http://cloudfront.blogspot.in/2013/02/how-to-benchmark-hbase-using-ycsb.html#.Uy-J2XiLe1F

但是当我在 /ycsb/hbase 中更改 pox.xml 时,我尝试使用 maven 构建 ycsb,然后我得到了这个错误:

[错误] 未能在项目 hbase-binding 上执行目标:无法解析项目 com.yahoo.ycsb:hbase-binding:jar:0.1.4 的依赖项:未能找到 org.apache.hadoop:hadoop-core http://repo.maven.apache.org/maven2 中的 :jar:2.3.0 已缓存在本地存储库中,直到 Central 的更新间隔已过或强制更新后才会重新尝试解析 -> [帮助 1]

我已经成功安装了 hadoop-2.3.0 和 hbase-0.94.17。 这是我使用的 pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.yahoo.ycsb</groupId>
    <artifactId>root</artifactId>
    <version>0.1.4</version>
  </parent>

  <artifactId>hbase-binding</artifactId>
  <name>HBase DB Binding</name>

  <dependencies>
    <dependency>
      <groupId>org.apache.hbase</groupId>
      <artifactId>hbase</artifactId>
      <version>0.94.17</version>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-core</artifactId>
      <version>2.3.0</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
     <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>$maven.assembly.version</version>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
          <appendAssemblyId>false</appendAssemblyId>
        </configuration>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

</project>

任何帮助将不胜感激,谢谢!

【问题讨论】:

我不认为 artifact-id 应该是 'hadoop-core'。 'hadoop-core' 用于 hadoop-1.2.1 版本。你应该使用'hadoop-main'。告诉我是对是错?另请查看“search.maven.org/#search%7Cga%7C1%7Chadoop” 感谢 Chandra!我试过了,但仍然出现同样的错误! 【参考方案1】:

问题是有时 maven 无法获取 hbase 和 hadoop 的 jar。您必须手动下载它们并将其添加到类路径中。

来源:广泛尝试 YCSB :)

【讨论】:

以上是关于使用maven编译ycsb的主要内容,如果未能解决你的问题,请参考以下文章

thrift编译java的问题

YCSB项目学习

ycsb 压测hbase 把生成数据转成图片

使用YCSB测试mongodb

ycsb使用方法

使用YCSB测试mongodb