2017-03-14 39 views
1

什麼的* .jar我需要讓我的HBase的1.1.2我試圖運行一個簡單的腳本groovysh工作,並在導入失敗 - 常規:000>grovysh進口與HBase的工作時失敗

import org.apache.hadoop.hbase.client.Put 

ERROR java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/io/HeapSize at java_lang_Runnable$run.call (Unknown Source) groovy:000>

import org.apache.hadoop.hbase.client.Result 

ERROR java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/CellScannable at java_lang_Runnable$run.call (Unknown Source) import org.apache.hadoop.hbase.util.Bytes Invalid import definition: 'org.apache.hadoop.hbase.util.Bytes'; reason: startup failed: script14891462389401754287428.groovy: 1: unable to resolve class org.apache.hadoop.hbase.util.Bytes @ line 1, column 1.

import org.apache.hadoop.hbase.util.Bytes 

我在-classthpath加載HBase的-client.jar中。只需要編寫一個簡單的腳本來放入和增加hbase變量並通過groovysh執行。

編輯1 我得到這個現在 常規:000> groovy.grape.Grape.grab(組: 'org.apache.hbase',模塊: 'HBase的客戶端',版本: '1.3.0') 錯誤java.lang.RuntimeException: 錯誤抓取Grapes - [下載失敗:junit#junit; 4.12!junit.jar,下載失敗:org.slf4j#slf4j-api; 1.7.7!slf4j-api.jar,download失敗:org.slf4j#slf4j-log4j12; 1.6.1!slf4j-log4j12.jar] groovy:000> groovy.grape.Grape.grab('org.apache.hbase:hbase-client:1.3.0')

+0

看看我的新的錯誤 –

回答

0

hbase客戶端有很多依賴關係:

http://grepcode.com/snapshot/repo1.maven.org/maven2/org.apache.hbase/hbase-client/1.1.1/

你不能只抓一個罐子,貼在類路徑中,你需要他們的整個負載

我不使用groovysh,但你應該能夠做到:

:grab 'org.apache.hbase:hbase-client:1.3.0' 

,並應拉下hbase-client及其所有依賴上你的classpath

+0

對不起,我完全陌生的Groovy的我只是想在我的類路徑中脂肪罐子,所以我可以運行一個簡單的groovysh腳本運行一個簡單的HBase。像hbase.jar。我嘗試在我的'hbase classpath'中包含所有jar,但它失敗 –

+0

嘗試刪除所有添加的jar,然後從groovysh中執行:':grab'org.apache.hbase:hbase-client:1.3.0'' –

+0

這應該拉下所有的依賴關係(用這個信息更新答案) –