2016-07-22 4 views
0

Javaでうまく動作するHbase Java基本コードを書きました。JavaサーブレットでHbaseを実行する

public class HBaseTest { 

    public static String newFunc() throws IOException { 

     // Instantiating configuration class 
     Configuration config = HBaseConfiguration.create(); 

     Connection connection = ConnectionFactory.createConnection(config); 
     Table table = connection.getTable(TableName.valueOf("customer")); 

     Get g = new Get(Bytes.toBytes("jsmith")); 

     Result result = table.get(g); 

     // Reading values from Result class object 
     byte[] value = result.getValue(Bytes.toBytes("addr"), Bytes.toBytes("city")); 

     return Bytes.toString(value); 

    } 
} 

は、だから、私はWebアプリケーション開発の一環として、このコードとHBaseのを使用することを決めたので、私は、EclipseのJava EE IDEで新しい動的Webプロジェクトを開いて、このファイルを追加し、関数の名前を変更し、呼ばれますそれはサーブレットの1つからです。必要なjarファイルも追加しました。 しかし、私次のエラーで立ち往生しています:

java.lang.ClassNotFoundException: org.apache.hadoop.hbase.HBaseConfiguration 
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1332) 
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1166) 
    at HBaseTest.newFunc(HBaseTest.java:18) 
    at BakwasServlet.doGet(BakwasServlet.java:16) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) 
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:670) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:745) 

このエラーは今私をイライラさせられます。前に誰かがこのような事件に遭遇したのですか、誰かが私にこれを助けることができますか?私はhbase_home変数を設定していません。私はJavaコードのためにそれを必要としませんでした。

ありがとうございます!

+2

ここでHBase JARファイルを追加しましたか?これは、Webアプリケーションの 'WEB-INF/lib'フォルダになければなりません。 (Btw。あなたは 'ClassNotFoundException org.apache.hadoop.hbase.HBaseConfiguration'のためにグーグルを探しましたか?多くの結果がありますが、ここでは多くのこともあります) –

+0

私はプロジェクトにjarファイルを直接ロードしていませんでしたそれはWEB_INF/libにあります。私がそれをマークできるように、あなたのコメントを答えとして書いてください。ありがとう! – LearningToCode

答えて

0

ここでHBase JARファイルを追加しましたか?ウェブアプリケーションのWEB-INF/libフォルダ(またはサーバーのlibフォルダ)にあるはずですが、アプリ内に保存することをお勧めします。

関連する問題