• 使用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。

    1. 下载ycsb源代码,将根目录下的pom.xml中<hbase.version>0.90.5</hbase.version>修改为对应版本;
    2. 将源代码中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=${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

             

  • 相关阅读:
    Codeforces Round #630 (Div. 2)A~E题解
    2020cug新生赛 An easy problem
    tensorflow.python.framework.errors.NotFoundError: <exception str() failed>错误解决
    将博客搬至CSDN
    2018年北京大学软件工程学科夏令营上机考试
    程序设计题目中的输入输出
    2018北大计算机学科夏令营机试题目
    Pyhton全栈的知识点(5)
    Python全栈的知识点(4)
    Python全栈的知识点(3)
  • 原文地址:https://www.cnblogs.com/dhName/p/10510246.html
Copyright © 2020-2023  润新知