因为用了hadoop eclipse插件,所以在插件中设置好hadoop home后,自动导入了好多hadoop的包,简单测试范例程序没啥问题
hbase需要添加以下jar:
hbase-1.1.4.jar
hbase-1.1.4-test.jar(待定)
hbase-common-1.1.4.jar
hbase-common-1.1.4-test.jar (待定)
hbase-client-1.1.4-test.jar
hbase-protocal-1.1.4.jar
hbase-it-1.1.4.jar(待定)
hbase-hadoop-compat-1.1.4.jar(mapreduce接口,不用mapred的接口)
hbase-hadoop2-compat-1.1.4-test.jar
hbase-prefix-tree-1.1.4.jar
metrics-core-2.2.0.jar
调试程序时添加System.AddProperty("hadoop.home.dir","/home/hadoop/hadoop")
总算完整运行了一个简单的hbase结合mr的程序。两种rowkey获取方式都可以。输入的immutablebyteswritable类型其实就是扫描的row的key.
过程中有两个错误:
一是一直提示class not found,附加源码后,发现是这句有错,因为一开始hbase的jar没添加全。所以把hbase-prefix-tree-1.1.4.jar、metrics-core-2.2.0.jar添加上
后来是java format的一个错误,在string转int的函数中string的格式错了,导致无法转成数字